static void gen_enforcement_options()

in sources/gen_sql.c [3519:3609]


static void gen_enforcement_options(ast_node *ast) {
  EXTRACT_OPTION(option, ast);

  switch (option) {
    case ENFORCE_CAST:
      gen_printf("CAST");
      break;

    case ENFORCE_STRICT_JOIN:
      gen_printf("JOIN");
      break;

    case ENFORCE_FK_ON_UPDATE:
      gen_printf("FOREIGN KEY ON UPDATE");
      break;

    case ENFORCE_UPSERT_STMT:
      gen_printf("UPSERT STATEMENT");
      break;

    case ENFORCE_WINDOW_FUNC:
      gen_printf("WINDOW FUNCTION");
      break;

    case ENFORCE_WITHOUT_ROWID:
      gen_printf("WITHOUT ROWID");
      break;

    case ENFORCE_TRANSACTION:
      gen_printf("TRANSACTION");
      break;

    case ENFORCE_SELECT_IF_NOTHING:
      gen_printf("SELECT IF NOTHING");
      break;

    case ENFORCE_INSERT_SELECT:
      gen_printf("INSERT SELECT");
      break;

    case ENFORCE_TABLE_FUNCTION:
      gen_printf("TABLE FUNCTION");
      break;

    case ENFORCE_ENCODE_CONTEXT_COLUMN:
      gen_printf("ENCODE CONTEXT COLUMN");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_INTEGER:
      gen_printf("ENCODE CONTEXT TYPE INTEGER");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_LONG_INTEGER:
      gen_printf("ENCODE CONTEXT TYPE LONG_INTEGER");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_REAL:
      gen_printf("ENCODE CONTEXT TYPE REAL");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_BOOL:
      gen_printf("ENCODE CONTEXT TYPE BOOL");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_TEXT:
      gen_printf("ENCODE CONTEXT TYPE TEXT");
      break;

    case ENFORCE_ENCODE_CONTEXT_TYPE_BLOB:
      gen_printf("ENCODE CONTEXT TYPE BLOB");
      break;

    case ENFORCE_IS_TRUE:
      gen_printf("IS TRUE");
      break;

    case ENFORCE_SIGN_FUNCTION:
      gen_printf("SIGN FUNCTION");
      break;

    case ENFORCE_CURSOR_HAS_ROW:
      gen_printf("CURSOR HAS ROW");
      break;

    default:
      // this is all that's left
      Contract(option == ENFORCE_FK_ON_DELETE);
      gen_printf("FOREIGN KEY ON DELETE");
      break;
  }
}