@framers/sql-storage-adapter 0.6.13 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -38
- package/dist/adapters/capacitorSqliteAdapter.d.ts +42 -0
- package/dist/adapters/capacitorSqliteAdapter.d.ts.map +1 -1
- package/dist/adapters/capacitorSqliteAdapter.js +139 -21
- package/dist/adapters/capacitorSqliteAdapter.js.map +1 -1
- package/dist/adapters/indexedDbAdapter.d.ts +89 -10
- package/dist/adapters/indexedDbAdapter.d.ts.map +1 -1
- package/dist/adapters/indexedDbAdapter.js +265 -58
- package/dist/adapters/indexedDbAdapter.js.map +1 -1
- package/dist/adapters/postgresAdapter.d.ts +83 -5
- package/dist/adapters/postgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresAdapter.js +285 -18
- package/dist/adapters/postgresAdapter.js.map +1 -1
- package/dist/core/database.d.ts +37 -8
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +48 -11
- package/dist/core/database.js.map +1 -1
- package/dist/core/resolver.d.ts +34 -5
- package/dist/core/resolver.d.ts.map +1 -1
- package/dist/core/resolver.js +59 -9
- package/dist/core/resolver.js.map +1 -1
- package/dist/shared/connectionGate.d.ts +32 -9
- package/dist/shared/connectionGate.d.ts.map +1 -1
- package/dist/shared/connectionGate.js +31 -12
- package/dist/shared/connectionGate.js.map +1 -1
- package/dist/shared/postgresTarget.d.ts +10 -0
- package/dist/shared/postgresTarget.d.ts.map +1 -0
- package/dist/shared/postgresTarget.js +13 -0
- package/dist/shared/postgresTarget.js.map +1 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedDbAdapter.js","sourceRoot":"","sources":["../../src/adapters/indexedDbAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,SAAS,MAAM,QAAQ,CAAC;AAS/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAC/E,+EAA+E;AAC/E,8DAA8D;AAE9D,IAAI,SAAS,GAAuB,IAAI,CAAC;AACzC,IAAI,gBAAgB,GAAgC,IAAI,CAAC;AAEzD;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,MAAwC;IAClE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAgB,EAAE,EAAE;QAC7D,SAAS,GAAG,GAAG,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAmBD,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,OAAO,gBAAgB;IAiB3B,YAAY,UAAmC,EAAE;QAhBjC,SAAI,GAAG,WAAW,CAAC;QACnB,iBAAY,GAAmC,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAEpH,QAAG,GAAuB,IAAI,CAAC;QAC/B,OAAE,GAAyB,IAAI,CAAC;QAChC,QAAG,GAAuB,IAAI,CAAC;QAC/B,cAAS,GAA0B,IAAI,CAAC;QACxC,UAAK,GAAG,KAAK,CAAC;QAUpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,IAAI,CAAC,QAA6B;QAC7C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,eAAe;QACzB,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhD,sDAAsD;QACtD,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE/C,sDAAsD;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,UAA8B;QAChE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,EAAG,CAAC,eAAe,EAAE;gBACnC,eAAe;aAChB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAI,SAAiB,EAAE,UAA8B;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,SAAS,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAI,SAAiB,EAAE,UAA8B;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,8DAA8D;gBAC9D,MAAM,GAAG,GAAQ,EAAE,CAAC;gBACpB,WAAW,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;oBAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAQ,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,MAAc;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAI,EAAuC;QACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB;QAC3B,sDAAsD;QACtD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,cAAc;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,EAAG,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,IAAgB;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,EAAG,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEpD,GAAG,CAAC,eAAe,GAAG,GAAG,EAAE;gBACzB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBACtB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC;YAEF,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,sBAAsB,CAAC,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,GAAG;QACpE,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAElB,qCAAqC;gBACrC,MAAM,eAAe,GAAG,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;gBACxF,MAAM,cAAc,GAAG,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;gBACtF,MAAM,WAAW,GAAG,eAAe,IAAI,cAAc,CAAC;gBAEtD,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBAED,gDAAgD;gBAChD,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CACV,mDAAmD,IAAI,CAAC,MAAM,IAAI;oBAClE,YAAY,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,YAAY,KAAK,KAAK,EAC/D,KAAK,CACN,CAAC;gBAEF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAE3B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE;YAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE5B,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;gBAClD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE;YAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAElC,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,SAA2B,EAC3B,UAAU,GAAG,CAAC;QAEd,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAElB,4EAA4E;gBAC5E,MAAM,eAAe,GAAG,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;gBAExF,IAAI,CAAC,eAAe,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC/C,MAAM;gBACR,CAAC;gBAED,yCAAyC;gBACzC,OAAO,CAAC,IAAI,CACV,8CAA8C,IAAI,CAAC,MAAM,KAAK;oBAC9D,iCAAiC,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,EACjE,KAAK,CACN,CAAC;gBAEF,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;oBACnB,CAAC;oBACD,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjD,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,WAAW,CAAC,CAAC;oBAC7E,MAAM,SAAS,CAAC,CAAC,uBAAuB;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,8CAA8C;YAC9C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAiB;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"indexedDbAdapter.js","sourceRoot":"","sources":["../../src/adapters/indexedDbAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,42 @@ export interface PostgresAdapterOptions {
|
|
|
37
37
|
statement_timeout?: number;
|
|
38
38
|
/** Query timeout in ms (0 = no timeout) */
|
|
39
39
|
query_timeout?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Let Node exit while every connection in the pool is idle (pg's
|
|
42
|
+
* `allowExitOnIdle`). Default: false, so idle connections keep the process
|
|
43
|
+
* running until `idleTimeoutMillis` closes them or `close()` ends the pool.
|
|
44
|
+
*/
|
|
45
|
+
allowExitOnIdle?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** The isolation levels of PostgreSQL's `BEGIN`. */
|
|
48
|
+
export type PostgresIsolationLevel = 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable';
|
|
49
|
+
/** How a PostgreSQL transaction begins. Left out, each mode is the server's default. */
|
|
50
|
+
export interface PostgresTransactionOptions {
|
|
51
|
+
/** `BEGIN ISOLATION LEVEL ...`. The server's default is `read committed` unless configured otherwise. */
|
|
52
|
+
isolationLevel?: PostgresIsolationLevel;
|
|
53
|
+
/** `READ ONLY` when true, `READ WRITE` when false. */
|
|
54
|
+
readOnly?: boolean;
|
|
55
|
+
/** `DEFERRABLE` when true, `NOT DEFERRABLE` when false. It changes only serializable read-only transactions. */
|
|
56
|
+
deferrable?: boolean;
|
|
57
|
+
}
|
|
58
|
+
/** The counts of a Postgres adapter's connection pool. */
|
|
59
|
+
export interface PostgresPoolStats {
|
|
60
|
+
/** Connections the pool holds, checked out or idle. */
|
|
61
|
+
total: number;
|
|
62
|
+
/** Connections idle in the pool. */
|
|
63
|
+
idle: number;
|
|
64
|
+
/** Callers waiting for a connection. */
|
|
65
|
+
waiting: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* One pooled connection, held for a `withConnection()` callback. Its
|
|
69
|
+
* statements run outside a transaction unless the callback opens one, and
|
|
70
|
+
* session state (`SET`, session advisory locks, temporary tables) lasts until
|
|
71
|
+
* the connection closes.
|
|
72
|
+
*/
|
|
73
|
+
export interface PostgresConnection extends StorageAdapter {
|
|
74
|
+
/** Runs `fn` in a transaction on this connection. One transaction at a time. */
|
|
75
|
+
transaction<T>(fn: (trx: StorageAdapter) => Promise<T>, options?: PostgresTransactionOptions): Promise<T>;
|
|
40
76
|
}
|
|
41
77
|
/**
|
|
42
78
|
* PostgreSQL adapter for production-grade SQL operations.
|
|
@@ -132,10 +168,20 @@ export interface PostgresAdapterOptions {
|
|
|
132
168
|
* });
|
|
133
169
|
* ```
|
|
134
170
|
*
|
|
135
|
-
* ##
|
|
136
|
-
* -
|
|
137
|
-
* -
|
|
138
|
-
*
|
|
171
|
+
* ## Connection failures
|
|
172
|
+
* - The pool drops a connection that fails, and the next query opens a new one.
|
|
173
|
+
* - The adapter never falls back to SQLite. `resolveStorageAdapter()` without
|
|
174
|
+
* `strict` tries its next candidate when Postgres fails to open; with
|
|
175
|
+
* `strict`, and in `createDatabase()` given a Postgres URL, it throws.
|
|
176
|
+
*
|
|
177
|
+
* ## Pool control
|
|
178
|
+
* - `withConnection(fn)` holds one connection for `fn`: session settings,
|
|
179
|
+
* session advisory locks, and statements that must run outside a
|
|
180
|
+
* transaction.
|
|
181
|
+
* - `getPoolStats()` counts the pool's connections and waiting callers.
|
|
182
|
+
* - `transaction(fn, { isolationLevel, readOnly, deferrable })` sets how the
|
|
183
|
+
* transaction begins.
|
|
184
|
+
* - `allowExitOnIdle` lets Node exit while the pool is idle.
|
|
139
185
|
*/
|
|
140
186
|
/**
|
|
141
187
|
* Production-grade PostgreSQL adapter backed by pg.Pool.
|
|
@@ -159,9 +205,41 @@ export declare class PostgresAdapter implements StorageAdapter {
|
|
|
159
205
|
get<T>(statement: string, parameters?: StorageParameters): Promise<T | null>;
|
|
160
206
|
all<T>(statement: string, parameters?: StorageParameters): Promise<T[]>;
|
|
161
207
|
exec(script: string): Promise<void>;
|
|
162
|
-
|
|
208
|
+
/**
|
|
209
|
+
* Runs `fn` in a transaction on one pooled connection: COMMIT when it
|
|
210
|
+
* resolves, ROLLBACK when it or COMMIT throws, and that error is rethrown.
|
|
211
|
+
* `options` sets the isolation level and the read-only and deferrable modes;
|
|
212
|
+
* an unknown isolation level is refused before a connection is checked out.
|
|
213
|
+
*
|
|
214
|
+
* When ROLLBACK fails too (the connection broke), the error thrown is still
|
|
215
|
+
* the transaction's own, with the ROLLBACK error on it as `rollbackError`,
|
|
216
|
+
* and the connection is closed instead of returned to the pool. The handle
|
|
217
|
+
* `fn` receives runs on the pool once the transaction has ended.
|
|
218
|
+
*/
|
|
219
|
+
transaction<T>(fn: (trx: StorageAdapter) => Promise<T>, options?: PostgresTransactionOptions): Promise<T>;
|
|
220
|
+
/**
|
|
221
|
+
* Holds one pooled connection for `fn`, for work that needs one session:
|
|
222
|
+
* `SET` and other session settings, session advisory locks
|
|
223
|
+
* (`pg_advisory_lock`), temporary tables, or statements that must not run
|
|
224
|
+
* inside a transaction. Its statements run outside a transaction unless
|
|
225
|
+
* `fn` opens one with `connection.transaction()` or `BEGIN`.
|
|
226
|
+
*
|
|
227
|
+
* When `fn` resolves, the connection goes back to the pool with its session
|
|
228
|
+
* state, so undo what `fn` set (or use `SET LOCAL` inside a transaction).
|
|
229
|
+
* When `fn` throws, the connection is closed instead, which ends its session
|
|
230
|
+
* state and any transaction it left open, and `fn`'s error is rethrown.
|
|
231
|
+
* When `fn` resolves inside a transaction it began and did not end, the
|
|
232
|
+
* connection is closed, which rolls the transaction back, and the call
|
|
233
|
+
* rejects (pg 8.21 and later report the transaction status). The connection
|
|
234
|
+
* refuses statements once `fn` has ended. A connection that broke while `fn`
|
|
235
|
+
* held it (the server ended the session) is closed, not returned.
|
|
236
|
+
*/
|
|
237
|
+
withConnection<T>(fn: (connection: PostgresConnection) => Promise<T>): Promise<T>;
|
|
238
|
+
/** The pool's counts, or null when the adapter is not open. */
|
|
239
|
+
getPoolStats(): PostgresPoolStats | null;
|
|
163
240
|
close(): Promise<void>;
|
|
164
241
|
private getExecutor;
|
|
242
|
+
private requirePool;
|
|
165
243
|
}
|
|
166
244
|
/**
|
|
167
245
|
* Create a PostgreSQL adapter with connection string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postgresAdapter.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIpI;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postgresAdapter.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIpI;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAEhH,wFAAwF;AACxF,MAAM,WAAW,0BAA0B;IACzC,yGAAyG;IACzG,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gHAAgH;IAChH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,gFAAgF;IAChF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3G;AA6VD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AACH;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,SAAgB,IAAI,cAAc;IAClC,SAAgB,YAAY,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAQzD;IAEH,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,OAAO,EAAE,sBAAsB,GAAG,MAAM;IASpD;;OAEG;YACW,YAAY;IAkBb,IAAI,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DrD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKjF,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK5E,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKvE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;;;;;;;;;OAUG;IACU,WAAW,CAAC,CAAC,EACxB,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,EACvC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,CAAC,CAAC;IAeb;;;;;;;;;;;;;;;;OAgBG;IACU,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B9F,+DAA+D;IACxD,YAAY,IAAI,iBAAiB,GAAG,IAAI;IAOlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAOrB,WAAW;IAIzB,OAAO,CAAC,WAAW;CAMpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,CAAC;AAEhF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAAC"}
|
|
@@ -4,6 +4,36 @@
|
|
|
4
4
|
const __isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
5
5
|
import { normaliseParameters } from '../shared/parameterUtils.js';
|
|
6
6
|
import { splitSqlStatements } from '../shared/splitSqlStatements.js';
|
|
7
|
+
const ISOLATION_LEVELS = new Map([
|
|
8
|
+
['read uncommitted', 'READ UNCOMMITTED'],
|
|
9
|
+
['read committed', 'READ COMMITTED'],
|
|
10
|
+
['repeatable read', 'REPEATABLE READ'],
|
|
11
|
+
['serializable', 'SERIALIZABLE'],
|
|
12
|
+
]);
|
|
13
|
+
/** The BEGIN statement for `options`. Refuses an isolation level it does not know, before any SQL is sent. */
|
|
14
|
+
const beginStatement = (options) => {
|
|
15
|
+
const modes = [];
|
|
16
|
+
if (options?.isolationLevel !== undefined) {
|
|
17
|
+
const level = ISOLATION_LEVELS.get(options.isolationLevel);
|
|
18
|
+
if (!level) {
|
|
19
|
+
throw new Error(`Unknown isolation level "${String(options.isolationLevel)}". Use 'read uncommitted', 'read committed', 'repeatable read' or 'serializable'.`);
|
|
20
|
+
}
|
|
21
|
+
modes.push(`ISOLATION LEVEL ${level}`);
|
|
22
|
+
}
|
|
23
|
+
if (options?.readOnly !== undefined)
|
|
24
|
+
modes.push(options.readOnly ? 'READ ONLY' : 'READ WRITE');
|
|
25
|
+
if (options?.deferrable !== undefined)
|
|
26
|
+
modes.push(options.deferrable ? 'DEFERRABLE' : 'NOT DEFERRABLE');
|
|
27
|
+
return modes.length > 0 ? `BEGIN ${modes.join(', ')}` : 'BEGIN';
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* A connection's transaction status: 'I' idle, 'T' in a transaction, 'E' in
|
|
31
|
+
* a failed one. pg reports it from 8.21; null on an older pg.
|
|
32
|
+
*/
|
|
33
|
+
const transactionStatus = (client) => {
|
|
34
|
+
const read = client.getTransactionStatus;
|
|
35
|
+
return typeof read === 'function' ? read.call(client) : null;
|
|
36
|
+
};
|
|
7
37
|
const isPositional = (statement) => statement.includes('?');
|
|
8
38
|
const buildNamedStatement = (statement, named) => {
|
|
9
39
|
const order = [];
|
|
@@ -65,32 +95,48 @@ const execWithExecutor = async (executor, script) => {
|
|
|
65
95
|
}
|
|
66
96
|
};
|
|
67
97
|
/**
|
|
68
|
-
* Adapter view
|
|
69
|
-
* Each concurrent transaction receives its own instance, so
|
|
70
|
-
* cannot leak onto another callback's client through shared
|
|
98
|
+
* Adapter view bound to one checked-out transaction client while its
|
|
99
|
+
* transaction runs. Each concurrent transaction receives its own instance, so
|
|
100
|
+
* callback queries cannot leak onto another callback's client through shared
|
|
101
|
+
* mutable state. Once its transaction has ended, the client may be another
|
|
102
|
+
* caller's, so the view sends its statements to `afterEnd` instead: the
|
|
103
|
+
* adapter's pool, or the held connection the transaction ran on.
|
|
71
104
|
*/
|
|
72
105
|
class PostgresTransactionAdapter {
|
|
73
|
-
constructor(client, capabilities) {
|
|
106
|
+
constructor(client, capabilities, afterEnd) {
|
|
74
107
|
this.client = client;
|
|
75
108
|
this.capabilities = capabilities;
|
|
109
|
+
this.afterEnd = afterEnd;
|
|
76
110
|
this.kind = 'postgres';
|
|
111
|
+
this.ended = false;
|
|
77
112
|
}
|
|
78
113
|
async open() {
|
|
79
114
|
// The owning PostgresAdapter opens the pool before creating this view.
|
|
80
115
|
}
|
|
81
116
|
async run(statement, parameters) {
|
|
117
|
+
if (this.ended)
|
|
118
|
+
return this.afterEnd.run(statement, parameters);
|
|
82
119
|
return runWithExecutor(this.client, statement, parameters);
|
|
83
120
|
}
|
|
84
121
|
async get(statement, parameters) {
|
|
122
|
+
if (this.ended)
|
|
123
|
+
return this.afterEnd.get(statement, parameters);
|
|
85
124
|
return getWithExecutor(this.client, statement, parameters);
|
|
86
125
|
}
|
|
87
126
|
async all(statement, parameters) {
|
|
127
|
+
if (this.ended)
|
|
128
|
+
return this.afterEnd.all(statement, parameters);
|
|
88
129
|
return allWithExecutor(this.client, statement, parameters);
|
|
89
130
|
}
|
|
90
131
|
async exec(script) {
|
|
132
|
+
if (this.ended)
|
|
133
|
+
return this.afterEnd.exec(script);
|
|
91
134
|
await execWithExecutor(this.client, script);
|
|
92
135
|
}
|
|
93
136
|
async transaction(fn) {
|
|
137
|
+
// After the transaction has ended, a new one begins where afterEnd runs it.
|
|
138
|
+
if (this.ended)
|
|
139
|
+
return this.afterEnd.transaction(fn);
|
|
94
140
|
// Nested callbacks share the outer transaction. Errors still reach the
|
|
95
141
|
// owning adapter, which rolls the entire transaction back.
|
|
96
142
|
return fn(this);
|
|
@@ -98,6 +144,152 @@ class PostgresTransactionAdapter {
|
|
|
98
144
|
async close() {
|
|
99
145
|
// The owning transaction releases the checked-out client after completion.
|
|
100
146
|
}
|
|
147
|
+
/** @internal runTransaction() calls this when the transaction has ended. */
|
|
148
|
+
end() {
|
|
149
|
+
this.ended = true;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/** An unknown thrown value as an Error. */
|
|
153
|
+
const asError = (value) => (value instanceof Error ? value : new Error(String(value)));
|
|
154
|
+
/**
|
|
155
|
+
* Puts a failed ROLLBACK's error on the transaction's error, as a
|
|
156
|
+
* non-enumerable `rollbackError` property, when that error can take one.
|
|
157
|
+
*/
|
|
158
|
+
const keepRollbackError = (error, rollbackError) => {
|
|
159
|
+
if (typeof error !== 'object' || error === null || !Object.isExtensible(error))
|
|
160
|
+
return;
|
|
161
|
+
try {
|
|
162
|
+
Object.defineProperty(error, 'rollbackError', {
|
|
163
|
+
value: rollbackError,
|
|
164
|
+
enumerable: false,
|
|
165
|
+
configurable: true,
|
|
166
|
+
writable: true,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// A non-configurable rollbackError is already there: keep it.
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Listens for a connection error on a checked-out client until `stop()`. pg
|
|
175
|
+
* emits a client's connection error (the server ending the session, a broken
|
|
176
|
+
* socket) on the client when no query is running, and pg-pool listens only on
|
|
177
|
+
* idle clients, so without this an unheard error event would end the process.
|
|
178
|
+
*/
|
|
179
|
+
const watchClient = (client) => {
|
|
180
|
+
let failure;
|
|
181
|
+
// A pg-compatible pool whose clients are not event emitters emits nothing to hear.
|
|
182
|
+
if (typeof client.on !== 'function' || typeof client.removeListener !== 'function') {
|
|
183
|
+
return { failure: () => undefined, stop: () => undefined };
|
|
184
|
+
}
|
|
185
|
+
const onError = (error) => {
|
|
186
|
+
if (!failure)
|
|
187
|
+
failure = error;
|
|
188
|
+
};
|
|
189
|
+
client.on('error', onError);
|
|
190
|
+
return {
|
|
191
|
+
failure: () => failure,
|
|
192
|
+
stop: () => {
|
|
193
|
+
client.removeListener('error', onError);
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Runs `fn` in a transaction that `begin` opens on `client`: COMMIT when `fn`
|
|
199
|
+
* resolves, ROLLBACK when `fn` or COMMIT throws, and that error is rethrown.
|
|
200
|
+
* `onBroken` hears when the connection cannot be trusted any more (BEGIN or
|
|
201
|
+
* ROLLBACK failed), so the caller closes it instead of returning it to the
|
|
202
|
+
* pool. When ROLLBACK fails, the original error is still the one thrown, with
|
|
203
|
+
* the ROLLBACK error on it as `rollbackError`.
|
|
204
|
+
*/
|
|
205
|
+
const runTransaction = async (client, begin, fn, capabilities, afterEnd, onBroken) => {
|
|
206
|
+
try {
|
|
207
|
+
await client.query(begin);
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
onBroken(asError(error));
|
|
211
|
+
throw error;
|
|
212
|
+
}
|
|
213
|
+
const handle = new PostgresTransactionAdapter(client, capabilities, afterEnd);
|
|
214
|
+
try {
|
|
215
|
+
const result = await fn(handle);
|
|
216
|
+
await client.query('COMMIT');
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
try {
|
|
221
|
+
await client.query('ROLLBACK');
|
|
222
|
+
}
|
|
223
|
+
catch (rollbackError) {
|
|
224
|
+
const failure = asError(rollbackError);
|
|
225
|
+
onBroken(failure);
|
|
226
|
+
keepRollbackError(error, failure);
|
|
227
|
+
console.warn(`[StorageAdapter] PostgreSQL ROLLBACK failed after a transaction error, so the connection was closed; the transaction's own error is rethrown. ${failure.message}`);
|
|
228
|
+
}
|
|
229
|
+
throw error;
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
handle.end();
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* The connection a `withConnection()` callback holds. It refuses statements
|
|
237
|
+
* once the callback has ended, when the connection is back in the pool or
|
|
238
|
+
* closed.
|
|
239
|
+
*/
|
|
240
|
+
class PostgresConnectionAdapter {
|
|
241
|
+
constructor(client, capabilities) {
|
|
242
|
+
this.client = client;
|
|
243
|
+
this.capabilities = capabilities;
|
|
244
|
+
this.kind = 'postgres';
|
|
245
|
+
this.ended = false;
|
|
246
|
+
this.transactionOpen = false;
|
|
247
|
+
}
|
|
248
|
+
async open() {
|
|
249
|
+
// withConnection() checks the connection out before the callback runs.
|
|
250
|
+
}
|
|
251
|
+
async run(statement, parameters) {
|
|
252
|
+
return runWithExecutor(this.live(), statement, parameters);
|
|
253
|
+
}
|
|
254
|
+
async get(statement, parameters) {
|
|
255
|
+
return getWithExecutor(this.live(), statement, parameters);
|
|
256
|
+
}
|
|
257
|
+
async all(statement, parameters) {
|
|
258
|
+
return allWithExecutor(this.live(), statement, parameters);
|
|
259
|
+
}
|
|
260
|
+
async exec(script) {
|
|
261
|
+
await execWithExecutor(this.live(), script);
|
|
262
|
+
}
|
|
263
|
+
async transaction(fn, options) {
|
|
264
|
+
const begin = beginStatement(options);
|
|
265
|
+
const client = this.live();
|
|
266
|
+
if (this.transactionOpen) {
|
|
267
|
+
throw new Error('A transaction is already open on this connection. Run its statements through the handle its callback receives.');
|
|
268
|
+
}
|
|
269
|
+
this.transactionOpen = true;
|
|
270
|
+
try {
|
|
271
|
+
return await runTransaction(client, begin, fn, this.capabilities, this, (error) => {
|
|
272
|
+
if (!this.brokenBy)
|
|
273
|
+
this.brokenBy = error;
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
finally {
|
|
277
|
+
this.transactionOpen = false;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
async close() {
|
|
281
|
+
// withConnection() returns the connection to the pool, or closes it, when the callback ends.
|
|
282
|
+
}
|
|
283
|
+
/** @internal withConnection() calls this when the callback ends. */
|
|
284
|
+
end() {
|
|
285
|
+
this.ended = true;
|
|
286
|
+
}
|
|
287
|
+
live() {
|
|
288
|
+
if (this.ended) {
|
|
289
|
+
throw new Error('This connection was handed back when its withConnection() callback ended.');
|
|
290
|
+
}
|
|
291
|
+
return this.client;
|
|
292
|
+
}
|
|
101
293
|
}
|
|
102
294
|
/**
|
|
103
295
|
* PostgreSQL adapter for production-grade SQL operations.
|
|
@@ -193,10 +385,20 @@ class PostgresTransactionAdapter {
|
|
|
193
385
|
* });
|
|
194
386
|
* ```
|
|
195
387
|
*
|
|
196
|
-
* ##
|
|
197
|
-
* -
|
|
198
|
-
* -
|
|
199
|
-
*
|
|
388
|
+
* ## Connection failures
|
|
389
|
+
* - The pool drops a connection that fails, and the next query opens a new one.
|
|
390
|
+
* - The adapter never falls back to SQLite. `resolveStorageAdapter()` without
|
|
391
|
+
* `strict` tries its next candidate when Postgres fails to open; with
|
|
392
|
+
* `strict`, and in `createDatabase()` given a Postgres URL, it throws.
|
|
393
|
+
*
|
|
394
|
+
* ## Pool control
|
|
395
|
+
* - `withConnection(fn)` holds one connection for `fn`: session settings,
|
|
396
|
+
* session advisory locks, and statements that must run outside a
|
|
397
|
+
* transaction.
|
|
398
|
+
* - `getPoolStats()` counts the pool's connections and waiting callers.
|
|
399
|
+
* - `transaction(fn, { isolationLevel, readOnly, deferrable })` sets how the
|
|
400
|
+
* transaction begins.
|
|
401
|
+
* - `allowExitOnIdle` lets Node exit while the pool is idle.
|
|
200
402
|
*/
|
|
201
403
|
/**
|
|
202
404
|
* Production-grade PostgreSQL adapter backed by pg.Pool.
|
|
@@ -289,6 +491,9 @@ export class PostgresAdapter {
|
|
|
289
491
|
if (this.options.query_timeout !== undefined) {
|
|
290
492
|
poolConfig.query_timeout = this.options.query_timeout;
|
|
291
493
|
}
|
|
494
|
+
if (this.options.allowExitOnIdle !== undefined) {
|
|
495
|
+
poolConfig.allowExitOnIdle = this.options.allowExitOnIdle;
|
|
496
|
+
}
|
|
292
497
|
// SSL configuration
|
|
293
498
|
if (this.options.ssl !== undefined) {
|
|
294
499
|
poolConfig.ssl = this.options.ssl;
|
|
@@ -314,26 +519,85 @@ export class PostgresAdapter {
|
|
|
314
519
|
const executor = await this.getExecutor();
|
|
315
520
|
await execWithExecutor(executor, script);
|
|
316
521
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
522
|
+
/**
|
|
523
|
+
* Runs `fn` in a transaction on one pooled connection: COMMIT when it
|
|
524
|
+
* resolves, ROLLBACK when it or COMMIT throws, and that error is rethrown.
|
|
525
|
+
* `options` sets the isolation level and the read-only and deferrable modes;
|
|
526
|
+
* an unknown isolation level is refused before a connection is checked out.
|
|
527
|
+
*
|
|
528
|
+
* When ROLLBACK fails too (the connection broke), the error thrown is still
|
|
529
|
+
* the transaction's own, with the ROLLBACK error on it as `rollbackError`,
|
|
530
|
+
* and the connection is closed instead of returned to the pool. The handle
|
|
531
|
+
* `fn` receives runs on the pool once the transaction has ended.
|
|
532
|
+
*/
|
|
533
|
+
async transaction(fn, options) {
|
|
534
|
+
const begin = beginStatement(options);
|
|
535
|
+
const client = await this.requirePool().connect();
|
|
536
|
+
const watch = watchClient(client);
|
|
537
|
+
let brokenBy;
|
|
538
|
+
try {
|
|
539
|
+
return await runTransaction(client, begin, fn, this.capabilities, this, (error) => {
|
|
540
|
+
if (!brokenBy)
|
|
541
|
+
brokenBy = error;
|
|
542
|
+
});
|
|
320
543
|
}
|
|
321
|
-
|
|
544
|
+
finally {
|
|
545
|
+
watch.stop();
|
|
546
|
+
client.release(brokenBy ?? watch.failure());
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Holds one pooled connection for `fn`, for work that needs one session:
|
|
551
|
+
* `SET` and other session settings, session advisory locks
|
|
552
|
+
* (`pg_advisory_lock`), temporary tables, or statements that must not run
|
|
553
|
+
* inside a transaction. Its statements run outside a transaction unless
|
|
554
|
+
* `fn` opens one with `connection.transaction()` or `BEGIN`.
|
|
555
|
+
*
|
|
556
|
+
* When `fn` resolves, the connection goes back to the pool with its session
|
|
557
|
+
* state, so undo what `fn` set (or use `SET LOCAL` inside a transaction).
|
|
558
|
+
* When `fn` throws, the connection is closed instead, which ends its session
|
|
559
|
+
* state and any transaction it left open, and `fn`'s error is rethrown.
|
|
560
|
+
* When `fn` resolves inside a transaction it began and did not end, the
|
|
561
|
+
* connection is closed, which rolls the transaction back, and the call
|
|
562
|
+
* rejects (pg 8.21 and later report the transaction status). The connection
|
|
563
|
+
* refuses statements once `fn` has ended. A connection that broke while `fn`
|
|
564
|
+
* held it (the server ended the session) is closed, not returned.
|
|
565
|
+
*/
|
|
566
|
+
async withConnection(fn) {
|
|
567
|
+
const client = await this.requirePool().connect();
|
|
568
|
+
const watch = watchClient(client);
|
|
569
|
+
const connection = new PostgresConnectionAdapter(client, this.capabilities);
|
|
570
|
+
let releaseError;
|
|
322
571
|
try {
|
|
323
|
-
await
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
|
|
572
|
+
const result = await fn(connection);
|
|
573
|
+
const status = transactionStatus(client);
|
|
574
|
+
if (status === 'T' || status === 'E') {
|
|
575
|
+
releaseError = new Error('withConnection(): the callback returned inside an open transaction. The connection was closed, which rolled the transaction back. End each transaction the callback begins, or run it through connection.transaction().');
|
|
576
|
+
throw releaseError;
|
|
577
|
+
}
|
|
327
578
|
return result;
|
|
328
579
|
}
|
|
329
580
|
catch (error) {
|
|
330
|
-
|
|
581
|
+
// The connection may hold session state or an open transaction that
|
|
582
|
+
// fn did not undo: close it rather than hand it to the next caller.
|
|
583
|
+
if (!releaseError) {
|
|
584
|
+
releaseError = error instanceof Error ? error : new Error(String(error));
|
|
585
|
+
}
|
|
331
586
|
throw error;
|
|
332
587
|
}
|
|
333
588
|
finally {
|
|
334
|
-
|
|
589
|
+
connection.end();
|
|
590
|
+
watch.stop();
|
|
591
|
+
client.release(releaseError ?? connection.brokenBy ?? watch.failure());
|
|
335
592
|
}
|
|
336
593
|
}
|
|
594
|
+
/** The pool's counts, or null when the adapter is not open. */
|
|
595
|
+
getPoolStats() {
|
|
596
|
+
if (!this.pool) {
|
|
597
|
+
return null;
|
|
598
|
+
}
|
|
599
|
+
return { total: this.pool.totalCount, idle: this.pool.idleCount, waiting: this.pool.waitingCount };
|
|
600
|
+
}
|
|
337
601
|
async close() {
|
|
338
602
|
if (this.pool) {
|
|
339
603
|
await this.pool.end();
|
|
@@ -341,6 +605,9 @@ export class PostgresAdapter {
|
|
|
341
605
|
}
|
|
342
606
|
}
|
|
343
607
|
async getExecutor() {
|
|
608
|
+
return this.requirePool();
|
|
609
|
+
}
|
|
610
|
+
requirePool() {
|
|
344
611
|
if (!this.pool) {
|
|
345
612
|
throw new Error('Postgres adapter not opened.');
|
|
346
613
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../src/adapters/postgresAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../src/adapters/postgresAdapter.ts"],"names":[],"mappings":"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"}
|