@neverinfamous/postgres-mcp 1.2.0 → 1.3.0
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 +68 -62
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +53 -3
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.js +2 -2
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
- package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.js +10 -5
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +8 -4
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +11 -4
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core.d.ts +53 -19
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/core.js +61 -17
- package/dist/adapters/postgresql/schemas/core.js.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +64 -44
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +168 -73
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.js +177 -60
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
- package/dist/adapters/postgresql/schemas/index.d.ts +5 -5
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +9 -7
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -42
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +101 -30
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -11
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +49 -24
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +5 -4
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +5 -4
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +60 -30
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +85 -22
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.js +20 -0
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -23
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +69 -26
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.js +36 -20
- package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.d.ts +8 -5
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +11 -4
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/admin.js +211 -140
- package/dist/adapters/postgresql/tools/admin.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +360 -337
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/citext.js +221 -163
- package/dist/adapters/postgresql/tools/citext.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +78 -11
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +18 -4
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +45 -4
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.js +104 -85
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.js +100 -42
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +51 -25
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +51 -25
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.js +68 -28
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/cron.js +274 -179
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +372 -284
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js +617 -398
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +278 -246
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +121 -35
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.js +54 -34
- package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.js +79 -15
- package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +11 -4
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +132 -19
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.js +264 -160
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
- package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +44 -7
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.js +92 -81
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.js +124 -36
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.js +244 -89
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.js +285 -222
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +359 -249
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
- package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/schema.js +504 -231
- package/dist/adapters/postgresql/tools/schema.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +515 -476
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.js +302 -293
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/text.js +392 -218
- package/dist/adapters/postgresql/tools/text.js.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +157 -50
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +18 -0
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +100 -53
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
- package/dist/codemode/api.js +1 -1
- package/dist/codemode/api.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +1 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +45 -7
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/package.json +9 -5
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Core Tools - Error Helpers
|
|
3
|
+
*
|
|
4
|
+
* Shared helper for mapping raw PostgreSQL exceptions to structured,
|
|
5
|
+
* high-signal error messages with actionable guidance.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse a raw PostgreSQL error and return a structured Error with
|
|
9
|
+
* actionable guidance. Non-PG errors (connection refused, auth, etc.)
|
|
10
|
+
* are re-thrown unchanged to preserve their original stack trace.
|
|
11
|
+
*
|
|
12
|
+
* Supported PG error codes:
|
|
13
|
+
* - 42P01: undefined_table (relation does not exist)
|
|
14
|
+
* - 42P07: duplicate_table (relation already exists)
|
|
15
|
+
* - 42P06: duplicate_schema (schema already exists)
|
|
16
|
+
* - 42704: undefined_object (index/type does not exist)
|
|
17
|
+
* - 42601: syntax_error (SQL syntax error)
|
|
18
|
+
* - 42703: undefined_column (column does not exist)
|
|
19
|
+
* - 23505: unique_violation (duplicate key value)
|
|
20
|
+
* - 3F000: invalid_schema_name (schema does not exist)
|
|
21
|
+
* - 3D000: invalid_catalog_name (database does not exist)
|
|
22
|
+
* - 3B001: savepoint_exception (savepoint does not exist)
|
|
23
|
+
* - 25P02: in_failed_sql_transaction (transaction is aborted)
|
|
24
|
+
*/
|
|
25
|
+
export function parsePostgresError(error, context) {
|
|
26
|
+
if (!(error instanceof Error)) {
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
const pgCode = error["code"];
|
|
30
|
+
// Idempotency guard: if the error has a `cause` but no PG error code,
|
|
31
|
+
// it was already processed by a prior parsePostgresError call (e.g., in the
|
|
32
|
+
// adapter layer). Re-throw unchanged to prevent double-processing, which
|
|
33
|
+
// can produce misleading messages (e.g., "Object 'unknown' not found"
|
|
34
|
+
// instead of "Savepoint 'X' does not exist").
|
|
35
|
+
if (error.cause !== undefined && !pgCode) {
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
const msg = error.message;
|
|
39
|
+
// 42P01 — relation does not exist (table, view, sequence)
|
|
40
|
+
// Regex anchored: must NOT be preceded by "of " (which indicates 42703 column errors)
|
|
41
|
+
if (pgCode === "42P01" ||
|
|
42
|
+
(/relation ".*" does not exist/i.test(msg) && !/of relation/i.test(msg))) {
|
|
43
|
+
// pg_reindex with target=index: index-specific message
|
|
44
|
+
if (context.tool === "pg_reindex" && context.target === "index") {
|
|
45
|
+
const match = /relation "([^"]+)"/i.exec(msg);
|
|
46
|
+
const indexName = match?.[1] ?? context.index ?? "unknown";
|
|
47
|
+
throw new Error(`Index '${indexName}' not found. Use pg_get_indexes to see available indexes.`, { cause: error });
|
|
48
|
+
}
|
|
49
|
+
const match = /relation "([^"]+)"/i.exec(msg);
|
|
50
|
+
const objectName = match?.[1] ?? context.table ?? "unknown";
|
|
51
|
+
throw new Error(`Table or view '${objectName}' not found. Use pg_list_tables to see available tables.`, { cause: error });
|
|
52
|
+
}
|
|
53
|
+
// 42P06 — duplicate schema (schema already exists)
|
|
54
|
+
// Note: also checks message text because the adapter wraps PG errors
|
|
55
|
+
// in QueryError (code: "QUERY_ERROR"), stripping the original PG code.
|
|
56
|
+
if (pgCode === "42P06" || /schema ".*" already exists/i.test(msg)) {
|
|
57
|
+
const match = /schema "([^"]+)"/i.exec(msg);
|
|
58
|
+
const objectName = match?.[1] ?? context.schema ?? "unknown";
|
|
59
|
+
throw new Error(`Schema '${objectName}' already exists. Use ifNotExists: true to skip if it exists.`, { cause: error });
|
|
60
|
+
}
|
|
61
|
+
// 42P07 — duplicate relation (table, index, sequence, or view already exists)
|
|
62
|
+
if (pgCode === "42P07" || /already exists/i.test(msg)) {
|
|
63
|
+
const match = /relation "([^"]+)"/i.exec(msg);
|
|
64
|
+
const objectName = match?.[1] ?? context.index ?? context.table ?? "unknown";
|
|
65
|
+
// Distinguish index vs table context
|
|
66
|
+
if (context.tool === "pg_create_index" ||
|
|
67
|
+
/index/i.test(msg) ||
|
|
68
|
+
context.index) {
|
|
69
|
+
throw new Error(`Index '${objectName}' already exists. Use ifNotExists: true to skip if it exists.`, { cause: error });
|
|
70
|
+
}
|
|
71
|
+
// Sequence-specific message
|
|
72
|
+
if (context.objectType === "sequence") {
|
|
73
|
+
throw new Error(`Sequence '${objectName}' already exists. Use ifNotExists: true to skip if it exists.`, { cause: error });
|
|
74
|
+
}
|
|
75
|
+
// View-specific message
|
|
76
|
+
if (context.objectType === "view") {
|
|
77
|
+
throw new Error(`View '${objectName}' already exists. Use orReplace: true to replace it.`, { cause: error });
|
|
78
|
+
}
|
|
79
|
+
throw new Error(`Table '${objectName}' already exists. Use ifNotExists: true to skip if it exists.`, { cause: error });
|
|
80
|
+
}
|
|
81
|
+
// 42601 — syntax error in SQL statement
|
|
82
|
+
if (pgCode === "42601" || /syntax error/i.test(msg)) {
|
|
83
|
+
throw new Error(`SQL syntax error: ${msg}. Verify your SQL is valid.`, {
|
|
84
|
+
cause: error,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// 42703 — undefined column (checked before 42704 whose broad regex would match)
|
|
88
|
+
if (pgCode === "42703" ||
|
|
89
|
+
/column ".*" (?:of relation .+)?does not exist/i.test(msg)) {
|
|
90
|
+
throw new Error(`Column not found: ${msg}. Use pg_describe_table to see available columns.`, { cause: error });
|
|
91
|
+
}
|
|
92
|
+
// Sub-partitioning PK constraint (42P16 — unique constraint must include all partitioning columns)
|
|
93
|
+
// MUST be checked before the generic 23505 unique constraint handler below,
|
|
94
|
+
// because this message also contains "unique constraint" text.
|
|
95
|
+
if (/unique constraint on partitioned table must include all partitioning columns/i.test(msg)) {
|
|
96
|
+
throw new Error(`Primary key on partitioned table must include all partitioning columns. The sub-partition key column must be part of the parent table's primary key. Recreate the parent with a composite primary key that includes both the partition key and sub-partition key.`, { cause: error });
|
|
97
|
+
}
|
|
98
|
+
// 23505 — unique constraint violation (duplicate key)
|
|
99
|
+
if (pgCode === "23505" ||
|
|
100
|
+
/unique constraint/i.test(msg) ||
|
|
101
|
+
/duplicate key/i.test(msg)) {
|
|
102
|
+
throw new Error(`Unique constraint violated: ${msg}. Use pg_upsert for insert-or-update behavior.`, { cause: error });
|
|
103
|
+
}
|
|
104
|
+
// 3B001 — savepoint does not exist (checked before 42704 whose broad regex would match)
|
|
105
|
+
if (pgCode === "3B001" || /savepoint ".*" does not exist/i.test(msg)) {
|
|
106
|
+
const match = /savepoint "([^"]+)"/i.exec(msg);
|
|
107
|
+
const spName = match?.[1] ?? "unknown";
|
|
108
|
+
throw new Error(`Savepoint '${spName}' does not exist in this transaction. Use pg_transaction_savepoint to create it first.`, { cause: error });
|
|
109
|
+
}
|
|
110
|
+
// 25P02 — current transaction is aborted (checked before 42704 whose broad regex would match)
|
|
111
|
+
if (pgCode === "25P02" || /current transaction is aborted/i.test(msg)) {
|
|
112
|
+
throw new Error("Transaction is in an aborted state — only ROLLBACK or ROLLBACK TO SAVEPOINT commands are allowed. " +
|
|
113
|
+
"A previous statement in this transaction failed, putting it into an error state. " +
|
|
114
|
+
"Use pg_transaction_rollback to end it, or pg_transaction_rollback_to to recover to a savepoint.", { cause: error });
|
|
115
|
+
}
|
|
116
|
+
// Unrecognized configuration parameter (pg_set_config)
|
|
117
|
+
// Standalone check: adapter wraps PG errors with code "QUERY_ERROR",
|
|
118
|
+
// so this won't enter the 42704 block — must match on message text.
|
|
119
|
+
if (/unrecognized configuration parameter/i.test(msg)) {
|
|
120
|
+
const paramMatch = /parameter "([^"]+)"/i.exec(msg);
|
|
121
|
+
const paramName = paramMatch?.[1] ?? "unknown";
|
|
122
|
+
throw new Error(`Unrecognized configuration parameter '${paramName}'. Use pg_show_settings to see available parameters.`, { cause: error });
|
|
123
|
+
}
|
|
124
|
+
// pg_cron: "could not find valid entry for job" (unschedule nonexistent job)
|
|
125
|
+
if (/could not find valid entry for job/i.test(msg)) {
|
|
126
|
+
const jobMatch = /for job\s+'?"?([^'"]+)'?"?/i.exec(msg);
|
|
127
|
+
const jobIdentifier = jobMatch?.[1] ?? context.target ?? "unknown";
|
|
128
|
+
throw new Error(`Job '${jobIdentifier}' not found. Use pg_cron_list_jobs to see available jobs.`, { cause: error });
|
|
129
|
+
}
|
|
130
|
+
// pg_cron: "invalid schedule" (invalid cron syntax passed to pg_cron)
|
|
131
|
+
if (/invalid schedule:/i.test(msg)) {
|
|
132
|
+
throw new Error(`Invalid cron schedule. Use standard cron syntax (e.g., "0 2 * * *") or interval syntax ("1-59 seconds").`, { cause: error });
|
|
133
|
+
}
|
|
134
|
+
// 3D000 — invalid catalog name (database does not exist)
|
|
135
|
+
if (pgCode === "3D000" || /database ".*" does not exist/i.test(msg)) {
|
|
136
|
+
const match = /database "([^"]+)"/i.exec(msg);
|
|
137
|
+
const dbName = match?.[1] ?? "unknown";
|
|
138
|
+
throw new Error(`Database '${dbName}' does not exist. Verify the database name or omit the parameter to use the current database.`, { cause: error });
|
|
139
|
+
}
|
|
140
|
+
// 42704 — undefined object (index, type, etc.)
|
|
141
|
+
if (pgCode === "42704" || /does not exist/i.test(msg)) {
|
|
142
|
+
// Schema-specific: "schema X does not exist" (e.g., CREATE TABLE in nonexistent schema)
|
|
143
|
+
if (/schema ".*" does not exist/i.test(msg)) {
|
|
144
|
+
const schemaMatch = /schema "([^"]+)"/i.exec(msg);
|
|
145
|
+
const schemaName = schemaMatch?.[1] ?? context.schema ?? "unknown";
|
|
146
|
+
throw new Error(`Schema '${schemaName}' does not exist. Create it with pg_create_schema or use pg_list_schemas to see available schemas.`, { cause: error });
|
|
147
|
+
}
|
|
148
|
+
// pg_cluster: index-not-found — omit ifExists (not a valid cluster param)
|
|
149
|
+
if (context.tool === "pg_cluster" &&
|
|
150
|
+
(/index/i.test(msg) || context.index)) {
|
|
151
|
+
const match = /index "([^"]+)"/i.exec(msg);
|
|
152
|
+
const indexName = match?.[1] ?? context.index ?? "unknown";
|
|
153
|
+
throw new Error(`Index '${indexName}' not found. Use pg_get_indexes to see available indexes.`, { cause: error });
|
|
154
|
+
}
|
|
155
|
+
if (context.tool === "pg_drop_index" ||
|
|
156
|
+
/index/i.test(msg) ||
|
|
157
|
+
context.index) {
|
|
158
|
+
const match = /index "([^"]+)"/i.exec(msg);
|
|
159
|
+
const indexName = match?.[1] ?? context.index ?? "unknown";
|
|
160
|
+
throw new Error(`Index '${indexName}' not found. Use ifExists: true to avoid this error, or pg_get_indexes to see available indexes.`, { cause: error });
|
|
161
|
+
}
|
|
162
|
+
// Table-specific fallback for pg_drop_table
|
|
163
|
+
if (context.tool === "pg_drop_table") {
|
|
164
|
+
const objectName = context.table ?? "unknown";
|
|
165
|
+
throw new Error(`Table '${context.schema ?? "public"}.${objectName}' not found. Use ifExists: true to avoid this error, or pg_list_tables to verify.`, { cause: error });
|
|
166
|
+
}
|
|
167
|
+
// Function not found with tsvector argument — column is already tsvector type
|
|
168
|
+
if (/function .*tsvector.* does not exist/i.test(msg)) {
|
|
169
|
+
throw new Error(`Column appears to be a tsvector type, which cannot be used directly with text search tools. ` +
|
|
170
|
+
`Use a text column instead, or query the tsvector column directly with raw SQL (pg_read_query).`, { cause: error });
|
|
171
|
+
}
|
|
172
|
+
// pg_cron tool context guard — provide cron-appropriate messages
|
|
173
|
+
// instead of the misleading generic "Object 'X' not found"
|
|
174
|
+
if (context.tool?.startsWith("pg_cron_")) {
|
|
175
|
+
if (context.tool === "pg_cron_alter_job") {
|
|
176
|
+
const jobId = context.target ?? "unknown";
|
|
177
|
+
throw new Error(`Job ${jobId} not found. Use pg_cron_list_jobs to see available jobs.`, { cause: error });
|
|
178
|
+
}
|
|
179
|
+
if (context.tool === "pg_cron_schedule_in_database") {
|
|
180
|
+
const dbMatch = /database "([^"]+)"/i.exec(msg);
|
|
181
|
+
const dbName = dbMatch?.[1] ?? context.target ?? "unknown";
|
|
182
|
+
throw new Error(`Database '${dbName}' not found or not accessible for cron scheduling. Verify the database name exists.`, { cause: error });
|
|
183
|
+
}
|
|
184
|
+
// Generic cron fallback
|
|
185
|
+
throw new Error(`Cron operation failed: ${msg}. Use pg_cron_list_jobs to verify job state.`, { cause: error });
|
|
186
|
+
}
|
|
187
|
+
// Generic "does not exist" fallback
|
|
188
|
+
const match = /(?:table|relation) "([^"]+)"/i.exec(msg) ??
|
|
189
|
+
/"([^"]+)" does not exist/i.exec(msg);
|
|
190
|
+
const objectName = match?.[1] ?? context.table ?? "unknown";
|
|
191
|
+
throw new Error(`Object '${objectName}' not found. Use ifExists: true to avoid this error.`, { cause: error });
|
|
192
|
+
}
|
|
193
|
+
// 3F000 — invalid schema name
|
|
194
|
+
if (pgCode === "3F000" || /schema ".*" does not exist/i.test(msg)) {
|
|
195
|
+
const match = /schema "([^"]+)"/i.exec(msg);
|
|
196
|
+
const schemaName = match?.[1] ?? context.schema ?? "unknown";
|
|
197
|
+
throw new Error(`Schema '${schemaName}' does not exist. Use pg_list_objects with type 'table' to see available schemas.`, { cause: error });
|
|
198
|
+
}
|
|
199
|
+
// Overlapping partition bounds (RANGE overlap or conflicting LIST values)
|
|
200
|
+
if (/conflicting values for partition/i.test(msg) ||
|
|
201
|
+
/would overlap partition/i.test(msg)) {
|
|
202
|
+
throw new Error(`Partition bounds overlap with an existing partition. Use pg_list_partitions to see current partition bounds.`, { cause: error });
|
|
203
|
+
}
|
|
204
|
+
// Already-attached partition (attempting to attach a table that is already a partition)
|
|
205
|
+
if (/is already a partition/i.test(msg)) {
|
|
206
|
+
const match = /"([^"]+)" is already a partition/i.exec(msg);
|
|
207
|
+
const tableName = match?.[1] ?? context.table ?? "unknown";
|
|
208
|
+
throw new Error(`Table '${tableName}' is already a partition. Use pg_list_partitions to see current partitions, or pg_detach_partition to detach it first.`, { cause: error });
|
|
209
|
+
}
|
|
210
|
+
// XX000 — invalid geometry (PostGIS WKT/GeoJSON parse failure)
|
|
211
|
+
if (/parse error - invalid geometry/i.test(msg)) {
|
|
212
|
+
throw new Error(`Invalid geometry input. Use WKT format (e.g., 'POINT(-74 40)', 'POLYGON((...))') or GeoJSON format (e.g., '{"type":"Point","coordinates":[-74,40]}').`, { cause: error });
|
|
213
|
+
}
|
|
214
|
+
// Unrecognized PG error — re-throw with cause preserved
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Wrapper around parsePostgresError that returns the structured error message
|
|
219
|
+
* as a string instead of throwing. Use this in handler catch blocks where you
|
|
220
|
+
* want to return `{ success: false, error: formatPostgresError(...) }`.
|
|
221
|
+
*
|
|
222
|
+
* parsePostgresError always throws — this function catches the throw and
|
|
223
|
+
* extracts the message for structured error responses.
|
|
224
|
+
*/
|
|
225
|
+
export function formatPostgresError(error, context) {
|
|
226
|
+
// Handle Zod validation errors: extract clean messages from issues array
|
|
227
|
+
// ZodError instances have an .issues array — detect via duck-typing to
|
|
228
|
+
// avoid importing zod in this shared module.
|
|
229
|
+
if (error instanceof Error &&
|
|
230
|
+
"issues" in error &&
|
|
231
|
+
Array.isArray(error["issues"])) {
|
|
232
|
+
const issues = error["issues"];
|
|
233
|
+
return issues
|
|
234
|
+
.map((issue) => {
|
|
235
|
+
const pathStr = Array.isArray(issue.path) && issue.path.length > 0
|
|
236
|
+
? issue.path.join(".")
|
|
237
|
+
: "";
|
|
238
|
+
const msg = issue.message ?? "Unknown validation error";
|
|
239
|
+
return pathStr !== ""
|
|
240
|
+
? `Validation error: ${msg} (${pathStr})`
|
|
241
|
+
: `Validation error: ${msg}`;
|
|
242
|
+
})
|
|
243
|
+
.join("; ");
|
|
244
|
+
}
|
|
245
|
+
try {
|
|
246
|
+
parsePostgresError(error, context);
|
|
247
|
+
// parsePostgresError always throws, but fallback just in case
|
|
248
|
+
return error instanceof Error ? error.message : String(error);
|
|
249
|
+
}
|
|
250
|
+
catch (structured) {
|
|
251
|
+
return structured instanceof Error
|
|
252
|
+
? structured.message
|
|
253
|
+
: String(structured);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=error-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-helpers.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/error-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAgBpC;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAuMhB;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,eAAe,GACvB,cAAc,CAmHhB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,GACvB,cAAc,CA8KhB"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Database health analysis and index recommendation tools.
|
|
5
5
|
*/
|
|
6
6
|
import { readOnly } from "../../../../utils/annotations.js";
|
|
7
|
+
import { formatPostgresError } from "./error-helpers.js";
|
|
7
8
|
import { getToolIcons } from "../../../../utils/icons.js";
|
|
8
|
-
import { AnalyzeDbHealthSchema, AnalyzeWorkloadIndexesSchema, AnalyzeQueryIndexesSchema, AnalyzeQueryIndexesSchemaBase, HealthAnalysisOutputSchema, IndexRecommendationsOutputSchema, QueryIndexAnalysisOutputSchema, } from "./schemas.js";
|
|
9
|
+
import { AnalyzeDbHealthSchemaBase, AnalyzeDbHealthSchema, AnalyzeWorkloadIndexesSchemaBase, AnalyzeWorkloadIndexesSchema, AnalyzeQueryIndexesSchema, AnalyzeQueryIndexesSchemaBase, HealthAnalysisOutputSchema, IndexRecommendationsOutputSchema, QueryIndexAnalysisOutputSchema, } from "./schemas.js";
|
|
9
10
|
/**
|
|
10
11
|
* Analyze database health
|
|
11
12
|
*/
|
|
@@ -14,7 +15,7 @@ export function createAnalyzeDbHealthTool(adapter) {
|
|
|
14
15
|
name: "pg_analyze_db_health",
|
|
15
16
|
description: "Comprehensive database health analysis including cache hit ratio, bloat, replication, and connection stats.",
|
|
16
17
|
group: "core",
|
|
17
|
-
inputSchema:
|
|
18
|
+
inputSchema: AnalyzeDbHealthSchemaBase,
|
|
18
19
|
outputSchema: HealthAnalysisOutputSchema,
|
|
19
20
|
annotations: readOnly("Analyze Database Health"),
|
|
20
21
|
icons: getToolIcons("core", readOnly("Analyze Database Health")),
|
|
@@ -161,7 +162,7 @@ export function createAnalyzeWorkloadIndexesTool(adapter) {
|
|
|
161
162
|
name: "pg_analyze_workload_indexes",
|
|
162
163
|
description: "Analyze database workload using pg_stat_statements to recommend missing indexes.",
|
|
163
164
|
group: "core",
|
|
164
|
-
inputSchema:
|
|
165
|
+
inputSchema: AnalyzeWorkloadIndexesSchemaBase,
|
|
165
166
|
outputSchema: IndexRecommendationsOutputSchema,
|
|
166
167
|
annotations: readOnly("Analyze Workload Indexes"),
|
|
167
168
|
icons: getToolIcons("core", readOnly("Analyze Workload Indexes")),
|
|
@@ -272,7 +273,20 @@ export function createAnalyzeQueryIndexesTool(adapter) {
|
|
|
272
273
|
}
|
|
273
274
|
// Get query plan
|
|
274
275
|
const explainSql = `EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) ${sql}`;
|
|
275
|
-
|
|
276
|
+
let result;
|
|
277
|
+
try {
|
|
278
|
+
result = await adapter.executeQuery(explainSql, queryParams);
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
return {
|
|
282
|
+
sql,
|
|
283
|
+
success: false,
|
|
284
|
+
error: formatPostgresError(error, {
|
|
285
|
+
tool: "pg_analyze_query_indexes",
|
|
286
|
+
sql,
|
|
287
|
+
}),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
276
290
|
if (!result.rows || result.rows.length === 0) {
|
|
277
291
|
return { sql, error: "No query plan returned" };
|
|
278
292
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/health.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/indexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/indexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAepC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAwE7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,GACvB,cAAc,CAqHhB;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB,eAAO,MAAM,mBAAmB;;;;;;;;iBAoB9B,CAAC;AAaH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAgD5E"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { readOnly, write } from "../../../../utils/annotations.js";
|
|
7
7
|
import { getToolIcons } from "../../../../utils/icons.js";
|
|
8
|
+
import { formatPostgresError } from "./error-helpers.js";
|
|
8
9
|
import { GetIndexesSchemaBase, GetIndexesSchema, CreateIndexSchemaBase, CreateIndexSchema, } from "../../schemas/index.js";
|
|
9
10
|
import { IndexListOutputSchema, IndexOperationOutputSchema, } from "./schemas.js";
|
|
10
11
|
/**
|
|
@@ -43,11 +44,27 @@ export function createGetIndexesTool(adapter) {
|
|
|
43
44
|
}),
|
|
44
45
|
};
|
|
45
46
|
}
|
|
47
|
+
const schemaName = schema ?? "public";
|
|
48
|
+
// P154: Validate table exists before querying indexes
|
|
49
|
+
const schemaCheck = await adapter.executeQuery(`SELECT 1 FROM information_schema.schemata WHERE schema_name = $1`, [schemaName]);
|
|
50
|
+
if (!schemaCheck.rows || schemaCheck.rows.length === 0) {
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
error: `Schema '${schemaName}' does not exist. Use pg_list_objects with type 'table' to see available schemas.`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const tableCheck = await adapter.executeQuery(`SELECT 1 FROM information_schema.tables WHERE table_schema = $1 AND table_name = $2`, [schemaName, table]);
|
|
57
|
+
if (!tableCheck.rows || tableCheck.rows.length === 0) {
|
|
58
|
+
return {
|
|
59
|
+
success: false,
|
|
60
|
+
error: `Table '${schemaName}.${table}' not found. Use pg_list_tables to see available tables.`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
46
63
|
const indexes = await adapter.getTableIndexes(table, schema);
|
|
47
64
|
return {
|
|
48
65
|
indexes,
|
|
49
66
|
count: indexes.length,
|
|
50
|
-
table: `${
|
|
67
|
+
table: `${schemaName}.${table}`,
|
|
51
68
|
};
|
|
52
69
|
},
|
|
53
70
|
};
|
|
@@ -140,8 +157,16 @@ export function createCreateIndexTool(adapter) {
|
|
|
140
157
|
};
|
|
141
158
|
}
|
|
142
159
|
}
|
|
143
|
-
//
|
|
144
|
-
|
|
160
|
+
// Return structured error
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
error: formatPostgresError(error, {
|
|
164
|
+
tool: "pg_create_index",
|
|
165
|
+
index: name,
|
|
166
|
+
table,
|
|
167
|
+
schema: schemaName,
|
|
168
|
+
}),
|
|
169
|
+
};
|
|
145
170
|
}
|
|
146
171
|
},
|
|
147
172
|
};
|
|
@@ -223,11 +248,27 @@ export function createDropIndexTool(adapter) {
|
|
|
223
248
|
const ifExistsClause = ifExists === true ? "IF EXISTS " : "";
|
|
224
249
|
const cascadeClause = cascade === true ? " CASCADE" : "";
|
|
225
250
|
const concurrentlyClause = concurrently === true ? "CONCURRENTLY " : "";
|
|
251
|
+
// Check if index exists before dropping (for existed property)
|
|
252
|
+
const existsCheck = await adapter.executeQuery(`SELECT 1 FROM pg_indexes WHERE schemaname = $1 AND indexname = $2`, [schemaName, name]);
|
|
253
|
+
const existed = (existsCheck.rows?.length ?? 0) > 0;
|
|
226
254
|
const sql = `DROP INDEX ${concurrentlyClause}${ifExistsClause}"${schemaName}"."${name}"${cascadeClause}`;
|
|
227
|
-
|
|
255
|
+
try {
|
|
256
|
+
await adapter.executeQuery(sql);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
return {
|
|
260
|
+
success: false,
|
|
261
|
+
error: formatPostgresError(error, {
|
|
262
|
+
tool: "pg_drop_index",
|
|
263
|
+
index: name,
|
|
264
|
+
schema: schemaName,
|
|
265
|
+
}),
|
|
266
|
+
};
|
|
267
|
+
}
|
|
228
268
|
return {
|
|
229
269
|
success: true,
|
|
230
270
|
index: `${schemaName}.${name}`,
|
|
271
|
+
existed,
|
|
231
272
|
sql,
|
|
232
273
|
};
|
|
233
274
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/indexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mIAAmI;QACrI,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhE,0DAA0D;YAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC9C,8BAA8B;gBAC9B,MAAM,QAAQ,GACZ,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;oBACpD,CAAC,CAAC,OAAO,CAAC;gBAEd,gFAAgF;gBAChF,MAAM,cAAc,GAAG,KAAK,IAAI,GAAG,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAEnC,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,UAAU;oBACV,sCAAsC;oBACtC,GAAG,CAAC,UAAU,GAAG,cAAc,IAAI;wBACjC,SAAS,EAAE,IAAI;wBACf,IAAI,EAAE,WAAW,MAAM,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,uFAAuF;qBACxJ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO;gBACL,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/indexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/objects.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAcpC;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgKhB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/objects.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAcpC;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgKhB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2MhB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2BhB"}
|