@nicia-ai/typegraph 0.39.0 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/drizzle/indexes.cjs +8 -10
- package/dist/backend/drizzle/indexes.d.cts +2 -2
- package/dist/backend/drizzle/indexes.d.ts +2 -2
- package/dist/backend/drizzle/indexes.js +4 -6
- package/dist/backend/index.cjs +60 -39
- package/dist/backend/index.d.cts +60 -1
- package/dist/backend/index.d.ts +60 -1
- package/dist/backend/index.js +12 -3
- package/dist/backend/postgres/index.cjs +24 -26
- package/dist/backend/postgres/index.d.cts +6 -6
- package/dist/backend/postgres/index.d.ts +6 -6
- package/dist/backend/postgres/index.js +11 -13
- package/dist/backend/postgres/pglite-store.cjs +25 -26
- package/dist/backend/postgres/pglite-store.cjs.map +1 -1
- package/dist/backend/postgres/pglite-store.d.cts +6 -5
- package/dist/backend/postgres/pglite-store.d.ts +6 -5
- package/dist/backend/postgres/pglite-store.js +21 -22
- package/dist/backend/postgres/pglite-store.js.map +1 -1
- package/dist/backend/postgres/pglite.cjs +13 -15
- package/dist/backend/postgres/pglite.d.cts +3 -3
- package/dist/backend/postgres/pglite.d.ts +3 -3
- package/dist/backend/postgres/pglite.js +12 -14
- package/dist/backend/sqlite/index.cjs +25 -27
- package/dist/backend/sqlite/index.d.cts +6 -6
- package/dist/backend/sqlite/index.d.ts +6 -6
- package/dist/backend/sqlite/index.js +9 -11
- package/dist/backend/sqlite/libsql.cjs +15 -17
- package/dist/backend/sqlite/libsql.cjs.map +1 -1
- package/dist/backend/sqlite/libsql.d.cts +3 -3
- package/dist/backend/sqlite/libsql.d.ts +3 -3
- package/dist/backend/sqlite/libsql.js +14 -16
- package/dist/backend/sqlite/libsql.js.map +1 -1
- package/dist/backend/sqlite/local-store.cjs +26 -27
- package/dist/backend/sqlite/local-store.cjs.map +1 -1
- package/dist/backend/sqlite/local-store.d.cts +6 -5
- package/dist/backend/sqlite/local-store.d.ts +6 -5
- package/dist/backend/sqlite/local-store.js +22 -23
- package/dist/backend/sqlite/local-store.js.map +1 -1
- package/dist/backend/sqlite/local.cjs +14 -16
- package/dist/backend/sqlite/local.d.cts +3 -3
- package/dist/backend/sqlite/local.d.ts +3 -3
- package/dist/backend/sqlite/local.js +12 -14
- package/dist/{chunk-U4JDJKPD.js → chunk-2I3DNNBU.js} +4 -4
- package/dist/{chunk-U4JDJKPD.js.map → chunk-2I3DNNBU.js.map} +1 -1
- package/dist/{chunk-NPWACFQJ.cjs → chunk-2J5NMMVR.cjs} +43 -43
- package/dist/{chunk-NPWACFQJ.cjs.map → chunk-2J5NMMVR.cjs.map} +1 -1
- package/dist/{chunk-3YFDFOYB.cjs → chunk-2X73QTIC.cjs} +12 -13
- package/dist/chunk-2X73QTIC.cjs.map +1 -0
- package/dist/chunk-3SHAUJRB.js +79 -0
- package/dist/chunk-3SHAUJRB.js.map +1 -0
- package/dist/{chunk-3SK4SVTW.js → chunk-53BSOG3O.js} +8 -7
- package/dist/chunk-53BSOG3O.js.map +1 -0
- package/dist/chunk-5J4VNCUD.js +856 -0
- package/dist/chunk-5J4VNCUD.js.map +1 -0
- package/dist/chunk-5YBDB7UG.cjs +12 -0
- package/dist/{chunk-FMNUSGZ4.cjs.map → chunk-5YBDB7UG.cjs.map} +1 -1
- package/dist/{chunk-6XDBRDZE.js → chunk-6N7QBIWN.js} +7 -3
- package/dist/chunk-6N7QBIWN.js.map +1 -0
- package/dist/{chunk-EZH7FNUS.js → chunk-6QP4QXBR.js} +3 -3
- package/dist/{chunk-EZH7FNUS.js.map → chunk-6QP4QXBR.js.map} +1 -1
- package/dist/{chunk-E6TXEISH.cjs → chunk-7UTUKH4E.cjs} +4 -4
- package/dist/{chunk-E6TXEISH.cjs.map → chunk-7UTUKH4E.cjs.map} +1 -1
- package/dist/chunk-7WLEQIHA.cjs +605 -0
- package/dist/chunk-7WLEQIHA.cjs.map +1 -0
- package/dist/{chunk-BQITNFQJ.js → chunk-AQVDAKXH.js} +3 -3
- package/dist/{chunk-BQITNFQJ.js.map → chunk-AQVDAKXH.js.map} +1 -1
- package/dist/{chunk-X6CNEA32.js → chunk-BUZWMDNL.js} +5 -5
- package/dist/{chunk-X6CNEA32.js.map → chunk-BUZWMDNL.js.map} +1 -1
- package/dist/{chunk-7M3NACL3.cjs → chunk-CKFBZ4LV.cjs} +4 -4
- package/dist/{chunk-7M3NACL3.cjs.map → chunk-CKFBZ4LV.cjs.map} +1 -1
- package/dist/{chunk-IFRPHG7O.js → chunk-EFZ4S22A.js} +10 -9
- package/dist/chunk-EFZ4S22A.js.map +1 -0
- package/dist/chunk-ELA3V6UN.js +601 -0
- package/dist/chunk-ELA3V6UN.js.map +1 -0
- package/dist/chunk-HAQVISUF.cjs +1098 -0
- package/dist/chunk-HAQVISUF.cjs.map +1 -0
- package/dist/{chunk-BKAKAVRW.cjs → chunk-HQRZEYYB.cjs} +44 -44
- package/dist/{chunk-BKAKAVRW.cjs.map → chunk-HQRZEYYB.cjs.map} +1 -1
- package/dist/{chunk-KAFXPB2L.js → chunk-I5CRUPKO.js} +9 -10
- package/dist/{chunk-KAFXPB2L.js.map → chunk-I5CRUPKO.js.map} +1 -1
- package/dist/{chunk-IFDXG2YJ.js → chunk-JHK6NPFV.js} +217 -305
- package/dist/chunk-JHK6NPFV.js.map +1 -0
- package/dist/{chunk-VXAFOF6Z.cjs → chunk-JP5EICR6.cjs} +12 -7
- package/dist/chunk-JP5EICR6.cjs.map +1 -0
- package/dist/chunk-JZYMOHHM.cjs +226 -0
- package/dist/chunk-JZYMOHHM.cjs.map +1 -0
- package/dist/{chunk-ERZ4QPQX.js → chunk-K6CD6W5J.js} +5 -5
- package/dist/{chunk-ERZ4QPQX.js.map → chunk-K6CD6W5J.js.map} +1 -1
- package/dist/{chunk-JD2YC62H.cjs → chunk-KHNKYSGP.cjs} +34 -34
- package/dist/{chunk-JD2YC62H.cjs.map → chunk-KHNKYSGP.cjs.map} +1 -1
- package/dist/{chunk-CWX77JB4.cjs → chunk-KLR77R5A.cjs} +13 -13
- package/dist/{chunk-CWX77JB4.cjs.map → chunk-KLR77R5A.cjs.map} +1 -1
- package/dist/chunk-KOI7UEI5.js +81 -0
- package/dist/chunk-KOI7UEI5.js.map +1 -0
- package/dist/{chunk-AOL64O4Z.js → chunk-L3DDZUZP.js} +3 -3
- package/dist/{chunk-AOL64O4Z.js.map → chunk-L3DDZUZP.js.map} +1 -1
- package/dist/{chunk-PZHC5GCD.js → chunk-L5ET7FYQ.js} +3 -3
- package/dist/{chunk-PZHC5GCD.js.map → chunk-L5ET7FYQ.js.map} +1 -1
- package/dist/{chunk-B63IFHXR.cjs → chunk-LFFVD5ZR.cjs} +41 -41
- package/dist/{chunk-B63IFHXR.cjs.map → chunk-LFFVD5ZR.cjs.map} +1 -1
- package/dist/chunk-LL5D5T5W.cjs +157 -0
- package/dist/chunk-LL5D5T5W.cjs.map +1 -0
- package/dist/{chunk-GUUWKPTK.cjs → chunk-LLE25NRD.cjs} +7 -7
- package/dist/{chunk-GUUWKPTK.cjs.map → chunk-LLE25NRD.cjs.map} +1 -1
- package/dist/chunk-LLHMAHG4.cjs +886 -0
- package/dist/chunk-LLHMAHG4.cjs.map +1 -0
- package/dist/{chunk-6SRLCSAV.cjs → chunk-LOKG3KQV.cjs} +962 -875
- package/dist/chunk-LOKG3KQV.cjs.map +1 -0
- package/dist/{chunk-KIZSHRUI.cjs → chunk-M2RPZS7J.cjs} +10 -10
- package/dist/{chunk-KIZSHRUI.cjs.map → chunk-M2RPZS7J.cjs.map} +1 -1
- package/dist/chunk-MNURF4RF.cjs +85 -0
- package/dist/chunk-MNURF4RF.cjs.map +1 -0
- package/dist/{chunk-CBK2IVI2.js → chunk-MQBF3XGY.js} +119 -32
- package/dist/chunk-MQBF3XGY.js.map +1 -0
- package/dist/chunk-QCKD3RCI.cjs +83 -0
- package/dist/chunk-QCKD3RCI.cjs.map +1 -0
- package/dist/chunk-QOHTVDHU.js +144 -0
- package/dist/chunk-QOHTVDHU.js.map +1 -0
- package/dist/{chunk-HTQOBY75.cjs → chunk-QXKVUJLI.cjs} +110 -109
- package/dist/chunk-QXKVUJLI.cjs.map +1 -0
- package/dist/{chunk-GNPGGLAE.cjs → chunk-QYDUCWD2.cjs} +4 -4
- package/dist/{chunk-GNPGGLAE.cjs.map → chunk-QYDUCWD2.cjs.map} +1 -1
- package/dist/{chunk-DOKUXLFH.js → chunk-QZYGZVUI.js} +34 -34
- package/dist/chunk-QZYGZVUI.js.map +1 -0
- package/dist/{chunk-GKQU44SQ.cjs → chunk-SAMJLDGG.cjs} +103 -103
- package/dist/{chunk-GKQU44SQ.cjs.map → chunk-SAMJLDGG.cjs.map} +1 -1
- package/dist/{chunk-DOVMTPKE.cjs → chunk-SE422RES.cjs} +27 -27
- package/dist/{chunk-DOVMTPKE.cjs.map → chunk-SE422RES.cjs.map} +1 -1
- package/dist/{chunk-5ELKD2FQ.cjs → chunk-UCHW2MGP.cjs} +330 -431
- package/dist/chunk-UCHW2MGP.cjs.map +1 -0
- package/dist/{chunk-Y6UA55YS.cjs → chunk-UDS5DZNY.cjs} +495 -1095
- package/dist/chunk-UDS5DZNY.cjs.map +1 -0
- package/dist/{chunk-SU7VQOJ3.js → chunk-V3S74J44.js} +9 -5
- package/dist/chunk-V3S74J44.js.map +1 -0
- package/dist/{chunk-VDYA2HMS.js → chunk-VWEFXG73.js} +3 -3
- package/dist/{chunk-VDYA2HMS.js.map → chunk-VWEFXG73.js.map} +1 -1
- package/dist/{chunk-KXFUQNF2.js → chunk-W66YCXWT.js} +463 -1047
- package/dist/chunk-W66YCXWT.js.map +1 -0
- package/dist/{chunk-NQBYTLPW.js → chunk-XMEYZYGE.js} +6 -6
- package/dist/{chunk-NQBYTLPW.js.map → chunk-XMEYZYGE.js.map} +1 -1
- package/dist/{chunk-G3CSQLLT.js → chunk-Y5UC3IXF.js} +461 -6
- package/dist/chunk-Y5UC3IXF.js.map +1 -0
- package/dist/{chunk-SDHV2MWU.js → chunk-YGX4PMG6.js} +5 -5
- package/dist/{chunk-SDHV2MWU.js.map → chunk-YGX4PMG6.js.map} +1 -1
- package/dist/{chunk-E2Q7SP2K.cjs → chunk-YIX3BEBR.cjs} +86 -85
- package/dist/chunk-YIX3BEBR.cjs.map +1 -0
- package/dist/{chunk-X6RDQ5NB.cjs → chunk-YX3H63VV.cjs} +8 -2
- package/dist/chunk-YX3H63VV.cjs.map +1 -0
- package/dist/chunk-YYLMXERH.js +211 -0
- package/dist/chunk-YYLMXERH.js.map +1 -0
- package/dist/{chunk-YPUNPG2T.js → chunk-ZE7E46IZ.js} +5 -5
- package/dist/{chunk-YPUNPG2T.js.map → chunk-ZE7E46IZ.js.map} +1 -1
- package/dist/{chunk-Z2PPIVOO.js → chunk-ZVME6OSV.js} +5 -5
- package/dist/{chunk-Z2PPIVOO.js.map → chunk-ZVME6OSV.js.map} +1 -1
- package/dist/core/index.cjs +15 -3
- package/dist/core/index.d.cts +4 -3
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.js +2 -2
- package/dist/{ddl-J6sDyABg.d.cts → ddl-BCXFRLWg.d.cts} +3 -3
- package/dist/{ddl-Dx3Z0_WC.d.ts → ddl-ByLmGgn9.d.ts} +3 -3
- package/dist/{define-graph-DRo9xpYN.d.ts → define-graph-BSviZubs.d.ts} +1 -1
- package/dist/{define-graph-CzEvA_8F.d.cts → define-graph-XyJheaFm.d.cts} +1 -1
- package/dist/graph-merge/index.cjs +37 -38
- package/dist/graph-merge/index.cjs.map +1 -1
- package/dist/graph-merge/index.d.cts +6 -5
- package/dist/graph-merge/index.d.ts +6 -5
- package/dist/graph-merge/index.js +15 -16
- package/dist/graph-merge/index.js.map +1 -1
- package/dist/index.cjs +146 -117
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -10
- package/dist/index.d.ts +12 -10
- package/dist/index.js +23 -22
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +12 -14
- package/dist/indexes/index.d.cts +5 -5
- package/dist/indexes/index.d.ts +5 -5
- package/dist/indexes/index.js +5 -7
- package/dist/interchange/index.cjs +28 -29
- package/dist/interchange/index.cjs.map +1 -1
- package/dist/interchange/index.d.cts +6 -5
- package/dist/interchange/index.d.ts +6 -5
- package/dist/interchange/index.js +9 -10
- package/dist/interchange/index.js.map +1 -1
- package/dist/{manager-CASfhmzV.d.ts → manager-C7iC5bk_.d.ts} +27 -3
- package/dist/{manager-nCEJiYBb.d.cts → manager-Dm6MCYO7.d.cts} +27 -3
- package/dist/{postgres-Cl1ZAN1G.d.ts → postgres-Cb6ceh4-.d.ts} +100 -49
- package/dist/{postgres-DMgIKQU-.d.cts → postgres-DZxwzCQ8.d.cts} +100 -49
- package/dist/profiler/index.d.cts +8 -7
- package/dist/profiler/index.d.ts +8 -7
- package/dist/provenance/index.cjs +19 -19
- package/dist/provenance/index.d.cts +6 -5
- package/dist/provenance/index.d.ts +6 -5
- package/dist/provenance/index.js +6 -6
- package/dist/schema/index.cjs +33 -101
- package/dist/schema/index.cjs.map +1 -1
- package/dist/schema/index.d.cts +55 -55
- package/dist/schema/index.d.ts +55 -55
- package/dist/schema/index.js +6 -86
- package/dist/schema/index.js.map +1 -1
- package/dist/{temporal-DqtOEo_B.d.ts → searchable-Cet4Oztt.d.ts} +3 -58
- package/dist/{temporal-BC_NQV5Y.d.cts → searchable-aUaKh3_r.d.cts} +3 -58
- package/dist/{sqlite-BDkW39aa.d.cts → sqlite-Cb3Ilj9_.d.ts} +124 -97
- package/dist/{sqlite-CYfhvESj.d.ts → sqlite-Dxklpizv.d.cts} +124 -97
- package/dist/{store-view-CLIhwMMX.d.ts → store-view-BDjGFjpN.d.ts} +67 -23
- package/dist/{store-view-BJd6Vwpt.d.cts → store-view-PCT7vTKH.d.cts} +67 -23
- package/dist/temporal-CyFsSPe8.d.ts +73 -0
- package/dist/temporal-Dn_JADWY.d.cts +73 -0
- package/dist/{types-CUevi_D1.d.ts → types-CFZiEEPh.d.ts} +1 -1
- package/dist/{types-COq3-vMC.d.cts → types-CsaG00wS.d.cts} +1 -1
- package/dist/{index-Bq7vSPHy.d.ts → types-D-vOo_pM.d.ts} +2 -2
- package/dist/{index-CrFL_ENI.d.cts → types-ho4DJJb_.d.cts} +2 -2
- package/dist/{where-BdE_cYtx.d.ts → where-DLYaXa4L.d.ts} +1 -1
- package/dist/{where-C92TXCzT.d.cts → where-udes1WRA.d.cts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-3SK4SVTW.js.map +0 -1
- package/dist/chunk-3YFDFOYB.cjs.map +0 -1
- package/dist/chunk-5ELKD2FQ.cjs.map +0 -1
- package/dist/chunk-6SRLCSAV.cjs.map +0 -1
- package/dist/chunk-6XDBRDZE.js.map +0 -1
- package/dist/chunk-CBK2IVI2.js.map +0 -1
- package/dist/chunk-DDCIXXOO.js +0 -9
- package/dist/chunk-DDCIXXOO.js.map +0 -1
- package/dist/chunk-DDCYVIVV.cjs +0 -44
- package/dist/chunk-DDCYVIVV.cjs.map +0 -1
- package/dist/chunk-DOKUXLFH.js.map +0 -1
- package/dist/chunk-E2Q7SP2K.cjs.map +0 -1
- package/dist/chunk-EOJFGECD.cjs +0 -284
- package/dist/chunk-EOJFGECD.cjs.map +0 -1
- package/dist/chunk-FMNUSGZ4.cjs +0 -12
- package/dist/chunk-G3CSQLLT.js.map +0 -1
- package/dist/chunk-HTQOBY75.cjs.map +0 -1
- package/dist/chunk-I6FX7AAG.js +0 -39
- package/dist/chunk-I6FX7AAG.js.map +0 -1
- package/dist/chunk-IFDXG2YJ.js.map +0 -1
- package/dist/chunk-IFRPHG7O.js.map +0 -1
- package/dist/chunk-J6IJARLG.js +0 -94
- package/dist/chunk-J6IJARLG.js.map +0 -1
- package/dist/chunk-KXFUQNF2.js.map +0 -1
- package/dist/chunk-MTNEGGM2.js +0 -273
- package/dist/chunk-MTNEGGM2.js.map +0 -1
- package/dist/chunk-SU7VQOJ3.js.map +0 -1
- package/dist/chunk-SVUKGWSN.cjs +0 -102
- package/dist/chunk-SVUKGWSN.cjs.map +0 -1
- package/dist/chunk-UH2USOMG.cjs +0 -627
- package/dist/chunk-UH2USOMG.cjs.map +0 -1
- package/dist/chunk-VXAFOF6Z.cjs.map +0 -1
- package/dist/chunk-X6RDQ5NB.cjs.map +0 -1
- package/dist/chunk-Y6UA55YS.cjs.map +0 -1
- package/dist/chunk-Y7M44XEK.js +0 -462
- package/dist/chunk-Y7M44XEK.js.map +0 -1
- package/dist/chunk-Z5QHVL5U.cjs +0 -12
- package/dist/chunk-Z5QHVL5U.cjs.map +0 -1
- package/dist/chunk-ZKZAIX42.cjs +0 -479
- package/dist/chunk-ZKZAIX42.cjs.map +0 -1
|
@@ -1,608 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunk7UTUKH4E_cjs = require('./chunk-7UTUKH4E.cjs');
|
|
4
|
+
var chunkLLHMAHG4_cjs = require('./chunk-LLHMAHG4.cjs');
|
|
5
|
+
var chunkSE422RES_cjs = require('./chunk-SE422RES.cjs');
|
|
6
6
|
var chunkZDH3DX3C_cjs = require('./chunk-ZDH3DX3C.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkQYDUCWD2_cjs = require('./chunk-QYDUCWD2.cjs');
|
|
8
8
|
var chunkACSVZPK7_cjs = require('./chunk-ACSVZPK7.cjs');
|
|
9
9
|
var chunkHP6LWBLB_cjs = require('./chunk-HP6LWBLB.cjs');
|
|
10
|
-
var chunkGUUWKPTK_cjs = require('./chunk-GUUWKPTK.cjs');
|
|
11
10
|
var chunkZY4GXIVN_cjs = require('./chunk-ZY4GXIVN.cjs');
|
|
12
|
-
var
|
|
13
|
-
var chunkX6RDQ5NB_cjs = require('./chunk-X6RDQ5NB.cjs');
|
|
11
|
+
var chunkYX3H63VV_cjs = require('./chunk-YX3H63VV.cjs');
|
|
14
12
|
var chunk764JHTLT_cjs = require('./chunk-764JHTLT.cjs');
|
|
15
13
|
var chunkSAFZ6JTI_cjs = require('./chunk-SAFZ6JTI.cjs');
|
|
16
14
|
var drizzleOrm = require('drizzle-orm');
|
|
17
|
-
var pgCore = require('drizzle-orm/pg-core');
|
|
18
|
-
var sqliteCore = require('drizzle-orm/sqlite-core');
|
|
19
|
-
|
|
20
|
-
var regconfig = pgCore.customType({
|
|
21
|
-
dataType: () => "regconfig"
|
|
22
|
-
});
|
|
23
|
-
var tsvector = pgCore.customType({
|
|
24
|
-
dataType: () => "tsvector"
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// src/backend/drizzle/schema/postgres.ts
|
|
28
|
-
var DEFAULT_TABLE_NAMES = {
|
|
29
|
-
nodes: "typegraph_nodes",
|
|
30
|
-
edges: "typegraph_edges",
|
|
31
|
-
recordedNodes: "typegraph_recorded_nodes",
|
|
32
|
-
recordedEdges: "typegraph_recorded_edges",
|
|
33
|
-
recordedClock: "typegraph_recorded_clock",
|
|
34
|
-
revisionOrigins: "typegraph_revision_origins",
|
|
35
|
-
uniques: "typegraph_node_uniques",
|
|
36
|
-
schemaVersions: "typegraph_schema_versions",
|
|
37
|
-
fulltext: "typegraph_node_fulltext",
|
|
38
|
-
indexMaterializations: "typegraph_index_materializations",
|
|
39
|
-
contributionMaterializations: "typegraph_contribution_materializations",
|
|
40
|
-
kindRemovals: "typegraph_kind_removals",
|
|
41
|
-
reconciliationMarkers: "typegraph_reconciliation_markers"
|
|
42
|
-
};
|
|
43
|
-
function createPostgresTables(names = {}, options = {}) {
|
|
44
|
-
const n = { ...DEFAULT_TABLE_NAMES, ...names };
|
|
45
|
-
const indexes = options.indexes ?? [];
|
|
46
|
-
chunkGUUWKPTK_cjs.assertNoSystemIndexNameCollision(indexes, n);
|
|
47
|
-
const nodes2 = pgCore.pgTable(
|
|
48
|
-
n.nodes,
|
|
49
|
-
{
|
|
50
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
51
|
-
kind: pgCore.text("kind").notNull(),
|
|
52
|
-
id: pgCore.text("id").notNull(),
|
|
53
|
-
props: pgCore.jsonb("props").notNull(),
|
|
54
|
-
version: pgCore.integer("version").notNull().default(1),
|
|
55
|
-
validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
|
|
56
|
-
validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
|
|
57
|
-
createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
|
|
58
|
-
updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
|
|
59
|
-
deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
|
|
60
|
-
},
|
|
61
|
-
(t) => [
|
|
62
|
-
pgCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
|
|
63
|
-
// System indexes come from SYSTEM_INDEX_DECLARATIONS (single source
|
|
64
|
-
// for both dialects + the runtime materializer).
|
|
65
|
-
...chunkDOVMTPKE_cjs.buildPostgresSystemIndexBuilders("nodes", n.nodes, t),
|
|
66
|
-
...chunkDOVMTPKE_cjs.buildPostgresNodeIndexBuilders(t, indexes)
|
|
67
|
-
]
|
|
68
|
-
);
|
|
69
|
-
const edges2 = pgCore.pgTable(
|
|
70
|
-
n.edges,
|
|
71
|
-
{
|
|
72
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
73
|
-
id: pgCore.text("id").notNull(),
|
|
74
|
-
kind: pgCore.text("kind").notNull(),
|
|
75
|
-
fromKind: pgCore.text("from_kind").notNull(),
|
|
76
|
-
fromId: pgCore.text("from_id").notNull(),
|
|
77
|
-
toKind: pgCore.text("to_kind").notNull(),
|
|
78
|
-
toId: pgCore.text("to_id").notNull(),
|
|
79
|
-
props: pgCore.jsonb("props").notNull(),
|
|
80
|
-
validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
|
|
81
|
-
validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
|
|
82
|
-
createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
|
|
83
|
-
updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
|
|
84
|
-
deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
|
|
85
|
-
},
|
|
86
|
-
(t) => [
|
|
87
|
-
pgCore.primaryKey({ columns: [t.graphId, t.id] }),
|
|
88
|
-
...chunkDOVMTPKE_cjs.buildPostgresSystemIndexBuilders("edges", n.edges, t),
|
|
89
|
-
...chunkDOVMTPKE_cjs.buildPostgresEdgeIndexBuilders(t, indexes)
|
|
90
|
-
]
|
|
91
|
-
);
|
|
92
|
-
const recordedNodes2 = pgCore.pgTable(
|
|
93
|
-
n.recordedNodes,
|
|
94
|
-
{
|
|
95
|
-
historyId: pgCore.text("history_id").notNull(),
|
|
96
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
97
|
-
kind: pgCore.text("kind").notNull(),
|
|
98
|
-
id: pgCore.text("id").notNull(),
|
|
99
|
-
props: pgCore.jsonb("props").notNull(),
|
|
100
|
-
version: pgCore.integer("version").notNull(),
|
|
101
|
-
validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
|
|
102
|
-
validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
|
|
103
|
-
createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
|
|
104
|
-
updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
|
|
105
|
-
deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
|
|
106
|
-
recordedFrom: pgCore.timestamp("recorded_from", {
|
|
107
|
-
withTimezone: true
|
|
108
|
-
}).notNull(),
|
|
109
|
-
recordedTo: pgCore.timestamp("recorded_to", { withTimezone: true }).notNull(),
|
|
110
|
-
op: pgCore.text("op").notNull(),
|
|
111
|
-
schemaVersion: pgCore.integer("schema_version"),
|
|
112
|
-
txId: pgCore.text("tx_id"),
|
|
113
|
-
meta: pgCore.jsonb("meta")
|
|
114
|
-
},
|
|
115
|
-
(t) => [
|
|
116
|
-
pgCore.primaryKey({ columns: [t.historyId] }),
|
|
117
|
-
...chunkDOVMTPKE_cjs.buildPostgresSystemIndexBuilders("recordedNodes", n.recordedNodes, t)
|
|
118
|
-
]
|
|
119
|
-
);
|
|
120
|
-
const recordedEdges2 = pgCore.pgTable(
|
|
121
|
-
n.recordedEdges,
|
|
122
|
-
{
|
|
123
|
-
historyId: pgCore.text("history_id").notNull(),
|
|
124
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
125
|
-
id: pgCore.text("id").notNull(),
|
|
126
|
-
kind: pgCore.text("kind").notNull(),
|
|
127
|
-
fromKind: pgCore.text("from_kind").notNull(),
|
|
128
|
-
fromId: pgCore.text("from_id").notNull(),
|
|
129
|
-
toKind: pgCore.text("to_kind").notNull(),
|
|
130
|
-
toId: pgCore.text("to_id").notNull(),
|
|
131
|
-
props: pgCore.jsonb("props").notNull(),
|
|
132
|
-
validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
|
|
133
|
-
validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
|
|
134
|
-
createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
|
|
135
|
-
updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
|
|
136
|
-
deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
|
|
137
|
-
recordedFrom: pgCore.timestamp("recorded_from", {
|
|
138
|
-
withTimezone: true
|
|
139
|
-
}).notNull(),
|
|
140
|
-
recordedTo: pgCore.timestamp("recorded_to", { withTimezone: true }).notNull(),
|
|
141
|
-
op: pgCore.text("op").notNull(),
|
|
142
|
-
schemaVersion: pgCore.integer("schema_version"),
|
|
143
|
-
txId: pgCore.text("tx_id"),
|
|
144
|
-
meta: pgCore.jsonb("meta")
|
|
145
|
-
},
|
|
146
|
-
(t) => [
|
|
147
|
-
pgCore.primaryKey({ columns: [t.historyId] }),
|
|
148
|
-
...chunkDOVMTPKE_cjs.buildPostgresSystemIndexBuilders("recordedEdges", n.recordedEdges, t)
|
|
149
|
-
]
|
|
150
|
-
);
|
|
151
|
-
const recordedClock2 = pgCore.pgTable(
|
|
152
|
-
n.recordedClock,
|
|
153
|
-
{
|
|
154
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
155
|
-
recordedAt: pgCore.timestamp("recorded_at", { withTimezone: true }).notNull()
|
|
156
|
-
},
|
|
157
|
-
(t) => [pgCore.primaryKey({ columns: [t.graphId] })]
|
|
158
|
-
);
|
|
159
|
-
const revisionOrigins = pgCore.pgTable(
|
|
160
|
-
n.revisionOrigins,
|
|
161
|
-
{
|
|
162
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
163
|
-
origin: pgCore.text("origin").notNull()
|
|
164
|
-
},
|
|
165
|
-
(t) => [pgCore.primaryKey({ columns: [t.graphId] })]
|
|
166
|
-
);
|
|
167
|
-
const uniques2 = pgCore.pgTable(
|
|
168
|
-
n.uniques,
|
|
169
|
-
{
|
|
170
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
171
|
-
nodeKind: pgCore.text("node_kind").notNull(),
|
|
172
|
-
constraintName: pgCore.text("constraint_name").notNull(),
|
|
173
|
-
key: pgCore.text("key").notNull(),
|
|
174
|
-
nodeId: pgCore.text("node_id").notNull(),
|
|
175
|
-
concreteKind: pgCore.text("concrete_kind").notNull(),
|
|
176
|
-
deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
|
|
177
|
-
},
|
|
178
|
-
(t) => [
|
|
179
|
-
pgCore.primaryKey({
|
|
180
|
-
columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
|
|
181
|
-
}),
|
|
182
|
-
pgCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
|
|
183
|
-
]
|
|
184
|
-
);
|
|
185
|
-
const schemaVersions2 = pgCore.pgTable(
|
|
186
|
-
n.schemaVersions,
|
|
187
|
-
{
|
|
188
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
189
|
-
version: pgCore.integer("version").notNull(),
|
|
190
|
-
schemaHash: pgCore.text("schema_hash").notNull(),
|
|
191
|
-
schemaDoc: pgCore.jsonb("schema_doc").notNull(),
|
|
192
|
-
createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
|
|
193
|
-
isActive: pgCore.boolean("is_active").notNull().default(false)
|
|
194
|
-
},
|
|
195
|
-
(t) => [
|
|
196
|
-
pgCore.primaryKey({ columns: [t.graphId, t.version] }),
|
|
197
|
-
pgCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive),
|
|
198
|
-
// Partial unique index enforcing the "at most one active version
|
|
199
|
-
// per graph" invariant at the storage layer. Defense in depth
|
|
200
|
-
// against buggy backend implementations or out-of-band writes.
|
|
201
|
-
// Forces the deactivate-then-activate ordering used by
|
|
202
|
-
// `commitSchemaVersion` and `setActiveVersion`.
|
|
203
|
-
pgCore.uniqueIndex(`${n.schemaVersions}_one_active_per_graph_idx`).on(t.graphId).where(drizzleOrm.sql`${t.isActive} = TRUE`)
|
|
204
|
-
]
|
|
205
|
-
);
|
|
206
|
-
const indexMaterializations = pgCore.pgTable(
|
|
207
|
-
n.indexMaterializations,
|
|
208
|
-
{
|
|
209
|
-
indexName: pgCore.text("index_name").notNull(),
|
|
210
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
211
|
-
entity: pgCore.text("entity").notNull(),
|
|
212
|
-
kind: pgCore.text("kind").notNull(),
|
|
213
|
-
signature: pgCore.text("signature").notNull(),
|
|
214
|
-
schemaVersion: pgCore.integer("schema_version").notNull(),
|
|
215
|
-
materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
|
|
216
|
-
lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
|
|
217
|
-
withTimezone: true
|
|
218
|
-
}).notNull(),
|
|
219
|
-
lastError: pgCore.text("last_error"),
|
|
220
|
-
// Cross-caller build claim: while `building_since` is fresh (within
|
|
221
|
-
// the lease), exactly one materializer owns this index's CREATE
|
|
222
|
-
// INDEX CONCURRENTLY. Serializes same-index CIC across processes —
|
|
223
|
-
// two concurrent expression-index CICs deadlock each other (no
|
|
224
|
-
// safe-snapshot exemption). NULL when no build is in flight.
|
|
225
|
-
buildingSince: pgCore.timestamp("building_since", { withTimezone: true }),
|
|
226
|
-
claimToken: pgCore.text("claim_token")
|
|
227
|
-
},
|
|
228
|
-
(t) => [pgCore.primaryKey({ columns: [t.indexName] })]
|
|
229
|
-
);
|
|
230
|
-
const kindRemovals = pgCore.pgTable(
|
|
231
|
-
n.kindRemovals,
|
|
232
|
-
{
|
|
233
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
234
|
-
kindName: pgCore.text("kind_name").notNull(),
|
|
235
|
-
entity: pgCore.text("entity").notNull(),
|
|
236
|
-
schemaVersion: pgCore.integer("schema_version").notNull(),
|
|
237
|
-
removedAt: pgCore.timestamp("removed_at", { withTimezone: true }),
|
|
238
|
-
lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
|
|
239
|
-
withTimezone: true
|
|
240
|
-
}).notNull(),
|
|
241
|
-
lastError: pgCore.text("last_error")
|
|
242
|
-
},
|
|
243
|
-
(t) => [
|
|
244
|
-
pgCore.primaryKey({
|
|
245
|
-
columns: [t.graphId, t.kindName, t.entity, t.schemaVersion]
|
|
246
|
-
})
|
|
247
|
-
]
|
|
248
|
-
);
|
|
249
|
-
const reconciliationMarkers = pgCore.pgTable(
|
|
250
|
-
n.reconciliationMarkers,
|
|
251
|
-
{
|
|
252
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
253
|
-
reconciledToVersion: pgCore.integer("reconciled_to_version").notNull()
|
|
254
|
-
},
|
|
255
|
-
(t) => [pgCore.primaryKey({ columns: [t.graphId] })]
|
|
256
|
-
);
|
|
257
|
-
const contributionMaterializations = pgCore.pgTable(
|
|
258
|
-
n.contributionMaterializations,
|
|
259
|
-
{
|
|
260
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
261
|
-
logicalName: pgCore.text("logical_name").notNull(),
|
|
262
|
-
owner: pgCore.text("owner").notNull(),
|
|
263
|
-
tableName: pgCore.text("table_name").notNull(),
|
|
264
|
-
signature: pgCore.text("signature").notNull(),
|
|
265
|
-
materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
|
|
266
|
-
lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
|
|
267
|
-
withTimezone: true
|
|
268
|
-
}).notNull(),
|
|
269
|
-
lastError: pgCore.text("last_error")
|
|
270
|
-
},
|
|
271
|
-
(t) => [
|
|
272
|
-
pgCore.primaryKey({
|
|
273
|
-
columns: [t.graphId, t.logicalName, t.owner, t.tableName]
|
|
274
|
-
})
|
|
275
|
-
]
|
|
276
|
-
);
|
|
277
|
-
const fulltext2 = pgCore.pgTable(
|
|
278
|
-
n.fulltext,
|
|
279
|
-
{
|
|
280
|
-
graphId: pgCore.text("graph_id").notNull(),
|
|
281
|
-
nodeKind: pgCore.text("node_kind").notNull(),
|
|
282
|
-
nodeId: pgCore.text("node_id").notNull(),
|
|
283
|
-
content: pgCore.text("content").notNull(),
|
|
284
|
-
language: regconfig("language").notNull(),
|
|
285
|
-
tsv: tsvector("tsv").generatedAlwaysAs(drizzleOrm.sql`to_tsvector("language", "content")`).notNull(),
|
|
286
|
-
updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
|
|
287
|
-
},
|
|
288
|
-
(t) => [
|
|
289
|
-
pgCore.primaryKey({ columns: [t.graphId, t.nodeKind, t.nodeId] }),
|
|
290
|
-
pgCore.index(`${n.fulltext}_tsv_idx`).using("gin", t.tsv),
|
|
291
|
-
pgCore.index(`${n.fulltext}_kind_idx`).on(t.graphId, t.nodeKind)
|
|
292
|
-
]
|
|
293
|
-
);
|
|
294
|
-
return {
|
|
295
|
-
nodes: nodes2,
|
|
296
|
-
edges: edges2,
|
|
297
|
-
recordedNodes: recordedNodes2,
|
|
298
|
-
recordedEdges: recordedEdges2,
|
|
299
|
-
recordedClock: recordedClock2,
|
|
300
|
-
revisionOrigins,
|
|
301
|
-
uniques: uniques2,
|
|
302
|
-
schemaVersions: schemaVersions2,
|
|
303
|
-
indexMaterializations,
|
|
304
|
-
contributionMaterializations,
|
|
305
|
-
kindRemovals,
|
|
306
|
-
reconciliationMarkers,
|
|
307
|
-
fulltext: fulltext2,
|
|
308
|
-
fulltextTableName: n.fulltext
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
var tables2 = createPostgresTables();
|
|
312
|
-
var {
|
|
313
|
-
nodes,
|
|
314
|
-
edges,
|
|
315
|
-
recordedNodes,
|
|
316
|
-
recordedEdges,
|
|
317
|
-
recordedClock,
|
|
318
|
-
uniques,
|
|
319
|
-
schemaVersions,
|
|
320
|
-
fulltext
|
|
321
|
-
} = tables2;
|
|
322
|
-
function getSqliteColumnType(column) {
|
|
323
|
-
switch (column.columnType) {
|
|
324
|
-
case "SQLiteText": {
|
|
325
|
-
return "TEXT";
|
|
326
|
-
}
|
|
327
|
-
case "SQLiteInteger": {
|
|
328
|
-
return "INTEGER";
|
|
329
|
-
}
|
|
330
|
-
case "SQLiteReal": {
|
|
331
|
-
return "REAL";
|
|
332
|
-
}
|
|
333
|
-
case "SQLiteBlob": {
|
|
334
|
-
return "BLOB";
|
|
335
|
-
}
|
|
336
|
-
default: {
|
|
337
|
-
return "TEXT";
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
function formatDefaultValue(value) {
|
|
342
|
-
if (value === null) return "NULL";
|
|
343
|
-
if (typeof value === "string") return `'${value}'`;
|
|
344
|
-
if (typeof value === "number") return String(value);
|
|
345
|
-
if (typeof value === "boolean") return value ? "1" : "0";
|
|
346
|
-
return JSON.stringify(value);
|
|
347
|
-
}
|
|
348
|
-
function generateSqliteCreateTableSQL(table) {
|
|
349
|
-
const config = sqliteCore.getTableConfig(table);
|
|
350
|
-
const columnDefs = [];
|
|
351
|
-
for (const column of config.columns) {
|
|
352
|
-
const parts = [
|
|
353
|
-
`"${column.name}"`,
|
|
354
|
-
getSqliteColumnType(column)
|
|
355
|
-
];
|
|
356
|
-
if (column.notNull) {
|
|
357
|
-
parts.push("NOT NULL");
|
|
358
|
-
}
|
|
359
|
-
if (column.hasDefault && column.default !== void 0) {
|
|
360
|
-
parts.push(`DEFAULT ${formatDefaultValue(column.default)}`);
|
|
361
|
-
}
|
|
362
|
-
columnDefs.push(parts.join(" "));
|
|
363
|
-
}
|
|
364
|
-
const pk = config.primaryKeys[0];
|
|
365
|
-
if (pk) {
|
|
366
|
-
const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
|
|
367
|
-
columnDefs.push(`PRIMARY KEY (${pkColumns})`);
|
|
368
|
-
}
|
|
369
|
-
return `CREATE TABLE IF NOT EXISTS "${config.name}" (
|
|
370
|
-
${columnDefs.join(",\n ")}
|
|
371
|
-
);`;
|
|
372
|
-
}
|
|
373
|
-
function renderIndexColumn(col) {
|
|
374
|
-
if (col && typeof col === "object" && "name" in col) {
|
|
375
|
-
return `"${col.name}"`;
|
|
376
|
-
}
|
|
377
|
-
const sql16 = tryInlineSql(col);
|
|
378
|
-
if (sql16 !== void 0) {
|
|
379
|
-
return sql16;
|
|
380
|
-
}
|
|
381
|
-
return "unknown";
|
|
382
|
-
}
|
|
383
|
-
function tryInlineSql(value) {
|
|
384
|
-
if (value && typeof value === "object" && "getSQL" in value) {
|
|
385
|
-
const maybe = value;
|
|
386
|
-
if (typeof maybe.getSQL === "function") {
|
|
387
|
-
return inlineSql(maybe.getSQL());
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
return inlineSql(value);
|
|
391
|
-
}
|
|
392
|
-
function flattenSqlChunk(chunk2) {
|
|
393
|
-
if (typeof chunk2 === "string") {
|
|
394
|
-
return chunk2;
|
|
395
|
-
}
|
|
396
|
-
if (typeof chunk2 === "object" && chunk2 !== null) {
|
|
397
|
-
if ("name" in chunk2 && typeof chunk2.name === "string") {
|
|
398
|
-
return `"${chunk2.name}"`;
|
|
399
|
-
}
|
|
400
|
-
if ("value" in chunk2) {
|
|
401
|
-
const value = chunk2.value;
|
|
402
|
-
if (typeof value === "string") {
|
|
403
|
-
return value;
|
|
404
|
-
}
|
|
405
|
-
if (Array.isArray(value)) {
|
|
406
|
-
return value.map((part) => flattenSqlChunk(part)).join("");
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
if ("queryChunks" in chunk2 && Array.isArray(chunk2.queryChunks)) {
|
|
410
|
-
return chunk2.queryChunks.map((part) => flattenSqlChunk(part)).join("");
|
|
411
|
-
}
|
|
412
|
-
if ("getSQL" in chunk2) {
|
|
413
|
-
const maybe = chunk2;
|
|
414
|
-
if (typeof maybe.getSQL === "function") {
|
|
415
|
-
return flattenSqlChunk(maybe.getSQL());
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
throw new Error(`Unable to inline SQL chunk: ${String(chunk2)}`);
|
|
420
|
-
}
|
|
421
|
-
function inlineSql(value) {
|
|
422
|
-
try {
|
|
423
|
-
return flattenSqlChunk(value);
|
|
424
|
-
} catch {
|
|
425
|
-
return void 0;
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
function inlineSqlOrThrow(value, context) {
|
|
429
|
-
const inlined = inlineSql(value);
|
|
430
|
-
if (inlined === void 0) {
|
|
431
|
-
throw new Error(`Unable to inline SQL for ${context}`);
|
|
432
|
-
}
|
|
433
|
-
return inlined;
|
|
434
|
-
}
|
|
435
|
-
function generateSqliteCreateIndexSQL(table) {
|
|
436
|
-
const config = sqliteCore.getTableConfig(table);
|
|
437
|
-
const statements = [];
|
|
438
|
-
for (const index2 of config.indexes) {
|
|
439
|
-
const indexConfig = index2.config;
|
|
440
|
-
const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
|
|
441
|
-
const unique = indexConfig.unique ? "UNIQUE " : "";
|
|
442
|
-
const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `SQLite index "${indexConfig.name}" WHERE clause`)}` : "";
|
|
443
|
-
statements.push(
|
|
444
|
-
`CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}" (${columns})${where};`
|
|
445
|
-
);
|
|
446
|
-
}
|
|
447
|
-
return statements;
|
|
448
|
-
}
|
|
449
|
-
function isSqliteTable(value) {
|
|
450
|
-
return drizzleOrm.is(value, sqliteCore.SQLiteTable);
|
|
451
|
-
}
|
|
452
|
-
function runtimeStrategyContributions(fulltextStrategy, fulltextTableName) {
|
|
453
|
-
return fulltextStrategy.ownedTables(fulltextTableName).filter((contribution) => contribution.runtimeEnsure);
|
|
454
|
-
}
|
|
455
|
-
function sqliteContributions(tables3 = chunkEOJFGECD_cjs.tables, fulltextStrategy = chunkZKZAIX42_cjs.fts5Strategy) {
|
|
456
|
-
const contributions = [];
|
|
457
|
-
for (const [key, table] of Object.entries(tables3)) {
|
|
458
|
-
if (!isSqliteTable(table)) continue;
|
|
459
|
-
contributions.push({
|
|
460
|
-
logicalName: key,
|
|
461
|
-
owner: chunkZKZAIX42_cjs.BASE_CONTRIBUTION_OWNER,
|
|
462
|
-
tableName: sqliteCore.getTableConfig(table).name,
|
|
463
|
-
createDdl: [
|
|
464
|
-
generateSqliteCreateTableSQL(table),
|
|
465
|
-
...generateSqliteCreateIndexSQL(table)
|
|
466
|
-
],
|
|
467
|
-
runtimeEnsure: false
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
for (const declared of fulltextStrategy.ownedTables(
|
|
471
|
-
tables3.fulltextTableName
|
|
472
|
-
)) {
|
|
473
|
-
contributions.push(declared);
|
|
474
|
-
}
|
|
475
|
-
return contributions;
|
|
476
|
-
}
|
|
477
|
-
function generateSqliteDDL(tables3 = chunkEOJFGECD_cjs.tables, fulltextStrategy = chunkZKZAIX42_cjs.fts5Strategy) {
|
|
478
|
-
return sqliteContributions(tables3, fulltextStrategy).flatMap(
|
|
479
|
-
(contribution) => [...contribution.createDdl]
|
|
480
|
-
);
|
|
481
|
-
}
|
|
482
|
-
function generateSqliteMigrationSQL(tables3 = chunkEOJFGECD_cjs.tables, fulltextStrategy = chunkZKZAIX42_cjs.fts5Strategy) {
|
|
483
|
-
return generateSqliteDDL(tables3, fulltextStrategy).join("\n\n");
|
|
484
|
-
}
|
|
485
|
-
function getPgColumnType(column) {
|
|
486
|
-
switch (column.columnType) {
|
|
487
|
-
case "PgText": {
|
|
488
|
-
return "TEXT";
|
|
489
|
-
}
|
|
490
|
-
case "PgInteger": {
|
|
491
|
-
return "INTEGER";
|
|
492
|
-
}
|
|
493
|
-
case "PgBoolean": {
|
|
494
|
-
return "BOOLEAN";
|
|
495
|
-
}
|
|
496
|
-
case "PgJsonb": {
|
|
497
|
-
return "JSONB";
|
|
498
|
-
}
|
|
499
|
-
case "PgTimestamp": {
|
|
500
|
-
return column.config?.withTimezone ? "TIMESTAMPTZ" : "TIMESTAMP";
|
|
501
|
-
}
|
|
502
|
-
case "PgReal": {
|
|
503
|
-
return "REAL";
|
|
504
|
-
}
|
|
505
|
-
case "PgDoublePrecision": {
|
|
506
|
-
return "DOUBLE PRECISION";
|
|
507
|
-
}
|
|
508
|
-
case "PgCustomColumn": {
|
|
509
|
-
const dataType = column.getSQLType?.();
|
|
510
|
-
return dataType ?? "TEXT";
|
|
511
|
-
}
|
|
512
|
-
default: {
|
|
513
|
-
return "TEXT";
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
function formatPgDefaultValue(value) {
|
|
518
|
-
if (value === null) return "NULL";
|
|
519
|
-
if (typeof value === "string") return `'${value}'`;
|
|
520
|
-
if (typeof value === "number") return String(value);
|
|
521
|
-
if (typeof value === "boolean") return value ? "TRUE" : "FALSE";
|
|
522
|
-
return JSON.stringify(value);
|
|
523
|
-
}
|
|
524
|
-
function generatePgCreateTableSQL(table) {
|
|
525
|
-
const config = pgCore.getTableConfig(table);
|
|
526
|
-
const columnDefs = [];
|
|
527
|
-
for (const column of config.columns) {
|
|
528
|
-
const parts = [`"${column.name}"`, getPgColumnType(column)];
|
|
529
|
-
if (column.notNull) {
|
|
530
|
-
parts.push("NOT NULL");
|
|
531
|
-
}
|
|
532
|
-
if (column.hasDefault && column.default !== void 0) {
|
|
533
|
-
parts.push(`DEFAULT ${formatPgDefaultValue(column.default)}`);
|
|
534
|
-
}
|
|
535
|
-
columnDefs.push(parts.join(" "));
|
|
536
|
-
}
|
|
537
|
-
const pk = config.primaryKeys[0];
|
|
538
|
-
if (pk) {
|
|
539
|
-
const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
|
|
540
|
-
columnDefs.push(`PRIMARY KEY (${pkColumns})`);
|
|
541
|
-
}
|
|
542
|
-
return `CREATE TABLE IF NOT EXISTS "${config.name}" (
|
|
543
|
-
${columnDefs.join(",\n ")}
|
|
544
|
-
);`;
|
|
545
|
-
}
|
|
546
|
-
function generatePgCreateIndexSQL(table) {
|
|
547
|
-
const config = pgCore.getTableConfig(table);
|
|
548
|
-
const statements = [];
|
|
549
|
-
for (const index2 of config.indexes) {
|
|
550
|
-
const indexConfig = index2.config;
|
|
551
|
-
const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
|
|
552
|
-
const unique = indexConfig.unique ? "UNIQUE " : "";
|
|
553
|
-
const method = indexConfig.method && indexConfig.method !== "btree" ? ` USING ${indexConfig.method}` : "";
|
|
554
|
-
const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `PostgreSQL index "${indexConfig.name}" WHERE clause`)}` : "";
|
|
555
|
-
statements.push(
|
|
556
|
-
`CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}"${method} (${columns})${where};`
|
|
557
|
-
);
|
|
558
|
-
}
|
|
559
|
-
return statements;
|
|
560
|
-
}
|
|
561
|
-
function isPgTable(value) {
|
|
562
|
-
return drizzleOrm.is(value, pgCore.PgTable);
|
|
563
|
-
}
|
|
564
|
-
function postgresContributions(tables3 = tables2, fulltextStrategy = chunkZKZAIX42_cjs.tsvectorStrategy) {
|
|
565
|
-
const contributions = [];
|
|
566
|
-
for (const [key, table] of Object.entries(tables3)) {
|
|
567
|
-
if (!isPgTable(table)) continue;
|
|
568
|
-
if (table === tables3.fulltext) continue;
|
|
569
|
-
contributions.push({
|
|
570
|
-
logicalName: key,
|
|
571
|
-
owner: chunkZKZAIX42_cjs.BASE_CONTRIBUTION_OWNER,
|
|
572
|
-
tableName: pgCore.getTableConfig(table).name,
|
|
573
|
-
createDdl: [
|
|
574
|
-
generatePgCreateTableSQL(table),
|
|
575
|
-
...generatePgCreateIndexSQL(table)
|
|
576
|
-
],
|
|
577
|
-
runtimeEnsure: false
|
|
578
|
-
});
|
|
579
|
-
}
|
|
580
|
-
for (const declared of fulltextStrategy.ownedTables(
|
|
581
|
-
tables3.fulltextTableName
|
|
582
|
-
)) {
|
|
583
|
-
contributions.push(declared);
|
|
584
|
-
}
|
|
585
|
-
return contributions;
|
|
586
|
-
}
|
|
587
|
-
function generatePostgresDDL(tables3 = tables2, fulltextStrategy = chunkZKZAIX42_cjs.tsvectorStrategy) {
|
|
588
|
-
return postgresContributions(tables3, fulltextStrategy).flatMap(
|
|
589
|
-
(contribution) => [...contribution.createDdl]
|
|
590
|
-
);
|
|
591
|
-
}
|
|
592
|
-
function generatePostgresMigrationSQL(tables3 = tables2, fulltextStrategy = chunkZKZAIX42_cjs.tsvectorStrategy) {
|
|
593
|
-
const extensionSql = "-- Enable pgvector extension for vector similarity search\nCREATE EXTENSION IF NOT EXISTS vector;";
|
|
594
|
-
const ddlSql = generatePostgresDDL(tables3, fulltextStrategy).join("\n\n");
|
|
595
|
-
return `${extensionSql}
|
|
596
|
-
|
|
597
|
-
${ddlSql}`;
|
|
598
|
-
}
|
|
599
15
|
|
|
600
16
|
// src/backend/live-node-candidates.ts
|
|
601
17
|
function buildLiveNodeCandidates(nodesTableName, graphId, nodeKind, now) {
|
|
602
|
-
const
|
|
603
|
-
return
|
|
18
|
+
const nodes = chunkYX3H63VV_cjs.sql.identifier(nodesTableName);
|
|
19
|
+
return chunkYX3H63VV_cjs.sql`
|
|
604
20
|
SELECT "id" AS node_id
|
|
605
|
-
FROM ${
|
|
21
|
+
FROM ${nodes}
|
|
606
22
|
WHERE "graph_id" = ${graphId}
|
|
607
23
|
AND "kind" = ${nodeKind}
|
|
608
24
|
AND "deleted_at" IS NULL
|
|
@@ -660,7 +76,7 @@ var SQLITE_CONTRIBUTION_MAT_TIMESTAMPS = {
|
|
|
660
76
|
encode: (value) => value
|
|
661
77
|
};
|
|
662
78
|
var POSTGRES_CONTRIBUTION_MAT_TIMESTAMPS = {
|
|
663
|
-
decode:
|
|
79
|
+
decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
|
|
664
80
|
encode: (value) => new Date(value)
|
|
665
81
|
};
|
|
666
82
|
function mapContributionMaterializationRow(row, decode) {
|
|
@@ -774,7 +190,7 @@ function gateFulltextMethods(source, assert) {
|
|
|
774
190
|
return gated;
|
|
775
191
|
}
|
|
776
192
|
function gateFulltext(tx, assert) {
|
|
777
|
-
return
|
|
193
|
+
return chunkQYDUCWD2_cjs.createBackendOverlay(
|
|
778
194
|
tx,
|
|
779
195
|
gateFulltextMethods(tx, assert)
|
|
780
196
|
);
|
|
@@ -797,7 +213,7 @@ function createContributionMaterializer(deps) {
|
|
|
797
213
|
const cachedCreateDdl = cached?.createDdl;
|
|
798
214
|
const cachedSignature = cached?.signature;
|
|
799
215
|
if (cachedCreateDdl?.length === contribution.createDdl.length && cachedSignature !== void 0 && contribution.createDdl.every(
|
|
800
|
-
(statement,
|
|
216
|
+
(statement, index) => cachedCreateDdl[index] === statement
|
|
801
217
|
)) {
|
|
802
218
|
return cachedSignature;
|
|
803
219
|
}
|
|
@@ -821,7 +237,7 @@ function createContributionMaterializer(deps) {
|
|
|
821
237
|
}
|
|
822
238
|
}
|
|
823
239
|
function runtimeContributions() {
|
|
824
|
-
return runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
|
|
240
|
+
return chunkLLHMAHG4_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
|
|
825
241
|
}
|
|
826
242
|
async function materializeOne(graphId, contribution, signature, existing, options) {
|
|
827
243
|
const force = options?.force === true;
|
|
@@ -843,13 +259,13 @@ function createContributionMaterializer(deps) {
|
|
|
843
259
|
await deps.recordMarker({
|
|
844
260
|
...identity,
|
|
845
261
|
signature,
|
|
846
|
-
attemptedAt:
|
|
262
|
+
attemptedAt: chunk7UTUKH4E_cjs.nowIso(),
|
|
847
263
|
materializedAt: void 0,
|
|
848
264
|
error: error.message
|
|
849
265
|
});
|
|
850
266
|
throw error;
|
|
851
267
|
}
|
|
852
|
-
const attemptedAt =
|
|
268
|
+
const attemptedAt = chunk7UTUKH4E_cjs.nowIso();
|
|
853
269
|
try {
|
|
854
270
|
for (const statement of contribution.createDdl) {
|
|
855
271
|
await deps.execDdl(statement);
|
|
@@ -1030,7 +446,7 @@ var SQLITE_INDEX_MAT_TIMESTAMPS = {
|
|
|
1030
446
|
encode: (value) => value
|
|
1031
447
|
};
|
|
1032
448
|
var POSTGRES_INDEX_MAT_TIMESTAMPS = {
|
|
1033
|
-
decode:
|
|
449
|
+
decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
|
|
1034
450
|
encode: (value) => new Date(value)
|
|
1035
451
|
};
|
|
1036
452
|
function mapMaterializationRow(row, decode) {
|
|
@@ -1088,7 +504,7 @@ var SQLITE_KIND_REMOVAL_TIMESTAMPS = {
|
|
|
1088
504
|
encode: (value) => value
|
|
1089
505
|
};
|
|
1090
506
|
var POSTGRES_KIND_REMOVAL_TIMESTAMPS = {
|
|
1091
|
-
decode:
|
|
507
|
+
decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
|
|
1092
508
|
encode: (value) => new Date(value)
|
|
1093
509
|
};
|
|
1094
510
|
function mapKindRemovalRow(row, decode) {
|
|
@@ -1132,9 +548,9 @@ function buildKindRemovalOnConflictSet(removedAtColumn, paramsRemovedAt) {
|
|
|
1132
548
|
function sqlNull(value) {
|
|
1133
549
|
return value ?? drizzleOrm.sql.raw("NULL");
|
|
1134
550
|
}
|
|
1135
|
-
function resolveValidFrom(validFrom,
|
|
551
|
+
function resolveValidFrom(validFrom, timestamp) {
|
|
1136
552
|
if (validFrom === null) return void 0;
|
|
1137
|
-
return validFrom ??
|
|
553
|
+
return validFrom ?? timestamp;
|
|
1138
554
|
}
|
|
1139
555
|
function quotedColumn(column) {
|
|
1140
556
|
return drizzleOrm.sql.raw(`"${column.name.replaceAll('"', '""')}"`);
|
|
@@ -1149,17 +565,17 @@ var CODE_POINT_ORDER_BUILDERS = {
|
|
|
1149
565
|
function codePointOrderKey(column, dialect) {
|
|
1150
566
|
return CODE_POINT_ORDER_BUILDERS[dialect](column);
|
|
1151
567
|
}
|
|
1152
|
-
function liveNodeIdsSubquery(
|
|
1153
|
-
return drizzleOrm.sql`SELECT ${
|
|
568
|
+
function liveNodeIdsSubquery(nodes, graphId, nodeKind, nowIso2) {
|
|
569
|
+
return drizzleOrm.sql`SELECT ${nodes.id} AS node_id FROM ${nodes} WHERE ${nodes.graphId} = ${graphId} AND ${nodes.kind} = ${nodeKind} AND ${nodes.deletedAt} IS NULL AND (${nodes.validFrom} IS NULL OR ${nodes.validFrom} <= ${nowIso2}) AND (${nodes.validTo} IS NULL OR ${nodes.validTo} > ${nowIso2})`;
|
|
1154
570
|
}
|
|
1155
|
-
function nodeColumnList(
|
|
571
|
+
function nodeColumnList(nodes) {
|
|
1156
572
|
return drizzleOrm.sql.raw(
|
|
1157
|
-
`"${
|
|
573
|
+
`"${nodes.graphId.name}", "${nodes.kind.name}", "${nodes.id.name}", "${nodes.props.name}", "${nodes.version.name}", "${nodes.validFrom.name}", "${nodes.validTo.name}", "${nodes.createdAt.name}", "${nodes.updatedAt.name}"`
|
|
1158
574
|
);
|
|
1159
575
|
}
|
|
1160
|
-
function edgeColumnList(
|
|
576
|
+
function edgeColumnList(edges) {
|
|
1161
577
|
return drizzleOrm.sql.raw(
|
|
1162
|
-
`"${
|
|
578
|
+
`"${edges.graphId.name}", "${edges.id.name}", "${edges.kind.name}", "${edges.fromKind.name}", "${edges.fromId.name}", "${edges.toKind.name}", "${edges.toId.name}", "${edges.props.name}", "${edges.validFrom.name}", "${edges.validTo.name}", "${edges.createdAt.name}", "${edges.updatedAt.name}"`
|
|
1163
579
|
);
|
|
1164
580
|
}
|
|
1165
581
|
|
|
@@ -1171,20 +587,20 @@ function hybridCandidatesRef() {
|
|
|
1171
587
|
return drizzleOrm.sql`SELECT node_id FROM tg_hybrid_cand`;
|
|
1172
588
|
}
|
|
1173
589
|
function buildHybridSearchStatement(input) {
|
|
1174
|
-
const { nodes
|
|
590
|
+
const { nodes } = input;
|
|
1175
591
|
const nodeIdOrder = nodeIdOrderKey(input.dialect);
|
|
1176
592
|
const vectorOrder = input.vectorScoreDescending ? drizzleOrm.sql`score DESC, ${nodeIdOrder} ASC` : drizzleOrm.sql`score ASC, ${nodeIdOrder} ASC`;
|
|
1177
593
|
const columnPairs = [
|
|
1178
|
-
[
|
|
1179
|
-
[
|
|
1180
|
-
[
|
|
1181
|
-
[
|
|
1182
|
-
[
|
|
1183
|
-
[
|
|
1184
|
-
[
|
|
1185
|
-
[
|
|
1186
|
-
[
|
|
1187
|
-
[
|
|
594
|
+
[nodes.graphId, "graph_id"],
|
|
595
|
+
[nodes.kind, "kind"],
|
|
596
|
+
[nodes.id, "id"],
|
|
597
|
+
[nodes.props, "props"],
|
|
598
|
+
[nodes.version, "version"],
|
|
599
|
+
[nodes.validFrom, "valid_from"],
|
|
600
|
+
[nodes.validTo, "valid_to"],
|
|
601
|
+
[nodes.createdAt, "created_at"],
|
|
602
|
+
[nodes.updatedAt, "updated_at"],
|
|
603
|
+
[nodes.deletedAt, "deleted_at"]
|
|
1188
604
|
];
|
|
1189
605
|
const nodeColumns = drizzleOrm.sql.raw(
|
|
1190
606
|
columnPairs.map(
|
|
@@ -1237,17 +653,17 @@ function buildHybridSearchStatement(input) {
|
|
|
1237
653
|
tg_hybrid_fused.snippet AS snippet,
|
|
1238
654
|
${nodeColumns}
|
|
1239
655
|
FROM tg_hybrid_fused
|
|
1240
|
-
JOIN ${
|
|
1241
|
-
ON ${qualified(
|
|
1242
|
-
AND ${qualified(
|
|
1243
|
-
AND ${qualified(
|
|
1244
|
-
AND ${qualified(
|
|
656
|
+
JOIN ${nodes} AS tg_hybrid_node
|
|
657
|
+
ON ${qualified(nodes, "graphId")} = ${input.graphId}
|
|
658
|
+
AND ${qualified(nodes, "kind")} = ${input.nodeKind}
|
|
659
|
+
AND ${qualified(nodes, "id")} = tg_hybrid_fused.node_id
|
|
660
|
+
AND ${qualified(nodes, "deletedAt")} IS NULL
|
|
1245
661
|
ORDER BY fused_score DESC, ${nodeIdOrder} ASC
|
|
1246
662
|
LIMIT ${input.limit} OFFSET ${input.offset}
|
|
1247
663
|
`;
|
|
1248
664
|
}
|
|
1249
|
-
function qualified(
|
|
1250
|
-
return drizzleOrm.sql`tg_hybrid_node.${quotedColumn(
|
|
665
|
+
function qualified(nodes, member) {
|
|
666
|
+
return drizzleOrm.sql`tg_hybrid_node.${quotedColumn(nodes[member])}`;
|
|
1251
667
|
}
|
|
1252
668
|
function present(value) {
|
|
1253
669
|
return value !== null && value !== void 0;
|
|
@@ -1255,57 +671,57 @@ function present(value) {
|
|
|
1255
671
|
function mapHybridSearchRow(row, toNodeRow) {
|
|
1256
672
|
return {
|
|
1257
673
|
node: toNodeRow(row),
|
|
1258
|
-
fusedScore:
|
|
674
|
+
fusedScore: chunk7UTUKH4E_cjs.coerceNumericScore(row["fused_score"]),
|
|
1259
675
|
...present(row["vector_rank"]) ? { vectorRank: Number(row["vector_rank"]) } : {},
|
|
1260
|
-
...present(row["vector_score"]) ? { vectorScore:
|
|
676
|
+
...present(row["vector_score"]) ? { vectorScore: chunk7UTUKH4E_cjs.coerceNumericScore(row["vector_score"]) } : {},
|
|
1261
677
|
...present(row["fulltext_rank"]) ? { fulltextRank: Number(row["fulltext_rank"]) } : {},
|
|
1262
678
|
...present(row["fulltext_score"]) ? {
|
|
1263
|
-
fulltextScore:
|
|
679
|
+
fulltextScore: chunk7UTUKH4E_cjs.coerceNumericScore(
|
|
1264
680
|
row["fulltext_score"]
|
|
1265
681
|
)
|
|
1266
682
|
} : {},
|
|
1267
683
|
...present(row["snippet"]) ? { snippet: String(row["snippet"]) } : {}
|
|
1268
684
|
};
|
|
1269
685
|
}
|
|
1270
|
-
function buildClearGraph(
|
|
1271
|
-
const
|
|
686
|
+
function buildClearGraph(tables, graphId) {
|
|
687
|
+
const fulltext = quotedTableName(tables.fulltextTableName);
|
|
1272
688
|
return [
|
|
1273
|
-
{ query: drizzleOrm.sql`DELETE FROM ${
|
|
689
|
+
{ query: drizzleOrm.sql`DELETE FROM ${fulltext} WHERE "graph_id" = ${graphId}` },
|
|
1274
690
|
{
|
|
1275
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
691
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.recordedEdges} WHERE ${tables.recordedEdges.graphId} = ${graphId}`,
|
|
1276
692
|
ignoreMissingTable: true,
|
|
1277
|
-
requiredTableName: drizzleOrm.getTableName(
|
|
693
|
+
requiredTableName: drizzleOrm.getTableName(tables.recordedEdges)
|
|
1278
694
|
},
|
|
1279
695
|
{
|
|
1280
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
696
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.recordedNodes} WHERE ${tables.recordedNodes.graphId} = ${graphId}`,
|
|
1281
697
|
ignoreMissingTable: true,
|
|
1282
|
-
requiredTableName: drizzleOrm.getTableName(
|
|
698
|
+
requiredTableName: drizzleOrm.getTableName(tables.recordedNodes)
|
|
1283
699
|
},
|
|
1284
700
|
{
|
|
1285
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
701
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.recordedClock} WHERE ${tables.recordedClock.graphId} = ${graphId}`,
|
|
1286
702
|
ignoreMissingTable: true,
|
|
1287
|
-
requiredTableName: drizzleOrm.getTableName(
|
|
703
|
+
requiredTableName: drizzleOrm.getTableName(tables.recordedClock)
|
|
1288
704
|
},
|
|
1289
705
|
{
|
|
1290
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
706
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.uniques} WHERE ${tables.uniques.graphId} = ${graphId}`
|
|
1291
707
|
},
|
|
1292
708
|
{
|
|
1293
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
709
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.edges} WHERE ${tables.edges.graphId} = ${graphId}`
|
|
1294
710
|
},
|
|
1295
711
|
{
|
|
1296
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
712
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.nodes} WHERE ${tables.nodes.graphId} = ${graphId}`
|
|
1297
713
|
},
|
|
1298
714
|
{
|
|
1299
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
715
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.indexMaterializations} WHERE ${tables.indexMaterializations.graphId} = ${graphId}`
|
|
1300
716
|
},
|
|
1301
717
|
{
|
|
1302
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
718
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.kindRemovals} WHERE ${tables.kindRemovals.graphId} = ${graphId}`
|
|
1303
719
|
},
|
|
1304
720
|
{
|
|
1305
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
721
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.reconciliationMarkers} WHERE ${tables.reconciliationMarkers.graphId} = ${graphId}`
|
|
1306
722
|
},
|
|
1307
723
|
{
|
|
1308
|
-
query: drizzleOrm.sql`DELETE FROM ${
|
|
724
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.schemaVersions} WHERE ${tables.schemaVersions.graphId} = ${graphId}`
|
|
1309
725
|
}
|
|
1310
726
|
];
|
|
1311
727
|
}
|
|
@@ -1327,21 +743,21 @@ function buildTemporalConditions(table, params) {
|
|
|
1327
743
|
}
|
|
1328
744
|
return conditions;
|
|
1329
745
|
}
|
|
1330
|
-
function buildFindNodesByKind(
|
|
1331
|
-
const { nodes
|
|
746
|
+
function buildFindNodesByKind(tables, params) {
|
|
747
|
+
const { nodes } = tables;
|
|
1332
748
|
const conditions = [
|
|
1333
|
-
drizzleOrm.sql`${
|
|
1334
|
-
drizzleOrm.sql`${
|
|
1335
|
-
...buildTemporalConditions(
|
|
749
|
+
drizzleOrm.sql`${nodes.graphId} = ${params.graphId}`,
|
|
750
|
+
drizzleOrm.sql`${nodes.kind} = ${params.kind}`,
|
|
751
|
+
...buildTemporalConditions(nodes, params)
|
|
1336
752
|
];
|
|
1337
753
|
if (params.orderBy === "id" && params.after !== void 0) {
|
|
1338
|
-
conditions.push(drizzleOrm.sql`${
|
|
754
|
+
conditions.push(drizzleOrm.sql`${nodes.id} > ${params.after}`);
|
|
1339
755
|
}
|
|
1340
756
|
const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
|
|
1341
|
-
const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${
|
|
757
|
+
const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${nodes.id} ASC` : drizzleOrm.sql`${nodes.createdAt} DESC, ${nodes.id} DESC`;
|
|
1342
758
|
if (params.limit !== void 0 && params.offset !== void 0) {
|
|
1343
759
|
return drizzleOrm.sql`
|
|
1344
|
-
SELECT * FROM ${
|
|
760
|
+
SELECT * FROM ${nodes}
|
|
1345
761
|
WHERE ${whereClause}
|
|
1346
762
|
ORDER BY ${orderByClause}
|
|
1347
763
|
LIMIT ${params.limit} OFFSET ${params.offset}
|
|
@@ -1349,58 +765,58 @@ function buildFindNodesByKind(tables3, params) {
|
|
|
1349
765
|
}
|
|
1350
766
|
if (params.limit !== void 0) {
|
|
1351
767
|
return drizzleOrm.sql`
|
|
1352
|
-
SELECT * FROM ${
|
|
768
|
+
SELECT * FROM ${nodes}
|
|
1353
769
|
WHERE ${whereClause}
|
|
1354
770
|
ORDER BY ${orderByClause}
|
|
1355
771
|
LIMIT ${params.limit}
|
|
1356
772
|
`;
|
|
1357
773
|
}
|
|
1358
774
|
return drizzleOrm.sql`
|
|
1359
|
-
SELECT * FROM ${
|
|
775
|
+
SELECT * FROM ${nodes}
|
|
1360
776
|
WHERE ${whereClause}
|
|
1361
777
|
ORDER BY ${orderByClause}
|
|
1362
778
|
`;
|
|
1363
779
|
}
|
|
1364
|
-
function buildCountNodesByKind(
|
|
1365
|
-
const { nodes
|
|
780
|
+
function buildCountNodesByKind(tables, params) {
|
|
781
|
+
const { nodes } = tables;
|
|
1366
782
|
const conditions = [
|
|
1367
|
-
drizzleOrm.sql`${
|
|
1368
|
-
drizzleOrm.sql`${
|
|
1369
|
-
...buildTemporalConditions(
|
|
783
|
+
drizzleOrm.sql`${nodes.graphId} = ${params.graphId}`,
|
|
784
|
+
drizzleOrm.sql`${nodes.kind} = ${params.kind}`,
|
|
785
|
+
...buildTemporalConditions(nodes, params)
|
|
1370
786
|
];
|
|
1371
787
|
const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
|
|
1372
788
|
return drizzleOrm.sql`
|
|
1373
|
-
SELECT COUNT(*) as count FROM ${
|
|
789
|
+
SELECT COUNT(*) as count FROM ${nodes}
|
|
1374
790
|
WHERE ${whereClause}
|
|
1375
791
|
`;
|
|
1376
792
|
}
|
|
1377
|
-
function buildFindEdgesByKind(
|
|
1378
|
-
const { edges
|
|
793
|
+
function buildFindEdgesByKind(tables, params) {
|
|
794
|
+
const { edges } = tables;
|
|
1379
795
|
const conditions = [
|
|
1380
|
-
drizzleOrm.sql`${
|
|
1381
|
-
drizzleOrm.sql`${
|
|
1382
|
-
...buildTemporalConditions(
|
|
796
|
+
drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
|
|
797
|
+
drizzleOrm.sql`${edges.kind} = ${params.kind}`,
|
|
798
|
+
...buildTemporalConditions(edges, params)
|
|
1383
799
|
];
|
|
1384
800
|
if (params.fromKind !== void 0) {
|
|
1385
|
-
conditions.push(drizzleOrm.sql`${
|
|
801
|
+
conditions.push(drizzleOrm.sql`${edges.fromKind} = ${params.fromKind}`);
|
|
1386
802
|
}
|
|
1387
803
|
if (params.fromId !== void 0) {
|
|
1388
|
-
conditions.push(drizzleOrm.sql`${
|
|
804
|
+
conditions.push(drizzleOrm.sql`${edges.fromId} = ${params.fromId}`);
|
|
1389
805
|
}
|
|
1390
806
|
if (params.toKind !== void 0) {
|
|
1391
|
-
conditions.push(drizzleOrm.sql`${
|
|
807
|
+
conditions.push(drizzleOrm.sql`${edges.toKind} = ${params.toKind}`);
|
|
1392
808
|
}
|
|
1393
809
|
if (params.toId !== void 0) {
|
|
1394
|
-
conditions.push(drizzleOrm.sql`${
|
|
810
|
+
conditions.push(drizzleOrm.sql`${edges.toId} = ${params.toId}`);
|
|
1395
811
|
}
|
|
1396
812
|
if (params.orderBy === "id" && params.after !== void 0) {
|
|
1397
|
-
conditions.push(drizzleOrm.sql`${
|
|
813
|
+
conditions.push(drizzleOrm.sql`${edges.id} > ${params.after}`);
|
|
1398
814
|
}
|
|
1399
815
|
const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
|
|
1400
|
-
const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${
|
|
816
|
+
const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${edges.id} ASC` : drizzleOrm.sql`${edges.createdAt} DESC, ${edges.id} DESC`;
|
|
1401
817
|
if (params.limit !== void 0 && params.offset !== void 0) {
|
|
1402
818
|
return drizzleOrm.sql`
|
|
1403
|
-
SELECT * FROM ${
|
|
819
|
+
SELECT * FROM ${edges}
|
|
1404
820
|
WHERE ${whereClause}
|
|
1405
821
|
ORDER BY ${orderByClause}
|
|
1406
822
|
LIMIT ${params.limit} OFFSET ${params.offset}
|
|
@@ -1408,254 +824,254 @@ function buildFindEdgesByKind(tables3, params) {
|
|
|
1408
824
|
}
|
|
1409
825
|
if (params.limit !== void 0) {
|
|
1410
826
|
return drizzleOrm.sql`
|
|
1411
|
-
SELECT * FROM ${
|
|
827
|
+
SELECT * FROM ${edges}
|
|
1412
828
|
WHERE ${whereClause}
|
|
1413
829
|
ORDER BY ${orderByClause}
|
|
1414
830
|
LIMIT ${params.limit}
|
|
1415
831
|
`;
|
|
1416
832
|
}
|
|
1417
833
|
return drizzleOrm.sql`
|
|
1418
|
-
SELECT * FROM ${
|
|
834
|
+
SELECT * FROM ${edges}
|
|
1419
835
|
WHERE ${whereClause}
|
|
1420
836
|
ORDER BY ${orderByClause}
|
|
1421
837
|
`;
|
|
1422
838
|
}
|
|
1423
|
-
function buildCountEdgesByKind(
|
|
1424
|
-
const { edges
|
|
839
|
+
function buildCountEdgesByKind(tables, params) {
|
|
840
|
+
const { edges } = tables;
|
|
1425
841
|
const conditions = [
|
|
1426
|
-
drizzleOrm.sql`${
|
|
1427
|
-
drizzleOrm.sql`${
|
|
1428
|
-
...buildTemporalConditions(
|
|
842
|
+
drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
|
|
843
|
+
drizzleOrm.sql`${edges.kind} = ${params.kind}`,
|
|
844
|
+
...buildTemporalConditions(edges, params)
|
|
1429
845
|
];
|
|
1430
846
|
if (params.fromKind !== void 0) {
|
|
1431
|
-
conditions.push(drizzleOrm.sql`${
|
|
847
|
+
conditions.push(drizzleOrm.sql`${edges.fromKind} = ${params.fromKind}`);
|
|
1432
848
|
}
|
|
1433
849
|
if (params.fromId !== void 0) {
|
|
1434
|
-
conditions.push(drizzleOrm.sql`${
|
|
850
|
+
conditions.push(drizzleOrm.sql`${edges.fromId} = ${params.fromId}`);
|
|
1435
851
|
}
|
|
1436
852
|
if (params.toKind !== void 0) {
|
|
1437
|
-
conditions.push(drizzleOrm.sql`${
|
|
853
|
+
conditions.push(drizzleOrm.sql`${edges.toKind} = ${params.toKind}`);
|
|
1438
854
|
}
|
|
1439
855
|
if (params.toId !== void 0) {
|
|
1440
|
-
conditions.push(drizzleOrm.sql`${
|
|
856
|
+
conditions.push(drizzleOrm.sql`${edges.toId} = ${params.toId}`);
|
|
1441
857
|
}
|
|
1442
858
|
const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
|
|
1443
859
|
return drizzleOrm.sql`
|
|
1444
|
-
SELECT COUNT(*) as count FROM ${
|
|
860
|
+
SELECT COUNT(*) as count FROM ${edges}
|
|
1445
861
|
WHERE ${whereClause}
|
|
1446
862
|
`;
|
|
1447
863
|
}
|
|
1448
|
-
function buildInsertEdge(
|
|
1449
|
-
const { edges
|
|
864
|
+
function buildInsertEdge(tables, params, timestamp) {
|
|
865
|
+
const { edges } = tables;
|
|
1450
866
|
const propsJson = JSON.stringify(params.props);
|
|
1451
|
-
const columns = edgeColumnList(
|
|
867
|
+
const columns = edgeColumnList(edges);
|
|
1452
868
|
return drizzleOrm.sql`
|
|
1453
|
-
INSERT INTO ${
|
|
869
|
+
INSERT INTO ${edges} (${columns})
|
|
1454
870
|
VALUES (
|
|
1455
871
|
${params.graphId}, ${params.id}, ${params.kind},
|
|
1456
872
|
${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
|
|
1457
|
-
${propsJson}, ${sqlNull(resolveValidFrom(params.validFrom,
|
|
1458
|
-
${
|
|
873
|
+
${propsJson}, ${sqlNull(resolveValidFrom(params.validFrom, timestamp))}, ${sqlNull(params.validTo)},
|
|
874
|
+
${timestamp}, ${timestamp}
|
|
1459
875
|
)
|
|
1460
876
|
RETURNING *
|
|
1461
877
|
`;
|
|
1462
878
|
}
|
|
1463
|
-
function buildInsertEdgeNoReturn(
|
|
1464
|
-
const { edges
|
|
879
|
+
function buildInsertEdgeNoReturn(tables, params, timestamp) {
|
|
880
|
+
const { edges } = tables;
|
|
1465
881
|
const propsJson = JSON.stringify(params.props);
|
|
1466
|
-
const columns = edgeColumnList(
|
|
882
|
+
const columns = edgeColumnList(edges);
|
|
1467
883
|
return drizzleOrm.sql`
|
|
1468
|
-
INSERT INTO ${
|
|
884
|
+
INSERT INTO ${edges} (${columns})
|
|
1469
885
|
VALUES (
|
|
1470
886
|
${params.graphId}, ${params.id}, ${params.kind},
|
|
1471
887
|
${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
|
|
1472
|
-
${propsJson}, ${sqlNull(resolveValidFrom(params.validFrom,
|
|
1473
|
-
${
|
|
888
|
+
${propsJson}, ${sqlNull(resolveValidFrom(params.validFrom, timestamp))}, ${sqlNull(params.validTo)},
|
|
889
|
+
${timestamp}, ${timestamp}
|
|
1474
890
|
)
|
|
1475
891
|
`;
|
|
1476
892
|
}
|
|
1477
|
-
function buildInsertEdgesBatch(
|
|
1478
|
-
const { edges
|
|
1479
|
-
const columns = edgeColumnList(
|
|
893
|
+
function buildInsertEdgesBatch(tables, params, timestamp) {
|
|
894
|
+
const { edges } = tables;
|
|
895
|
+
const columns = edgeColumnList(edges);
|
|
1480
896
|
const values = params.map((edgeParams) => {
|
|
1481
897
|
const propsJson = JSON.stringify(edgeParams.props);
|
|
1482
|
-
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(resolveValidFrom(edgeParams.validFrom,
|
|
898
|
+
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(resolveValidFrom(edgeParams.validFrom, timestamp))}, ${sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1483
899
|
});
|
|
1484
900
|
return drizzleOrm.sql`
|
|
1485
|
-
INSERT INTO ${
|
|
901
|
+
INSERT INTO ${edges} (${columns})
|
|
1486
902
|
VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
|
|
1487
903
|
`;
|
|
1488
904
|
}
|
|
1489
|
-
function buildInsertEdgesBatchReturning(
|
|
1490
|
-
const { edges
|
|
1491
|
-
const columns = edgeColumnList(
|
|
905
|
+
function buildInsertEdgesBatchReturning(tables, params, timestamp) {
|
|
906
|
+
const { edges } = tables;
|
|
907
|
+
const columns = edgeColumnList(edges);
|
|
1492
908
|
const values = params.map((edgeParams) => {
|
|
1493
909
|
const propsJson = JSON.stringify(edgeParams.props);
|
|
1494
|
-
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(resolveValidFrom(edgeParams.validFrom,
|
|
910
|
+
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(resolveValidFrom(edgeParams.validFrom, timestamp))}, ${sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1495
911
|
});
|
|
1496
912
|
return drizzleOrm.sql`
|
|
1497
|
-
INSERT INTO ${
|
|
913
|
+
INSERT INTO ${edges} (${columns})
|
|
1498
914
|
VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
|
|
1499
915
|
RETURNING *
|
|
1500
916
|
`;
|
|
1501
917
|
}
|
|
1502
|
-
function buildGetEdge(
|
|
1503
|
-
const { edges
|
|
918
|
+
function buildGetEdge(tables, graphId, id) {
|
|
919
|
+
const { edges } = tables;
|
|
1504
920
|
return drizzleOrm.sql`
|
|
1505
|
-
SELECT * FROM ${
|
|
1506
|
-
WHERE ${
|
|
1507
|
-
AND ${
|
|
921
|
+
SELECT * FROM ${edges}
|
|
922
|
+
WHERE ${edges.graphId} = ${graphId}
|
|
923
|
+
AND ${edges.id} = ${id}
|
|
1508
924
|
`;
|
|
1509
925
|
}
|
|
1510
|
-
function buildGetEdges(
|
|
1511
|
-
const { edges
|
|
926
|
+
function buildGetEdges(tables, graphId, ids) {
|
|
927
|
+
const { edges } = tables;
|
|
1512
928
|
return drizzleOrm.sql`
|
|
1513
|
-
SELECT * FROM ${
|
|
1514
|
-
WHERE ${
|
|
1515
|
-
AND ${
|
|
929
|
+
SELECT * FROM ${edges}
|
|
930
|
+
WHERE ${edges.graphId} = ${graphId}
|
|
931
|
+
AND ${edges.id} IN (${drizzleOrm.sql.join(
|
|
1516
932
|
ids.map((id) => drizzleOrm.sql`${id}`),
|
|
1517
933
|
drizzleOrm.sql`, `
|
|
1518
934
|
)})
|
|
1519
935
|
`;
|
|
1520
936
|
}
|
|
1521
|
-
function buildUpdateEdge(
|
|
1522
|
-
const { edges
|
|
937
|
+
function buildUpdateEdge(tables, params, timestamp) {
|
|
938
|
+
const { edges } = tables;
|
|
1523
939
|
const propsJson = JSON.stringify(params.props);
|
|
1524
940
|
const setParts = [
|
|
1525
|
-
drizzleOrm.sql`${quotedColumn(
|
|
1526
|
-
drizzleOrm.sql`${quotedColumn(
|
|
941
|
+
drizzleOrm.sql`${quotedColumn(edges.props)} = ${propsJson}`,
|
|
942
|
+
drizzleOrm.sql`${quotedColumn(edges.updatedAt)} = ${timestamp}`
|
|
1527
943
|
];
|
|
1528
944
|
if (params.validTo !== void 0) {
|
|
1529
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(
|
|
945
|
+
setParts.push(drizzleOrm.sql`${quotedColumn(edges.validTo)} = ${params.validTo}`);
|
|
1530
946
|
}
|
|
1531
947
|
if (params.clearDeleted) {
|
|
1532
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(
|
|
948
|
+
setParts.push(drizzleOrm.sql`${quotedColumn(edges.deletedAt)} = NULL`);
|
|
1533
949
|
}
|
|
1534
950
|
const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
|
|
1535
951
|
if (params.clearDeleted) {
|
|
1536
952
|
return drizzleOrm.sql`
|
|
1537
|
-
UPDATE ${
|
|
953
|
+
UPDATE ${edges}
|
|
1538
954
|
SET ${setClause}
|
|
1539
|
-
WHERE ${
|
|
1540
|
-
AND ${
|
|
955
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
956
|
+
AND ${edges.id} = ${params.id}
|
|
1541
957
|
RETURNING *
|
|
1542
958
|
`;
|
|
1543
959
|
}
|
|
1544
960
|
return drizzleOrm.sql`
|
|
1545
|
-
UPDATE ${
|
|
961
|
+
UPDATE ${edges}
|
|
1546
962
|
SET ${setClause}
|
|
1547
|
-
WHERE ${
|
|
1548
|
-
AND ${
|
|
1549
|
-
AND ${
|
|
963
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
964
|
+
AND ${edges.id} = ${params.id}
|
|
965
|
+
AND ${edges.deletedAt} IS NULL
|
|
1550
966
|
RETURNING *
|
|
1551
967
|
`;
|
|
1552
968
|
}
|
|
1553
|
-
function buildDeleteEdge(
|
|
1554
|
-
const { edges
|
|
969
|
+
function buildDeleteEdge(tables, params, timestamp) {
|
|
970
|
+
const { edges } = tables;
|
|
1555
971
|
return drizzleOrm.sql`
|
|
1556
|
-
UPDATE ${
|
|
1557
|
-
SET ${quotedColumn(
|
|
1558
|
-
WHERE ${
|
|
1559
|
-
AND ${
|
|
1560
|
-
AND ${
|
|
972
|
+
UPDATE ${edges}
|
|
973
|
+
SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
974
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
975
|
+
AND ${edges.id} = ${params.id}
|
|
976
|
+
AND ${edges.deletedAt} IS NULL
|
|
1561
977
|
`;
|
|
1562
978
|
}
|
|
1563
|
-
function buildDeleteEdgesBatch(
|
|
1564
|
-
const { edges
|
|
979
|
+
function buildDeleteEdgesBatch(tables, params, timestamp) {
|
|
980
|
+
const { edges } = tables;
|
|
1565
981
|
return drizzleOrm.sql`
|
|
1566
|
-
UPDATE ${
|
|
1567
|
-
SET ${quotedColumn(
|
|
1568
|
-
WHERE ${
|
|
1569
|
-
AND ${
|
|
982
|
+
UPDATE ${edges}
|
|
983
|
+
SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
984
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
985
|
+
AND ${edges.id} IN (${drizzleOrm.sql.join(
|
|
1570
986
|
params.ids.map((id) => drizzleOrm.sql`${id}`),
|
|
1571
987
|
drizzleOrm.sql`, `
|
|
1572
988
|
)})
|
|
1573
|
-
AND ${
|
|
989
|
+
AND ${edges.deletedAt} IS NULL
|
|
1574
990
|
`;
|
|
1575
991
|
}
|
|
1576
|
-
function buildHardDeleteEdgesBatch(
|
|
1577
|
-
const { edges
|
|
992
|
+
function buildHardDeleteEdgesBatch(tables, params) {
|
|
993
|
+
const { edges } = tables;
|
|
1578
994
|
return drizzleOrm.sql`
|
|
1579
|
-
DELETE FROM ${
|
|
1580
|
-
WHERE ${
|
|
1581
|
-
AND ${
|
|
995
|
+
DELETE FROM ${edges}
|
|
996
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
997
|
+
AND ${edges.id} IN (${drizzleOrm.sql.join(
|
|
1582
998
|
params.ids.map((id) => drizzleOrm.sql`${id}`),
|
|
1583
999
|
drizzleOrm.sql`, `
|
|
1584
1000
|
)})
|
|
1585
1001
|
`;
|
|
1586
1002
|
}
|
|
1587
|
-
function buildHardDeleteEdge(
|
|
1588
|
-
const { edges
|
|
1003
|
+
function buildHardDeleteEdge(tables, params) {
|
|
1004
|
+
const { edges } = tables;
|
|
1589
1005
|
return drizzleOrm.sql`
|
|
1590
|
-
DELETE FROM ${
|
|
1591
|
-
WHERE ${
|
|
1592
|
-
AND ${
|
|
1006
|
+
DELETE FROM ${edges}
|
|
1007
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1008
|
+
AND ${edges.id} = ${params.id}
|
|
1593
1009
|
`;
|
|
1594
1010
|
}
|
|
1595
|
-
function buildHardDeleteEdgesByNode(
|
|
1596
|
-
const { edges
|
|
1011
|
+
function buildHardDeleteEdgesByNode(tables, graphId, nodeKind, nodeId) {
|
|
1012
|
+
const { edges } = tables;
|
|
1597
1013
|
return drizzleOrm.sql`
|
|
1598
|
-
DELETE FROM ${
|
|
1599
|
-
WHERE ${
|
|
1014
|
+
DELETE FROM ${edges}
|
|
1015
|
+
WHERE ${edges.graphId} = ${graphId}
|
|
1600
1016
|
AND (
|
|
1601
|
-
(${
|
|
1602
|
-
OR (${
|
|
1017
|
+
(${edges.fromKind} = ${nodeKind} AND ${edges.fromId} = ${nodeId})
|
|
1018
|
+
OR (${edges.toKind} = ${nodeKind} AND ${edges.toId} = ${nodeId})
|
|
1603
1019
|
)
|
|
1604
1020
|
`;
|
|
1605
1021
|
}
|
|
1606
|
-
function buildCountEdgesFrom(
|
|
1607
|
-
const { edges
|
|
1022
|
+
function buildCountEdgesFrom(tables, params) {
|
|
1023
|
+
const { edges } = tables;
|
|
1608
1024
|
if (params.activeOnly) {
|
|
1609
1025
|
return drizzleOrm.sql`
|
|
1610
|
-
SELECT COUNT(*) as count FROM ${
|
|
1611
|
-
WHERE ${
|
|
1612
|
-
AND ${
|
|
1613
|
-
AND ${
|
|
1614
|
-
AND ${
|
|
1615
|
-
AND ${
|
|
1616
|
-
AND ${
|
|
1026
|
+
SELECT COUNT(*) as count FROM ${edges}
|
|
1027
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1028
|
+
AND ${edges.kind} = ${params.edgeKind}
|
|
1029
|
+
AND ${edges.fromKind} = ${params.fromKind}
|
|
1030
|
+
AND ${edges.fromId} = ${params.fromId}
|
|
1031
|
+
AND ${edges.deletedAt} IS NULL
|
|
1032
|
+
AND ${edges.validTo} IS NULL
|
|
1617
1033
|
`;
|
|
1618
1034
|
}
|
|
1619
1035
|
return drizzleOrm.sql`
|
|
1620
|
-
SELECT COUNT(*) as count FROM ${
|
|
1621
|
-
WHERE ${
|
|
1622
|
-
AND ${
|
|
1623
|
-
AND ${
|
|
1624
|
-
AND ${
|
|
1625
|
-
AND ${
|
|
1036
|
+
SELECT COUNT(*) as count FROM ${edges}
|
|
1037
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1038
|
+
AND ${edges.kind} = ${params.edgeKind}
|
|
1039
|
+
AND ${edges.fromKind} = ${params.fromKind}
|
|
1040
|
+
AND ${edges.fromId} = ${params.fromId}
|
|
1041
|
+
AND ${edges.deletedAt} IS NULL
|
|
1626
1042
|
`;
|
|
1627
1043
|
}
|
|
1628
|
-
function buildEdgeExistsBetween(
|
|
1629
|
-
const { edges
|
|
1044
|
+
function buildEdgeExistsBetween(tables, params) {
|
|
1045
|
+
const { edges } = tables;
|
|
1630
1046
|
return drizzleOrm.sql`
|
|
1631
|
-
SELECT 1 FROM ${
|
|
1632
|
-
WHERE ${
|
|
1633
|
-
AND ${
|
|
1634
|
-
AND ${
|
|
1635
|
-
AND ${
|
|
1636
|
-
AND ${
|
|
1637
|
-
AND ${
|
|
1638
|
-
AND ${
|
|
1047
|
+
SELECT 1 FROM ${edges}
|
|
1048
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1049
|
+
AND ${edges.kind} = ${params.edgeKind}
|
|
1050
|
+
AND ${edges.fromKind} = ${params.fromKind}
|
|
1051
|
+
AND ${edges.fromId} = ${params.fromId}
|
|
1052
|
+
AND ${edges.toKind} = ${params.toKind}
|
|
1053
|
+
AND ${edges.toId} = ${params.toId}
|
|
1054
|
+
AND ${edges.deletedAt} IS NULL
|
|
1639
1055
|
LIMIT 1
|
|
1640
1056
|
`;
|
|
1641
1057
|
}
|
|
1642
|
-
function buildFindEdgesConnectedTo(
|
|
1643
|
-
const { edges
|
|
1058
|
+
function buildFindEdgesConnectedTo(tables, params) {
|
|
1059
|
+
const { edges } = tables;
|
|
1644
1060
|
return drizzleOrm.sql`
|
|
1645
|
-
SELECT * FROM ${
|
|
1646
|
-
WHERE ${
|
|
1647
|
-
AND ${
|
|
1648
|
-
AND ${
|
|
1649
|
-
AND ${
|
|
1061
|
+
SELECT * FROM ${edges}
|
|
1062
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1063
|
+
AND ${edges.deletedAt} IS NULL
|
|
1064
|
+
AND ${edges.fromKind} = ${params.nodeKind}
|
|
1065
|
+
AND ${edges.fromId} = ${params.nodeId}
|
|
1650
1066
|
UNION ALL
|
|
1651
|
-
SELECT * FROM ${
|
|
1652
|
-
WHERE ${
|
|
1653
|
-
AND ${
|
|
1654
|
-
AND ${
|
|
1655
|
-
AND ${
|
|
1067
|
+
SELECT * FROM ${edges}
|
|
1068
|
+
WHERE ${edges.graphId} = ${params.graphId}
|
|
1069
|
+
AND ${edges.deletedAt} IS NULL
|
|
1070
|
+
AND ${edges.toKind} = ${params.nodeKind}
|
|
1071
|
+
AND ${edges.toId} = ${params.nodeId}
|
|
1656
1072
|
AND NOT (
|
|
1657
|
-
${
|
|
1658
|
-
AND ${
|
|
1073
|
+
${edges.fromKind} = ${params.nodeKind}
|
|
1074
|
+
AND ${edges.fromId} = ${params.nodeId}
|
|
1659
1075
|
)
|
|
1660
1076
|
`;
|
|
1661
1077
|
}
|
|
@@ -1666,11 +1082,11 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
|
|
|
1666
1082
|
assertValidSearchParams(params);
|
|
1667
1083
|
const mode = resolveMode(params.mode);
|
|
1668
1084
|
const table = quotedTableName(tableName);
|
|
1669
|
-
const matchCondition =
|
|
1085
|
+
const matchCondition = chunkSE422RES_cjs.toDrizzleSql(
|
|
1670
1086
|
strategy.matchCondition(tableName, params.query, mode, params.language),
|
|
1671
1087
|
dialect
|
|
1672
1088
|
);
|
|
1673
|
-
const rankExpression =
|
|
1089
|
+
const rankExpression = chunkSE422RES_cjs.toDrizzleSql(
|
|
1674
1090
|
strategy.rankExpression(tableName, params.query, mode, params.language),
|
|
1675
1091
|
dialect
|
|
1676
1092
|
);
|
|
@@ -1683,10 +1099,10 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
|
|
|
1683
1099
|
conditions.push(drizzleOrm.sql`${rankExpression} >= ${params.minScore}`);
|
|
1684
1100
|
}
|
|
1685
1101
|
if (candidates !== void 0) {
|
|
1686
|
-
const candidateSql =
|
|
1102
|
+
const candidateSql = chunkYX3H63VV_cjs.isSqlFragment(candidates) ? chunkSE422RES_cjs.toDrizzleSql(candidates, dialect) : candidates;
|
|
1687
1103
|
conditions.push(drizzleOrm.sql`"node_id" IN (${candidateSql})`);
|
|
1688
1104
|
}
|
|
1689
|
-
const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ?
|
|
1105
|
+
const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunkSE422RES_cjs.toDrizzleSql(
|
|
1690
1106
|
strategy.snippetExpression(
|
|
1691
1107
|
tableName,
|
|
1692
1108
|
params.query,
|
|
@@ -1717,136 +1133,136 @@ function assertValidSearchParams(params) {
|
|
|
1717
1133
|
);
|
|
1718
1134
|
}
|
|
1719
1135
|
}
|
|
1720
|
-
function buildInsertNode(
|
|
1721
|
-
const { nodes
|
|
1136
|
+
function buildInsertNode(tables, params, timestamp) {
|
|
1137
|
+
const { nodes } = tables;
|
|
1722
1138
|
const propsJson = JSON.stringify(params.props);
|
|
1723
|
-
const columns = nodeColumnList(
|
|
1139
|
+
const columns = nodeColumnList(nodes);
|
|
1724
1140
|
return drizzleOrm.sql`
|
|
1725
|
-
INSERT INTO ${
|
|
1141
|
+
INSERT INTO ${nodes} (${columns})
|
|
1726
1142
|
VALUES (
|
|
1727
1143
|
${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
|
|
1728
|
-
1, ${sqlNull(resolveValidFrom(params.validFrom,
|
|
1729
|
-
${
|
|
1144
|
+
1, ${sqlNull(resolveValidFrom(params.validFrom, timestamp))}, ${sqlNull(params.validTo)},
|
|
1145
|
+
${timestamp}, ${timestamp}
|
|
1730
1146
|
)
|
|
1731
1147
|
RETURNING *
|
|
1732
1148
|
`;
|
|
1733
1149
|
}
|
|
1734
|
-
function buildInsertNodeNoReturn(
|
|
1735
|
-
const { nodes
|
|
1150
|
+
function buildInsertNodeNoReturn(tables, params, timestamp) {
|
|
1151
|
+
const { nodes } = tables;
|
|
1736
1152
|
const propsJson = JSON.stringify(params.props);
|
|
1737
|
-
const columns = nodeColumnList(
|
|
1153
|
+
const columns = nodeColumnList(nodes);
|
|
1738
1154
|
return drizzleOrm.sql`
|
|
1739
|
-
INSERT INTO ${
|
|
1155
|
+
INSERT INTO ${nodes} (${columns})
|
|
1740
1156
|
VALUES (
|
|
1741
1157
|
${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
|
|
1742
|
-
1, ${sqlNull(resolveValidFrom(params.validFrom,
|
|
1743
|
-
${
|
|
1158
|
+
1, ${sqlNull(resolveValidFrom(params.validFrom, timestamp))}, ${sqlNull(params.validTo)},
|
|
1159
|
+
${timestamp}, ${timestamp}
|
|
1744
1160
|
)
|
|
1745
1161
|
`;
|
|
1746
1162
|
}
|
|
1747
|
-
function buildInsertNodesBatch(
|
|
1748
|
-
const { nodes
|
|
1749
|
-
const columns = nodeColumnList(
|
|
1163
|
+
function buildInsertNodesBatch(tables, params, timestamp) {
|
|
1164
|
+
const { nodes } = tables;
|
|
1165
|
+
const columns = nodeColumnList(nodes);
|
|
1750
1166
|
const values = params.map((nodeParams) => {
|
|
1751
1167
|
const propsJson = JSON.stringify(nodeParams.props);
|
|
1752
|
-
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(resolveValidFrom(nodeParams.validFrom,
|
|
1168
|
+
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(resolveValidFrom(nodeParams.validFrom, timestamp))}, ${sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1753
1169
|
});
|
|
1754
1170
|
return drizzleOrm.sql`
|
|
1755
|
-
INSERT INTO ${
|
|
1171
|
+
INSERT INTO ${nodes} (${columns})
|
|
1756
1172
|
VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
|
|
1757
1173
|
`;
|
|
1758
1174
|
}
|
|
1759
|
-
function buildInsertNodesBatchReturning(
|
|
1760
|
-
const { nodes
|
|
1761
|
-
const columns = nodeColumnList(
|
|
1175
|
+
function buildInsertNodesBatchReturning(tables, params, timestamp) {
|
|
1176
|
+
const { nodes } = tables;
|
|
1177
|
+
const columns = nodeColumnList(nodes);
|
|
1762
1178
|
const values = params.map((nodeParams) => {
|
|
1763
1179
|
const propsJson = JSON.stringify(nodeParams.props);
|
|
1764
|
-
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(resolveValidFrom(nodeParams.validFrom,
|
|
1180
|
+
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(resolveValidFrom(nodeParams.validFrom, timestamp))}, ${sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1765
1181
|
});
|
|
1766
1182
|
return drizzleOrm.sql`
|
|
1767
|
-
INSERT INTO ${
|
|
1183
|
+
INSERT INTO ${nodes} (${columns})
|
|
1768
1184
|
VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
|
|
1769
1185
|
RETURNING *
|
|
1770
1186
|
`;
|
|
1771
1187
|
}
|
|
1772
|
-
function buildGetNode(
|
|
1773
|
-
const { nodes
|
|
1188
|
+
function buildGetNode(tables, graphId, kind, id) {
|
|
1189
|
+
const { nodes } = tables;
|
|
1774
1190
|
return drizzleOrm.sql`
|
|
1775
|
-
SELECT * FROM ${
|
|
1776
|
-
WHERE ${
|
|
1777
|
-
AND ${
|
|
1778
|
-
AND ${
|
|
1191
|
+
SELECT * FROM ${nodes}
|
|
1192
|
+
WHERE ${nodes.graphId} = ${graphId}
|
|
1193
|
+
AND ${nodes.kind} = ${kind}
|
|
1194
|
+
AND ${nodes.id} = ${id}
|
|
1779
1195
|
`;
|
|
1780
1196
|
}
|
|
1781
|
-
function buildGetNodes(
|
|
1782
|
-
const { nodes
|
|
1197
|
+
function buildGetNodes(tables, graphId, kind, ids) {
|
|
1198
|
+
const { nodes } = tables;
|
|
1783
1199
|
return drizzleOrm.sql`
|
|
1784
|
-
SELECT * FROM ${
|
|
1785
|
-
WHERE ${
|
|
1786
|
-
AND ${
|
|
1787
|
-
AND ${
|
|
1200
|
+
SELECT * FROM ${nodes}
|
|
1201
|
+
WHERE ${nodes.graphId} = ${graphId}
|
|
1202
|
+
AND ${nodes.kind} = ${kind}
|
|
1203
|
+
AND ${nodes.id} IN (${drizzleOrm.sql.join(
|
|
1788
1204
|
ids.map((id) => drizzleOrm.sql`${id}`),
|
|
1789
1205
|
drizzleOrm.sql`, `
|
|
1790
1206
|
)})
|
|
1791
1207
|
`;
|
|
1792
1208
|
}
|
|
1793
|
-
function buildUpdateNode(
|
|
1794
|
-
const { nodes
|
|
1209
|
+
function buildUpdateNode(tables, params, timestamp) {
|
|
1210
|
+
const { nodes } = tables;
|
|
1795
1211
|
const propsJson = JSON.stringify(params.props);
|
|
1796
1212
|
const setParts = [
|
|
1797
|
-
drizzleOrm.sql`${quotedColumn(
|
|
1798
|
-
drizzleOrm.sql`${quotedColumn(
|
|
1213
|
+
drizzleOrm.sql`${quotedColumn(nodes.props)} = ${propsJson}`,
|
|
1214
|
+
drizzleOrm.sql`${quotedColumn(nodes.updatedAt)} = ${timestamp}`
|
|
1799
1215
|
];
|
|
1800
1216
|
if (params.incrementVersion) {
|
|
1801
1217
|
setParts.push(
|
|
1802
|
-
drizzleOrm.sql`${quotedColumn(
|
|
1218
|
+
drizzleOrm.sql`${quotedColumn(nodes.version)} = ${quotedColumn(nodes.version)} + 1`
|
|
1803
1219
|
);
|
|
1804
1220
|
}
|
|
1805
1221
|
if (params.validTo !== void 0) {
|
|
1806
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(
|
|
1222
|
+
setParts.push(drizzleOrm.sql`${quotedColumn(nodes.validTo)} = ${params.validTo}`);
|
|
1807
1223
|
}
|
|
1808
1224
|
if (params.clearDeleted) {
|
|
1809
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(
|
|
1225
|
+
setParts.push(drizzleOrm.sql`${quotedColumn(nodes.deletedAt)} = NULL`);
|
|
1810
1226
|
}
|
|
1811
1227
|
const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
|
|
1812
1228
|
if (params.clearDeleted) {
|
|
1813
1229
|
return drizzleOrm.sql`
|
|
1814
|
-
UPDATE ${
|
|
1230
|
+
UPDATE ${nodes}
|
|
1815
1231
|
SET ${setClause}
|
|
1816
|
-
WHERE ${
|
|
1817
|
-
AND ${
|
|
1818
|
-
AND ${
|
|
1232
|
+
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1233
|
+
AND ${nodes.kind} = ${params.kind}
|
|
1234
|
+
AND ${nodes.id} = ${params.id}
|
|
1819
1235
|
RETURNING *
|
|
1820
1236
|
`;
|
|
1821
1237
|
}
|
|
1822
1238
|
return drizzleOrm.sql`
|
|
1823
|
-
UPDATE ${
|
|
1239
|
+
UPDATE ${nodes}
|
|
1824
1240
|
SET ${setClause}
|
|
1825
|
-
WHERE ${
|
|
1826
|
-
AND ${
|
|
1827
|
-
AND ${
|
|
1828
|
-
AND ${
|
|
1241
|
+
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1242
|
+
AND ${nodes.kind} = ${params.kind}
|
|
1243
|
+
AND ${nodes.id} = ${params.id}
|
|
1244
|
+
AND ${nodes.deletedAt} IS NULL
|
|
1829
1245
|
RETURNING *
|
|
1830
1246
|
`;
|
|
1831
1247
|
}
|
|
1832
|
-
function buildDeleteNode(
|
|
1833
|
-
const { nodes
|
|
1248
|
+
function buildDeleteNode(tables, params, timestamp) {
|
|
1249
|
+
const { nodes } = tables;
|
|
1834
1250
|
return drizzleOrm.sql`
|
|
1835
|
-
UPDATE ${
|
|
1836
|
-
SET ${quotedColumn(
|
|
1837
|
-
WHERE ${
|
|
1838
|
-
AND ${
|
|
1839
|
-
AND ${
|
|
1840
|
-
AND ${
|
|
1251
|
+
UPDATE ${nodes}
|
|
1252
|
+
SET ${quotedColumn(nodes.deletedAt)} = ${timestamp}
|
|
1253
|
+
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1254
|
+
AND ${nodes.kind} = ${params.kind}
|
|
1255
|
+
AND ${nodes.id} = ${params.id}
|
|
1256
|
+
AND ${nodes.deletedAt} IS NULL
|
|
1841
1257
|
`;
|
|
1842
1258
|
}
|
|
1843
|
-
function buildHardDeleteNode(
|
|
1844
|
-
const { nodes
|
|
1259
|
+
function buildHardDeleteNode(tables, params) {
|
|
1260
|
+
const { nodes } = tables;
|
|
1845
1261
|
return drizzleOrm.sql`
|
|
1846
|
-
DELETE FROM ${
|
|
1847
|
-
WHERE ${
|
|
1848
|
-
AND ${
|
|
1849
|
-
AND ${
|
|
1262
|
+
DELETE FROM ${nodes}
|
|
1263
|
+
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1264
|
+
AND ${nodes.kind} = ${params.kind}
|
|
1265
|
+
AND ${nodes.id} = ${params.id}
|
|
1850
1266
|
`;
|
|
1851
1267
|
}
|
|
1852
1268
|
function createSchemaDialectStrategy(dialect) {
|
|
@@ -1867,144 +1283,144 @@ var SCHEMA_DIALECT_STRATEGIES = {
|
|
|
1867
1283
|
postgres: createSchemaDialectStrategy("postgres"),
|
|
1868
1284
|
sqlite: createSchemaDialectStrategy("sqlite")
|
|
1869
1285
|
};
|
|
1870
|
-
function buildInsertSchema(
|
|
1871
|
-
const { schemaVersions
|
|
1286
|
+
function buildInsertSchema(tables, params, timestamp, dialect = "sqlite") {
|
|
1287
|
+
const { schemaVersions } = tables;
|
|
1872
1288
|
const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
|
|
1873
1289
|
const schemaDocumentJson = JSON.stringify(params.schemaDoc);
|
|
1874
1290
|
const isActiveValue = strategy.booleanLiteral(params.isActive);
|
|
1875
1291
|
const columns = drizzleOrm.sql.raw(
|
|
1876
|
-
`"${
|
|
1292
|
+
`"${schemaVersions.graphId.name}", "${schemaVersions.version.name}", "${schemaVersions.schemaHash.name}", "${schemaVersions.schemaDoc.name}", "${schemaVersions.createdAt.name}", "${schemaVersions.isActive.name}"`
|
|
1877
1293
|
);
|
|
1878
1294
|
return drizzleOrm.sql`
|
|
1879
|
-
INSERT INTO ${
|
|
1295
|
+
INSERT INTO ${schemaVersions} (${columns})
|
|
1880
1296
|
VALUES (
|
|
1881
1297
|
${params.graphId}, ${params.version},
|
|
1882
1298
|
${params.schemaHash}, ${schemaDocumentJson},
|
|
1883
|
-
${
|
|
1299
|
+
${timestamp}, ${isActiveValue}
|
|
1884
1300
|
)
|
|
1885
1301
|
RETURNING *
|
|
1886
1302
|
`;
|
|
1887
1303
|
}
|
|
1888
|
-
function buildGetActiveSchema(
|
|
1889
|
-
const { schemaVersions
|
|
1304
|
+
function buildGetActiveSchema(tables, graphId, dialect = "sqlite") {
|
|
1305
|
+
const { schemaVersions } = tables;
|
|
1890
1306
|
const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
|
|
1891
1307
|
return drizzleOrm.sql`
|
|
1892
|
-
SELECT * FROM ${
|
|
1893
|
-
WHERE ${
|
|
1894
|
-
AND ${
|
|
1308
|
+
SELECT * FROM ${schemaVersions}
|
|
1309
|
+
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
1310
|
+
AND ${schemaVersions.isActive} = ${strategy.booleanLiteral(true)}
|
|
1895
1311
|
`;
|
|
1896
1312
|
}
|
|
1897
|
-
function buildGetSchemaVersion(
|
|
1898
|
-
const { schemaVersions
|
|
1313
|
+
function buildGetSchemaVersion(tables, graphId, version) {
|
|
1314
|
+
const { schemaVersions } = tables;
|
|
1899
1315
|
return drizzleOrm.sql`
|
|
1900
|
-
SELECT * FROM ${
|
|
1901
|
-
WHERE ${
|
|
1902
|
-
AND ${
|
|
1316
|
+
SELECT * FROM ${schemaVersions}
|
|
1317
|
+
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
1318
|
+
AND ${schemaVersions.version} = ${version}
|
|
1903
1319
|
`;
|
|
1904
1320
|
}
|
|
1905
|
-
function buildSetActiveSchema(
|
|
1906
|
-
const { schemaVersions
|
|
1321
|
+
function buildSetActiveSchema(tables, graphId, version, dialect = "sqlite") {
|
|
1322
|
+
const { schemaVersions } = tables;
|
|
1907
1323
|
const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
|
|
1908
1324
|
const deactivateAll = drizzleOrm.sql`
|
|
1909
|
-
UPDATE ${
|
|
1910
|
-
SET ${quotedColumn(
|
|
1911
|
-
WHERE ${
|
|
1325
|
+
UPDATE ${schemaVersions}
|
|
1326
|
+
SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
|
|
1327
|
+
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
1912
1328
|
`;
|
|
1913
1329
|
const activateVersion = drizzleOrm.sql`
|
|
1914
|
-
UPDATE ${
|
|
1915
|
-
SET ${quotedColumn(
|
|
1916
|
-
WHERE ${
|
|
1917
|
-
AND ${
|
|
1330
|
+
UPDATE ${schemaVersions}
|
|
1331
|
+
SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
|
|
1332
|
+
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
1333
|
+
AND ${schemaVersions.version} = ${version}
|
|
1918
1334
|
`;
|
|
1919
1335
|
return { deactivateAll, activateVersion };
|
|
1920
1336
|
}
|
|
1921
|
-
function buildInsertUniqueSqlite(
|
|
1922
|
-
const { uniques
|
|
1337
|
+
function buildInsertUniqueSqlite(tables, params) {
|
|
1338
|
+
const { uniques } = tables;
|
|
1923
1339
|
const columns = drizzleOrm.sql.raw(
|
|
1924
|
-
`"${
|
|
1340
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
1925
1341
|
);
|
|
1926
1342
|
const conflictColumns = drizzleOrm.sql.raw(
|
|
1927
|
-
`"${
|
|
1343
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
1928
1344
|
);
|
|
1929
1345
|
return drizzleOrm.sql`
|
|
1930
|
-
INSERT INTO ${
|
|
1346
|
+
INSERT INTO ${uniques} (${columns})
|
|
1931
1347
|
VALUES (
|
|
1932
1348
|
${params.graphId}, ${params.nodeKind}, ${params.constraintName},
|
|
1933
1349
|
${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
|
|
1934
1350
|
)
|
|
1935
1351
|
ON CONFLICT (${conflictColumns})
|
|
1936
1352
|
DO UPDATE SET
|
|
1937
|
-
${quotedColumn(
|
|
1938
|
-
WHEN ${quotedColumn(
|
|
1939
|
-
WHEN ${quotedColumn(
|
|
1940
|
-
ELSE ${quotedColumn(
|
|
1353
|
+
${quotedColumn(uniques.nodeId)} = CASE
|
|
1354
|
+
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
|
|
1355
|
+
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
|
|
1356
|
+
ELSE ${quotedColumn(uniques.nodeId)}
|
|
1941
1357
|
END,
|
|
1942
|
-
${quotedColumn(
|
|
1943
|
-
WHEN ${quotedColumn(
|
|
1944
|
-
WHEN ${quotedColumn(
|
|
1945
|
-
ELSE ${quotedColumn(
|
|
1358
|
+
${quotedColumn(uniques.concreteKind)} = CASE
|
|
1359
|
+
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
|
|
1360
|
+
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
|
|
1361
|
+
ELSE ${quotedColumn(uniques.concreteKind)}
|
|
1946
1362
|
END,
|
|
1947
|
-
${quotedColumn(
|
|
1948
|
-
WHEN ${quotedColumn(
|
|
1949
|
-
WHEN ${quotedColumn(
|
|
1950
|
-
ELSE ${quotedColumn(
|
|
1363
|
+
${quotedColumn(uniques.deletedAt)} = CASE
|
|
1364
|
+
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
|
|
1365
|
+
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
1366
|
+
ELSE ${quotedColumn(uniques.deletedAt)}
|
|
1951
1367
|
END
|
|
1952
|
-
RETURNING ${quotedColumn(
|
|
1368
|
+
RETURNING ${quotedColumn(uniques.nodeId)} as node_id
|
|
1953
1369
|
`;
|
|
1954
1370
|
}
|
|
1955
|
-
function buildInsertUniquePostgres(
|
|
1956
|
-
const { uniques
|
|
1371
|
+
function buildInsertUniquePostgres(tables, params) {
|
|
1372
|
+
const { uniques } = tables;
|
|
1957
1373
|
const columns = drizzleOrm.sql.raw(
|
|
1958
|
-
`"${
|
|
1374
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
1959
1375
|
);
|
|
1960
1376
|
const conflictColumns = drizzleOrm.sql.raw(
|
|
1961
|
-
`"${
|
|
1377
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
1962
1378
|
);
|
|
1963
|
-
const tableName = drizzleOrm.getTableName(
|
|
1379
|
+
const tableName = drizzleOrm.getTableName(uniques);
|
|
1964
1380
|
const existingColumn = (column) => drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
|
|
1965
1381
|
return drizzleOrm.sql`
|
|
1966
|
-
INSERT INTO ${
|
|
1382
|
+
INSERT INTO ${uniques} (${columns})
|
|
1967
1383
|
VALUES (
|
|
1968
1384
|
${params.graphId}, ${params.nodeKind}, ${params.constraintName},
|
|
1969
1385
|
${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
|
|
1970
1386
|
)
|
|
1971
1387
|
ON CONFLICT (${conflictColumns})
|
|
1972
1388
|
DO UPDATE SET
|
|
1973
|
-
${quotedColumn(
|
|
1974
|
-
WHEN ${existingColumn(
|
|
1975
|
-
WHEN ${existingColumn(
|
|
1976
|
-
ELSE ${existingColumn(
|
|
1389
|
+
${quotedColumn(uniques.nodeId)} = CASE
|
|
1390
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
|
|
1391
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
|
|
1392
|
+
ELSE ${existingColumn(uniques.nodeId)}
|
|
1977
1393
|
END,
|
|
1978
|
-
${quotedColumn(
|
|
1979
|
-
WHEN ${existingColumn(
|
|
1980
|
-
WHEN ${existingColumn(
|
|
1981
|
-
ELSE ${existingColumn(
|
|
1394
|
+
${quotedColumn(uniques.concreteKind)} = CASE
|
|
1395
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
|
|
1396
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
|
|
1397
|
+
ELSE ${existingColumn(uniques.concreteKind)}
|
|
1982
1398
|
END,
|
|
1983
|
-
${quotedColumn(
|
|
1984
|
-
WHEN ${existingColumn(
|
|
1985
|
-
WHEN ${existingColumn(
|
|
1986
|
-
ELSE ${existingColumn(
|
|
1399
|
+
${quotedColumn(uniques.deletedAt)} = CASE
|
|
1400
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
|
|
1401
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
1402
|
+
ELSE ${existingColumn(uniques.deletedAt)}
|
|
1987
1403
|
END
|
|
1988
|
-
RETURNING ${quotedColumn(
|
|
1404
|
+
RETURNING ${quotedColumn(uniques.nodeId)} as node_id
|
|
1989
1405
|
`;
|
|
1990
1406
|
}
|
|
1991
1407
|
var UNIQUE_INSERT_BUILDERS = {
|
|
1992
1408
|
postgres: buildInsertUniquePostgres,
|
|
1993
1409
|
sqlite: buildInsertUniqueSqlite
|
|
1994
1410
|
};
|
|
1995
|
-
function buildInsertUnique(
|
|
1411
|
+
function buildInsertUnique(tables, dialect, params) {
|
|
1996
1412
|
const builder = UNIQUE_INSERT_BUILDERS[dialect];
|
|
1997
|
-
return builder(
|
|
1413
|
+
return builder(tables, params);
|
|
1998
1414
|
}
|
|
1999
|
-
function buildInsertUniqueBatch(
|
|
2000
|
-
const { uniques
|
|
1415
|
+
function buildInsertUniqueBatch(tables, dialect, entries) {
|
|
1416
|
+
const { uniques } = tables;
|
|
2001
1417
|
const columns = drizzleOrm.sql.raw(
|
|
2002
|
-
`"${
|
|
1418
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
2003
1419
|
);
|
|
2004
1420
|
const conflictColumns = drizzleOrm.sql.raw(
|
|
2005
|
-
`"${
|
|
1421
|
+
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
2006
1422
|
);
|
|
2007
|
-
const tableName = drizzleOrm.getTableName(
|
|
1423
|
+
const tableName = drizzleOrm.getTableName(uniques);
|
|
2008
1424
|
const existingColumn = (column) => {
|
|
2009
1425
|
switch (dialect) {
|
|
2010
1426
|
case "postgres": {
|
|
@@ -2026,102 +1442,102 @@ function buildInsertUniqueBatch(tables3, dialect, entries) {
|
|
|
2026
1442
|
drizzleOrm.sql`, `
|
|
2027
1443
|
);
|
|
2028
1444
|
return drizzleOrm.sql`
|
|
2029
|
-
INSERT INTO ${
|
|
1445
|
+
INSERT INTO ${uniques} (${columns})
|
|
2030
1446
|
VALUES ${valueRows}
|
|
2031
1447
|
ON CONFLICT (${conflictColumns})
|
|
2032
1448
|
DO UPDATE SET
|
|
2033
|
-
${quotedColumn(
|
|
2034
|
-
WHEN ${existingColumn(
|
|
2035
|
-
WHEN ${existingColumn(
|
|
2036
|
-
ELSE ${existingColumn(
|
|
1449
|
+
${quotedColumn(uniques.nodeId)} = CASE
|
|
1450
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.nodeId)}
|
|
1451
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.nodeId)}
|
|
1452
|
+
ELSE ${existingColumn(uniques.nodeId)}
|
|
2037
1453
|
END,
|
|
2038
|
-
${quotedColumn(
|
|
2039
|
-
WHEN ${existingColumn(
|
|
2040
|
-
WHEN ${existingColumn(
|
|
2041
|
-
ELSE ${existingColumn(
|
|
1454
|
+
${quotedColumn(uniques.concreteKind)} = CASE
|
|
1455
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.concreteKind)}
|
|
1456
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.concreteKind)}
|
|
1457
|
+
ELSE ${existingColumn(uniques.concreteKind)}
|
|
2042
1458
|
END,
|
|
2043
|
-
${quotedColumn(
|
|
2044
|
-
WHEN ${existingColumn(
|
|
2045
|
-
WHEN ${existingColumn(
|
|
2046
|
-
ELSE ${existingColumn(
|
|
1459
|
+
${quotedColumn(uniques.deletedAt)} = CASE
|
|
1460
|
+
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN NULL
|
|
1461
|
+
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
1462
|
+
ELSE ${existingColumn(uniques.deletedAt)}
|
|
2047
1463
|
END
|
|
2048
1464
|
RETURNING
|
|
2049
|
-
${quotedColumn(
|
|
2050
|
-
${quotedColumn(
|
|
2051
|
-
${quotedColumn(
|
|
2052
|
-
${quotedColumn(
|
|
1465
|
+
${quotedColumn(uniques.nodeKind)} as node_kind,
|
|
1466
|
+
${quotedColumn(uniques.constraintName)} as constraint_name,
|
|
1467
|
+
${quotedColumn(uniques.key)} as key,
|
|
1468
|
+
${quotedColumn(uniques.nodeId)} as node_id
|
|
2053
1469
|
`;
|
|
2054
1470
|
}
|
|
2055
|
-
function buildDeleteUnique(
|
|
2056
|
-
const { uniques
|
|
1471
|
+
function buildDeleteUnique(tables, params, timestamp) {
|
|
1472
|
+
const { uniques } = tables;
|
|
2057
1473
|
return drizzleOrm.sql`
|
|
2058
|
-
UPDATE ${
|
|
2059
|
-
SET ${quotedColumn(
|
|
2060
|
-
WHERE ${
|
|
2061
|
-
AND ${
|
|
2062
|
-
AND ${
|
|
2063
|
-
AND ${
|
|
2064
|
-
AND ${
|
|
1474
|
+
UPDATE ${uniques}
|
|
1475
|
+
SET ${quotedColumn(uniques.deletedAt)} = ${timestamp}
|
|
1476
|
+
WHERE ${uniques.graphId} = ${params.graphId}
|
|
1477
|
+
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
1478
|
+
AND ${uniques.constraintName} = ${params.constraintName}
|
|
1479
|
+
AND ${uniques.key} = ${params.key}
|
|
1480
|
+
AND ${uniques.deletedAt} IS NULL
|
|
2065
1481
|
`;
|
|
2066
1482
|
}
|
|
2067
|
-
function buildHardDeleteUniquesByNode(
|
|
2068
|
-
const { uniques
|
|
1483
|
+
function buildHardDeleteUniquesByNode(tables, graphId, nodeId) {
|
|
1484
|
+
const { uniques } = tables;
|
|
2069
1485
|
return drizzleOrm.sql`
|
|
2070
|
-
DELETE FROM ${
|
|
2071
|
-
WHERE ${
|
|
2072
|
-
AND ${
|
|
1486
|
+
DELETE FROM ${uniques}
|
|
1487
|
+
WHERE ${uniques.graphId} = ${graphId}
|
|
1488
|
+
AND ${uniques.nodeId} = ${nodeId}
|
|
2073
1489
|
`;
|
|
2074
1490
|
}
|
|
2075
|
-
function buildCheckUnique(
|
|
2076
|
-
const { uniques
|
|
1491
|
+
function buildCheckUnique(tables, params) {
|
|
1492
|
+
const { uniques } = tables;
|
|
2077
1493
|
if (params.includeDeleted) {
|
|
2078
1494
|
return drizzleOrm.sql`
|
|
2079
|
-
SELECT * FROM ${
|
|
2080
|
-
WHERE ${
|
|
2081
|
-
AND ${
|
|
2082
|
-
AND ${
|
|
2083
|
-
AND ${
|
|
1495
|
+
SELECT * FROM ${uniques}
|
|
1496
|
+
WHERE ${uniques.graphId} = ${params.graphId}
|
|
1497
|
+
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
1498
|
+
AND ${uniques.constraintName} = ${params.constraintName}
|
|
1499
|
+
AND ${uniques.key} = ${params.key}
|
|
2084
1500
|
`;
|
|
2085
1501
|
}
|
|
2086
1502
|
return drizzleOrm.sql`
|
|
2087
|
-
SELECT * FROM ${
|
|
2088
|
-
WHERE ${
|
|
2089
|
-
AND ${
|
|
2090
|
-
AND ${
|
|
2091
|
-
AND ${
|
|
2092
|
-
AND ${
|
|
1503
|
+
SELECT * FROM ${uniques}
|
|
1504
|
+
WHERE ${uniques.graphId} = ${params.graphId}
|
|
1505
|
+
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
1506
|
+
AND ${uniques.constraintName} = ${params.constraintName}
|
|
1507
|
+
AND ${uniques.key} = ${params.key}
|
|
1508
|
+
AND ${uniques.deletedAt} IS NULL
|
|
2093
1509
|
`;
|
|
2094
1510
|
}
|
|
2095
|
-
function buildCheckUniqueBatch(
|
|
2096
|
-
const { uniques
|
|
1511
|
+
function buildCheckUniqueBatch(tables, params) {
|
|
1512
|
+
const { uniques } = tables;
|
|
2097
1513
|
const keyPlaceholders = drizzleOrm.sql.join(
|
|
2098
1514
|
params.keys.map((key) => drizzleOrm.sql`${key}`),
|
|
2099
1515
|
drizzleOrm.sql`, `
|
|
2100
1516
|
);
|
|
2101
1517
|
if (params.includeDeleted) {
|
|
2102
1518
|
return drizzleOrm.sql`
|
|
2103
|
-
SELECT * FROM ${
|
|
2104
|
-
WHERE ${
|
|
2105
|
-
AND ${
|
|
2106
|
-
AND ${
|
|
2107
|
-
AND ${
|
|
1519
|
+
SELECT * FROM ${uniques}
|
|
1520
|
+
WHERE ${uniques.graphId} = ${params.graphId}
|
|
1521
|
+
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
1522
|
+
AND ${uniques.constraintName} = ${params.constraintName}
|
|
1523
|
+
AND ${uniques.key} IN (${keyPlaceholders})
|
|
2108
1524
|
`;
|
|
2109
1525
|
}
|
|
2110
1526
|
return drizzleOrm.sql`
|
|
2111
|
-
SELECT * FROM ${
|
|
2112
|
-
WHERE ${
|
|
2113
|
-
AND ${
|
|
2114
|
-
AND ${
|
|
2115
|
-
AND ${
|
|
2116
|
-
AND ${
|
|
1527
|
+
SELECT * FROM ${uniques}
|
|
1528
|
+
WHERE ${uniques.graphId} = ${params.graphId}
|
|
1529
|
+
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
1530
|
+
AND ${uniques.constraintName} = ${params.constraintName}
|
|
1531
|
+
AND ${uniques.key} IN (${keyPlaceholders})
|
|
1532
|
+
AND ${uniques.deletedAt} IS NULL
|
|
2117
1533
|
`;
|
|
2118
1534
|
}
|
|
2119
1535
|
|
|
2120
1536
|
// src/backend/drizzle/operations/strategy.ts
|
|
2121
|
-
function bindTableOperationBuilders(
|
|
1537
|
+
function bindTableOperationBuilders(tables, builders) {
|
|
2122
1538
|
const boundEntries = Object.entries(builders).map(([name, builder]) => {
|
|
2123
1539
|
function boundBuilder(...args) {
|
|
2124
|
-
return builder(
|
|
1540
|
+
return builder(tables, ...args);
|
|
2125
1541
|
}
|
|
2126
1542
|
return [name, boundBuilder];
|
|
2127
1543
|
});
|
|
@@ -2164,22 +1580,22 @@ var COMMON_TABLE_OPERATION_BUILDERS = {
|
|
|
2164
1580
|
buildCheckUniqueBatch,
|
|
2165
1581
|
buildGetSchemaVersion
|
|
2166
1582
|
};
|
|
2167
|
-
function createCommonOperationStrategy(
|
|
1583
|
+
function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
2168
1584
|
const tableOperations = bindTableOperationBuilders(
|
|
2169
|
-
|
|
1585
|
+
tables,
|
|
2170
1586
|
COMMON_TABLE_OPERATION_BUILDERS
|
|
2171
1587
|
);
|
|
2172
|
-
const fulltextTable =
|
|
1588
|
+
const fulltextTable = tables.fulltextTableName;
|
|
2173
1589
|
const fulltextBuilders = {
|
|
2174
|
-
buildUpsertFulltext: (params,
|
|
2175
|
-
buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) =>
|
|
1590
|
+
buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
|
|
1591
|
+
buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
|
|
2176
1592
|
buildDeleteFulltextByNode: (graphId, nodeKind, nodeId) => fulltextStrategy.buildDelete(fulltextTable, {
|
|
2177
1593
|
graphId,
|
|
2178
1594
|
nodeKind,
|
|
2179
1595
|
nodeId
|
|
2180
|
-
}).map((statement) =>
|
|
2181
|
-
buildUpsertFulltextBatch: (params,
|
|
2182
|
-
buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) =>
|
|
1596
|
+
}).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
|
|
1597
|
+
buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
|
|
1598
|
+
buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
|
|
2183
1599
|
buildFulltextSearch: (params) => buildFulltextSearch(
|
|
2184
1600
|
fulltextTable,
|
|
2185
1601
|
params,
|
|
@@ -2188,18 +1604,18 @@ function createCommonOperationStrategy(tables3, dialect, fulltextStrategy) {
|
|
|
2188
1604
|
// Store-compiled candidates (predicates + subclass + currency)
|
|
2189
1605
|
// take precedence; the live-node default covers direct backend use.
|
|
2190
1606
|
params.candidates ?? liveNodeIdsSubquery(
|
|
2191
|
-
|
|
1607
|
+
tables.nodes,
|
|
2192
1608
|
params.graphId,
|
|
2193
1609
|
params.nodeKind,
|
|
2194
|
-
|
|
1610
|
+
chunk7UTUKH4E_cjs.nowIso()
|
|
2195
1611
|
)
|
|
2196
1612
|
),
|
|
2197
1613
|
buildHybridSearch: (params, vectorSql, vectorScoreDescending) => {
|
|
2198
1614
|
const candidates = params.candidates ?? liveNodeIdsSubquery(
|
|
2199
|
-
|
|
1615
|
+
tables.nodes,
|
|
2200
1616
|
params.graphId,
|
|
2201
1617
|
params.nodeKind,
|
|
2202
|
-
|
|
1618
|
+
chunk7UTUKH4E_cjs.nowIso()
|
|
2203
1619
|
);
|
|
2204
1620
|
const fulltextSql = buildFulltextSearch(
|
|
2205
1621
|
fulltextTable,
|
|
@@ -2220,11 +1636,11 @@ function createCommonOperationStrategy(tables3, dialect, fulltextStrategy) {
|
|
|
2220
1636
|
hybridCandidatesRef()
|
|
2221
1637
|
);
|
|
2222
1638
|
return buildHybridSearchStatement({
|
|
2223
|
-
candidatesSql:
|
|
1639
|
+
candidatesSql: chunkYX3H63VV_cjs.isSqlFragment(candidates) ? chunkSE422RES_cjs.toDrizzleSql(candidates, dialect) : candidates,
|
|
2224
1640
|
vectorSql,
|
|
2225
1641
|
vectorScoreDescending,
|
|
2226
1642
|
fulltextSql,
|
|
2227
|
-
nodes:
|
|
1643
|
+
nodes: tables.nodes,
|
|
2228
1644
|
dialect,
|
|
2229
1645
|
graphId: params.graphId,
|
|
2230
1646
|
nodeKind: params.nodeKind,
|
|
@@ -2240,19 +1656,19 @@ function createCommonOperationStrategy(tables3, dialect, fulltextStrategy) {
|
|
|
2240
1656
|
...tableOperations,
|
|
2241
1657
|
...fulltextBuilders,
|
|
2242
1658
|
buildInsertUnique(params) {
|
|
2243
|
-
return buildInsertUnique(
|
|
1659
|
+
return buildInsertUnique(tables, dialect, params);
|
|
2244
1660
|
},
|
|
2245
1661
|
buildInsertUniqueBatch(entries) {
|
|
2246
|
-
return buildInsertUniqueBatch(
|
|
1662
|
+
return buildInsertUniqueBatch(tables, dialect, entries);
|
|
2247
1663
|
},
|
|
2248
1664
|
buildGetActiveSchema(graphId) {
|
|
2249
|
-
return buildGetActiveSchema(
|
|
1665
|
+
return buildGetActiveSchema(tables, graphId, dialect);
|
|
2250
1666
|
},
|
|
2251
|
-
buildInsertSchema(params,
|
|
2252
|
-
return buildInsertSchema(
|
|
1667
|
+
buildInsertSchema(params, timestamp) {
|
|
1668
|
+
return buildInsertSchema(tables, params, timestamp, dialect);
|
|
2253
1669
|
},
|
|
2254
1670
|
buildSetActiveSchema(graphId, version) {
|
|
2255
|
-
return buildSetActiveSchema(
|
|
1671
|
+
return buildSetActiveSchema(tables, graphId, version, dialect);
|
|
2256
1672
|
},
|
|
2257
1673
|
buildTableExists(tableName) {
|
|
2258
1674
|
switch (dialect) {
|
|
@@ -2275,7 +1691,7 @@ function createCommonOperationStrategy(tables3, dialect, fulltextStrategy) {
|
|
|
2275
1691
|
}
|
|
2276
1692
|
},
|
|
2277
1693
|
buildClearGraph(graphId) {
|
|
2278
|
-
return buildClearGraph(
|
|
1694
|
+
return buildClearGraph(tables, graphId);
|
|
2279
1695
|
}
|
|
2280
1696
|
};
|
|
2281
1697
|
}
|
|
@@ -2301,11 +1717,11 @@ function createCachedTableExistence(probe, options) {
|
|
|
2301
1717
|
return exists;
|
|
2302
1718
|
};
|
|
2303
1719
|
}
|
|
2304
|
-
function createSqliteOperationStrategy(
|
|
2305
|
-
return createCommonOperationStrategy(
|
|
1720
|
+
function createSqliteOperationStrategy(tables, fulltextStrategy) {
|
|
1721
|
+
return createCommonOperationStrategy(tables, "sqlite", fulltextStrategy);
|
|
2306
1722
|
}
|
|
2307
|
-
function createPostgresOperationStrategy(
|
|
2308
|
-
return createCommonOperationStrategy(
|
|
1723
|
+
function createPostgresOperationStrategy(tables, fulltextStrategy) {
|
|
1724
|
+
return createCommonOperationStrategy(tables, "postgres", fulltextStrategy);
|
|
2309
1725
|
}
|
|
2310
1726
|
var DRIZZLE_DIALECT_LABELS = {
|
|
2311
1727
|
postgres: "Postgres",
|
|
@@ -2331,7 +1747,7 @@ function verifyExpectedActiveVersion(graphId, expected, actualActiveVersion) {
|
|
|
2331
1747
|
}
|
|
2332
1748
|
function createCommonOperationBackend(options) {
|
|
2333
1749
|
const { batchConfig, execution, operationStrategy, rowMappers } = options;
|
|
2334
|
-
const nowIso2 = options.nowIso ??
|
|
1750
|
+
const nowIso2 = options.nowIso ?? chunk7UTUKH4E_cjs.nowIso;
|
|
2335
1751
|
const requiredClearTableExists = createCachedTableExistence(
|
|
2336
1752
|
(tableName) => execution.execGet(
|
|
2337
1753
|
operationStrategy.buildTableExists(tableName)
|
|
@@ -2358,8 +1774,8 @@ function createCommonOperationBackend(options) {
|
|
|
2358
1774
|
await execution.execRun(query);
|
|
2359
1775
|
},
|
|
2360
1776
|
async insertNode(params) {
|
|
2361
|
-
const
|
|
2362
|
-
const query = operationStrategy.buildInsertNode(params,
|
|
1777
|
+
const timestamp = nowIso2();
|
|
1778
|
+
const query = operationStrategy.buildInsertNode(params, timestamp);
|
|
2363
1779
|
const row = await execution.execGet(query);
|
|
2364
1780
|
if (!row)
|
|
2365
1781
|
throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
|
|
@@ -2369,10 +1785,10 @@ function createCommonOperationBackend(options) {
|
|
|
2369
1785
|
return rowMappers.toNodeRow(row);
|
|
2370
1786
|
},
|
|
2371
1787
|
async insertNodeNoReturn(params) {
|
|
2372
|
-
const
|
|
1788
|
+
const timestamp = nowIso2();
|
|
2373
1789
|
const query = operationStrategy.buildInsertNodeNoReturn(
|
|
2374
1790
|
params,
|
|
2375
|
-
|
|
1791
|
+
timestamp
|
|
2376
1792
|
);
|
|
2377
1793
|
await execution.execRun(query);
|
|
2378
1794
|
},
|
|
@@ -2380,9 +1796,9 @@ function createCommonOperationBackend(options) {
|
|
|
2380
1796
|
if (params.length === 0) {
|
|
2381
1797
|
return;
|
|
2382
1798
|
}
|
|
2383
|
-
const
|
|
1799
|
+
const timestamp = nowIso2();
|
|
2384
1800
|
for (const chunk2 of chunkZDH3DX3C_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
|
|
2385
|
-
const query = operationStrategy.buildInsertNodesBatch(chunk2,
|
|
1801
|
+
const query = operationStrategy.buildInsertNodesBatch(chunk2, timestamp);
|
|
2386
1802
|
await execution.execRun(query);
|
|
2387
1803
|
}
|
|
2388
1804
|
},
|
|
@@ -2390,12 +1806,12 @@ function createCommonOperationBackend(options) {
|
|
|
2390
1806
|
if (params.length === 0) {
|
|
2391
1807
|
return [];
|
|
2392
1808
|
}
|
|
2393
|
-
const
|
|
1809
|
+
const timestamp = nowIso2();
|
|
2394
1810
|
const allRows = [];
|
|
2395
1811
|
for (const chunk2 of chunkZDH3DX3C_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
|
|
2396
1812
|
const query = operationStrategy.buildInsertNodesBatchReturning(
|
|
2397
1813
|
chunk2,
|
|
2398
|
-
|
|
1814
|
+
timestamp
|
|
2399
1815
|
);
|
|
2400
1816
|
const rows = await execution.execAll(query);
|
|
2401
1817
|
allRows.push(...rows.map((row) => rowMappers.toNodeRow(row)));
|
|
@@ -2418,8 +1834,8 @@ function createCommonOperationBackend(options) {
|
|
|
2418
1834
|
return allRows;
|
|
2419
1835
|
},
|
|
2420
1836
|
async updateNode(params) {
|
|
2421
|
-
const
|
|
2422
|
-
const query = operationStrategy.buildUpdateNode(params,
|
|
1837
|
+
const timestamp = nowIso2();
|
|
1838
|
+
const query = operationStrategy.buildUpdateNode(params, timestamp);
|
|
2423
1839
|
const row = await execution.execGet(query);
|
|
2424
1840
|
if (!row)
|
|
2425
1841
|
throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
|
|
@@ -2429,8 +1845,8 @@ function createCommonOperationBackend(options) {
|
|
|
2429
1845
|
return rowMappers.toNodeRow(row);
|
|
2430
1846
|
},
|
|
2431
1847
|
async deleteNode(params) {
|
|
2432
|
-
const
|
|
2433
|
-
const query = operationStrategy.buildDeleteNode(params,
|
|
1848
|
+
const timestamp = nowIso2();
|
|
1849
|
+
const query = operationStrategy.buildDeleteNode(params, timestamp);
|
|
2434
1850
|
await execution.execRun(query);
|
|
2435
1851
|
},
|
|
2436
1852
|
// IMPORTANT: This cascade is not atomic. Callers must ensure this runs
|
|
@@ -2466,8 +1882,8 @@ function createCommonOperationBackend(options) {
|
|
|
2466
1882
|
await execution.execRun(query);
|
|
2467
1883
|
},
|
|
2468
1884
|
async insertEdge(params) {
|
|
2469
|
-
const
|
|
2470
|
-
const query = operationStrategy.buildInsertEdge(params,
|
|
1885
|
+
const timestamp = nowIso2();
|
|
1886
|
+
const query = operationStrategy.buildInsertEdge(params, timestamp);
|
|
2471
1887
|
const row = await execution.execGet(query);
|
|
2472
1888
|
if (!row)
|
|
2473
1889
|
throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
|
|
@@ -2477,10 +1893,10 @@ function createCommonOperationBackend(options) {
|
|
|
2477
1893
|
return rowMappers.toEdgeRow(row);
|
|
2478
1894
|
},
|
|
2479
1895
|
async insertEdgeNoReturn(params) {
|
|
2480
|
-
const
|
|
1896
|
+
const timestamp = nowIso2();
|
|
2481
1897
|
const query = operationStrategy.buildInsertEdgeNoReturn(
|
|
2482
1898
|
params,
|
|
2483
|
-
|
|
1899
|
+
timestamp
|
|
2484
1900
|
);
|
|
2485
1901
|
await execution.execRun(query);
|
|
2486
1902
|
},
|
|
@@ -2488,9 +1904,9 @@ function createCommonOperationBackend(options) {
|
|
|
2488
1904
|
if (params.length === 0) {
|
|
2489
1905
|
return;
|
|
2490
1906
|
}
|
|
2491
|
-
const
|
|
1907
|
+
const timestamp = nowIso2();
|
|
2492
1908
|
for (const chunk2 of chunkZDH3DX3C_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
|
|
2493
|
-
const query = operationStrategy.buildInsertEdgesBatch(chunk2,
|
|
1909
|
+
const query = operationStrategy.buildInsertEdgesBatch(chunk2, timestamp);
|
|
2494
1910
|
await execution.execRun(query);
|
|
2495
1911
|
}
|
|
2496
1912
|
},
|
|
@@ -2498,12 +1914,12 @@ function createCommonOperationBackend(options) {
|
|
|
2498
1914
|
if (params.length === 0) {
|
|
2499
1915
|
return [];
|
|
2500
1916
|
}
|
|
2501
|
-
const
|
|
1917
|
+
const timestamp = nowIso2();
|
|
2502
1918
|
const allRows = [];
|
|
2503
1919
|
for (const chunk2 of chunkZDH3DX3C_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
|
|
2504
1920
|
const query = operationStrategy.buildInsertEdgesBatchReturning(
|
|
2505
1921
|
chunk2,
|
|
2506
|
-
|
|
1922
|
+
timestamp
|
|
2507
1923
|
);
|
|
2508
1924
|
const rows = await execution.execAll(query);
|
|
2509
1925
|
allRows.push(...rows.map((row) => rowMappers.toEdgeRow(row)));
|
|
@@ -2526,8 +1942,8 @@ function createCommonOperationBackend(options) {
|
|
|
2526
1942
|
return allRows;
|
|
2527
1943
|
},
|
|
2528
1944
|
async updateEdge(params) {
|
|
2529
|
-
const
|
|
2530
|
-
const query = operationStrategy.buildUpdateEdge(params,
|
|
1945
|
+
const timestamp = nowIso2();
|
|
1946
|
+
const query = operationStrategy.buildUpdateEdge(params, timestamp);
|
|
2531
1947
|
const row = await execution.execGet(query);
|
|
2532
1948
|
if (!row)
|
|
2533
1949
|
throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
|
|
@@ -2537,8 +1953,8 @@ function createCommonOperationBackend(options) {
|
|
|
2537
1953
|
return rowMappers.toEdgeRow(row);
|
|
2538
1954
|
},
|
|
2539
1955
|
async deleteEdge(params) {
|
|
2540
|
-
const
|
|
2541
|
-
const query = operationStrategy.buildDeleteEdge(params,
|
|
1956
|
+
const timestamp = nowIso2();
|
|
1957
|
+
const query = operationStrategy.buildDeleteEdge(params, timestamp);
|
|
2542
1958
|
await execution.execRun(query);
|
|
2543
1959
|
},
|
|
2544
1960
|
async hardDeleteEdge(params) {
|
|
@@ -2547,7 +1963,7 @@ function createCommonOperationBackend(options) {
|
|
|
2547
1963
|
},
|
|
2548
1964
|
async deleteEdgesBatch(params) {
|
|
2549
1965
|
if (params.ids.length === 0) return;
|
|
2550
|
-
const
|
|
1966
|
+
const timestamp = nowIso2();
|
|
2551
1967
|
const softDeleteChunkSize = Math.max(
|
|
2552
1968
|
1,
|
|
2553
1969
|
batchConfig.getEdgesChunkSize - 1
|
|
@@ -2555,7 +1971,7 @@ function createCommonOperationBackend(options) {
|
|
|
2555
1971
|
for (const chunk2 of chunkZDH3DX3C_cjs.chunk(params.ids, softDeleteChunkSize)) {
|
|
2556
1972
|
const query = operationStrategy.buildDeleteEdgesBatch(
|
|
2557
1973
|
{ graphId: params.graphId, ids: chunk2 },
|
|
2558
|
-
|
|
1974
|
+
timestamp
|
|
2559
1975
|
);
|
|
2560
1976
|
await execution.execRun(query);
|
|
2561
1977
|
}
|
|
@@ -2669,8 +2085,8 @@ function createCommonOperationBackend(options) {
|
|
|
2669
2085
|
}
|
|
2670
2086
|
},
|
|
2671
2087
|
async deleteUnique(params) {
|
|
2672
|
-
const
|
|
2673
|
-
const query = operationStrategy.buildDeleteUnique(params,
|
|
2088
|
+
const timestamp = nowIso2();
|
|
2089
|
+
const query = operationStrategy.buildDeleteUnique(params, timestamp);
|
|
2674
2090
|
await execution.execRun(query);
|
|
2675
2091
|
},
|
|
2676
2092
|
async checkUnique(params) {
|
|
@@ -2747,7 +2163,7 @@ function createCommonOperationBackend(options) {
|
|
|
2747
2163
|
);
|
|
2748
2164
|
await execution.execRun(flip.deactivateAll);
|
|
2749
2165
|
}
|
|
2750
|
-
const
|
|
2166
|
+
const timestamp = nowIso2();
|
|
2751
2167
|
const insertQuery = operationStrategy.buildInsertSchema(
|
|
2752
2168
|
{
|
|
2753
2169
|
graphId: params.graphId,
|
|
@@ -2756,7 +2172,7 @@ function createCommonOperationBackend(options) {
|
|
|
2756
2172
|
schemaDoc: params.schemaDoc,
|
|
2757
2173
|
isActive: true
|
|
2758
2174
|
},
|
|
2759
|
-
|
|
2175
|
+
timestamp
|
|
2760
2176
|
);
|
|
2761
2177
|
const insertedRaw = await execution.execGet(insertQuery);
|
|
2762
2178
|
if (!insertedRaw) {
|
|
@@ -2853,8 +2269,8 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
|
|
|
2853
2269
|
async function lockPostgresTrustedImportTables(backend, tableNames) {
|
|
2854
2270
|
const executeStatement = requireStatementExecution(backend);
|
|
2855
2271
|
await executeStatement(
|
|
2856
|
-
|
|
2857
|
-
|
|
2272
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(
|
|
2273
|
+
chunkYX3H63VV_cjs.sql.raw(
|
|
2858
2274
|
`LOCK TABLE ${quoteSqlIdentifier(tableNames.nodes)}, ${quoteSqlIdentifier(tableNames.edges)} IN ACCESS EXCLUSIVE MODE`
|
|
2859
2275
|
)
|
|
2860
2276
|
)
|
|
@@ -2874,8 +2290,8 @@ async function suspendSqliteSecondaryIndexes(backend, tableNames) {
|
|
|
2874
2290
|
);
|
|
2875
2291
|
for (const definition of definitions) {
|
|
2876
2292
|
await executeStatement(
|
|
2877
|
-
|
|
2878
|
-
|
|
2293
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(
|
|
2294
|
+
chunkYX3H63VV_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
|
|
2879
2295
|
)
|
|
2880
2296
|
);
|
|
2881
2297
|
}
|
|
@@ -2905,8 +2321,8 @@ async function suspendPostgresSecondaryIndexes(backend, tableNames) {
|
|
|
2905
2321
|
);
|
|
2906
2322
|
for (const definition of definitions) {
|
|
2907
2323
|
await executeStatement(
|
|
2908
|
-
|
|
2909
|
-
|
|
2324
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(
|
|
2325
|
+
chunkYX3H63VV_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
|
|
2910
2326
|
)
|
|
2911
2327
|
);
|
|
2912
2328
|
}
|
|
@@ -2916,25 +2332,25 @@ async function restoreSecondaryIndexes(backend, definitions) {
|
|
|
2916
2332
|
const executeStatement = requireStatementExecution(backend);
|
|
2917
2333
|
for (const definition of definitions) {
|
|
2918
2334
|
await executeStatement(
|
|
2919
|
-
|
|
2335
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(chunkYX3H63VV_cjs.sql.raw(definition.index_definition))
|
|
2920
2336
|
);
|
|
2921
2337
|
}
|
|
2922
2338
|
}
|
|
2923
2339
|
async function analyzeImportedTables(backend, tableNames) {
|
|
2924
2340
|
const executeStatement = requireStatementExecution(backend);
|
|
2925
2341
|
await executeStatement(
|
|
2926
|
-
|
|
2927
|
-
|
|
2342
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(
|
|
2343
|
+
chunkYX3H63VV_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
|
|
2928
2344
|
)
|
|
2929
2345
|
);
|
|
2930
2346
|
await executeStatement(
|
|
2931
|
-
|
|
2932
|
-
|
|
2347
|
+
chunkYX3H63VV_cjs.asCompiledStatementSql(
|
|
2348
|
+
chunkYX3H63VV_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
|
|
2933
2349
|
)
|
|
2934
2350
|
);
|
|
2935
2351
|
}
|
|
2936
|
-
function resolvedValidFrom(validFrom,
|
|
2937
|
-
return validFrom === void 0 ?
|
|
2352
|
+
function resolvedValidFrom(validFrom, timestamp) {
|
|
2353
|
+
return validFrom === void 0 ? timestamp : validFrom;
|
|
2938
2354
|
}
|
|
2939
2355
|
function postgresArray(values) {
|
|
2940
2356
|
return `{${values.map(
|
|
@@ -2958,7 +2374,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
|
2958
2374
|
return {
|
|
2959
2375
|
async insertNodes(params) {
|
|
2960
2376
|
if (params.length === 0) return;
|
|
2961
|
-
const
|
|
2377
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
2962
2378
|
await executePreparedRunBatch(
|
|
2963
2379
|
nodeSql,
|
|
2964
2380
|
params.map((item) => [
|
|
@@ -2966,16 +2382,16 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
|
2966
2382
|
item.kind,
|
|
2967
2383
|
item.id,
|
|
2968
2384
|
JSON.stringify(item.props),
|
|
2969
|
-
resolvedValidFrom(item.validFrom,
|
|
2385
|
+
resolvedValidFrom(item.validFrom, timestamp),
|
|
2970
2386
|
item.validTo ?? DATABASE_NULL,
|
|
2971
|
-
|
|
2972
|
-
|
|
2387
|
+
timestamp,
|
|
2388
|
+
timestamp
|
|
2973
2389
|
])
|
|
2974
2390
|
);
|
|
2975
2391
|
},
|
|
2976
2392
|
async insertEdges(params) {
|
|
2977
2393
|
if (params.length === 0) return;
|
|
2978
|
-
const
|
|
2394
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
2979
2395
|
await executePreparedRunBatch(
|
|
2980
2396
|
edgeSql,
|
|
2981
2397
|
params.map((item) => [
|
|
@@ -2987,10 +2403,10 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
|
2987
2403
|
item.toKind,
|
|
2988
2404
|
item.toId,
|
|
2989
2405
|
JSON.stringify(item.props),
|
|
2990
|
-
resolvedValidFrom(item.validFrom,
|
|
2406
|
+
resolvedValidFrom(item.validFrom, timestamp),
|
|
2991
2407
|
item.validTo ?? DATABASE_NULL,
|
|
2992
|
-
|
|
2993
|
-
|
|
2408
|
+
timestamp,
|
|
2409
|
+
timestamp
|
|
2994
2410
|
])
|
|
2995
2411
|
);
|
|
2996
2412
|
}
|
|
@@ -3020,22 +2436,22 @@ function createPostgresTrustedImportSession(backend, tableNames) {
|
|
|
3020
2436
|
return {
|
|
3021
2437
|
async insertNodes(params) {
|
|
3022
2438
|
if (params.length === 0) return;
|
|
3023
|
-
const
|
|
2439
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
3024
2440
|
await executeRaw(nodeSql, [
|
|
3025
2441
|
postgresArray(params.map((item) => item.graphId)),
|
|
3026
2442
|
postgresArray(params.map((item) => item.kind)),
|
|
3027
2443
|
postgresArray(params.map((item) => item.id)),
|
|
3028
2444
|
postgresArray(params.map((item) => JSON.stringify(item.props))),
|
|
3029
2445
|
postgresArray(
|
|
3030
|
-
params.map((item) => resolvedValidFrom(item.validFrom,
|
|
2446
|
+
params.map((item) => resolvedValidFrom(item.validFrom, timestamp))
|
|
3031
2447
|
),
|
|
3032
2448
|
postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
|
|
3033
|
-
postgresArray(params.map(() =>
|
|
2449
|
+
postgresArray(params.map(() => timestamp))
|
|
3034
2450
|
]);
|
|
3035
2451
|
},
|
|
3036
2452
|
async insertEdges(params) {
|
|
3037
2453
|
if (params.length === 0) return;
|
|
3038
|
-
const
|
|
2454
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
3039
2455
|
await executeRaw(edgeSql, [
|
|
3040
2456
|
postgresArray(params.map((item) => item.graphId)),
|
|
3041
2457
|
postgresArray(params.map((item) => item.id)),
|
|
@@ -3046,10 +2462,10 @@ function createPostgresTrustedImportSession(backend, tableNames) {
|
|
|
3046
2462
|
postgresArray(params.map((item) => item.toId)),
|
|
3047
2463
|
postgresArray(params.map((item) => JSON.stringify(item.props))),
|
|
3048
2464
|
postgresArray(
|
|
3049
|
-
params.map((item) => resolvedValidFrom(item.validFrom,
|
|
2465
|
+
params.map((item) => resolvedValidFrom(item.validFrom, timestamp))
|
|
3050
2466
|
),
|
|
3051
2467
|
postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
|
|
3052
|
-
postgresArray(params.map(() =>
|
|
2468
|
+
postgresArray(params.map(() => timestamp))
|
|
3053
2469
|
]);
|
|
3054
2470
|
}
|
|
3055
2471
|
};
|
|
@@ -3093,20 +2509,11 @@ exports.createCachedTableExistence = createCachedTableExistence;
|
|
|
3093
2509
|
exports.createCommonOperationBackend = createCommonOperationBackend;
|
|
3094
2510
|
exports.createContributionMaterializer = createContributionMaterializer;
|
|
3095
2511
|
exports.createPostgresOperationStrategy = createPostgresOperationStrategy;
|
|
3096
|
-
exports.createPostgresTables = createPostgresTables;
|
|
3097
2512
|
exports.createPostgresTrustedImportSession = createPostgresTrustedImportSession;
|
|
3098
2513
|
exports.createSqliteOperationStrategy = createSqliteOperationStrategy;
|
|
3099
2514
|
exports.createSqliteTrustedImportSession = createSqliteTrustedImportSession;
|
|
3100
|
-
exports.edges = edges;
|
|
3101
|
-
exports.fulltext = fulltext;
|
|
3102
2515
|
exports.gateFulltext = gateFulltext;
|
|
3103
2516
|
exports.gateFulltextMethods = gateFulltextMethods;
|
|
3104
|
-
exports.generatePgCreateTableSQL = generatePgCreateTableSQL;
|
|
3105
|
-
exports.generatePostgresDDL = generatePostgresDDL;
|
|
3106
|
-
exports.generatePostgresMigrationSQL = generatePostgresMigrationSQL;
|
|
3107
|
-
exports.generateSqliteCreateTableSQL = generateSqliteCreateTableSQL;
|
|
3108
|
-
exports.generateSqliteDDL = generateSqliteDDL;
|
|
3109
|
-
exports.generateSqliteMigrationSQL = generateSqliteMigrationSQL;
|
|
3110
2517
|
exports.getOrCreateLru = getOrCreateLru;
|
|
3111
2518
|
exports.lockPostgresTrustedImportTables = lockPostgresTrustedImportTables;
|
|
3112
2519
|
exports.mapContributionMaterializationRow = mapContributionMaterializationRow;
|
|
@@ -3114,18 +2521,11 @@ exports.mapHybridSearchRow = mapHybridSearchRow;
|
|
|
3114
2521
|
exports.mapKindRemovalRow = mapKindRemovalRow;
|
|
3115
2522
|
exports.mapMaterializationRow = mapMaterializationRow;
|
|
3116
2523
|
exports.mapVectorWriteError = mapVectorWriteError;
|
|
3117
|
-
exports.nodes = nodes;
|
|
3118
|
-
exports.recordedClock = recordedClock;
|
|
3119
|
-
exports.recordedEdges = recordedEdges;
|
|
3120
|
-
exports.recordedNodes = recordedNodes;
|
|
3121
2524
|
exports.restoreSecondaryIndexes = restoreSecondaryIndexes;
|
|
3122
|
-
exports.schemaVersions = schemaVersions;
|
|
3123
2525
|
exports.suspendPostgresSecondaryIndexes = suspendPostgresSecondaryIndexes;
|
|
3124
2526
|
exports.suspendSqliteSecondaryIndexes = suspendSqliteSecondaryIndexes;
|
|
3125
|
-
exports.tables = tables2;
|
|
3126
|
-
exports.uniques = uniques;
|
|
3127
2527
|
exports.vectorSlotFromCreateIndexParams = vectorSlotFromCreateIndexParams;
|
|
3128
2528
|
exports.vectorSlotFromDropIndexParams = vectorSlotFromDropIndexParams;
|
|
3129
2529
|
exports.vectorSlotFromParams = vectorSlotFromParams;
|
|
3130
|
-
//# sourceMappingURL=chunk-
|
|
3131
|
-
//# sourceMappingURL=chunk-
|
|
2530
|
+
//# sourceMappingURL=chunk-UDS5DZNY.cjs.map
|
|
2531
|
+
//# sourceMappingURL=chunk-UDS5DZNY.cjs.map
|