@prisma/orm-target-postgres 8.0.0-rc.1-dev.1 → 8.0.0-rc.1-dev.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.
@@ -301,12 +301,13 @@ var PostgresConnectionImpl = class extends PostgresQueryable {
301
301
  #connection;
302
302
  #onRelease;
303
303
  #onDestroy;
304
- #transactionOpen = false;
305
- constructor(connection, options, onRelease, onDestroy) {
304
+ #txState;
305
+ constructor(connection, options, onRelease, onDestroy, txState) {
306
306
  super(options);
307
307
  this.#connection = connection;
308
308
  this.#onRelease = onRelease;
309
309
  this.#onDestroy = onDestroy;
310
+ this.#txState = txState ?? { open: false };
310
311
  }
311
312
  acquireClient() {
312
313
  return Promise.resolve(this.#connection);
@@ -315,7 +316,7 @@ var PostgresConnectionImpl = class extends PostgresQueryable {
315
316
  return Promise.resolve();
316
317
  }
317
318
  inExplicitTransaction() {
318
- return this.#transactionOpen;
319
+ return this.#txState.open;
319
320
  }
320
321
  async beginTransaction() {
321
322
  const releaseLock = await acquireClientQueryLock(this.#connection);
@@ -324,9 +325,9 @@ var PostgresConnectionImpl = class extends PostgresQueryable {
324
325
  } finally {
325
326
  releaseLock();
326
327
  }
327
- this.#transactionOpen = true;
328
+ this.#txState.open = true;
328
329
  return new PostgresTransactionImpl(this.#connection, this.options, () => {
329
- this.#transactionOpen = false;
330
+ this.#txState.open = false;
330
331
  });
331
332
  }
332
333
  async release() {
@@ -424,10 +425,14 @@ var PostgresDirectDriverImpl = class extends PostgresQueryable {
424
425
  #closed = false;
425
426
  #connected = false;
426
427
  #connectPromise;
428
+ #txState = { open: false };
427
429
  constructor(options) {
428
430
  super(buildConnectionOptions(options));
429
431
  this.directClient = options.connect.client;
430
432
  }
433
+ inExplicitTransaction() {
434
+ return this.#txState.open;
435
+ }
431
436
  get state() {
432
437
  return this.#closed ? "closed" : "connected";
433
438
  }
@@ -441,7 +446,7 @@ var PostgresDirectDriverImpl = class extends PostgresQueryable {
441
446
  } finally {
442
447
  releaseLease();
443
448
  }
444
- });
449
+ }, this.#txState);
445
450
  } catch (error) {
446
451
  releaseLease();
447
452
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"driver__runtime.mjs","names":["#queue","#connection","#onRelease","#onDestroy","#transactionOpen","#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#transactionOpen = false;\n\tconstructor(connection, options, onRelease, onDestroy) {\n\t\tsuper(options);\n\t\tthis.#connection = connection;\n\t\tthis.#onRelease = onRelease;\n\t\tthis.#onDestroy = onDestroy;\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.#transactionOpen;\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.#transactionOpen = true;\n\t\treturn new PostgresTransactionImpl(this.#connection, this.options, () => {\n\t\t\tthis.#transactionOpen = 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\tconstructor(options) {\n\t\tsuper(buildConnectionOptions(options));\n\t\tthis.directClient = options.connect.client;\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});\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
+ {"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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-target-postgres",
3
- "version": "8.0.0-rc.1-dev.1",
3
+ "version": "8.0.0-rc.1-dev.2",
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.1-dev.1",
13
- "@prisma/orm-framework": "8.0.0-rc.1-dev.1",
14
- "@prisma/orm-toolchain": "8.0.0-rc.1-dev.1",
12
+ "@prisma/orm-family-sql": "8.0.0-rc.1-dev.2",
13
+ "@prisma/orm-framework": "8.0.0-rc.1-dev.2",
14
+ "@prisma/orm-toolchain": "8.0.0-rc.1-dev.2",
15
15
  "@standard-schema/spec": "^1.1.0",
16
16
  "@types/pg": "8.20.0",
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.1-dev.1",
24
- "@internal/driver-postgres": "8.0.0-rc.1-dev.1",
25
- "@internal/target-postgres": "8.0.0-rc.1-dev.1",
26
- "@repo/tsconfig": "8.0.0-rc.1-dev.1",
27
- "@repo/tsdown": "8.0.0-rc.1-dev.1",
23
+ "@internal/adapter-postgres": "8.0.0-rc.1-dev.2",
24
+ "@internal/driver-postgres": "8.0.0-rc.1-dev.2",
25
+ "@internal/target-postgres": "8.0.0-rc.1-dev.2",
26
+ "@repo/tsconfig": "8.0.0-rc.1-dev.2",
27
+ "@repo/tsdown": "8.0.0-rc.1-dev.2",
28
28
  "tsdown": "0.22.14",
29
29
  "typescript": "5.9.3",
30
30
  "vitest": "4.1.10"