- Lane kind:
driver - Current state:
baseline_complete - Best-in-class benchmark:
node-postgres - Authoritative lane spec:
docs/specifications/drivers/language/nodejs-typescript/SPECIFICATION.md - Shared release evidence templates:
docs/development/release-evidence/README.md - Later verification packet:
docs/development/server-verification/node.md - Remaining gap summary: No lane-local JDBC/.NET-class baseline gaps remain. Remaining work is live proof collection and release evidence staging.
- NPM package:
scratchbird - Main exports:
Client,Pool - Supporting exports:
parseDsn,normalizeQuery,normalizeCallableQuery,normalizeCallableSql, metadata helpers, typed errors, and resilience/telemetry modules
new Client(config | dsn)connect()query(sql, params?, options?)queryMulti(sql, params?, options?)queryBatch(sql, batchParams, options?)queryStream(sql, params?, options?)-> async generatorprepare(name, sql)execute(name, params?, options?)executeMulti(name, params?, options?)executeBatch(name, batchParams, options?)executeWithGeneratedKeys(sql, params?, options?)nativeSQL(sql, params?),nativeCallableSQL(sql, params?)call(sql, params?, options?)begin(),commit(),rollback()getAutoCommit(),setAutoCommit(enabled)getSessionSchema(),setSessionSchema(schema)queryMetadata(collectionName?, restrictions?)getSchema(collectionName?, restrictions?),getSchemaTree(options?)end()terminate()beginTransaction(),commitTransaction(),rollbackTransaction()savepoint(name),releaseSavepoint(name),rollbackToSavepoint(name)setOption(name, value)ping()subscribe(channel, options?),unsubscribe(channel)executeSblr(hash, bytecode?, params?, options?)streamControl(controlType, windowSize?, timeoutMs?)attachCreate(emulationMode, dbName),attachDetach(),attachList()onNotification(handler)getLastPlan(),getLastSblr()
signal(AbortSignal)maxRowstimeoutMsincludePlanreturnSblrdescribeOnlynoCache
new Pool(config | dsn)connect()query(sql, params?, options?)end()
TelemetryCollectorplus telemetry summary/Prometheus export helpersCircuitBreaker/CircuitBreakerConfigKeepaliveManagerLeakDetector
Supports positional arrays or named parameter objects (:name or @name in SQL).
ScratchbirdJsonScratchbirdJsonbScratchbirdGeometryScratchbirdRange<T>ScratchbirdRawScratchbirdTypedValue(explicit OID/value parameter encoding)ScratchbirdInterval,ScratchbirdDate,ScratchbirdTime,ScratchbirdTimestamp,ScratchbirdTimestampTZ,ScratchbirdDecimal,ScratchbirdMoney
Errors map to SQLSTATE codes per DRIVER_ERROR_MAPPING.md.