uqa-sql 0.5.4

PostgreSQL-compatible SQL compiler built on libpg_query
Documentation
{
  "postgresql_version": "PostgreSQL 18.4 (Debian 18.4-1.pgdg13+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit",
  "cases": [
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(1))",
      "error": {
        "sqlstate": "42804",
        "message": "argument of CHECK must be type boolean, not type integer",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(sum(missing_column)>0))",
      "error": {
        "sqlstate": "42703",
        "message": "column \"missing_column\" does not exist",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(sum(true)>0))",
      "error": {
        "sqlstate": "42883",
        "message": "function sum(boolean) does not exist",
        "detail": null,
        "hint": "No function matches the given name and argument types. You might need to add explicit type casts."
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(sum(n)>0 AND missing_column))",
      "error": {
        "sqlstate": "42803",
        "message": "aggregate functions are not allowed in check constraints",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(missing_column AND sum(n)>0))",
      "error": {
        "sqlstate": "42703",
        "message": "column \"missing_column\" does not exist",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(row_number() OVER (ORDER BY missing_column)>0))",
      "error": {
        "sqlstate": "42P20",
        "message": "window functions are not allowed in check constraints",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(sum(missing_column) OVER ()>0))",
      "error": {
        "sqlstate": "42703",
        "message": "column \"missing_column\" does not exist",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(generate_series(1,2)>0 AND missing_column))",
      "error": {
        "sqlstate": "0A000",
        "message": "set-returning functions are not allowed in check constraints",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(generate_series(missing_column,2)>0))",
      "error": {
        "sqlstate": "42703",
        "message": "column \"missing_column\" does not exist",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(other.ctid IS NOT NULL))",
      "error": {
        "sqlstate": "42P01",
        "message": "missing FROM-clause entry for table \"other\"",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(scope.ctid IS NOT NULL))",
      "error": {
        "sqlstate": "42P10",
        "message": "system column \"ctid\" reference in check constraint is invalid",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK((SELECT missing_column)))",
      "error": {
        "sqlstate": "0A000",
        "message": "cannot use subquery in check constraint",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK('invalid'))",
      "error": {
        "sqlstate": "22P02",
        "message": "invalid input syntax for type boolean: \"invalid\"",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK($1))",
      "error": {
        "sqlstate": "42P02",
        "message": "there is no parameter $1",
        "detail": null,
        "hint": null
      }
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(scope IS NOT NULL))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(scope.* IS NOT NULL))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(scope.n>0))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(tableoid>0))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(scope.tableoid>0))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK('true'))",
      "error": null
    },
    {
      "sql": "CREATE TABLE scope(n integer,CHECK(NULL))",
      "error": null
    },
    {
      "sql": "CREATE TABLE empty_scope(CHECK(empty_scope IS NOT NULL))",
      "error": null
    },
    {
      "sql": "CREATE TABLE column_shadow(column_shadow integer,CHECK(column_shadow>0))",
      "error": null
    }
  ]
}