@prisma/orm-target-postgres 8.0.0-rc.4-dev.6 → 8.0.0-rc.4-dev.8
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/dist/{control-Y6FxMu3o.mjs → control-DzK5mSLo.mjs} +3 -3
- package/dist/control-DzK5mSLo.mjs.map +1 -0
- package/dist/driver.d.mts +2 -2
- package/dist/driver.mjs +3 -2
- package/dist/driver__control.mjs +1 -1
- package/dist/driver__runtime.d.mts +2 -2
- package/dist/driver__runtime.mjs +2 -639
- package/dist/runtime-C-Hh2m1R.mjs +645 -0
- package/dist/runtime-C-Hh2m1R.mjs.map +1 -0
- package/dist/{runtime-lHBKgjB9.d.mts → runtime-DtoNQntj.d.mts} +3 -2
- package/dist/runtime-DtoNQntj.d.mts.map +1 -0
- package/package.json +9 -9
- package/dist/control-Y6FxMu3o.mjs.map +0 -1
- package/dist/driver__runtime.mjs.map +0 -1
- package/dist/runtime-lHBKgjB9.d.mts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-C-Hh2m1R.mjs","names":["#queue","#connection","#onRelease","#onDestroy","#txState","#onSettled","#settle","#closed","suppressIdleConnectionErrors$1","#connected","#connectionMutex","#closeWhileHoldingLease","#connectPromise","#cursorOpts","#preparedStatements","#delegate","#requireDelegate","#wrapConnection"],"sources":["../../../../3-targets/7-drivers/postgres/dist/runtime.mjs"],"sourcesContent":["import { i as postgresDriverDescriptorMeta, n as isPostgresError, r as normalizePgError, t as isAlreadyConnectedError } from \"./normalize-error-CNjgVO71.mjs\";\nimport { suppressIdleConnectionErrors, suppressIdleConnectionErrors as suppressIdleConnectionErrors$1 } from \"@internal/utils/suppress-idle-connection-errors\";\nimport { Pool } from \"pg\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport Cursor from \"pg-cursor\";\n//#region src/driver-error.ts\nfunction driverError(code, message, details) {\n\tconst error = new Error(message);\n\tObject.defineProperty(error, \"name\", {\n\t\tvalue: \"RuntimeError\",\n\t\tconfigurable: true\n\t});\n\treturn details === void 0 ? Object.assign(error, {\n\t\tcode,\n\t\tcategory: \"DRIVER\",\n\t\tseverity: \"error\"\n\t}) : Object.assign(error, {\n\t\tcode,\n\t\tcategory: \"DRIVER\",\n\t\tseverity: \"error\",\n\t\tdetails\n\t});\n}\n//#endregion\n//#region src/callback-to-promise.ts\nfunction callbackToPromise(fn) {\n\treturn new Promise((resolve, reject) => {\n\t\tfn((err, result) => {\n\t\t\tif (err) {\n\t\t\t\treject(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolve(result);\n\t\t});\n\t});\n}\n//#endregion\n//#region src/named-cursor.ts\nlet nextNamedPortalId = 1;\n/** Streaming cursor for a server-side named prepared statement. */\nvar NamedCursor = class extends Cursor {\n\tname;\n\tconstructor(opts) {\n\t\tsuper(opts.text, [...opts.values], opts.config);\n\t\tthis.name = opts.name;\n\t\tthis.submit = this.submitNamed;\n\t}\n\tsubmitNamed(connection) {\n\t\tconst self = this;\n\t\tconst conn = connection;\n\t\tself.state = \"submitted\";\n\t\tself.connection = conn;\n\t\tself._portal = `np_${nextNamedPortalId++}`;\n\t\tif (!conn.parsedStatements[this.name]) {\n\t\t\tconst parseMessage = {\n\t\t\t\ttext: self.text,\n\t\t\t\tname: this.name,\n\t\t\t\ttypes: []\n\t\t\t};\n\t\t\tconn.parse(parseMessage, true);\n\t\t}\n\t\tconst bindMessage = {\n\t\t\tportal: self._portal,\n\t\t\tstatement: this.name,\n\t\t\tvalues: self.values ?? []\n\t\t};\n\t\tconn.bind(bindMessage, true);\n\t\tconn.describe({\n\t\t\ttype: \"P\",\n\t\t\tname: self._portal\n\t\t}, true);\n\t\tconn.flush();\n\t\tif (self._conf.types) self._result._getTypeParser = self._conf.types.getTypeParser;\n\t\tconn.once(\"noData\", self._ifNoData);\n\t\tconn.once(\"rowDescription\", self._rowDescription);\n\t}\n};\n//#endregion\n//#region src/postgres-driver.ts\nconst DEFAULT_BATCH_SIZE = 100;\nconst DEFAULT_PREPARED_STATEMENTS = true;\nfunction createHandleAllocator() {\n\tlet next = 1;\n\treturn { mint: () => `pn_${next++}` };\n}\nfunction buildConnectionOptions(options) {\n\treturn {\n\t\t...options.cursor?.disabled ? { cursorDisabled: true } : {\n\t\t\tcursorBatchSize: options.cursor?.batchSize ?? DEFAULT_BATCH_SIZE,\n\t\t\tcursorDisabled: false\n\t\t},\n\t\tpreparedStatementsEnabled: options.preparedStatements ?? DEFAULT_PREPARED_STATEMENTS,\n\t\thandleAllocator: createHandleAllocator()\n\t};\n}\nfunction isStalePreparedStatementError(error) {\n\tif (!(error instanceof Error) || !(\"code\" in error) || typeof error.code !== \"string\") return false;\n\tconst code = error.code;\n\treturn code === \"26000\" || code === \"0A000\";\n}\nvar AsyncMutex = class {\n\t#queue = Promise.resolve();\n\tasync lock() {\n\t\tconst previous = this.#queue;\n\t\tlet releaseLock;\n\t\tthis.#queue = new Promise((resolve) => {\n\t\t\treleaseLock = resolve;\n\t\t});\n\t\tawait previous;\n\t\treturn () => {\n\t\t\treleaseLock?.();\n\t\t\treleaseLock = void 0;\n\t\t};\n\t}\n};\nconst clientQueryLocks = /* @__PURE__ */ new WeakMap();\nfunction acquireClientQueryLock(client) {\n\tlet mutex = clientQueryLocks.get(client);\n\tif (mutex === void 0) {\n\t\tmutex = new AsyncMutex();\n\t\tclientQueryLocks.set(client, mutex);\n\t}\n\treturn mutex.lock();\n}\nvar PostgresQueryable = class {\n\toptions;\n\tconstructor(options) {\n\t\tthis.options = options;\n\t}\n\tasync *query(request) {\n\t\ttry {\n\t\t\tconst preparedStatementHandle = request.preparedStatementHandle;\n\t\t\tif (preparedStatementHandle === void 0 || !this.options.preparedStatementsEnabled) {\n\t\t\t\tyield* this.runQuery(request);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst name = this.preparedStatementName(preparedStatementHandle);\n\t\t\tyield* this.withStaleHandleStreamRetry(preparedStatementHandle, name, (name) => this.runQuery(request, name));\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tasync execute(request) {\n\t\ttry {\n\t\t\tconst preparedStatementHandle = request.preparedStatementHandle;\n\t\t\tif (preparedStatementHandle === void 0 || !this.options.preparedStatementsEnabled) return await this.runExecute(request);\n\t\t\tconst name = this.preparedStatementName(preparedStatementHandle);\n\t\t\treturn await this.withStaleHandleRetry(preparedStatementHandle, name, (name) => this.runExecute(request, name));\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tpreparedStatementName(handle) {\n\t\tconst existingName = handle.get();\n\t\tif (typeof existingName === \"string\") return existingName;\n\t\tconst mintedName = this.options.handleAllocator.mint();\n\t\thandle.set(mintedName);\n\t\treturn mintedName;\n\t}\n\tasync withStaleHandleRetry(preparedStatementHandle, name, attempt) {\n\t\ttry {\n\t\t\treturn await attempt(name);\n\t\t} catch (error) {\n\t\t\tif (!isStalePreparedStatementError(error)) throw error;\n\t\t\tconst retryName = this.options.handleAllocator.mint();\n\t\t\tpreparedStatementHandle.set(retryName);\n\t\t\ttry {\n\t\t\t\treturn await attempt(retryName);\n\t\t\t} catch (retryError) {\n\t\t\t\tthrow prepareFailedError(retryError, retryName);\n\t\t\t}\n\t\t}\n\t}\n\tasync *withStaleHandleStreamRetry(preparedStatementHandle, name, attempt) {\n\t\tconst stream = await this.withStaleHandleRetry(preparedStatementHandle, name, async (name) => {\n\t\t\tconst iterator = attempt(name)[Symbol.asyncIterator]();\n\t\t\treturn {\n\t\t\t\titerator,\n\t\t\t\tfirst: await iterator.next()\n\t\t\t};\n\t\t});\n\t\tif (stream.first.done) return;\n\t\tlet streamCompleted = false;\n\t\ttry {\n\t\t\tyield stream.first.value;\n\t\t\twhile (true) {\n\t\t\t\tconst next = await stream.iterator.next();\n\t\t\t\tif (next.done) {\n\t\t\t\t\tstreamCompleted = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tyield next.value;\n\t\t\t}\n\t\t} finally {\n\t\t\tif (!streamCompleted) await stream.iterator.return?.();\n\t\t}\n\t}\n\tasync runExecute(request, name) {\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\ttry {\n\t\t\t\treturn { affectedRows: (await client.query({\n\t\t\t\t\tname,\n\t\t\t\t\ttext: request.sql,\n\t\t\t\t\tvalues: blindCast(request.params ?? [])\n\t\t\t\t})).rowCount ?? 0 };\n\t\t\t} finally {\n\t\t\t\treleaseLock();\n\t\t\t}\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tinExplicitTransaction() {\n\t\treturn false;\n\t}\n\tasync *runQuery(request, name) {\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tif (!this.options.cursorDisabled) {\n\t\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\t\ttry {\n\t\t\t\t\tfor await (const row of this.streamWithPortalProtection(client, request, this.options.cursorBatchSize, name)) yield blindCast(row);\n\t\t\t\t\treturn;\n\t\t\t\t} catch (cursorError) {\n\t\t\t\t\tif (!(cursorError instanceof Error) || isPostgresError(cursorError)) throw cursorError;\n\t\t\t\t} finally {\n\t\t\t\t\treleaseLock();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor await (const row of this.executeBuffered(client, request.sql, request.params, name)) yield blindCast(row);\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tasync explain(request) {\n\t\tconst text = `EXPLAIN (FORMAT JSON) ${request.sql}`;\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\ttry {\n\t\t\t\treturn { rows: blindCast((await client.query(text, request.params === void 0 ? void 0 : [...request.params]).catch(rethrowNormalizedError)).rows) };\n\t\t\t} finally {\n\t\t\t\treleaseLock();\n\t\t\t}\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tasync *streamWithPortalProtection(client, request, cursorBatchSize, name) {\n\t\tif (this.inExplicitTransaction()) {\n\t\t\tyield* this.executeWithCursor(client, request.sql, request.params, cursorBatchSize, name);\n\t\t\treturn;\n\t\t}\n\t\tawait client.query(\"BEGIN\");\n\t\tlet streamFailed = false;\n\t\ttry {\n\t\t\tyield* this.executeWithCursor(client, request.sql, request.params, cursorBatchSize, name);\n\t\t} catch (error) {\n\t\t\tstreamFailed = true;\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tawait this.commitStreamSpan(client, streamFailed);\n\t\t}\n\t}\n\tasync commitStreamSpan(client, streamFailed) {\n\t\ttry {\n\t\t\tawait client.query(\"COMMIT\");\n\t\t} catch (commitError) {\n\t\t\tif (!streamFailed) throw commitError;\n\t\t}\n\t}\n\tasync *executeWithCursor(client, sql, params, cursorBatchSize, name) {\n\t\tconst values = blindCast(params ?? []);\n\t\tconst cursor = client.query(name === void 0 ? new Cursor(sql, values) : new NamedCursor({\n\t\t\tname,\n\t\t\ttext: sql,\n\t\t\tvalues\n\t\t}));\n\t\ttry {\n\t\t\twhile (true) {\n\t\t\t\tconst rows = await readCursor(cursor, cursorBatchSize);\n\t\t\t\tif (rows.length === 0) break;\n\t\t\t\tfor (const row of rows) yield row;\n\t\t\t}\n\t\t} finally {\n\t\t\tawait closeCursor(cursor);\n\t\t}\n\t}\n\tasync *executeBuffered(client, sql, params, name) {\n\t\tconst config = {\n\t\t\tname,\n\t\t\ttext: sql,\n\t\t\tvalues: blindCast(params ?? [])\n\t\t};\n\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await client.query(config);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t}\n\t\tfor (const row of blindCast(result.rows)) yield row;\n\t}\n};\nvar PostgresConnectionImpl = class extends PostgresQueryable {\n\t#connection;\n\t#onRelease;\n\t#onDestroy;\n\t#txState;\n\tconstructor(connection, options, onRelease, onDestroy, txState) {\n\t\tsuper(options);\n\t\tthis.#connection = connection;\n\t\tthis.#onRelease = onRelease;\n\t\tthis.#onDestroy = onDestroy;\n\t\tthis.#txState = txState ?? { open: false };\n\t}\n\tacquireClient() {\n\t\treturn Promise.resolve(this.#connection);\n\t}\n\treleaseClient(_client) {\n\t\treturn Promise.resolve();\n\t}\n\tinExplicitTransaction() {\n\t\treturn this.#txState.open;\n\t}\n\tasync beginTransaction() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"BEGIN\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t}\n\t\tthis.#txState.open = true;\n\t\treturn new PostgresTransactionImpl(this.#connection, this.options, () => {\n\t\t\tthis.#txState.open = false;\n\t\t});\n\t}\n\tasync release() {\n\t\tconst conn = this.#connection;\n\t\tif (\"release\" in conn) conn.release();\n\t\tconst onRelease = this.#onRelease;\n\t\tthis.#onRelease = void 0;\n\t\tthis.#onDestroy = void 0;\n\t\tonRelease?.();\n\t}\n\tasync destroy(reason) {\n\t\tconst onDestroy = this.#onDestroy;\n\t\tconst onRelease = this.#onRelease;\n\t\tthis.#onDestroy = void 0;\n\t\tthis.#onRelease = void 0;\n\t\tconst conn = this.#connection;\n\t\tif (\"release\" in conn) {\n\t\t\tconst releaseArg = reason instanceof Error ? reason : /* @__PURE__ */ new Error(\"Connection destroyed\");\n\t\t\tconn.release(releaseArg);\n\t\t}\n\t\tif (onDestroy) await onDestroy(reason);\n\t\telse onRelease?.();\n\t}\n};\nvar PostgresTransactionImpl = class extends PostgresQueryable {\n\t#connection;\n\t#onSettled;\n\tconstructor(connection, options, onSettled) {\n\t\tsuper(options);\n\t\tthis.#connection = connection;\n\t\tthis.#onSettled = onSettled;\n\t}\n\tacquireClient() {\n\t\treturn Promise.resolve(this.#connection);\n\t}\n\treleaseClient(_client) {\n\t\treturn Promise.resolve();\n\t}\n\tinExplicitTransaction() {\n\t\treturn true;\n\t}\n\t#settle() {\n\t\tconst onSettled = this.#onSettled;\n\t\tthis.#onSettled = void 0;\n\t\tonSettled?.();\n\t}\n\tasync commit() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"COMMIT\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t\tthis.#settle();\n\t\t}\n\t}\n\tasync rollback() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"ROLLBACK\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t\tthis.#settle();\n\t\t}\n\t}\n};\nvar PostgresPoolDriverImpl = class extends PostgresQueryable {\n\tpool;\n\t#closed = false;\n\tconstructor(options) {\n\t\tsuper(buildConnectionOptions(options));\n\t\tthis.pool = options.connect.pool;\n\t}\n\tget state() {\n\t\treturn this.#closed ? \"closed\" : \"connected\";\n\t}\n\tasync connect(_binding) {}\n\tasync acquireConnection() {\n\t\treturn new PostgresConnectionImpl(await this.acquireClient(), this.options);\n\t}\n\tasync close() {\n\t\tif (this.#closed) return;\n\t\tthis.#closed = true;\n\t\tawait this.pool.end();\n\t}\n\tasync acquireClient() {\n\t\treturn suppressIdleConnectionErrors$1(await this.pool.connect());\n\t}\n\tasync releaseClient(client) {\n\t\tclient.release();\n\t}\n};\nvar PostgresDirectDriverImpl = class extends PostgresQueryable {\n\tdirectClient;\n\t#connectionMutex = new AsyncMutex();\n\t#closed = false;\n\t#connected = false;\n\t#connectPromise;\n\t#txState = { open: false };\n\tconstructor(options) {\n\t\tsuper(buildConnectionOptions(options));\n\t\tthis.directClient = options.connect.client;\n\t\tthis.directClient.on(\"error\", () => {\n\t\t\tthis.#closed = true;\n\t\t\tthis.#connected = false;\n\t\t});\n\t}\n\tinExplicitTransaction() {\n\t\treturn this.#txState.open;\n\t}\n\tget state() {\n\t\treturn this.#closed ? \"closed\" : \"connected\";\n\t}\n\tasync connect(_binding) {}\n\tasync acquireConnection() {\n\t\tconst releaseLease = await this.#connectionMutex.lock();\n\t\ttry {\n\t\t\treturn new PostgresConnectionImpl(await this.acquireClient(), this.options, releaseLease, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.#closeWhileHoldingLease();\n\t\t\t\t} finally {\n\t\t\t\t\treleaseLease();\n\t\t\t\t}\n\t\t\t}, this.#txState);\n\t\t} catch (error) {\n\t\t\treleaseLease();\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync close() {\n\t\tconst releaseLease = await this.#connectionMutex.lock();\n\t\ttry {\n\t\t\tawait this.#closeWhileHoldingLease();\n\t\t} finally {\n\t\t\treleaseLease();\n\t\t}\n\t}\n\tasync #closeWhileHoldingLease() {\n\t\tif (this.#closed) return;\n\t\tthis.#closed = true;\n\t\tawait this.directClient.end();\n\t\tthis.#connected = false;\n\t}\n\tasync acquireClient() {\n\t\tif (this.#closed) throw driverError(\"DRIVER.NOT_CONNECTED\", \"Postgres connection lost or closed. Create a new client to reconnect.\");\n\t\tif (this.#connected) return this.directClient;\n\t\tif (this.#connectPromise !== void 0) {\n\t\t\tawait this.#connectPromise;\n\t\t\treturn this.directClient;\n\t\t}\n\t\tthis.#connectPromise = (async () => {\n\t\t\ttry {\n\t\t\t\tawait this.directClient.connect();\n\t\t\t} catch (error) {\n\t\t\t\tif (!isAlreadyConnectedError(error)) throw error;\n\t\t\t} finally {\n\t\t\t\tthis.#connectPromise = void 0;\n\t\t\t}\n\t\t\tthis.#connected = true;\n\t\t})();\n\t\tawait this.#connectPromise;\n\t\treturn this.directClient;\n\t}\n\tasync releaseClient(_client) {}\n};\nfunction createBoundDriverFromBinding(binding, cursorOpts, extraOpts) {\n\tconst preparedStatements = extraOpts?.preparedStatements;\n\tswitch (binding.kind) {\n\t\tcase \"url\": return new PostgresPoolDriverImpl({\n\t\t\tconnect: { pool: suppressIdleConnectionErrors$1(new Pool({\n\t\t\t\tconnectionString: binding.url,\n\t\t\t\tconnectionTimeoutMillis: 2e4,\n\t\t\t\tidleTimeoutMillis: 3e4\n\t\t\t})) },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t\tcase \"pgPool\": return new PostgresPoolDriverImpl({\n\t\t\tconnect: { pool: suppressIdleConnectionErrors$1(binding.pool) },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t\tcase \"pgClient\": return new PostgresDirectDriverImpl({\n\t\t\tconnect: { client: suppressIdleConnectionErrors$1(binding.client) },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t}\n}\nfunction readCursor(cursor, size) {\n\treturn callbackToPromise((cb) => {\n\t\tcursor.read(size, (err, rows) => cb(err, rows));\n\t});\n}\nfunction closeCursor(cursor) {\n\treturn callbackToPromise((cb) => cursor.close(cb));\n}\nfunction rethrowNormalizedError(error) {\n\tthrow normalizePgError(error);\n}\nfunction prepareFailedError(retryError, handle) {\n\tconst cause = normalizePgError(retryError);\n\treturn Object.assign(driverError(\"DRIVER.PREPARE_FAILED\", `Prepared statement failed again after re-preparing with a fresh handle: ${cause.message}`, { handle }), { cause });\n}\n//#endregion\n//#region src/exports/runtime.ts\nconst USE_BEFORE_CONNECT_MESSAGE = \"Postgres driver not connected. Call connect(binding) before acquireConnection or execute.\";\nconst ALREADY_CONNECTED_MESSAGE = \"Postgres driver already connected. Call close() before reconnecting with a new binding.\";\nfunction unboundQuery() {\n\treturn { [Symbol.asyncIterator]() {\n\t\treturn { async next() {\n\t\t\tthrow driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\t} };\n\t} };\n}\nvar PostgresUnboundDriverImpl = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"postgres\";\n\t#delegate = null;\n\t#closed = false;\n\t#cursorOpts;\n\t#preparedStatements;\n\tconstructor(options) {\n\t\tthis.#cursorOpts = options?.cursor;\n\t\tthis.#preparedStatements = options?.preparedStatements;\n\t}\n\tget state() {\n\t\tif (this.#delegate !== null) return \"connected\";\n\t\tif (this.#closed) return \"closed\";\n\t\treturn \"unbound\";\n\t}\n\t#requireDelegate() {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate === null) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn delegate;\n\t}\n\tasync connect(binding) {\n\t\tif (this.#delegate !== null) throw driverError(\"DRIVER.ALREADY_CONNECTED\", ALREADY_CONNECTED_MESSAGE, { bindingKind: binding.kind });\n\t\tthis.#delegate = createBoundDriverFromBinding(binding, this.#cursorOpts, { preparedStatements: this.#preparedStatements });\n\t\tthis.#closed = false;\n\t}\n\tasync acquireConnection() {\n\t\tconst delegate = this.#requireDelegate();\n\t\tconst connection = await delegate.acquireConnection();\n\t\treturn this.#wrapConnection(connection, delegate);\n\t}\n\t/**\n\t* Wraps an acquired connection so that teardown paths which close the\n\t* underlying delegate (notably `destroy()` on a pgClient binding, where\n\t* the single socket means a destroyed connection invalidates the driver)\n\t* also reset our own `#delegate` reference. Without this, a failed\n\t* transaction rollback would leave the outer unbound wrapper reporting\n\t* `connected` while routing subsequent work to an already-ended delegate.\n\t*/\n\t#wrapConnection(connection, delegate) {\n\t\tconst syncDelegateState = () => {\n\t\t\tif (this.#delegate === delegate && delegate.state === \"closed\") {\n\t\t\t\tthis.#delegate = null;\n\t\t\t\tthis.#closed = true;\n\t\t\t}\n\t\t};\n\t\tconst wrapped = {\n\t\t\tbeginTransaction: connection.beginTransaction.bind(connection),\n\t\t\tquery: connection.query.bind(connection),\n\t\t\texecute: connection.execute.bind(connection),\n\t\t\trelease: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait connection.release();\n\t\t\t\t} finally {\n\t\t\t\t\tsyncDelegateState();\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: async (reason) => {\n\t\t\t\ttry {\n\t\t\t\t\tawait connection.destroy(reason);\n\t\t\t\t} finally {\n\t\t\t\t\tsyncDelegateState();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (connection.explain) wrapped.explain = connection.explain.bind(connection);\n\t\treturn wrapped;\n\t}\n\tasync close() {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate !== null) {\n\t\t\tthis.#delegate = null;\n\t\t\tawait delegate.close();\n\t\t}\n\t\tthis.#closed = true;\n\t}\n\tquery(request) {\n\t\tconst delegate = this.#delegate;\n\t\treturn delegate === null ? unboundQuery() : delegate.query(request);\n\t}\n\tasync execute(request) {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate === null) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn delegate.execute(request);\n\t}\n\tasync explain(request) {\n\t\tconst delegate = this.#requireDelegate();\n\t\tconst explain = delegate.explain;\n\t\tif (explain === void 0) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn explain.call(delegate, request);\n\t}\n};\nconst postgresRuntimeDriverDescriptor = {\n\t...postgresDriverDescriptorMeta,\n\tcreate(options) {\n\t\treturn new PostgresUnboundDriverImpl(options);\n\t}\n};\n//#endregion\nexport { postgresRuntimeDriverDescriptor as default, suppressIdleConnectionErrors };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SqlDriver } from "@prisma/orm-family-sql/relational-core/ast";
|
|
2
|
+
import { suppressIdleConnectionErrors as suppressIdleConnectionErrors$1 } from "@prisma/orm-framework/utils/suppress-idle-connection-errors";
|
|
2
3
|
import { Client, Pool, QueryResult, QueryResultRow } from "pg";
|
|
3
4
|
import { RuntimeDriverDescriptor, RuntimeDriverInstance } from "@prisma/orm-framework/components/execution";
|
|
4
5
|
//#region ../../../3-targets/7-drivers/postgres/dist/runtime.d.mts
|
|
@@ -52,5 +53,5 @@ type PostgresDriverCreateOptions = Omit<PostgresDriverOptions, 'connect'>;
|
|
|
52
53
|
type PostgresRuntimeDriver = RuntimeDriverInstance<'sql', 'postgres'> & SqlDriver<PostgresBinding>;
|
|
53
54
|
declare const postgresRuntimeDriverDescriptor: RuntimeDriverDescriptor<'sql', 'postgres', PostgresDriverCreateOptions, PostgresRuntimeDriver>;
|
|
54
55
|
//#endregion
|
|
55
|
-
export { postgresRuntimeDriverDescriptor as a, QueryResult$1 as i, PostgresDriverCreateOptions as n, PostgresRuntimeDriver as r, PostgresBinding as t };
|
|
56
|
-
//# sourceMappingURL=runtime-
|
|
56
|
+
export { postgresRuntimeDriverDescriptor as a, QueryResult$1 as i, PostgresDriverCreateOptions as n, suppressIdleConnectionErrors$1 as o, PostgresRuntimeDriver as r, PostgresBinding as t };
|
|
57
|
+
//# sourceMappingURL=runtime-DtoNQntj.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-DtoNQntj.d.mts","names":[],"sources":["../../../../3-targets/7-drivers/postgres/dist/runtime.d.mts"],"mappings":";;;;;;KAKK,cAAY,UAAU,iBAAiB,kBAAkB,YAAc;;;;;;;;;;;;;KAavE;WACM;WACA;;WAEA;WACA,MAAM;;WAEN;WACA,QAAQ;;UAET;WACC;WACA;;UAED;WACC;IACP,QAAQ;;IAER,MAAM;;WAEC,SAAS;;;;;;;;WAQT;;KAEN,8BAA8B,KAAK;;;KAGnC,wBAAwB,2CAA2C,UAAU;cACpE,iCAAiC,2CAA2C,6BAA6B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/orm-target-postgres",
|
|
3
|
-
"version": "8.0.0-rc.4-dev.
|
|
3
|
+
"version": "8.0.0-rc.4-dev.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@prisma/orm-family-sql": "8.0.0-rc.4-dev.
|
|
13
|
-
"@prisma/orm-framework": "8.0.0-rc.4-dev.
|
|
14
|
-
"@prisma/orm-toolchain": "8.0.0-rc.4-dev.
|
|
12
|
+
"@prisma/orm-family-sql": "8.0.0-rc.4-dev.8",
|
|
13
|
+
"@prisma/orm-framework": "8.0.0-rc.4-dev.8",
|
|
14
|
+
"@prisma/orm-toolchain": "8.0.0-rc.4-dev.8",
|
|
15
15
|
"@standard-schema/spec": "^1.1.0",
|
|
16
16
|
"@types/pg": "8.20.4",
|
|
17
17
|
"arktype": "^2.2.2",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"pg-cursor": "^2.21.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@internal/adapter-postgres": "8.0.0-rc.4-dev.
|
|
24
|
-
"@internal/driver-postgres": "8.0.0-rc.4-dev.
|
|
25
|
-
"@internal/target-postgres": "8.0.0-rc.4-dev.
|
|
26
|
-
"@repo/tsconfig": "8.0.0-rc.4-dev.
|
|
27
|
-
"@repo/tsdown": "8.0.0-rc.4-dev.
|
|
23
|
+
"@internal/adapter-postgres": "8.0.0-rc.4-dev.8",
|
|
24
|
+
"@internal/driver-postgres": "8.0.0-rc.4-dev.8",
|
|
25
|
+
"@internal/target-postgres": "8.0.0-rc.4-dev.8",
|
|
26
|
+
"@repo/tsconfig": "8.0.0-rc.4-dev.8",
|
|
27
|
+
"@repo/tsdown": "8.0.0-rc.4-dev.8",
|
|
28
28
|
"tsdown": "0.22.14",
|
|
29
29
|
"typescript": "5.9.3",
|
|
30
30
|
"vitest": "4.1.10"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-Y6FxMu3o.mjs","names":[],"sources":["../../../../3-targets/7-drivers/postgres/dist/control.mjs"],"sourcesContent":["import { i as postgresDriverDescriptorMeta, r as normalizePgError } from \"./normalize-error-CNjgVO71.mjs\";\nimport { errorRuntime } from \"@internal/errors/execution\";\nimport { SqlQueryError } from \"@internal/sql-errors\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { redactDatabaseUrl } from \"@internal/utils/redact-db-url\";\nimport { Client } from \"pg\";\n//#region src/exports/control.ts\nvar PostgresControlDriver = class {\n\tclient;\n\tfamilyId = \"sql\";\n\ttargetId = \"postgres\";\n\tconstructor(client) {\n\t\tthis.client = client;\n\t}\n\tasync query(sql, params) {\n\t\ttry {\n\t\t\treturn { rows: (await this.client.query(sql, params)).rows };\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tasync databaseName() {\n\t\tconst name = (await this.query(\"select current_database() as name\")).rows[0]?.name;\n\t\treturn typeof name === \"string\" && name.length > 0 ? name : void 0;\n\t}\n\tasync close() {\n\t\tawait this.client.end().catch(() => {});\n\t}\n};\n/**\n* Postgres driver descriptor for CLI config.\n*/\nconst postgresDriverDescriptor = {\n\t...postgresDriverDescriptorMeta,\n\tasync create(url) {\n\t\tconst client = new Client({ connectionString: url });\n\t\tclient.on(\"error\", () => {});\n\t\ttry {\n\t\t\tawait client.connect();\n\t\t\treturn new PostgresControlDriver(client);\n\t\t} catch (error) {\n\t\t\tconst normalized = normalizePgError(error);\n\t\t\tconst redacted = redactDatabaseUrl(url);\n\t\t\ttry {\n\t\t\t\tawait client.end();\n\t\t\t} catch {}\n\t\t\tconst codeFromSqlState = SqlQueryError.is(normalized) ? normalized.sqlState : void 0;\n\t\t\tconst causeCode = \"cause\" in normalized && normalized.cause ? normalized.cause.code : void 0;\n\t\t\tconst sqlState = codeFromSqlState ?? causeCode;\n\t\t\tthrow errorRuntime(\"DRIVER.CONNECTION_FAILED\", \"Database connection failed\", {\n\t\t\t\twhy: normalized.message,\n\t\t\t\tfix: \"Verify the database URL, ensure the database is reachable, and confirm credentials/permissions\",\n\t\t\t\tmeta: {\n\t\t\t\t\t...ifDefined(\"sqlState\", sqlState),\n\t\t\t\t\t...redacted\n\t\t\t\t},\n\t\t\t\tcause: error\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { PostgresControlDriver, postgresDriverDescriptor as default };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;;;AAOA,IAAI,wBAAwB,MAAM;CACjC;CACA,WAAW;CACX,WAAW;CACX,YAAY,QAAQ;EACnB,KAAK,SAAS;CACf;CACA,MAAM,MAAM,KAAK,QAAQ;EACxB,IAAI;GACH,OAAO,EAAE,OAAO,MAAM,KAAK,OAAO,MAAM,KAAK,MAAM,EAAA,CAAG,KAAK;EAC5D,SAAS,OAAO;GACf,MAAM,iBAAiB,KAAK;EAC7B;CACD;CACA,MAAM,eAAe;EACpB,MAAM,QAAQ,MAAM,KAAK,MAAM,mCAAmC,EAAA,CAAG,KAAK,EAAE,EAAE;EAC9E,OAAO,OAAO,SAAS,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK;CAClE;CACA,MAAM,QAAQ;EACb,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;CACvC;AACD;;;;AAIA,MAAM,2BAA2B;CAChC,GAAG;CACH,MAAM,OAAO,KAAK;EACjB,MAAM,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,CAAC;EACnD,OAAO,GAAG,eAAe,CAAC,CAAC;EAC3B,IAAI;GACH,MAAM,OAAO,QAAQ;GACrB,OAAO,IAAI,sBAAsB,MAAM;EACxC,SAAS,OAAO;GACf,MAAM,aAAa,iBAAiB,KAAK;GACzC,MAAM,WAAW,kBAAkB,GAAG;GACtC,IAAI;IACH,MAAM,OAAO,IAAI;GAClB,QAAQ,CAAC;GACT,MAAM,mBAAmB,cAAc,GAAG,UAAU,IAAI,WAAW,WAAW,KAAK;GACnF,MAAM,YAAY,WAAW,cAAc,WAAW,QAAQ,WAAW,MAAM,OAAO,KAAK;GAC3F,MAAM,WAAW,oBAAoB;GACrC,MAAM,aAAa,4BAA4B,8BAA8B;IAC5E,KAAK,WAAW;IAChB,KAAK;IACL,MAAM;KACL,GAAG,UAAU,YAAY,QAAQ;KACjC,GAAG;IACJ;IACA,OAAO;GACR,CAAC;EACF;CACD;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driver__runtime.mjs","names":["#queue","#connection","#onRelease","#onDestroy","#txState","#onSettled","#settle","#closed","#connectionMutex","#closeWhileHoldingLease","#connected","#connectPromise","#cursorOpts","#preparedStatements","#delegate","#requireDelegate","#wrapConnection"],"sources":["../../../../3-targets/7-drivers/postgres/dist/runtime.mjs"],"sourcesContent":["import { i as postgresDriverDescriptorMeta, n as isPostgresError, r as normalizePgError, t as isAlreadyConnectedError } from \"./normalize-error-CNjgVO71.mjs\";\nimport { Pool } from \"pg\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport Cursor from \"pg-cursor\";\n//#region src/driver-error.ts\nfunction driverError(code, message, details) {\n\tconst error = new Error(message);\n\tObject.defineProperty(error, \"name\", {\n\t\tvalue: \"RuntimeError\",\n\t\tconfigurable: true\n\t});\n\treturn details === void 0 ? Object.assign(error, {\n\t\tcode,\n\t\tcategory: \"DRIVER\",\n\t\tseverity: \"error\"\n\t}) : Object.assign(error, {\n\t\tcode,\n\t\tcategory: \"DRIVER\",\n\t\tseverity: \"error\",\n\t\tdetails\n\t});\n}\n//#endregion\n//#region src/callback-to-promise.ts\nfunction callbackToPromise(fn) {\n\treturn new Promise((resolve, reject) => {\n\t\tfn((err, result) => {\n\t\t\tif (err) {\n\t\t\t\treject(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolve(result);\n\t\t});\n\t});\n}\n//#endregion\n//#region src/named-cursor.ts\nlet nextNamedPortalId = 1;\n/** Streaming cursor for a server-side named prepared statement. */\nvar NamedCursor = class extends Cursor {\n\tname;\n\tconstructor(opts) {\n\t\tsuper(opts.text, [...opts.values], opts.config);\n\t\tthis.name = opts.name;\n\t\tthis.submit = this.submitNamed;\n\t}\n\tsubmitNamed(connection) {\n\t\tconst self = this;\n\t\tconst conn = connection;\n\t\tself.state = \"submitted\";\n\t\tself.connection = conn;\n\t\tself._portal = `np_${nextNamedPortalId++}`;\n\t\tif (!conn.parsedStatements[this.name]) {\n\t\t\tconst parseMessage = {\n\t\t\t\ttext: self.text,\n\t\t\t\tname: this.name,\n\t\t\t\ttypes: []\n\t\t\t};\n\t\t\tconn.parse(parseMessage, true);\n\t\t}\n\t\tconst bindMessage = {\n\t\t\tportal: self._portal,\n\t\t\tstatement: this.name,\n\t\t\tvalues: self.values ?? []\n\t\t};\n\t\tconn.bind(bindMessage, true);\n\t\tconn.describe({\n\t\t\ttype: \"P\",\n\t\t\tname: self._portal\n\t\t}, true);\n\t\tconn.flush();\n\t\tif (self._conf.types) self._result._getTypeParser = self._conf.types.getTypeParser;\n\t\tconn.once(\"noData\", self._ifNoData);\n\t\tconn.once(\"rowDescription\", self._rowDescription);\n\t}\n};\n//#endregion\n//#region src/postgres-driver.ts\nconst DEFAULT_BATCH_SIZE = 100;\nconst DEFAULT_PREPARED_STATEMENTS = true;\nfunction createHandleAllocator() {\n\tlet next = 1;\n\treturn { mint: () => `pn_${next++}` };\n}\nfunction buildConnectionOptions(options) {\n\treturn {\n\t\t...options.cursor?.disabled ? { cursorDisabled: true } : {\n\t\t\tcursorBatchSize: options.cursor?.batchSize ?? DEFAULT_BATCH_SIZE,\n\t\t\tcursorDisabled: false\n\t\t},\n\t\tpreparedStatementsEnabled: options.preparedStatements ?? DEFAULT_PREPARED_STATEMENTS,\n\t\thandleAllocator: createHandleAllocator()\n\t};\n}\nfunction isStalePreparedStatementError(error) {\n\tif (!(error instanceof Error) || !(\"code\" in error) || typeof error.code !== \"string\") return false;\n\tconst code = error.code;\n\treturn code === \"26000\" || code === \"0A000\";\n}\nvar AsyncMutex = class {\n\t#queue = Promise.resolve();\n\tasync lock() {\n\t\tconst previous = this.#queue;\n\t\tlet releaseLock;\n\t\tthis.#queue = new Promise((resolve) => {\n\t\t\treleaseLock = resolve;\n\t\t});\n\t\tawait previous;\n\t\treturn () => {\n\t\t\treleaseLock?.();\n\t\t\treleaseLock = void 0;\n\t\t};\n\t}\n};\nconst clientQueryLocks = /* @__PURE__ */ new WeakMap();\nfunction acquireClientQueryLock(client) {\n\tlet mutex = clientQueryLocks.get(client);\n\tif (mutex === void 0) {\n\t\tmutex = new AsyncMutex();\n\t\tclientQueryLocks.set(client, mutex);\n\t}\n\treturn mutex.lock();\n}\nvar PostgresQueryable = class {\n\toptions;\n\tconstructor(options) {\n\t\tthis.options = options;\n\t}\n\tasync *query(request) {\n\t\ttry {\n\t\t\tconst preparedStatementHandle = request.preparedStatementHandle;\n\t\t\tif (preparedStatementHandle === void 0 || !this.options.preparedStatementsEnabled) {\n\t\t\t\tyield* this.runQuery(request);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst name = this.preparedStatementName(preparedStatementHandle);\n\t\t\tyield* this.withStaleHandleStreamRetry(preparedStatementHandle, name, (name) => this.runQuery(request, name));\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tasync execute(request) {\n\t\ttry {\n\t\t\tconst preparedStatementHandle = request.preparedStatementHandle;\n\t\t\tif (preparedStatementHandle === void 0 || !this.options.preparedStatementsEnabled) return await this.runExecute(request);\n\t\t\tconst name = this.preparedStatementName(preparedStatementHandle);\n\t\t\treturn await this.withStaleHandleRetry(preparedStatementHandle, name, (name) => this.runExecute(request, name));\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tpreparedStatementName(handle) {\n\t\tconst existingName = handle.get();\n\t\tif (typeof existingName === \"string\") return existingName;\n\t\tconst mintedName = this.options.handleAllocator.mint();\n\t\thandle.set(mintedName);\n\t\treturn mintedName;\n\t}\n\tasync withStaleHandleRetry(preparedStatementHandle, name, attempt) {\n\t\ttry {\n\t\t\treturn await attempt(name);\n\t\t} catch (error) {\n\t\t\tif (!isStalePreparedStatementError(error)) throw error;\n\t\t\tconst retryName = this.options.handleAllocator.mint();\n\t\t\tpreparedStatementHandle.set(retryName);\n\t\t\ttry {\n\t\t\t\treturn await attempt(retryName);\n\t\t\t} catch (retryError) {\n\t\t\t\tthrow prepareFailedError(retryError, retryName);\n\t\t\t}\n\t\t}\n\t}\n\tasync *withStaleHandleStreamRetry(preparedStatementHandle, name, attempt) {\n\t\tconst stream = await this.withStaleHandleRetry(preparedStatementHandle, name, async (name) => {\n\t\t\tconst iterator = attempt(name)[Symbol.asyncIterator]();\n\t\t\treturn {\n\t\t\t\titerator,\n\t\t\t\tfirst: await iterator.next()\n\t\t\t};\n\t\t});\n\t\tif (stream.first.done) return;\n\t\tlet streamCompleted = false;\n\t\ttry {\n\t\t\tyield stream.first.value;\n\t\t\twhile (true) {\n\t\t\t\tconst next = await stream.iterator.next();\n\t\t\t\tif (next.done) {\n\t\t\t\t\tstreamCompleted = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tyield next.value;\n\t\t\t}\n\t\t} finally {\n\t\t\tif (!streamCompleted) await stream.iterator.return?.();\n\t\t}\n\t}\n\tasync runExecute(request, name) {\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\ttry {\n\t\t\t\treturn { affectedRows: (await client.query({\n\t\t\t\t\tname,\n\t\t\t\t\ttext: request.sql,\n\t\t\t\t\tvalues: blindCast(request.params ?? [])\n\t\t\t\t})).rowCount ?? 0 };\n\t\t\t} finally {\n\t\t\t\treleaseLock();\n\t\t\t}\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tinExplicitTransaction() {\n\t\treturn false;\n\t}\n\tasync *runQuery(request, name) {\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tif (!this.options.cursorDisabled) {\n\t\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\t\ttry {\n\t\t\t\t\tfor await (const row of this.streamWithPortalProtection(client, request, this.options.cursorBatchSize, name)) yield blindCast(row);\n\t\t\t\t\treturn;\n\t\t\t\t} catch (cursorError) {\n\t\t\t\t\tif (!(cursorError instanceof Error) || isPostgresError(cursorError)) throw cursorError;\n\t\t\t\t} finally {\n\t\t\t\t\treleaseLock();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor await (const row of this.executeBuffered(client, request.sql, request.params, name)) yield blindCast(row);\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tasync explain(request) {\n\t\tconst text = `EXPLAIN (FORMAT JSON) ${request.sql}`;\n\t\tconst client = await this.acquireClient();\n\t\ttry {\n\t\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\t\ttry {\n\t\t\t\treturn { rows: blindCast((await client.query(text, request.params === void 0 ? void 0 : [...request.params]).catch(rethrowNormalizedError)).rows) };\n\t\t\t} finally {\n\t\t\t\treleaseLock();\n\t\t\t}\n\t\t} finally {\n\t\t\tawait this.releaseClient(client);\n\t\t}\n\t}\n\tasync *streamWithPortalProtection(client, request, cursorBatchSize, name) {\n\t\tif (this.inExplicitTransaction()) {\n\t\t\tyield* this.executeWithCursor(client, request.sql, request.params, cursorBatchSize, name);\n\t\t\treturn;\n\t\t}\n\t\tawait client.query(\"BEGIN\");\n\t\tlet streamFailed = false;\n\t\ttry {\n\t\t\tyield* this.executeWithCursor(client, request.sql, request.params, cursorBatchSize, name);\n\t\t} catch (error) {\n\t\t\tstreamFailed = true;\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tawait this.commitStreamSpan(client, streamFailed);\n\t\t}\n\t}\n\tasync commitStreamSpan(client, streamFailed) {\n\t\ttry {\n\t\t\tawait client.query(\"COMMIT\");\n\t\t} catch (commitError) {\n\t\t\tif (!streamFailed) throw commitError;\n\t\t}\n\t}\n\tasync *executeWithCursor(client, sql, params, cursorBatchSize, name) {\n\t\tconst values = blindCast(params ?? []);\n\t\tconst cursor = client.query(name === void 0 ? new Cursor(sql, values) : new NamedCursor({\n\t\t\tname,\n\t\t\ttext: sql,\n\t\t\tvalues\n\t\t}));\n\t\ttry {\n\t\t\twhile (true) {\n\t\t\t\tconst rows = await readCursor(cursor, cursorBatchSize);\n\t\t\t\tif (rows.length === 0) break;\n\t\t\t\tfor (const row of rows) yield row;\n\t\t\t}\n\t\t} finally {\n\t\t\tawait closeCursor(cursor);\n\t\t}\n\t}\n\tasync *executeBuffered(client, sql, params, name) {\n\t\tconst config = {\n\t\t\tname,\n\t\t\ttext: sql,\n\t\t\tvalues: blindCast(params ?? [])\n\t\t};\n\t\tconst releaseLock = await acquireClientQueryLock(client);\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await client.query(config);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t}\n\t\tfor (const row of blindCast(result.rows)) yield row;\n\t}\n};\nvar PostgresConnectionImpl = class extends PostgresQueryable {\n\t#connection;\n\t#onRelease;\n\t#onDestroy;\n\t#txState;\n\tconstructor(connection, options, onRelease, onDestroy, txState) {\n\t\tsuper(options);\n\t\tthis.#connection = connection;\n\t\tthis.#onRelease = onRelease;\n\t\tthis.#onDestroy = onDestroy;\n\t\tthis.#txState = txState ?? { open: false };\n\t}\n\tacquireClient() {\n\t\treturn Promise.resolve(this.#connection);\n\t}\n\treleaseClient(_client) {\n\t\treturn Promise.resolve();\n\t}\n\tinExplicitTransaction() {\n\t\treturn this.#txState.open;\n\t}\n\tasync beginTransaction() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"BEGIN\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t}\n\t\tthis.#txState.open = true;\n\t\treturn new PostgresTransactionImpl(this.#connection, this.options, () => {\n\t\t\tthis.#txState.open = false;\n\t\t});\n\t}\n\tasync release() {\n\t\tconst conn = this.#connection;\n\t\tif (\"release\" in conn) conn.release();\n\t\tconst onRelease = this.#onRelease;\n\t\tthis.#onRelease = void 0;\n\t\tthis.#onDestroy = void 0;\n\t\tonRelease?.();\n\t}\n\tasync destroy(reason) {\n\t\tconst onDestroy = this.#onDestroy;\n\t\tconst onRelease = this.#onRelease;\n\t\tthis.#onDestroy = void 0;\n\t\tthis.#onRelease = void 0;\n\t\tconst conn = this.#connection;\n\t\tif (\"release\" in conn) {\n\t\t\tconst releaseArg = reason instanceof Error ? reason : /* @__PURE__ */ new Error(\"Connection destroyed\");\n\t\t\tconn.release(releaseArg);\n\t\t}\n\t\tif (onDestroy) await onDestroy(reason);\n\t\telse onRelease?.();\n\t}\n};\nvar PostgresTransactionImpl = class extends PostgresQueryable {\n\t#connection;\n\t#onSettled;\n\tconstructor(connection, options, onSettled) {\n\t\tsuper(options);\n\t\tthis.#connection = connection;\n\t\tthis.#onSettled = onSettled;\n\t}\n\tacquireClient() {\n\t\treturn Promise.resolve(this.#connection);\n\t}\n\treleaseClient(_client) {\n\t\treturn Promise.resolve();\n\t}\n\tinExplicitTransaction() {\n\t\treturn true;\n\t}\n\t#settle() {\n\t\tconst onSettled = this.#onSettled;\n\t\tthis.#onSettled = void 0;\n\t\tonSettled?.();\n\t}\n\tasync commit() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"COMMIT\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t\tthis.#settle();\n\t\t}\n\t}\n\tasync rollback() {\n\t\tconst releaseLock = await acquireClientQueryLock(this.#connection);\n\t\ttry {\n\t\t\tawait this.#connection.query(\"ROLLBACK\").catch(rethrowNormalizedError);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t\tthis.#settle();\n\t\t}\n\t}\n};\nvar PostgresPoolDriverImpl = class extends PostgresQueryable {\n\tpool;\n\t#closed = false;\n\tconstructor(options) {\n\t\tsuper(buildConnectionOptions(options));\n\t\tthis.pool = options.connect.pool;\n\t}\n\tget state() {\n\t\treturn this.#closed ? \"closed\" : \"connected\";\n\t}\n\tasync connect(_binding) {}\n\tasync acquireConnection() {\n\t\treturn new PostgresConnectionImpl(await this.acquireClient(), this.options);\n\t}\n\tasync close() {\n\t\tif (this.#closed) return;\n\t\tthis.#closed = true;\n\t\tawait this.pool.end();\n\t}\n\tasync acquireClient() {\n\t\treturn this.pool.connect();\n\t}\n\tasync releaseClient(client) {\n\t\tclient.release();\n\t}\n};\nvar PostgresDirectDriverImpl = class extends PostgresQueryable {\n\tdirectClient;\n\t#connectionMutex = new AsyncMutex();\n\t#closed = false;\n\t#connected = false;\n\t#connectPromise;\n\t#txState = { open: false };\n\tconstructor(options) {\n\t\tsuper(buildConnectionOptions(options));\n\t\tthis.directClient = options.connect.client;\n\t}\n\tinExplicitTransaction() {\n\t\treturn this.#txState.open;\n\t}\n\tget state() {\n\t\treturn this.#closed ? \"closed\" : \"connected\";\n\t}\n\tasync connect(_binding) {}\n\tasync acquireConnection() {\n\t\tconst releaseLease = await this.#connectionMutex.lock();\n\t\ttry {\n\t\t\treturn new PostgresConnectionImpl(await this.acquireClient(), this.options, releaseLease, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.#closeWhileHoldingLease();\n\t\t\t\t} finally {\n\t\t\t\t\treleaseLease();\n\t\t\t\t}\n\t\t\t}, this.#txState);\n\t\t} catch (error) {\n\t\t\treleaseLease();\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync close() {\n\t\tconst releaseLease = await this.#connectionMutex.lock();\n\t\ttry {\n\t\t\tawait this.#closeWhileHoldingLease();\n\t\t} finally {\n\t\t\treleaseLease();\n\t\t}\n\t}\n\tasync #closeWhileHoldingLease() {\n\t\tif (this.#closed) return;\n\t\tthis.#closed = true;\n\t\tawait this.directClient.end();\n\t\tthis.#connected = false;\n\t}\n\tasync acquireClient() {\n\t\tif (this.#connected) return this.directClient;\n\t\tif (this.#connectPromise !== void 0) {\n\t\t\tawait this.#connectPromise;\n\t\t\treturn this.directClient;\n\t\t}\n\t\tthis.#connectPromise = (async () => {\n\t\t\ttry {\n\t\t\t\tawait this.directClient.connect();\n\t\t\t} catch (error) {\n\t\t\t\tif (!isAlreadyConnectedError(error)) throw error;\n\t\t\t} finally {\n\t\t\t\tthis.#connectPromise = void 0;\n\t\t\t}\n\t\t\tthis.#connected = true;\n\t\t})();\n\t\tawait this.#connectPromise;\n\t\treturn this.directClient;\n\t}\n\tasync releaseClient(_client) {}\n};\nfunction createBoundDriverFromBinding(binding, cursorOpts, extraOpts) {\n\tconst preparedStatements = extraOpts?.preparedStatements;\n\tswitch (binding.kind) {\n\t\tcase \"url\": return new PostgresPoolDriverImpl({\n\t\t\tconnect: { pool: new Pool({\n\t\t\t\tconnectionString: binding.url,\n\t\t\t\tconnectionTimeoutMillis: 2e4,\n\t\t\t\tidleTimeoutMillis: 3e4\n\t\t\t}) },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t\tcase \"pgPool\": return new PostgresPoolDriverImpl({\n\t\t\tconnect: { pool: binding.pool },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t\tcase \"pgClient\": return new PostgresDirectDriverImpl({\n\t\t\tconnect: { client: binding.client },\n\t\t\tcursor: cursorOpts,\n\t\t\tpreparedStatements\n\t\t});\n\t}\n}\nfunction readCursor(cursor, size) {\n\treturn callbackToPromise((cb) => {\n\t\tcursor.read(size, (err, rows) => cb(err, rows));\n\t});\n}\nfunction closeCursor(cursor) {\n\treturn callbackToPromise((cb) => cursor.close(cb));\n}\nfunction rethrowNormalizedError(error) {\n\tthrow normalizePgError(error);\n}\nfunction prepareFailedError(retryError, handle) {\n\tconst cause = normalizePgError(retryError);\n\treturn Object.assign(driverError(\"DRIVER.PREPARE_FAILED\", `Prepared statement failed again after re-preparing with a fresh handle: ${cause.message}`, { handle }), { cause });\n}\n//#endregion\n//#region src/exports/runtime.ts\nconst USE_BEFORE_CONNECT_MESSAGE = \"Postgres driver not connected. Call connect(binding) before acquireConnection or execute.\";\nconst ALREADY_CONNECTED_MESSAGE = \"Postgres driver already connected. Call close() before reconnecting with a new binding.\";\nfunction unboundQuery() {\n\treturn { [Symbol.asyncIterator]() {\n\t\treturn { async next() {\n\t\t\tthrow driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\t} };\n\t} };\n}\nvar PostgresUnboundDriverImpl = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"postgres\";\n\t#delegate = null;\n\t#closed = false;\n\t#cursorOpts;\n\t#preparedStatements;\n\tconstructor(options) {\n\t\tthis.#cursorOpts = options?.cursor;\n\t\tthis.#preparedStatements = options?.preparedStatements;\n\t}\n\tget state() {\n\t\tif (this.#delegate !== null) return \"connected\";\n\t\tif (this.#closed) return \"closed\";\n\t\treturn \"unbound\";\n\t}\n\t#requireDelegate() {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate === null) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn delegate;\n\t}\n\tasync connect(binding) {\n\t\tif (this.#delegate !== null) throw driverError(\"DRIVER.ALREADY_CONNECTED\", ALREADY_CONNECTED_MESSAGE, { bindingKind: binding.kind });\n\t\tthis.#delegate = createBoundDriverFromBinding(binding, this.#cursorOpts, { preparedStatements: this.#preparedStatements });\n\t\tthis.#closed = false;\n\t}\n\tasync acquireConnection() {\n\t\tconst delegate = this.#requireDelegate();\n\t\tconst connection = await delegate.acquireConnection();\n\t\treturn this.#wrapConnection(connection, delegate);\n\t}\n\t/**\n\t* Wraps an acquired connection so that teardown paths which close the\n\t* underlying delegate (notably `destroy()` on a pgClient binding, where\n\t* the single socket means a destroyed connection invalidates the driver)\n\t* also reset our own `#delegate` reference. Without this, a failed\n\t* transaction rollback would leave the outer unbound wrapper reporting\n\t* `connected` while routing subsequent work to an already-ended delegate.\n\t*/\n\t#wrapConnection(connection, delegate) {\n\t\tconst syncDelegateState = () => {\n\t\t\tif (this.#delegate === delegate && delegate.state === \"closed\") {\n\t\t\t\tthis.#delegate = null;\n\t\t\t\tthis.#closed = true;\n\t\t\t}\n\t\t};\n\t\tconst wrapped = {\n\t\t\tbeginTransaction: connection.beginTransaction.bind(connection),\n\t\t\tquery: connection.query.bind(connection),\n\t\t\texecute: connection.execute.bind(connection),\n\t\t\trelease: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait connection.release();\n\t\t\t\t} finally {\n\t\t\t\t\tsyncDelegateState();\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: async (reason) => {\n\t\t\t\ttry {\n\t\t\t\t\tawait connection.destroy(reason);\n\t\t\t\t} finally {\n\t\t\t\t\tsyncDelegateState();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (connection.explain) wrapped.explain = connection.explain.bind(connection);\n\t\treturn wrapped;\n\t}\n\tasync close() {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate !== null) {\n\t\t\tthis.#delegate = null;\n\t\t\tawait delegate.close();\n\t\t}\n\t\tthis.#closed = true;\n\t}\n\tquery(request) {\n\t\tconst delegate = this.#delegate;\n\t\treturn delegate === null ? unboundQuery() : delegate.query(request);\n\t}\n\tasync execute(request) {\n\t\tconst delegate = this.#delegate;\n\t\tif (delegate === null) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn delegate.execute(request);\n\t}\n\tasync explain(request) {\n\t\tconst delegate = this.#requireDelegate();\n\t\tconst explain = delegate.explain;\n\t\tif (explain === void 0) throw driverError(\"DRIVER.NOT_CONNECTED\", USE_BEFORE_CONNECT_MESSAGE);\n\t\treturn explain.call(delegate, request);\n\t}\n};\nconst postgresRuntimeDriverDescriptor = {\n\t...postgresDriverDescriptorMeta,\n\tcreate(options) {\n\t\treturn new PostgresUnboundDriverImpl(options);\n\t}\n};\n//#endregion\nexport { postgresRuntimeDriverDescriptor as default };\n\n//# sourceMappingURL=runtime.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-lHBKgjB9.d.mts","names":[],"sources":["../../../../3-targets/7-drivers/postgres/dist/runtime.d.mts"],"mappings":";;;;;KAIK,cAAY,UAAU,iBAAiB,kBAAkB,YAAc;;;;;;;;;;;;;KAavE;WACM;WACA;;WAEA;WACA,MAAM;;WAEN;WACA,QAAQ;;UAET;WACC;WACA;;UAED;WACC;IACP,QAAQ;;IAER,MAAM;;WAEC,SAAS;;;;;;;;WAQT;;KAEN,8BAA8B,KAAK;;;KAGnC,wBAAwB,2CAA2C,UAAU;cACpE,iCAAiC,2CAA2C,6BAA6B"}
|