qubu 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -0
- package/dist/{complete-DP7pliuY.mjs → canonical-B5_ouh-c.mjs} +466 -241
- package/dist/codegen.d.mts +2 -2
- package/dist/codegen.mjs +180 -90
- package/dist/column-Cyc2CMnG.mjs +116 -0
- package/dist/column-DDRvD7SF.mjs +721 -0
- package/dist/{constraints-YGyNPQ_z.mjs → constraints-CAmi18Uk.mjs} +8 -3
- package/dist/core.d.mts +3 -3
- package/dist/core.mjs +4 -5
- package/dist/diagnostics-I9vVtXkc.mjs +40 -0
- package/dist/diff.d.mts +9 -9
- package/dist/diff.mjs +152 -102
- package/dist/{explain-CkIK13L_.mjs → explain-BIqEmZha.mjs} +1 -1
- package/dist/expressions-_6JF_J77.mjs +130 -0
- package/dist/index-CaxrMD1A.d.mts +1 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +414 -77
- package/dist/introspection/mysql.d.mts +26 -0
- package/dist/introspection/mysql.mjs +1278 -0
- package/dist/introspection/postgres.d.mts +43 -0
- package/dist/introspection/postgres.mjs +1889 -0
- package/dist/introspection/sqlite.d.mts +15 -0
- package/dist/introspection/sqlite.mjs +1172 -0
- package/dist/introspection.d.mts +26 -87
- package/dist/introspection.mjs +3 -4351
- package/dist/mysql.d.mts +3 -3
- package/dist/mysql.mjs +8 -7
- package/dist/{errors-Dxv73YJu.mjs → omit-VEr9Ydux.mjs} +5 -1
- package/dist/{on-conflict-DZQ85f1t.mjs → on-conflict-B2rFyHGF.mjs} +78 -8
- package/dist/on-duplicate-key-update-Czsw1Yq-.mjs +95 -0
- package/dist/postgres-hFhd0I9n.mjs +68 -0
- package/dist/postgres.d.mts +3 -3
- package/dist/postgres.mjs +3 -52
- package/dist/registry-BXE_4M9P.mjs +127 -0
- package/dist/{relational-CxnLCqZQ.mjs → relational-CoPBETjI.mjs} +3 -3
- package/dist/schema.d.mts +2 -2
- package/dist/schema.mjs +8 -7
- package/dist/{serialize-BN07IK0v.mjs → serialize-CyobNEx-.mjs} +174 -30
- package/dist/serialize-Du2UPZMt.d.mts +92 -0
- package/dist/snapshot/mysql.d.mts +5 -5
- package/dist/snapshot/mysql.mjs +32 -32
- package/dist/snapshot/postgres.d.mts +5 -5
- package/dist/snapshot/postgres.mjs +25 -25
- package/dist/snapshot/sqlite.d.mts +5 -5
- package/dist/snapshot/sqlite.mjs +30 -30
- package/dist/snapshot-mIb-Zzb5.mjs +1489 -0
- package/dist/snapshot.d.mts +4 -5
- package/dist/snapshot.mjs +3 -4
- package/dist/{source-SqrKWjFJ.mjs → source-DYSUqzvb.mjs} +2 -2
- package/dist/sqlite.d.mts +2 -2
- package/dist/sqlite.mjs +10 -10
- package/dist/{table-BwflqeAj.mjs → table-B8zEq0az.mjs} +4 -4
- package/dist/{types-BIJsj2fJ.mjs → types-CYHpSPwj.mjs} +10 -7
- package/dist/{types-CTCqtFlS.d.mts → types-CiMvKi5V.d.mts} +14 -4
- package/dist/{types-C0VkiwpR.d.mts → types-Dqr4o2I1.d.mts} +640 -189
- package/dist/value-CpaUFtjw.mjs +45 -0
- package/dist/vite/ambient.d.ts +2 -0
- package/dist/vite.d.mts +1 -1
- package/dist/vite.mjs +2 -0
- package/docs/dialects-and-execution.md +61 -11
- package/docs/getting-started.md +1 -1
- package/docs/guides/compose-queries.md +22 -0
- package/docs/guides/drizzle.md +11 -11
- package/docs/guides/extensions/typed-expressions.md +5 -3
- package/docs/guides/json.md +95 -2
- package/docs/guides/mutations.md +125 -0
- package/docs/guides/valtio-sync.md +113 -0
- package/docs/index.md +1 -1
- package/docs/migrations/adapters.md +58 -21
- package/docs/migrations/index.md +50 -12
- package/docs/migrations/operations.md +20 -6
- package/docs/migrations/recovery.md +7 -1
- package/docs/query-model/fragments.md +21 -1
- package/docs/reference/introspection-support.md +16 -18
- package/docs/reference/supported-surface.md +23 -11
- package/docs/schema/catalog-model.md +20 -7
- package/docs/schema/code-generation.md +4 -3
- package/docs/schema/diff.md +2 -2
- package/docs/schema/introspection.md +24 -16
- package/docs/schema/snapshots.md +18 -8
- package/docs/schema/storage-and-schema-sql.md +7 -2
- package/docs/sql-semantic-types.md +8 -0
- package/package.json +14 -1
- package/dist/canonical-DMvR9yBe.mjs +0 -972
- package/dist/column-Da37jYSD.mjs +0 -309
- package/dist/column-r1Y4ivwt.mjs +0 -327
- package/dist/complete-types-CY0KbzNw.d.mts +0 -371
- package/dist/index-B2rZf3-2.d.mts +0 -32
- package/dist/json-Db7XRD91.mjs +0 -169
- package/dist/omit-OxV58AwX.mjs +0 -5
- package/dist/registry-BRcUuazJ.mjs +0 -256
- package/dist/serialize-CEIIlWhC.d.mts +0 -66
- package/dist/snapshot-Xam8-q0j.mjs +0 -392
- package/dist/standard-DfcZEVOj.mjs +0 -12
- package/dist/value-D14I_XgL.mjs +0 -29
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ft as IntrospectionOptions, jt as CatalogConnection, lt as IntrospectionCatalog } from "../types-CiMvKi5V.mjs";
|
|
2
|
+
//#region src/introspection/postgres.d.ts
|
|
3
|
+
/** Fixed server metadata query used by the PostgreSQL catalog reader. */
|
|
4
|
+
declare const postgresServerQuery = "\n SELECT\n current_setting('server_version_num') AS server_version_num,\n current_setting('server_version') AS server_version\n";
|
|
5
|
+
/** Read one PostgreSQL schema into the normalized catalog contract. */
|
|
6
|
+
declare function readCatalog(connection: CatalogConnection, options: IntrospectionOptions): Promise<IntrospectionCatalog>;
|
|
7
|
+
declare const postgresRelationsQuery = "\n SELECT c.oid::text AS oid, n.nspname AS namespace, c.relname,\n c.relkind, c.relispartition\n FROM pg_class c\n JOIN pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n AND c.relkind NOT IN ('i', 'I')\n ORDER BY c.relname\n";
|
|
8
|
+
/** Fixed view and materialized-view definitions from PostgreSQL's decompiler. */
|
|
9
|
+
declare const postgresViewsQuery = "\n SELECT c.oid::text AS oid, n.nspname AS namespace, c.relname AS physical_name,\n c.relkind, pg_get_viewdef(c.oid, true) AS definition,\n v.check_option, c.reloptions\n FROM pg_catalog.pg_class c\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n LEFT JOIN information_schema.views v\n ON v.table_schema = n.nspname AND v.table_name = c.relname\n WHERE n.nspname = $1 AND c.relkind IN ('v', 'm')\n ORDER BY c.oid\n";
|
|
10
|
+
declare const postgresColumnsQuery = "\n SELECT a.attrelid::text AS table_oid, a.attnum::int AS ordinal_position,\n a.attname AS physical_name, NOT a.attnotnull AS nullable,\n format_type(a.atttypid, a.atttypmod) AS native_type,\n a.attidentity, a.attgenerated,\n pg_get_expr(ad.adbin, ad.adrelid) AS default_expression\n FROM pg_attribute a\n JOIN pg_class c ON c.oid = a.attrelid\n JOIN pg_namespace n ON n.oid = c.relnamespace\n LEFT JOIN pg_attrdef ad ON ad.adrelid = a.attrelid AND ad.adnum = a.attnum\n WHERE n.nspname = $1\n AND c.relkind IN ('r', 'p', 'v', 'm')\n AND a.attnum > 0\n AND NOT a.attisdropped\n ORDER BY a.attrelid, a.attnum\n";
|
|
11
|
+
/** Constraint metadata for PostgreSQL versions before pg_index.indnullsnotdistinct. */
|
|
12
|
+
declare const postgresConstraintsQueryWithoutNullsNotDistinct = "\n SELECT con.oid::text AS oid, con.conrelid::text AS table_oid,\n con.conname AS physical_name, con.contype,\n con.conkey, con.confrelid::text AS target_table_oid, con.confkey,\n con.confupdtype, con.confdeltype, con.confmatchtype,\n con.condeferrable, con.condeferred, con.convalidated,\n con.conindid::text AS backing_index_oid,\n pg_get_constraintdef(con.oid, true) AS definition\n FROM pg_constraint con\n JOIN pg_class c ON c.oid = con.conrelid\n JOIN pg_namespace n ON n.oid = c.relnamespace\n LEFT JOIN pg_index i ON i.indexrelid = con.conindid\n WHERE n.nspname = $1\n AND con.contype IN ('p', 'u', 'f', 'c', 'x')\n ORDER BY con.conrelid, con.oid\n";
|
|
13
|
+
/** Constraint metadata for PostgreSQL versions that expose nulls-not-distinct indexes. */
|
|
14
|
+
declare const postgresConstraintsQuery = "\n SELECT con.oid::text AS oid, con.conrelid::text AS table_oid,\n con.conname AS physical_name, con.contype,\n con.conkey, con.confrelid::text AS target_table_oid, con.confkey,\n con.confupdtype, con.confdeltype, con.confmatchtype,\n con.condeferrable, con.condeferred, con.convalidated,\n con.conindid::text AS backing_index_oid,\n i.indnullsnotdistinct,\n pg_get_constraintdef(con.oid, true) AS definition\n FROM pg_constraint con\n JOIN pg_class c ON c.oid = con.conrelid\n JOIN pg_namespace n ON n.oid = c.relnamespace\n LEFT JOIN pg_index i ON i.indexrelid = con.conindid\n WHERE n.nspname = $1\n AND con.contype IN ('p', 'u', 'f', 'c', 'x')\n ORDER BY con.conrelid, con.oid\n";
|
|
15
|
+
declare const postgresIndexesQuery = "\n SELECT i.indexrelid::text AS index_oid, i.indrelid::text AS table_oid,\n c.relname AS physical_name, i.indisunique, i.indnkeyatts::int,\n i.indnatts::int, am.amname AS method,\n pg_get_expr(i.indpred, i.indrelid, true) AS predicate,\n s.position::int,\n (i.indkey[s.position])::int AS attnum,\n (i.indoption[s.position])::int AS indoption,\n opc.opcname AS operator_class,\n pg_get_indexdef(i.indexrelid, s.position, true) AS term_definition\n FROM pg_index i\n JOIN pg_class c ON c.oid = i.indexrelid\n JOIN pg_class t ON t.oid = i.indrelid\n JOIN pg_namespace n ON n.oid = t.relnamespace\n JOIN pg_am am ON am.oid = c.relam\n CROSS JOIN LATERAL generate_series(1, i.indnatts) AS s(position)\n LEFT JOIN pg_opclass opc ON opc.oid = i.indclass[s.position]\n WHERE n.nspname = $1\n ORDER BY i.indrelid, i.indexrelid, s.position\n";
|
|
16
|
+
/** Identity sequence options joined to each generated identity column. */
|
|
17
|
+
declare const postgresIdentitiesQuery = "\n SELECT a.attrelid::text AS table_oid, a.attnum::int AS ordinal_position,\n s.seqstart, s.seqincrement, s.seqmin, s.seqmax, s.seqcache,\n s.seqcycle, format_type(s.seqtypid, -1) AS sequence_type\n FROM pg_catalog.pg_attribute a\n JOIN pg_catalog.pg_class c ON c.oid = a.attrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n JOIN pg_catalog.pg_depend d\n ON d.refclassid = 'pg_catalog.pg_class'::regclass\n AND d.refobjid = a.attrelid AND d.refobjsubid = a.attnum\n AND d.classid = 'pg_catalog.pg_class'::regclass\n AND d.deptype = 'i'\n JOIN pg_catalog.pg_sequence s ON s.seqrelid = d.objid\n WHERE n.nspname = $1 AND a.attidentity <> ''\n ORDER BY a.attrelid, a.attnum\n";
|
|
18
|
+
/** Sequence metadata, including serial/identity ownership dependencies. */
|
|
19
|
+
declare const postgresSequencesQuery = "\n SELECT c.oid::text AS oid, n.nspname AS namespace, c.relname AS physical_name,\n format_type(s.seqtypid, -1) AS native_type,\n s.seqstart, s.seqincrement, s.seqmin, s.seqmax, s.seqcache,\n s.seqcycle, dep.refobjid::text AS owned_table_oid,\n dep.refobjsubid::int AS owned_column_position\n FROM pg_catalog.pg_sequence s\n JOIN pg_catalog.pg_class c ON c.oid = s.seqrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n LEFT JOIN pg_catalog.pg_depend dep\n ON dep.classid = 'pg_catalog.pg_class'::regclass\n AND dep.objid = c.oid AND dep.refclassid = 'pg_catalog.pg_class'::regclass\n AND dep.deptype IN ('a', 'i')\n WHERE n.nspname = $1\n ORDER BY c.oid\n";
|
|
20
|
+
/** PostgreSQL enum labels in their declared order. */
|
|
21
|
+
declare const postgresEnumsQuery = "\n SELECT t.oid::text AS oid, n.nspname AS namespace,\n t.typname AS physical_name, e.oid::text AS value_oid,\n e.enumlabel AS value, e.enumsortorder::float8 AS ordinal_position\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_catalog.pg_enum e ON e.enumtypid = t.oid\n WHERE n.nspname = $1 AND t.typtype = 'e'\n ORDER BY t.oid, e.enumsortorder\n";
|
|
22
|
+
/** PostgreSQL domains and their exact base type/default metadata. */
|
|
23
|
+
declare const postgresDomainsQuery = "\n SELECT t.oid::text AS oid, n.nspname AS namespace,\n t.typname AS physical_name,\n format_type(t.typbasetype, t.typtypmod) AS native_type,\n NOT t.typnotnull AS nullable, t.typdefault AS default_expression\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = $1 AND t.typtype = 'd'\n ORDER BY t.oid\n";
|
|
24
|
+
/** Domain CHECK constraints, which use pg_constraint.contypid. */
|
|
25
|
+
declare const postgresDomainConstraintsQuery = "\n SELECT con.oid::text AS oid, con.contypid::text AS domain_oid,\n con.conname AS physical_name, pg_get_constraintdef(con.oid, true) AS definition,\n con.condeferrable, con.condeferred, con.convalidated\n FROM pg_catalog.pg_constraint con\n JOIN pg_catalog.pg_type t ON t.oid = con.contypid\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = $1 AND con.contype = 'c'\n ORDER BY con.contypid, con.oid\n";
|
|
26
|
+
/** Collation provider, locale, determinism, and version facts. */
|
|
27
|
+
declare const postgresCollationsQuery = "\n SELECT c.oid::text AS oid, n.nspname AS namespace,\n c.collname AS physical_name, c.collprovider, c.collcollate,\n c.collctype, to_jsonb(c)->>'colllocale' AS colliculocale,\n c.collisdeterministic, c.collversion\n FROM pg_catalog.pg_collation c\n JOIN pg_catalog.pg_namespace n ON n.oid = c.collnamespace\n WHERE n.nspname = $1\n ORDER BY c.oid\n";
|
|
28
|
+
/** User-defined triggers with decompiled condition and definition text. */
|
|
29
|
+
declare const postgresTriggersQuery = "\n SELECT t.oid::text AS oid, t.tgrelid::text AS table_oid,\n n.nspname AS namespace, t.tgname AS physical_name,\n t.tgtype::int AS trigger_type, t.tgenabled,\n pg_get_expr(t.tgqual, t.tgrelid, true) AS condition,\n pg_get_triggerdef(t.oid, true) AS definition\n FROM pg_catalog.pg_trigger t\n JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1 AND NOT t.tgisinternal\n ORDER BY t.tgrelid, t.oid\n";
|
|
30
|
+
/** PostgreSQL functions, procedures, aggregates, and window routines. */
|
|
31
|
+
declare const postgresRoutinesQuery = "\n SELECT p.oid::text AS oid, n.nspname AS namespace,\n p.proname AS physical_name, p.prokind,\n format_type(p.prorettype, NULL) AS return_type,\n l.lanname AS language, pg_get_functiondef(p.oid) AS definition,\n pg_get_function_identity_arguments(p.oid) AS identity_arguments,\n pg_get_expr(p.proargdefaults, 0, true) AS argument_defaults,\n p.pronargdefaults, p.provolatile, p.proparallel, p.prosecdef\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n JOIN pg_catalog.pg_language l ON l.oid = p.prolang\n WHERE n.nspname = $1 AND p.prokind IN ('f', 'p', 'a', 'w')\n ORDER BY p.oid\n";
|
|
32
|
+
/** Routine parameter rows using PostgreSQL's complete argument type arrays. */
|
|
33
|
+
declare const postgresRoutineParametersQuery = "\n SELECT p.oid::text AS routine_oid, x.position::int AS ordinal_position,\n names.name AS parameter_name, modes.mode,\n format_type(x.type_oid, -1) AS native_type\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n CROSS JOIN LATERAL unnest(\n COALESCE(p.proallargtypes, p.proargtypes::oid[])\n ) WITH ORDINALITY AS x(type_oid, position)\n LEFT JOIN LATERAL unnest(p.proargnames) WITH ORDINALITY\n AS names(name, position) ON names.position = x.position\n LEFT JOIN LATERAL unnest(p.proargmodes) WITH ORDINALITY\n AS modes(mode, position) ON modes.position = x.position\n WHERE n.nspname = $1 AND p.prokind IN ('f', 'p', 'a', 'w')\n ORDER BY p.oid, x.position\n";
|
|
34
|
+
/** Partition children, key attributes, strategy, and bound expression. */
|
|
35
|
+
declare const postgresPartitionsQuery = "\n SELECT child.oid::text AS partition_oid, parent.oid::text AS parent_oid,\n n.nspname AS namespace, child.relname AS physical_name,\n part.partstrat, part.partattrs::text AS key_attributes,\n pg_get_partkeydef(parent.oid) AS key_definition,\n pg_get_expr(child.relpartbound, child.oid, true) AS bound,\n child.relispartition, child.relkind\n FROM pg_catalog.pg_inherits inh\n JOIN pg_catalog.pg_class child ON child.oid = inh.inhrelid\n JOIN pg_catalog.pg_class parent ON parent.oid = inh.inhparent\n JOIN pg_catalog.pg_namespace n ON n.oid = child.relnamespace\n LEFT JOIN pg_catalog.pg_partitioned_table part ON part.partrelid = parent.oid\n WHERE n.nspname = $1\n ORDER BY parent.oid, child.oid\n";
|
|
36
|
+
/** Row-level security policies and their role/expression metadata. */
|
|
37
|
+
declare const postgresPoliciesQuery = "\n SELECT p.oid::text AS oid, p.polrelid::text AS table_oid,\n n.nspname AS namespace, p.polname AS physical_name,\n p.polcmd, p.polpermissive,\n ARRAY(SELECT r.rolname FROM pg_catalog.pg_roles r\n WHERE r.oid = ANY(p.polroles)) AS roles,\n pg_get_expr(p.polqual, p.polrelid, true) AS using_expression,\n pg_get_expr(p.polwithcheck, p.polrelid, true) AS check_expression\n FROM pg_catalog.pg_policy p\n JOIN pg_catalog.pg_class c ON c.oid = p.polrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n ORDER BY p.polrelid, p.oid\n";
|
|
38
|
+
/** Installed PostgreSQL extensions scoped to the selected schema. */
|
|
39
|
+
declare const postgresExtensionsQuery = "\n SELECT e.oid::text AS oid, n.nspname AS namespace,\n e.extname AS physical_name, e.extversion, e.extrelocatable,\n e.extconfig::text AS config_relations,\n e.extcondition::text AS config_conditions\n FROM pg_catalog.pg_extension e\n JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace\n WHERE n.nspname = $1\n ORDER BY e.oid\n";
|
|
40
|
+
/** Comments and owners for PostgreSQL objects visible in one schema. */
|
|
41
|
+
declare const postgresMetadataQuery = "\n WITH objects AS (\n SELECT 'pg_class'::text AS catalog_relation, 'pg_class'::regclass AS catalog_oid,\n c.oid::text AS object_oid, 0::int AS object_subid,\n CASE c.relkind WHEN 'r' THEN 'table' WHEN 'p' THEN 'table'\n WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized-view'\n WHEN 'S' THEN 'sequence' WHEN 'i' THEN 'index'\n WHEN 'I' THEN 'index' WHEN 'f' THEN 'deferred-object'\n ELSE 'opaque-object' END AS object_kind,\n c.relname AS object_name, n.nspname AS namespace,\n c.relowner::oid AS owner_oid, NULL::text AS parent_oid\n FROM pg_catalog.pg_class c\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n UNION ALL\n SELECT 'pg_class', 'pg_class'::regclass, c.oid::text, a.attnum::int,\n 'column', a.attname, n.nspname, c.relowner::oid, c.oid::text\n FROM pg_catalog.pg_attribute a\n JOIN pg_catalog.pg_class c ON c.oid = a.attrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1 AND c.relkind IN ('r', 'p', 'v', 'm')\n AND a.attnum > 0 AND NOT a.attisdropped\n UNION ALL\n SELECT 'pg_proc', 'pg_proc'::regclass, p.oid::text, 0,\n 'routine', p.proname, n.nspname, p.proowner::oid, NULL\n FROM pg_catalog.pg_proc p\n JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n WHERE n.nspname = $1 AND p.prokind IN ('f', 'p', 'a', 'w')\n UNION ALL\n SELECT 'pg_type', 'pg_type'::regclass, t.oid::text, 0,\n CASE t.typtype WHEN 'e' THEN 'enum' ELSE 'domain' END,\n t.typname, n.nspname, t.typowner::oid, NULL\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n WHERE n.nspname = $1 AND t.typtype IN ('e', 'd')\n UNION ALL\n SELECT 'pg_collation', 'pg_collation'::regclass, c.oid::text, 0,\n 'collation', c.collname, n.nspname, c.collowner::oid, NULL\n FROM pg_catalog.pg_collation c\n JOIN pg_catalog.pg_namespace n ON n.oid = c.collnamespace\n WHERE n.nspname = $1\n UNION ALL\n SELECT 'pg_extension', 'pg_extension'::regclass, e.oid::text, 0,\n 'extension', e.extname, n.nspname, e.extowner::oid, NULL\n FROM pg_catalog.pg_extension e\n JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace\n WHERE n.nspname = $1\n UNION ALL\n SELECT 'pg_constraint', 'pg_constraint'::regclass, con.oid::text, 0,\n 'constraint', con.conname, n.nspname, c.relowner::oid,\n con.conrelid::text\n FROM pg_catalog.pg_constraint con\n JOIN pg_catalog.pg_class c ON c.oid = con.conrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n UNION ALL\n SELECT 'pg_trigger', 'pg_trigger'::regclass, t.oid::text, 0,\n 'trigger', t.tgname, n.nspname, c.relowner::oid,\n t.tgrelid::text\n FROM pg_catalog.pg_trigger t\n JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1 AND NOT t.tgisinternal\n UNION ALL\n SELECT 'pg_policy', 'pg_policy'::regclass, p.oid::text, 0,\n 'policy', p.polname, n.nspname, c.relowner::oid,\n p.polrelid::text\n FROM pg_catalog.pg_policy p\n JOIN pg_catalog.pg_class c ON c.oid = p.polrelid\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n )\n SELECT o.catalog_relation, o.object_oid, o.object_subid,\n o.object_kind, o.object_name, o.namespace, o.parent_oid,\n d.description, pg_get_userbyid(o.owner_oid) AS owner\n FROM objects o\n LEFT JOIN pg_catalog.pg_description d\n ON d.classoid = o.catalog_oid AND d.objoid::text = o.object_oid\n AND d.objsubid = o.object_subid\n ORDER BY o.catalog_relation, o.object_oid, o.object_subid\n";
|
|
42
|
+
//#endregion
|
|
43
|
+
export { postgresCollationsQuery, postgresColumnsQuery, postgresConstraintsQuery, postgresConstraintsQueryWithoutNullsNotDistinct, postgresDomainConstraintsQuery, postgresDomainsQuery, postgresEnumsQuery, postgresExtensionsQuery, postgresIdentitiesQuery, postgresIndexesQuery, postgresMetadataQuery, postgresPartitionsQuery, postgresPoliciesQuery, postgresRelationsQuery, postgresRoutineParametersQuery, postgresRoutinesQuery, postgresSequencesQuery, postgresServerQuery, postgresTriggersQuery, postgresViewsQuery, readCatalog };
|