@nicia-ai/typegraph 0.48.0 → 0.50.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 +9 -9
- package/dist/backend/drizzle/indexes.d.cts +1 -1
- package/dist/backend/drizzle/indexes.d.ts +1 -1
- package/dist/backend/drizzle/indexes.js +5 -5
- package/dist/backend/index.cjs +56 -52
- package/dist/backend/index.d.cts +3 -3
- package/dist/backend/index.d.ts +3 -3
- package/dist/backend/index.js +11 -11
- package/dist/backend/postgres/index.cjs +34 -28
- package/dist/backend/postgres/index.d.cts +7 -7
- package/dist/backend/postgres/index.d.ts +7 -7
- package/dist/backend/postgres/index.js +17 -15
- package/dist/backend/postgres/pglite-store.cjs +36 -35
- package/dist/backend/postgres/pglite-store.cjs.map +1 -1
- package/dist/backend/postgres/pglite-store.d.cts +8 -8
- package/dist/backend/postgres/pglite-store.d.ts +8 -8
- package/dist/backend/postgres/pglite-store.js +32 -31
- package/dist/backend/postgres/pglite-store.js.map +1 -1
- package/dist/backend/postgres/pglite.cjs +19 -17
- package/dist/backend/postgres/pglite.d.cts +3 -3
- package/dist/backend/postgres/pglite.d.ts +3 -3
- package/dist/backend/postgres/pglite.js +18 -16
- package/dist/backend/sqlite/index.cjs +31 -25
- package/dist/backend/sqlite/index.d.cts +7 -7
- package/dist/backend/sqlite/index.d.ts +7 -7
- package/dist/backend/sqlite/index.js +15 -13
- package/dist/backend/sqlite/libsql.cjs +22 -20
- 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 +17 -15
- package/dist/backend/sqlite/libsql.js.map +1 -1
- package/dist/backend/sqlite/local-store.cjs +37 -36
- package/dist/backend/sqlite/local-store.cjs.map +1 -1
- package/dist/backend/sqlite/local-store.d.cts +8 -8
- package/dist/backend/sqlite/local-store.d.ts +8 -8
- package/dist/backend/sqlite/local-store.js +33 -32
- package/dist/backend/sqlite/local-store.js.map +1 -1
- package/dist/backend/sqlite/local.cjs +20 -18
- package/dist/backend/sqlite/local.d.cts +3 -3
- package/dist/backend/sqlite/local.d.ts +3 -3
- package/dist/backend/sqlite/local.js +18 -16
- package/dist/{chunk-AX6JGVTZ.js → chunk-2CYI5HRH.js} +276 -206
- package/dist/chunk-2CYI5HRH.js.map +1 -0
- package/dist/{chunk-KF6K7TGH.js → chunk-2GIV5X4P.js} +702 -422
- package/dist/chunk-2GIV5X4P.js.map +1 -0
- package/dist/{chunk-2TYSSBU5.js → chunk-2Q45FAIE.js} +15 -15
- package/dist/{chunk-2TYSSBU5.js.map → chunk-2Q45FAIE.js.map} +1 -1
- package/dist/{chunk-WODMN3Q2.cjs → chunk-45YZXI6X.cjs} +27 -27
- package/dist/{chunk-WODMN3Q2.cjs.map → chunk-45YZXI6X.cjs.map} +1 -1
- package/dist/{chunk-3DMMGT6S.js → chunk-46UGOVRW.js} +3 -3
- package/dist/{chunk-3DMMGT6S.js.map → chunk-46UGOVRW.js.map} +1 -1
- package/dist/{chunk-GLHXM7C4.js → chunk-5LKOVCPP.js} +60 -23
- package/dist/chunk-5LKOVCPP.js.map +1 -0
- package/dist/{chunk-JFRT7S3B.cjs → chunk-5OWHU7Z7.cjs} +261 -459
- package/dist/chunk-5OWHU7Z7.cjs.map +1 -0
- package/dist/{chunk-7SQSZN2J.js → chunk-5PP4KRPV.js} +5 -5
- package/dist/{chunk-7SQSZN2J.js.map → chunk-5PP4KRPV.js.map} +1 -1
- package/dist/chunk-6KQEICJ6.cjs +12 -0
- package/dist/{chunk-MKJ4KXL5.cjs.map → chunk-6KQEICJ6.cjs.map} +1 -1
- package/dist/{chunk-6SWPJEYN.js → chunk-6LEOAIIB.js} +40 -6
- package/dist/chunk-6LEOAIIB.js.map +1 -0
- package/dist/{chunk-DZAICA5J.js → chunk-6NKSE5AU.js} +4 -4
- package/dist/{chunk-DZAICA5J.js.map → chunk-6NKSE5AU.js.map} +1 -1
- package/dist/{chunk-OVI7IXYX.js → chunk-6S3PTHL4.js} +3 -3
- package/dist/{chunk-OVI7IXYX.js.map → chunk-6S3PTHL4.js.map} +1 -1
- package/dist/{chunk-3FPR224C.cjs → chunk-7CCMCMJO.cjs} +102 -102
- package/dist/{chunk-3FPR224C.cjs.map → chunk-7CCMCMJO.cjs.map} +1 -1
- package/dist/{chunk-SHFBB23Q.js → chunk-7OWE7WD6.js} +6 -4
- package/dist/chunk-7OWE7WD6.js.map +1 -0
- package/dist/chunk-7PRMDZIA.cjs +182 -0
- package/dist/chunk-7PRMDZIA.cjs.map +1 -0
- package/dist/{chunk-CHAOFCHV.js → chunk-AH2A74OZ.js} +3 -3
- package/dist/{chunk-CHAOFCHV.js.map → chunk-AH2A74OZ.js.map} +1 -1
- package/dist/{chunk-OORXGFL5.cjs → chunk-BYBDM423.cjs} +48 -48
- package/dist/{chunk-OORXGFL5.cjs.map → chunk-BYBDM423.cjs.map} +1 -1
- package/dist/{chunk-JB6T4GLL.cjs → chunk-C76WFIVZ.cjs} +808 -519
- package/dist/chunk-C76WFIVZ.cjs.map +1 -0
- package/dist/{chunk-OTUPEF2W.cjs → chunk-CS6JTQQ2.cjs} +328 -257
- package/dist/chunk-CS6JTQQ2.cjs.map +1 -0
- package/dist/{chunk-AOSSQDVO.cjs → chunk-CSNOYIB4.cjs} +13 -13
- package/dist/{chunk-AOSSQDVO.cjs.map → chunk-CSNOYIB4.cjs.map} +1 -1
- package/dist/{chunk-HEV35TGT.js → chunk-DI6VC62F.js} +13 -4
- package/dist/chunk-DI6VC62F.js.map +1 -0
- package/dist/{chunk-2QGYQBS2.cjs → chunk-DWUDZ66O.cjs} +10 -10
- package/dist/{chunk-2QGYQBS2.cjs.map → chunk-DWUDZ66O.cjs.map} +1 -1
- package/dist/{chunk-ZDKTPBGV.js → chunk-EDLKIQRI.js} +4 -4
- package/dist/{chunk-ZDKTPBGV.js.map → chunk-EDLKIQRI.js.map} +1 -1
- package/dist/chunk-EH3JZJUM.cjs +567 -0
- package/dist/chunk-EH3JZJUM.cjs.map +1 -0
- package/dist/{chunk-S5TERQVW.js → chunk-FX5ZW6PN.js} +196 -33
- package/dist/chunk-FX5ZW6PN.js.map +1 -0
- package/dist/{chunk-XVWOYKIK.js → chunk-FZHF5UWR.js} +3 -3
- package/dist/{chunk-XVWOYKIK.js.map → chunk-FZHF5UWR.js.map} +1 -1
- package/dist/{chunk-BFUOME67.cjs → chunk-G2TLHH6T.cjs} +20 -11
- package/dist/chunk-G2TLHH6T.cjs.map +1 -0
- package/dist/{chunk-5PRKMB24.cjs → chunk-GHZPZNFC.cjs} +12 -4
- package/dist/chunk-GHZPZNFC.cjs.map +1 -0
- package/dist/{chunk-ZFMCDJGB.js → chunk-GVYVGGPJ.js} +11 -199
- package/dist/chunk-GVYVGGPJ.js.map +1 -0
- package/dist/{chunk-SDBBMD4N.js → chunk-H3XP6BAV.js} +3 -3
- package/dist/{chunk-SDBBMD4N.js.map → chunk-H3XP6BAV.js.map} +1 -1
- package/dist/{chunk-ROR5ZR6A.cjs → chunk-HSEZ7X6Y.cjs} +45 -45
- package/dist/{chunk-ROR5ZR6A.cjs.map → chunk-HSEZ7X6Y.cjs.map} +1 -1
- package/dist/{chunk-LRQKXRXO.cjs → chunk-HY5BNOUN.cjs} +4 -4
- package/dist/{chunk-LRQKXRXO.cjs.map → chunk-HY5BNOUN.cjs.map} +1 -1
- package/dist/chunk-HZUB5CON.js +27 -0
- package/dist/chunk-HZUB5CON.js.map +1 -0
- package/dist/{chunk-MYKHJI2J.js → chunk-I5C6OTKR.js} +3 -3
- package/dist/{chunk-MYKHJI2J.js.map → chunk-I5C6OTKR.js.map} +1 -1
- package/dist/{chunk-3U5ABFDW.cjs → chunk-IHK5KA2Q.cjs} +31 -28
- package/dist/chunk-IHK5KA2Q.cjs.map +1 -0
- package/dist/{chunk-26YKDNUD.cjs → chunk-IPRP6TDL.cjs} +12 -10
- package/dist/chunk-IPRP6TDL.cjs.map +1 -0
- package/dist/{chunk-UGHG7PGX.js → chunk-IRPYOHRC.js} +26 -4
- package/dist/chunk-IRPYOHRC.js.map +1 -0
- package/dist/{chunk-7XUYFFR4.cjs → chunk-ISKCIQF2.cjs} +20 -20
- package/dist/{chunk-7XUYFFR4.cjs.map → chunk-ISKCIQF2.cjs.map} +1 -1
- package/dist/{chunk-OD4SSY2U.js → chunk-JG5XIJDY.js} +57 -31
- package/dist/chunk-JG5XIJDY.js.map +1 -0
- package/dist/{chunk-2HIYYMWY.cjs → chunk-K2XYLVVB.cjs} +134 -133
- package/dist/chunk-K2XYLVVB.cjs.map +1 -0
- package/dist/{chunk-5K2BKEBD.js → chunk-K46SDNQD.js} +10 -4
- package/dist/chunk-K46SDNQD.js.map +1 -0
- package/dist/{chunk-TZEGUG6D.cjs → chunk-K6VKTBST.cjs} +4 -4
- package/dist/{chunk-TZEGUG6D.cjs.map → chunk-K6VKTBST.cjs.map} +1 -1
- package/dist/chunk-KWNWG4RC.cjs +12 -0
- package/dist/{chunk-CICO5GXD.cjs.map → chunk-KWNWG4RC.cjs.map} +1 -1
- package/dist/{chunk-FQPEMEWX.cjs → chunk-LLVOQOWE.cjs} +80 -32
- package/dist/chunk-LLVOQOWE.cjs.map +1 -0
- package/dist/{chunk-TQHGE7UC.cjs → chunk-M5MSP3BI.cjs} +18 -10
- package/dist/chunk-M5MSP3BI.cjs.map +1 -0
- package/dist/{chunk-ACGSAMD3.js → chunk-MJPZNEJZ.js} +274 -292
- package/dist/chunk-MJPZNEJZ.js.map +1 -0
- package/dist/{chunk-TUNPBZY3.cjs → chunk-MM3JHVKZ.cjs} +4 -4
- package/dist/{chunk-TUNPBZY3.cjs.map → chunk-MM3JHVKZ.cjs.map} +1 -1
- package/dist/{chunk-BRRP76WO.js → chunk-MX7EKQPM.js} +457 -299
- package/dist/chunk-MX7EKQPM.js.map +1 -0
- package/dist/{chunk-2SYZXD54.js → chunk-MZ34E2GN.js} +13 -12
- package/dist/chunk-MZ34E2GN.js.map +1 -0
- package/dist/{chunk-EDN4Y4ZG.cjs → chunk-OJHD3LXJ.cjs} +9 -9
- package/dist/{chunk-EDN4Y4ZG.cjs.map → chunk-OJHD3LXJ.cjs.map} +1 -1
- package/dist/{chunk-DO7SAMEK.cjs → chunk-ON47CBE4.cjs} +47 -47
- package/dist/{chunk-DO7SAMEK.cjs.map → chunk-ON47CBE4.cjs.map} +1 -1
- package/dist/{chunk-6LN7FIVU.js → chunk-PALYTHGM.js} +11 -4
- package/dist/chunk-PALYTHGM.js.map +1 -0
- package/dist/{chunk-YVF2EM7B.js → chunk-R7MRFE5P.js} +3 -3
- package/dist/{chunk-YVF2EM7B.js.map → chunk-R7MRFE5P.js.map} +1 -1
- package/dist/{chunk-EZEEWCFJ.cjs → chunk-RDP6ZRSM.cjs} +435 -265
- package/dist/chunk-RDP6ZRSM.cjs.map +1 -0
- package/dist/{chunk-GYEG3ZLZ.cjs → chunk-RJMHU2MG.cjs} +121 -18
- package/dist/chunk-RJMHU2MG.cjs.map +1 -0
- package/dist/chunk-RWUWTJQY.cjs +30 -0
- package/dist/chunk-RWUWTJQY.cjs.map +1 -0
- package/dist/{chunk-CT3ZKTOF.js → chunk-S33YQEL7.js} +7 -7
- package/dist/{chunk-CT3ZKTOF.js.map → chunk-S33YQEL7.js.map} +1 -1
- package/dist/chunk-S3SDEQMC.js +532 -0
- package/dist/chunk-S3SDEQMC.js.map +1 -0
- package/dist/{chunk-OI2GQ25X.cjs → chunk-SHC7BCG5.cjs} +7 -7
- package/dist/{chunk-OI2GQ25X.cjs.map → chunk-SHC7BCG5.cjs.map} +1 -1
- package/dist/{chunk-L3LQNR34.cjs → chunk-TEC24ZDA.cjs} +161 -161
- package/dist/{chunk-L3LQNR34.cjs.map → chunk-TEC24ZDA.cjs.map} +1 -1
- package/dist/{chunk-HDL2ARHX.cjs → chunk-TP4NJTI3.cjs} +63 -27
- package/dist/chunk-TP4NJTI3.cjs.map +1 -0
- package/dist/{chunk-UMGZDVOA.cjs → chunk-TTCOPKUL.cjs} +124 -124
- package/dist/{chunk-UMGZDVOA.cjs.map → chunk-TTCOPKUL.cjs.map} +1 -1
- package/dist/chunk-TUVD4DFR.cjs +1207 -0
- package/dist/chunk-TUVD4DFR.cjs.map +1 -0
- package/dist/{chunk-PFBRJBUL.cjs → chunk-TYGGUWMS.cjs} +178 -152
- package/dist/chunk-TYGGUWMS.cjs.map +1 -0
- package/dist/{chunk-4WMMBDS5.js → chunk-U3Z7XKAG.js} +7 -7
- package/dist/{chunk-4WMMBDS5.js.map → chunk-U3Z7XKAG.js.map} +1 -1
- package/dist/{chunk-NACVVDWB.js → chunk-U5EL6JUV.js} +10 -10
- package/dist/{chunk-NACVVDWB.js.map → chunk-U5EL6JUV.js.map} +1 -1
- package/dist/{chunk-OMZ37BM2.js → chunk-V76FGHY3.js} +5 -5
- package/dist/{chunk-OMZ37BM2.js.map → chunk-V76FGHY3.js.map} +1 -1
- package/dist/{chunk-6NGW27EO.cjs → chunk-VLBTRXA2.cjs} +10 -10
- package/dist/{chunk-6NGW27EO.cjs.map → chunk-VLBTRXA2.cjs.map} +1 -1
- package/dist/chunk-VTJVMP4I.js +1182 -0
- package/dist/chunk-VTJVMP4I.js.map +1 -0
- package/dist/{chunk-QTD6HX4O.js → chunk-W5SOCUBL.js} +5 -5
- package/dist/{chunk-QTD6HX4O.js.map → chunk-W5SOCUBL.js.map} +1 -1
- package/dist/{chunk-SR725PWF.cjs → chunk-WCLMKNQE.cjs} +1750 -1592
- package/dist/chunk-WCLMKNQE.cjs.map +1 -0
- package/dist/{chunk-TKZXMWQF.cjs → chunk-WK23PGTP.cjs} +13 -13
- package/dist/{chunk-TKZXMWQF.cjs.map → chunk-WK23PGTP.cjs.map} +1 -1
- package/dist/{chunk-KKBDXCLQ.js → chunk-WQBAQZHR.js} +4 -4
- package/dist/{chunk-KKBDXCLQ.js.map → chunk-WQBAQZHR.js.map} +1 -1
- package/dist/{chunk-MRDBBHIZ.cjs → chunk-X4GDXBOP.cjs} +2 -2
- package/dist/chunk-X4GDXBOP.cjs.map +1 -0
- package/dist/{chunk-WCCATHMB.cjs → chunk-XMY2SXOH.cjs} +438 -456
- package/dist/chunk-XMY2SXOH.cjs.map +1 -0
- package/dist/{chunk-D5R42W5D.js → chunk-XZW2CTNO.js} +115 -12
- package/dist/chunk-XZW2CTNO.js.map +1 -0
- package/dist/{chunk-NVY5CJFP.js → chunk-Y55DLLEG.js} +9 -6
- package/dist/chunk-Y55DLLEG.js.map +1 -0
- package/dist/chunk-YA36ABIL.js +174 -0
- package/dist/chunk-YA36ABIL.js.map +1 -0
- package/dist/{chunk-ZLONH2UD.js → chunk-YDEJQWOL.js} +2 -2
- package/dist/chunk-YDEJQWOL.js.map +1 -0
- package/dist/{chunk-JONXFAPO.js → chunk-ZAQUKCUC.js} +5 -5
- package/dist/{chunk-JONXFAPO.js.map → chunk-ZAQUKCUC.js.map} +1 -1
- package/dist/{chunk-SIT26LAZ.cjs → chunk-ZBFZGLZE.cjs} +29 -5
- package/dist/chunk-ZBFZGLZE.cjs.map +1 -0
- package/dist/{chunk-P6YLZTRE.js → chunk-ZRJTM7MT.js} +3 -3
- package/dist/{chunk-P6YLZTRE.js.map → chunk-ZRJTM7MT.js.map} +1 -1
- package/dist/core/index.cjs +29 -28
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +9 -8
- package/dist/{ddl-D_oW-EVO.d.ts → ddl-B49O7dB_.d.ts} +3 -3
- package/dist/{ddl-BL1NZLMY.d.cts → ddl-DcZG660s.d.cts} +3 -3
- package/dist/graph-extension/index.cjs +21 -20
- package/dist/graph-extension/index.d.cts +4 -4
- package/dist/graph-extension/index.d.ts +4 -4
- package/dist/graph-extension/index.js +5 -4
- package/dist/graph-merge/index.cjs +327 -302
- package/dist/graph-merge/index.cjs.map +1 -1
- package/dist/graph-merge/index.d.cts +14 -11
- package/dist/graph-merge/index.d.ts +14 -11
- package/dist/graph-merge/index.js +52 -27
- package/dist/graph-merge/index.js.map +1 -1
- package/dist/{index-D7d1u2gr.d.ts → index-B0PrmE3K.d.cts} +16 -2
- package/dist/{index-COs_z6nV.d.cts → index-CwcXsL5R.d.ts} +16 -2
- package/dist/index.cjs +223 -222
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +37 -36
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +13 -13
- package/dist/indexes/index.d.cts +4 -4
- package/dist/indexes/index.d.ts +4 -4
- package/dist/indexes/index.js +6 -6
- package/dist/ingestion-import-target-CI8OWIkM.d.ts +17 -0
- package/dist/ingestion-import-target-DCpfM1PX.d.cts +17 -0
- package/dist/interchange/index.cjs +55 -54
- package/dist/interchange/index.cjs.map +1 -1
- package/dist/interchange/index.d.cts +26 -12
- package/dist/interchange/index.d.ts +26 -12
- package/dist/interchange/index.js +19 -18
- package/dist/interchange/index.js.map +1 -1
- package/dist/{manager-D9eRT_ns.d.ts → manager-Cfg1ENj1.d.ts} +30 -2
- package/dist/{manager-CYaff3n3.d.cts → manager-D348fa6W.d.cts} +30 -2
- package/dist/{materialize-indexes-DJ3ykH59.d.ts → materialize-indexes-C9GG3O3C.d.ts} +1 -1
- package/dist/{materialize-indexes-DTtAnvfY.d.cts → materialize-indexes-CrSiW_lT.d.cts} +1 -1
- package/dist/{postgres-DMj39MEu.d.cts → postgres-CH1kkM5J.d.cts} +279 -2
- package/dist/{postgres-CcL4bAHS.d.ts → postgres-UStOycLI.d.ts} +279 -2
- package/dist/profiler/index.d.cts +9 -9
- package/dist/profiler/index.d.ts +9 -9
- package/dist/provenance/index.cjs +46 -44
- package/dist/provenance/index.cjs.map +1 -1
- package/dist/provenance/index.d.cts +7 -7
- package/dist/provenance/index.d.ts +7 -7
- package/dist/provenance/index.js +12 -10
- package/dist/provenance/index.js.map +1 -1
- package/dist/{repair-validity-windows-DlUSqwCg.d.ts → repair-validity-windows-BtOEe2pS.d.ts} +2 -2
- package/dist/{repair-validity-windows-BFNZvd_H.d.cts → repair-validity-windows-aWX7VNvv.d.cts} +2 -2
- package/dist/schema/index.cjs +46 -46
- package/dist/schema/index.d.cts +6 -6
- package/dist/schema/index.d.ts +6 -6
- package/dist/schema/index.js +19 -19
- package/dist/{searchable-DHJMh_nj.d.cts → searchable-C8-RrL3l.d.cts} +1 -1
- package/dist/{searchable-bpE1bBfc.d.ts → searchable-z4BiFfHI.d.ts} +1 -1
- package/dist/{sqlite-D7Oz0SQh.d.ts → sqlite-Cyx9j9o6.d.cts} +309 -2
- package/dist/{sqlite-YppHrNFb.d.cts → sqlite-axLw5Lo5.d.ts} +309 -2
- package/dist/{store-JUVvtmR4.d.cts → store-CTfQ9taw.d.ts} +110 -13
- package/dist/{store-UzrGvZOo.d.ts → store-DR9J7JVB.d.cts} +110 -13
- package/dist/{temporal-5GqpYCk2.d.cts → temporal-B4Ky4wzh.d.cts} +1 -1
- package/dist/{temporal-CbnLzTmM.d.ts → temporal-CBOrERz5.d.ts} +1 -1
- package/dist/{types-CXAhpW-c.d.cts → types-BE921wRl.d.cts} +1 -1
- package/dist/{types-Bx74kaTt.d.ts → types-BScHXVM7.d.ts} +1 -1
- package/dist/{types-BqFZTQmV.d.cts → types-CWg4dTjj.d.cts} +257 -6
- package/dist/{types-BqFZTQmV.d.ts → types-CWg4dTjj.d.ts} +257 -6
- package/dist/{where-O-k2wgYm.d.ts → where-BWXUPV3C.d.ts} +1 -1
- package/dist/{where-DI_Fqz-X.d.cts → where-CNtx1aLc.d.cts} +1 -1
- package/package.json +4 -4
- package/dist/chunk-26YKDNUD.cjs.map +0 -1
- package/dist/chunk-2HIYYMWY.cjs.map +0 -1
- package/dist/chunk-2SYZXD54.js.map +0 -1
- package/dist/chunk-3KOY4FH3.cjs +0 -934
- package/dist/chunk-3KOY4FH3.cjs.map +0 -1
- package/dist/chunk-3U5ABFDW.cjs.map +0 -1
- package/dist/chunk-5K2BKEBD.js.map +0 -1
- package/dist/chunk-5PRKMB24.cjs.map +0 -1
- package/dist/chunk-6LN7FIVU.js.map +0 -1
- package/dist/chunk-6SWPJEYN.js.map +0 -1
- package/dist/chunk-ACGSAMD3.js.map +0 -1
- package/dist/chunk-AX6JGVTZ.js.map +0 -1
- package/dist/chunk-BFUOME67.cjs.map +0 -1
- package/dist/chunk-BRRP76WO.js.map +0 -1
- package/dist/chunk-CICO5GXD.cjs +0 -12
- package/dist/chunk-D5R42W5D.js.map +0 -1
- package/dist/chunk-EZEEWCFJ.cjs.map +0 -1
- package/dist/chunk-FA2AFWLP.cjs +0 -167
- package/dist/chunk-FA2AFWLP.cjs.map +0 -1
- package/dist/chunk-FQPEMEWX.cjs.map +0 -1
- package/dist/chunk-GLHXM7C4.js.map +0 -1
- package/dist/chunk-GYEG3ZLZ.cjs.map +0 -1
- package/dist/chunk-HDL2ARHX.cjs.map +0 -1
- package/dist/chunk-HEV35TGT.js.map +0 -1
- package/dist/chunk-I4GAZH5Z.js +0 -913
- package/dist/chunk-I4GAZH5Z.js.map +0 -1
- package/dist/chunk-JB6T4GLL.cjs.map +0 -1
- package/dist/chunk-JBQQ7THH.js +0 -20
- package/dist/chunk-JBQQ7THH.js.map +0 -1
- package/dist/chunk-JFRT7S3B.cjs.map +0 -1
- package/dist/chunk-KF6K7TGH.js.map +0 -1
- package/dist/chunk-MKJ4KXL5.cjs +0 -12
- package/dist/chunk-MRDBBHIZ.cjs.map +0 -1
- package/dist/chunk-NVY5CJFP.js.map +0 -1
- package/dist/chunk-OD4SSY2U.js.map +0 -1
- package/dist/chunk-OTUPEF2W.cjs.map +0 -1
- package/dist/chunk-PFBRJBUL.cjs.map +0 -1
- package/dist/chunk-PWLJ77UV.cjs +0 -23
- package/dist/chunk-PWLJ77UV.cjs.map +0 -1
- package/dist/chunk-S5TERQVW.js.map +0 -1
- package/dist/chunk-SHFBB23Q.js.map +0 -1
- package/dist/chunk-SIT26LAZ.cjs.map +0 -1
- package/dist/chunk-SR725PWF.cjs.map +0 -1
- package/dist/chunk-TQHGE7UC.cjs.map +0 -1
- package/dist/chunk-UGHG7PGX.js.map +0 -1
- package/dist/chunk-WCCATHMB.cjs.map +0 -1
- package/dist/chunk-YIURNGXI.js +0 -155
- package/dist/chunk-YIURNGXI.js.map +0 -1
- package/dist/chunk-ZFMCDJGB.js.map +0 -1
- package/dist/chunk-ZLONH2UD.js.map +0 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
3
|
+
var chunkEH3JZJUM_cjs = require('./chunk-EH3JZJUM.cjs');
|
|
4
|
+
var chunkTP4NJTI3_cjs = require('./chunk-TP4NJTI3.cjs');
|
|
5
|
+
var chunk45YZXI6X_cjs = require('./chunk-45YZXI6X.cjs');
|
|
6
|
+
var chunk7PRMDZIA_cjs = require('./chunk-7PRMDZIA.cjs');
|
|
7
|
+
var chunkZBFZGLZE_cjs = require('./chunk-ZBFZGLZE.cjs');
|
|
8
|
+
var chunkLLVOQOWE_cjs = require('./chunk-LLVOQOWE.cjs');
|
|
9
|
+
var chunkM5MSP3BI_cjs = require('./chunk-M5MSP3BI.cjs');
|
|
9
10
|
var chunkZY4GXIVN_cjs = require('./chunk-ZY4GXIVN.cjs');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
11
|
+
var chunkTEC24ZDA_cjs = require('./chunk-TEC24ZDA.cjs');
|
|
12
|
+
var chunkOJHD3LXJ_cjs = require('./chunk-OJHD3LXJ.cjs');
|
|
13
|
+
var chunkX4GDXBOP_cjs = require('./chunk-X4GDXBOP.cjs');
|
|
13
14
|
var chunkN66HCGCY_cjs = require('./chunk-N66HCGCY.cjs');
|
|
14
15
|
var drizzleOrm = require('drizzle-orm');
|
|
15
16
|
|
|
@@ -20,7 +21,7 @@ function assertLimitPerEndpoint(operation, graphId, limitPerEndpoint, kind) {
|
|
|
20
21
|
if (limitPerEndpoint === void 0 || Number.isInteger(limitPerEndpoint) && limitPerEndpoint > 0) {
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
23
|
-
throw new
|
|
24
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
24
25
|
`${operation} \`limitPerEndpoint\` must be a positive integer, received ${String(limitPerEndpoint)}.`,
|
|
25
26
|
{
|
|
26
27
|
code: "EDGE_ENDPOINT_SET_INVALID",
|
|
@@ -64,7 +65,7 @@ function resolveHeterogeneousEdgeRead(params, maxBindParameters) {
|
|
|
64
65
|
if (endpointChunkSize >= 1) {
|
|
65
66
|
return { edgeKinds, endpoints, endpointChunkSize };
|
|
66
67
|
}
|
|
67
|
-
throw new
|
|
68
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
68
69
|
"findEdgesByHeterogeneousEndpointSet cannot fit one endpoint and the selected edge kinds within the backend bind-parameter budget.",
|
|
69
70
|
{
|
|
70
71
|
code: "EDGE_HETEROGENEOUS_READ_BIND_BUDGET_EXCEEDED",
|
|
@@ -80,8 +81,8 @@ function resolveHeterogeneousEdgeRead(params, maxBindParameters) {
|
|
|
80
81
|
|
|
81
82
|
// src/backend/live-node-candidates.ts
|
|
82
83
|
function buildLiveNodeCandidates(nodesTableName, graphId, nodeKind, now) {
|
|
83
|
-
const nodes =
|
|
84
|
-
return
|
|
84
|
+
const nodes = chunkOJHD3LXJ_cjs.sql.identifier(nodesTableName);
|
|
85
|
+
return chunkOJHD3LXJ_cjs.sql`
|
|
85
86
|
SELECT "id" AS node_id
|
|
86
87
|
FROM ${nodes}
|
|
87
88
|
WHERE "graph_id" = ${graphId}
|
|
@@ -122,10 +123,10 @@ function vectorSlotFromDropIndexParams(params) {
|
|
|
122
123
|
};
|
|
123
124
|
}
|
|
124
125
|
function mapVectorWriteError(error, params) {
|
|
125
|
-
const mismatch =
|
|
126
|
+
const mismatch = chunkZBFZGLZE_cjs.parseDimensionMismatch(error);
|
|
126
127
|
if (mismatch === void 0) return error;
|
|
127
128
|
const attempted = mismatch.actual ?? "a different number of";
|
|
128
|
-
return new
|
|
129
|
+
return new chunkX4GDXBOP_cjs.EmbeddingDimensionChangedError(
|
|
129
130
|
`Embedding "${params.nodeKind}.${params.fieldPath}" was written with ${attempted} dimensions, but its per-field storage expects ${mismatch.expected}. The field's embedding dimension changed; existing vectors must be recreated and re-embedded.`,
|
|
130
131
|
{
|
|
131
132
|
kind: params.nodeKind,
|
|
@@ -141,7 +142,7 @@ var SQLITE_CONTRIBUTION_MAT_TIMESTAMPS = {
|
|
|
141
142
|
encode: (value) => value
|
|
142
143
|
};
|
|
143
144
|
var POSTGRES_CONTRIBUTION_MAT_TIMESTAMPS = {
|
|
144
|
-
decode:
|
|
145
|
+
decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
|
|
145
146
|
encode: (value) => new Date(value)
|
|
146
147
|
};
|
|
147
148
|
function mapContributionMaterializationRow(row, decode) {
|
|
@@ -191,7 +192,7 @@ function contributionSignatureInput(dialect, identity, createDdl) {
|
|
|
191
192
|
tableName: identity.tableName,
|
|
192
193
|
createDdl
|
|
193
194
|
};
|
|
194
|
-
return JSON.stringify(hashable,
|
|
195
|
+
return JSON.stringify(hashable, chunkZBFZGLZE_cjs.sortedReplacer);
|
|
195
196
|
}
|
|
196
197
|
function evaluateContributionState(row, signature) {
|
|
197
198
|
if (row === void 0) return "missing";
|
|
@@ -250,10 +251,10 @@ function identityOf(graphId, contribution) {
|
|
|
250
251
|
}
|
|
251
252
|
function missingTableErrorNames(error, tableName) {
|
|
252
253
|
const quotedTableName2 = `"${tableName.replaceAll('"', '""')}"`;
|
|
253
|
-
for (const link of
|
|
254
|
+
for (const link of chunkZBFZGLZE_cjs.errorChain(error)) {
|
|
254
255
|
const message = errorMessage(link);
|
|
255
256
|
if (typeof message !== "string") continue;
|
|
256
|
-
const sqliteMatch = /\bno such table:\s*([^\s
|
|
257
|
+
const sqliteMatch = /\bno such table:\s*([^\s;:]+)/i.exec(message);
|
|
257
258
|
const sqliteName = unquoteSqliteIdentifier(sqliteMatch?.[1]);
|
|
258
259
|
if (sqliteName === tableName) return true;
|
|
259
260
|
const namesPostgresTable = message.includes(`relation ${quotedTableName2} does not exist`) || message.includes(`table ${quotedTableName2} does not exist`);
|
|
@@ -355,13 +356,13 @@ function gateFulltextMethods(source, assert, refuseUnavailable) {
|
|
|
355
356
|
return gated;
|
|
356
357
|
}
|
|
357
358
|
function gateFulltext(tx, assert, refuseUnavailable) {
|
|
358
|
-
return
|
|
359
|
+
return chunkZBFZGLZE_cjs.deriveBackend(
|
|
359
360
|
tx,
|
|
360
361
|
gateFulltextMethods(tx, assert, refuseUnavailable)
|
|
361
362
|
);
|
|
362
363
|
}
|
|
363
364
|
function contributionRebuildSupported(fulltextStrategy, fulltextTableName, transactional) {
|
|
364
|
-
return transactional &&
|
|
365
|
+
return transactional && chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName).every(
|
|
365
366
|
(contribution) => contribution.dropDdl !== void 0
|
|
366
367
|
);
|
|
367
368
|
}
|
|
@@ -410,7 +411,7 @@ function createContributionMaterializer(deps) {
|
|
|
410
411
|
}
|
|
411
412
|
}
|
|
412
413
|
function runtimeContributions() {
|
|
413
|
-
return
|
|
414
|
+
return chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
|
|
414
415
|
}
|
|
415
416
|
function cacheInitializedSignature(key, signature) {
|
|
416
417
|
if (!uncacheableKeys.has(key)) {
|
|
@@ -437,13 +438,13 @@ function createContributionMaterializer(deps) {
|
|
|
437
438
|
await deps.recordMarker({
|
|
438
439
|
...identity,
|
|
439
440
|
signature: existing.signature,
|
|
440
|
-
attemptedAt:
|
|
441
|
+
attemptedAt: chunkEH3JZJUM_cjs.nowIso(),
|
|
441
442
|
materializedAt: void 0,
|
|
442
443
|
error: error.message
|
|
443
444
|
});
|
|
444
445
|
throw error;
|
|
445
446
|
}
|
|
446
|
-
const attemptedAt =
|
|
447
|
+
const attemptedAt = chunkEH3JZJUM_cjs.nowIso();
|
|
447
448
|
try {
|
|
448
449
|
for (const statement of contribution.createDdl) {
|
|
449
450
|
await deps.execDdl(statement);
|
|
@@ -479,7 +480,7 @@ function createContributionMaterializer(deps) {
|
|
|
479
480
|
rows: indexMarkerRows(graphId, await deps.getMarkers(graphId))
|
|
480
481
|
};
|
|
481
482
|
} catch (error) {
|
|
482
|
-
if (!
|
|
483
|
+
if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
|
|
483
484
|
return { kind: "missing-table", error };
|
|
484
485
|
}
|
|
485
486
|
}
|
|
@@ -558,7 +559,7 @@ function createContributionMaterializer(deps) {
|
|
|
558
559
|
if (read.kind === "missing-table") {
|
|
559
560
|
const first = pending[0];
|
|
560
561
|
if (first === void 0) return;
|
|
561
|
-
throw new
|
|
562
|
+
throw new chunkX4GDXBOP_cjs.StoreNotInitializedError(graphId, "missing", {
|
|
562
563
|
cause: read.error,
|
|
563
564
|
details: { logicalName: first.contribution.logicalName }
|
|
564
565
|
});
|
|
@@ -567,7 +568,7 @@ function createContributionMaterializer(deps) {
|
|
|
567
568
|
const { contribution, key, signature } = entry;
|
|
568
569
|
const state = evaluateContributionState(read.rows.get(key), signature);
|
|
569
570
|
if (state !== "initialized") {
|
|
570
|
-
throw new
|
|
571
|
+
throw new chunkX4GDXBOP_cjs.StoreNotInitializedError(graphId, state, {
|
|
571
572
|
details: { logicalName: contribution.logicalName }
|
|
572
573
|
});
|
|
573
574
|
}
|
|
@@ -582,12 +583,12 @@ function createContributionMaterializer(deps) {
|
|
|
582
583
|
}
|
|
583
584
|
async function refuseUnavailableFulltext(graphId, error) {
|
|
584
585
|
await Promise.resolve();
|
|
585
|
-
if (!
|
|
586
|
+
if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
|
|
586
587
|
const missingContribution = runtimeContributions().find(
|
|
587
588
|
(contribution) => contribution.logicalName === "fulltext" && missingTableErrorNames(error, contribution.tableName)
|
|
588
589
|
);
|
|
589
590
|
if (missingContribution !== void 0) {
|
|
590
|
-
throw new
|
|
591
|
+
throw new chunkX4GDXBOP_cjs.ContributionUnavailableError(
|
|
591
592
|
graphId,
|
|
592
593
|
missingContribution.tableName,
|
|
593
594
|
{ cause: error }
|
|
@@ -756,23 +757,23 @@ function createContributionMaterializer(deps) {
|
|
|
756
757
|
async function lockContributionDdl(tx) {
|
|
757
758
|
if (dialect !== "postgres") return;
|
|
758
759
|
await tx.execute(
|
|
759
|
-
|
|
760
|
-
|
|
760
|
+
chunkOJHD3LXJ_cjs.asCompiledRowsSql(
|
|
761
|
+
chunkOJHD3LXJ_cjs.sql`SELECT pg_advisory_xact_lock(hashtext(${CONTRIBUTION_DDL_LOCK_KEY}), 0)`
|
|
761
762
|
)
|
|
762
763
|
);
|
|
763
764
|
}
|
|
764
765
|
async function lockSharedFulltextTable(tx, tableName) {
|
|
765
766
|
if (dialect !== "postgres") return;
|
|
766
767
|
await tx.executeStatement(
|
|
767
|
-
|
|
768
|
-
|
|
768
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
769
|
+
chunkOJHD3LXJ_cjs.sql`LOCK TABLE ${chunkOJHD3LXJ_cjs.sql.identifier(tableName)} IN ACCESS EXCLUSIVE MODE`
|
|
769
770
|
)
|
|
770
771
|
);
|
|
771
772
|
}
|
|
772
773
|
async function readForeignGraphIds(tx, tableName, graphId) {
|
|
773
774
|
const rows = await tx.execute(
|
|
774
|
-
|
|
775
|
-
|
|
775
|
+
chunkOJHD3LXJ_cjs.asCompiledRowsSql(
|
|
776
|
+
chunkTEC24ZDA_cjs.buildForeignFulltextGraphProbe(
|
|
776
777
|
tableName,
|
|
777
778
|
graphId,
|
|
778
779
|
FOREIGN_GRAPH_REPORT_LIMIT
|
|
@@ -783,7 +784,7 @@ function createContributionMaterializer(deps) {
|
|
|
783
784
|
}
|
|
784
785
|
async function rebuildContribution(graphId, scope, repopulate) {
|
|
785
786
|
if (scope === "vector") {
|
|
786
|
-
throw new
|
|
787
|
+
throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError(
|
|
787
788
|
"vector-source-unavailable",
|
|
788
789
|
{ graphId, contribution: scope }
|
|
789
790
|
);
|
|
@@ -793,7 +794,7 @@ function createContributionMaterializer(deps) {
|
|
|
793
794
|
(contribution) => contribution.dropDdl === void 0
|
|
794
795
|
);
|
|
795
796
|
if (withoutTeardown !== void 0) {
|
|
796
|
-
throw new
|
|
797
|
+
throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError("no-drop-ddl", {
|
|
797
798
|
graphId,
|
|
798
799
|
contribution: scope,
|
|
799
800
|
owner: withoutTeardown.owner,
|
|
@@ -803,7 +804,7 @@ function createContributionMaterializer(deps) {
|
|
|
803
804
|
}
|
|
804
805
|
const fence = deps.schemaWriteTransaction;
|
|
805
806
|
if (fence === void 0) {
|
|
806
|
-
throw new
|
|
807
|
+
throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError("no-schema-fence", {
|
|
807
808
|
graphId,
|
|
808
809
|
contribution: scope,
|
|
809
810
|
backend: dialect
|
|
@@ -826,7 +827,7 @@ function createContributionMaterializer(deps) {
|
|
|
826
827
|
const rebuilt = await fence(graphId, async (tx) => {
|
|
827
828
|
const record = tx.recordContributionMaterialization;
|
|
828
829
|
if (record === void 0) {
|
|
829
|
-
throw new
|
|
830
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
830
831
|
"rebuildContribution requires a transaction-scoped backend that can write contribution markers; without it the drop, recreate, and stamp could not commit together.",
|
|
831
832
|
{
|
|
832
833
|
backend: dialect,
|
|
@@ -850,7 +851,7 @@ function createContributionMaterializer(deps) {
|
|
|
850
851
|
) === "stale"
|
|
851
852
|
);
|
|
852
853
|
if (staleStamp !== void 0) {
|
|
853
|
-
throw new
|
|
854
|
+
throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError(
|
|
854
855
|
"shared-storage-in-use",
|
|
855
856
|
{
|
|
856
857
|
graphId,
|
|
@@ -875,13 +876,13 @@ function createContributionMaterializer(deps) {
|
|
|
875
876
|
}
|
|
876
877
|
if (!recreateStorage) {
|
|
877
878
|
await tx.executeStatement(
|
|
878
|
-
|
|
879
|
-
|
|
879
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
880
|
+
chunkTEC24ZDA_cjs.buildFulltextGraphDelete(sharedTable, graphId)
|
|
880
881
|
)
|
|
881
882
|
);
|
|
882
883
|
}
|
|
883
884
|
const stats = await repopulate(tx);
|
|
884
|
-
const now =
|
|
885
|
+
const now = chunkEH3JZJUM_cjs.nowIso();
|
|
885
886
|
for (const { contribution, signature } of stamps) {
|
|
886
887
|
await record({
|
|
887
888
|
...identityOf(graphId, contribution),
|
|
@@ -943,7 +944,7 @@ var SQLITE_INDEX_MAT_TIMESTAMPS = {
|
|
|
943
944
|
encode: (value) => value
|
|
944
945
|
};
|
|
945
946
|
var POSTGRES_INDEX_MAT_TIMESTAMPS = {
|
|
946
|
-
decode:
|
|
947
|
+
decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
|
|
947
948
|
encode: (value) => new Date(value)
|
|
948
949
|
};
|
|
949
950
|
function mapMaterializationRow(row, decode) {
|
|
@@ -1001,7 +1002,7 @@ var SQLITE_KIND_REMOVAL_TIMESTAMPS = {
|
|
|
1001
1002
|
encode: (value) => value
|
|
1002
1003
|
};
|
|
1003
1004
|
var POSTGRES_KIND_REMOVAL_TIMESTAMPS = {
|
|
1004
|
-
decode:
|
|
1005
|
+
decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
|
|
1005
1006
|
encode: (value) => new Date(value)
|
|
1006
1007
|
};
|
|
1007
1008
|
function mapKindRemovalRow(row, decode) {
|
|
@@ -1042,68 +1043,8 @@ function buildKindRemovalOnConflictSet(removedAtColumn, paramsRemovedAt) {
|
|
|
1042
1043
|
lastError: drizzleOrm.sql`excluded.${drizzleOrm.sql.identifier("last_error")}`
|
|
1043
1044
|
};
|
|
1044
1045
|
}
|
|
1045
|
-
function primaryKeyConstraintNames(relation, keyColumns) {
|
|
1046
|
-
return [`${relation}_pkey`, `${relation}_${keyColumns.join("_")}_pk`];
|
|
1047
|
-
}
|
|
1048
|
-
function nodePrimaryKeyConstraint(nodes) {
|
|
1049
|
-
const relation = drizzleOrm.getTableName(nodes);
|
|
1050
|
-
return {
|
|
1051
|
-
table: relation,
|
|
1052
|
-
constraintNames: primaryKeyConstraintNames(relation, [
|
|
1053
|
-
nodes.graphId.name,
|
|
1054
|
-
nodes.kind.name,
|
|
1055
|
-
nodes.id.name
|
|
1056
|
-
])
|
|
1057
|
-
};
|
|
1058
|
-
}
|
|
1059
|
-
function edgePrimaryKeyConstraint(edges) {
|
|
1060
|
-
const relation = drizzleOrm.getTableName(edges);
|
|
1061
|
-
return {
|
|
1062
|
-
table: relation,
|
|
1063
|
-
constraintNames: primaryKeyConstraintNames(relation, [
|
|
1064
|
-
edges.graphId.name,
|
|
1065
|
-
edges.id.name
|
|
1066
|
-
])
|
|
1067
|
-
};
|
|
1068
|
-
}
|
|
1069
|
-
function sqlNull(value) {
|
|
1070
|
-
return value ?? drizzleOrm.sql.raw("NULL");
|
|
1071
|
-
}
|
|
1072
|
-
function expectedValidFromPredicate(column, expected) {
|
|
1073
|
-
if (expected === void 0) return drizzleOrm.sql.empty();
|
|
1074
|
-
if (expected === null) return drizzleOrm.sql` AND ${column} IS NULL`;
|
|
1075
|
-
return drizzleOrm.sql` AND ${column} = ${expected}`;
|
|
1076
|
-
}
|
|
1077
|
-
function quotedColumn(column) {
|
|
1078
|
-
return drizzleOrm.sql.raw(`"${column.name.replaceAll('"', '""')}"`);
|
|
1079
|
-
}
|
|
1080
|
-
function quotedTableName(tableName) {
|
|
1081
|
-
return drizzleOrm.sql.raw(`"${tableName.replaceAll('"', '""')}"`);
|
|
1082
|
-
}
|
|
1083
|
-
var CODE_POINT_ORDER_BUILDERS = {
|
|
1084
|
-
postgres: (value) => drizzleOrm.sql`${value} COLLATE "C"`,
|
|
1085
|
-
sqlite: (value) => value
|
|
1086
|
-
};
|
|
1087
|
-
function codePointOrderKey(column, dialect) {
|
|
1088
|
-
return CODE_POINT_ORDER_BUILDERS[dialect](column);
|
|
1089
|
-
}
|
|
1090
|
-
function liveNodeIdsSubquery(nodes, graphId, nodeKind, nowIso2) {
|
|
1091
|
-
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})`;
|
|
1092
|
-
}
|
|
1093
|
-
function nodeColumnList(nodes) {
|
|
1094
|
-
return drizzleOrm.sql.raw(
|
|
1095
|
-
`"${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}"`
|
|
1096
|
-
);
|
|
1097
|
-
}
|
|
1098
|
-
function edgeColumnList(edges) {
|
|
1099
|
-
return drizzleOrm.sql.raw(
|
|
1100
|
-
`"${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}"`
|
|
1101
|
-
);
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
// src/backend/drizzle/operations/hybrid.ts
|
|
1105
1046
|
function nodeIdOrderKey(dialect) {
|
|
1106
|
-
return codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
|
|
1047
|
+
return chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
|
|
1107
1048
|
}
|
|
1108
1049
|
function hybridCandidatesRef() {
|
|
1109
1050
|
return drizzleOrm.sql`SELECT node_id FROM tg_hybrid_cand`;
|
|
@@ -1185,7 +1126,7 @@ function buildHybridSearchStatement(input) {
|
|
|
1185
1126
|
`;
|
|
1186
1127
|
}
|
|
1187
1128
|
function qualified(nodes, member) {
|
|
1188
|
-
return drizzleOrm.sql`tg_hybrid_node.${quotedColumn(nodes[member])}`;
|
|
1129
|
+
return drizzleOrm.sql`tg_hybrid_node.${chunkEH3JZJUM_cjs.quotedColumn(nodes[member])}`;
|
|
1189
1130
|
}
|
|
1190
1131
|
function present(value) {
|
|
1191
1132
|
return value !== null && value !== void 0;
|
|
@@ -1193,12 +1134,12 @@ function present(value) {
|
|
|
1193
1134
|
function mapHybridSearchRow(row, toNodeRow) {
|
|
1194
1135
|
return {
|
|
1195
1136
|
node: toNodeRow(row),
|
|
1196
|
-
fusedScore:
|
|
1137
|
+
fusedScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["fused_score"]),
|
|
1197
1138
|
...present(row["vector_rank"]) ? { vectorRank: Number(row["vector_rank"]) } : {},
|
|
1198
|
-
...present(row["vector_score"]) ? { vectorScore:
|
|
1139
|
+
...present(row["vector_score"]) ? { vectorScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["vector_score"]) } : {},
|
|
1199
1140
|
...present(row["fulltext_rank"]) ? { fulltextRank: Number(row["fulltext_rank"]) } : {},
|
|
1200
1141
|
...present(row["fulltext_score"]) ? {
|
|
1201
|
-
fulltextScore:
|
|
1142
|
+
fulltextScore: chunkEH3JZJUM_cjs.coerceNumericScore(
|
|
1202
1143
|
row["fulltext_score"]
|
|
1203
1144
|
)
|
|
1204
1145
|
} : {},
|
|
@@ -1210,7 +1151,7 @@ function buildClearGraph(tables, graphId) {
|
|
|
1210
1151
|
// The fulltext table is shared by every graph in the database, so its
|
|
1211
1152
|
// graph-scoped delete is owned by one builder the destructive
|
|
1212
1153
|
// contribution rebuild calls too — see `buildFulltextGraphDelete`.
|
|
1213
|
-
{ query:
|
|
1154
|
+
{ query: chunkTEC24ZDA_cjs.buildFulltextGraphDelete(tables.fulltextTableName, graphId) },
|
|
1214
1155
|
{
|
|
1215
1156
|
query: drizzleOrm.sql`DELETE FROM ${tables.recordedIdentityAssertions} WHERE ${tables.recordedIdentityAssertions.graphId} = ${graphId}`,
|
|
1216
1157
|
ignoreMissingTable: true,
|
|
@@ -1249,6 +1190,17 @@ function buildClearGraph(tables, graphId) {
|
|
|
1249
1190
|
{
|
|
1250
1191
|
query: drizzleOrm.sql`DELETE FROM ${tables.uniques} WHERE ${tables.uniques.graphId} = ${graphId}`
|
|
1251
1192
|
},
|
|
1193
|
+
// Edge claims name the edges they are held by, so they are cleared
|
|
1194
|
+
// BEFORE the edges — the same ordering `uniques` gets against `nodes`.
|
|
1195
|
+
// Tolerates absence for the reason the recorded relations do: bootstrap DDL
|
|
1196
|
+
// runs only on first boot, so a database initialized before this relation
|
|
1197
|
+
// existed has no such table, and clearing a graph must not become the
|
|
1198
|
+
// operation that fails on it.
|
|
1199
|
+
{
|
|
1200
|
+
query: drizzleOrm.sql`DELETE FROM ${tables.edgeClaims} WHERE ${tables.edgeClaims.graphId} = ${graphId}`,
|
|
1201
|
+
ignoreMissingTable: true,
|
|
1202
|
+
requiredTableName: drizzleOrm.getTableName(tables.edgeClaims)
|
|
1203
|
+
},
|
|
1252
1204
|
{
|
|
1253
1205
|
query: drizzleOrm.sql`DELETE FROM ${tables.edges} WHERE ${tables.edges.graphId} = ${graphId}`
|
|
1254
1206
|
},
|
|
@@ -1509,16 +1461,95 @@ function buildCountEdgesByKind(tables, params) {
|
|
|
1509
1461
|
WHERE ${whereClause}
|
|
1510
1462
|
`;
|
|
1511
1463
|
}
|
|
1464
|
+
var PEER = "peer";
|
|
1465
|
+
function qualified2(relation, column) {
|
|
1466
|
+
return drizzleOrm.sql.raw(`"${relation}"."${column.name}"`);
|
|
1467
|
+
}
|
|
1468
|
+
function inList(values) {
|
|
1469
|
+
return drizzleOrm.sql.join(
|
|
1470
|
+
values.map((value) => drizzleOrm.sql`${value}`),
|
|
1471
|
+
drizzleOrm.sql`, `
|
|
1472
|
+
);
|
|
1473
|
+
}
|
|
1474
|
+
function buildContendedUniqueRowAudit(tables, graphId, constraintNames) {
|
|
1475
|
+
const { uniques } = tables;
|
|
1476
|
+
const relation = drizzleOrm.getTableName(uniques);
|
|
1477
|
+
return drizzleOrm.sql`
|
|
1478
|
+
SELECT
|
|
1479
|
+
${chunkEH3JZJUM_cjs.quotedColumn(uniques.nodeKind)} as node_kind,
|
|
1480
|
+
${chunkEH3JZJUM_cjs.quotedColumn(uniques.constraintName)} as constraint_name,
|
|
1481
|
+
${chunkEH3JZJUM_cjs.quotedColumn(uniques.key)} as key,
|
|
1482
|
+
${chunkEH3JZJUM_cjs.quotedColumn(uniques.concreteKind)} as concrete_kind,
|
|
1483
|
+
${chunkEH3JZJUM_cjs.quotedColumn(uniques.nodeId)} as node_id
|
|
1484
|
+
FROM ${uniques}
|
|
1485
|
+
WHERE ${qualified2(relation, uniques.graphId)} = ${graphId}
|
|
1486
|
+
AND ${qualified2(relation, uniques.constraintName)} IN (${inList(constraintNames)})
|
|
1487
|
+
AND ${qualified2(relation, uniques.deletedAt)} IS NULL
|
|
1488
|
+
AND EXISTS (
|
|
1489
|
+
SELECT 1 FROM ${uniques} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
|
|
1490
|
+
WHERE ${qualified2(PEER, uniques.graphId)} = ${qualified2(relation, uniques.graphId)}
|
|
1491
|
+
AND ${qualified2(PEER, uniques.constraintName)} = ${qualified2(relation, uniques.constraintName)}
|
|
1492
|
+
AND ${qualified2(PEER, uniques.key)} = ${qualified2(relation, uniques.key)}
|
|
1493
|
+
AND ${qualified2(PEER, uniques.deletedAt)} IS NULL
|
|
1494
|
+
AND ${qualified2(PEER, uniques.nodeKind)} <> ${qualified2(relation, uniques.nodeKind)}
|
|
1495
|
+
)
|
|
1496
|
+
`;
|
|
1497
|
+
}
|
|
1498
|
+
function buildContendedEdgeRowAudit(tables, graphId, cardinality, edgeKinds) {
|
|
1499
|
+
const { edges } = tables;
|
|
1500
|
+
const relation = drizzleOrm.getTableName(edges);
|
|
1501
|
+
const spec = chunk7PRMDZIA_cjs.EDGE_CARDINALITY_SPECS[cardinality];
|
|
1502
|
+
const activeOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(relation, edges.validTo)} IS NULL` : drizzleOrm.sql.empty();
|
|
1503
|
+
const peerActiveOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(PEER, edges.validTo)} IS NULL` : drizzleOrm.sql.empty();
|
|
1504
|
+
const peerToEndpoints = spec.keyShape === "fromAndTo" ? drizzleOrm.sql`
|
|
1505
|
+
AND ${qualified2(PEER, edges.toKind)} = ${qualified2(relation, edges.toKind)}
|
|
1506
|
+
AND ${qualified2(PEER, edges.toId)} = ${qualified2(relation, edges.toId)}
|
|
1507
|
+
` : drizzleOrm.sql.empty();
|
|
1508
|
+
return drizzleOrm.sql`
|
|
1509
|
+
SELECT
|
|
1510
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.id)} as edge_id,
|
|
1511
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.kind)} as edge_kind,
|
|
1512
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.fromKind)} as from_kind,
|
|
1513
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.fromId)} as from_id,
|
|
1514
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.toKind)} as to_kind,
|
|
1515
|
+
${chunkEH3JZJUM_cjs.quotedColumn(edges.toId)} as to_id
|
|
1516
|
+
FROM ${edges}
|
|
1517
|
+
WHERE ${qualified2(relation, edges.graphId)} = ${graphId}
|
|
1518
|
+
AND ${qualified2(relation, edges.kind)} IN (${inList(edgeKinds)})
|
|
1519
|
+
AND ${qualified2(relation, edges.deletedAt)} IS NULL${activeOnly}
|
|
1520
|
+
AND EXISTS (
|
|
1521
|
+
SELECT 1 FROM ${edges} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
|
|
1522
|
+
WHERE ${qualified2(PEER, edges.graphId)} = ${qualified2(relation, edges.graphId)}
|
|
1523
|
+
AND ${qualified2(PEER, edges.kind)} = ${qualified2(relation, edges.kind)}
|
|
1524
|
+
AND ${qualified2(PEER, edges.fromKind)} = ${qualified2(relation, edges.fromKind)}
|
|
1525
|
+
AND ${qualified2(PEER, edges.fromId)} = ${qualified2(relation, edges.fromId)}${peerToEndpoints}
|
|
1526
|
+
AND ${qualified2(PEER, edges.deletedAt)} IS NULL${peerActiveOnly}
|
|
1527
|
+
AND ${qualified2(PEER, edges.id)} <> ${qualified2(relation, edges.id)}
|
|
1528
|
+
)
|
|
1529
|
+
`;
|
|
1530
|
+
}
|
|
1531
|
+
function buildDisjointOverlapAudit(tables, graphId, kinds) {
|
|
1532
|
+
const { nodes } = tables;
|
|
1533
|
+
const relation = drizzleOrm.getTableName(nodes);
|
|
1534
|
+
const liveIdsOfKind = (kind) => drizzleOrm.sql`
|
|
1535
|
+
SELECT ${chunkEH3JZJUM_cjs.quotedColumn(nodes.id)} as node_id
|
|
1536
|
+
FROM ${nodes}
|
|
1537
|
+
WHERE ${qualified2(relation, nodes.graphId)} = ${graphId}
|
|
1538
|
+
AND ${qualified2(relation, nodes.kind)} = ${kind}
|
|
1539
|
+
AND ${qualified2(relation, nodes.deletedAt)} IS NULL
|
|
1540
|
+
`;
|
|
1541
|
+
return drizzleOrm.sql`${liveIdsOfKind(kinds[0])} INTERSECT ${liveIdsOfKind(kinds[1])}`;
|
|
1542
|
+
}
|
|
1512
1543
|
function buildInsertEdge(tables, params, timestamp) {
|
|
1513
1544
|
const { edges } = tables;
|
|
1514
1545
|
const propsJson = JSON.stringify(params.props);
|
|
1515
|
-
const columns = edgeColumnList(edges);
|
|
1546
|
+
const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
|
|
1516
1547
|
return drizzleOrm.sql`
|
|
1517
1548
|
INSERT INTO ${edges} (${columns})
|
|
1518
1549
|
VALUES (
|
|
1519
1550
|
${params.graphId}, ${params.id}, ${params.kind},
|
|
1520
1551
|
${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
|
|
1521
|
-
${propsJson}, ${sqlNull(
|
|
1552
|
+
${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
|
|
1522
1553
|
${timestamp}, ${timestamp}
|
|
1523
1554
|
)
|
|
1524
1555
|
RETURNING *
|
|
@@ -1527,23 +1558,23 @@ function buildInsertEdge(tables, params, timestamp) {
|
|
|
1527
1558
|
function buildInsertEdgeNoReturn(tables, params, timestamp) {
|
|
1528
1559
|
const { edges } = tables;
|
|
1529
1560
|
const propsJson = JSON.stringify(params.props);
|
|
1530
|
-
const columns = edgeColumnList(edges);
|
|
1561
|
+
const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
|
|
1531
1562
|
return drizzleOrm.sql`
|
|
1532
1563
|
INSERT INTO ${edges} (${columns})
|
|
1533
1564
|
VALUES (
|
|
1534
1565
|
${params.graphId}, ${params.id}, ${params.kind},
|
|
1535
1566
|
${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
|
|
1536
|
-
${propsJson}, ${sqlNull(
|
|
1567
|
+
${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
|
|
1537
1568
|
${timestamp}, ${timestamp}
|
|
1538
1569
|
)
|
|
1539
1570
|
`;
|
|
1540
1571
|
}
|
|
1541
1572
|
function buildInsertEdgesBatch(tables, params, timestamp) {
|
|
1542
1573
|
const { edges } = tables;
|
|
1543
|
-
const columns = edgeColumnList(edges);
|
|
1574
|
+
const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
|
|
1544
1575
|
const values = params.map((edgeParams) => {
|
|
1545
1576
|
const propsJson = JSON.stringify(edgeParams.props);
|
|
1546
|
-
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(
|
|
1577
|
+
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1547
1578
|
});
|
|
1548
1579
|
return drizzleOrm.sql`
|
|
1549
1580
|
INSERT INTO ${edges} (${columns})
|
|
@@ -1552,10 +1583,10 @@ function buildInsertEdgesBatch(tables, params, timestamp) {
|
|
|
1552
1583
|
}
|
|
1553
1584
|
function buildInsertEdgesBatchReturning(tables, params, timestamp) {
|
|
1554
1585
|
const { edges } = tables;
|
|
1555
|
-
const columns = edgeColumnList(edges);
|
|
1586
|
+
const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
|
|
1556
1587
|
const values = params.map((edgeParams) => {
|
|
1557
1588
|
const propsJson = JSON.stringify(edgeParams.props);
|
|
1558
|
-
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(
|
|
1589
|
+
return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1559
1590
|
});
|
|
1560
1591
|
return drizzleOrm.sql`
|
|
1561
1592
|
INSERT INTO ${edges} (${columns})
|
|
@@ -1597,29 +1628,29 @@ function buildUpdateEdge(tables, params, timestamp) {
|
|
|
1597
1628
|
const { edges } = tables;
|
|
1598
1629
|
const propsJson = JSON.stringify(params.props);
|
|
1599
1630
|
const setParts = [
|
|
1600
|
-
drizzleOrm.sql`${quotedColumn(edges.props)} = ${propsJson}`,
|
|
1601
|
-
drizzleOrm.sql`${quotedColumn(edges.updatedAt)} = ${timestamp}`
|
|
1631
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.props)} = ${propsJson}`,
|
|
1632
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.updatedAt)} = ${timestamp}`
|
|
1602
1633
|
];
|
|
1603
1634
|
if (params.clearDeleted && params.validFrom !== void 0) {
|
|
1604
1635
|
setParts.push(
|
|
1605
|
-
drizzleOrm.sql`${quotedColumn(edges.validFrom)} = ${sqlNull(
|
|
1606
|
-
drizzleOrm.sql`${quotedColumn(edges.validTo)} = ${sqlNull(params.validTo)}`
|
|
1636
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validFrom)} = ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStatedValidityLowerBound(params.validFrom))}`,
|
|
1637
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)}`
|
|
1607
1638
|
);
|
|
1608
1639
|
} else if (params.clearValidTo === true) {
|
|
1609
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(edges.validTo)} = NULL`);
|
|
1640
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = NULL`);
|
|
1610
1641
|
} else if (params.validTo !== void 0) {
|
|
1611
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(edges.validTo)} = ${params.validTo}`);
|
|
1642
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = ${params.validTo}`);
|
|
1612
1643
|
}
|
|
1613
1644
|
if (params.clearDeleted) {
|
|
1614
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(edges.deletedAt)} = NULL`);
|
|
1645
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = NULL`);
|
|
1615
1646
|
}
|
|
1616
1647
|
const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
|
|
1617
1648
|
const expectedIdentity = expectedIdentityPredicate(tables, params);
|
|
1618
|
-
const expectedValidFrom = expectedValidFromPredicate(
|
|
1649
|
+
const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
|
|
1619
1650
|
edges.validFrom,
|
|
1620
1651
|
params.expectedValidFrom
|
|
1621
1652
|
);
|
|
1622
|
-
const expectedValidTo = expectedValidFromPredicate(
|
|
1653
|
+
const expectedValidTo = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
|
|
1623
1654
|
edges.validTo,
|
|
1624
1655
|
params.expectedValidTo
|
|
1625
1656
|
);
|
|
@@ -1645,7 +1676,7 @@ function buildDeleteEdge(tables, params, timestamp) {
|
|
|
1645
1676
|
const { edges } = tables;
|
|
1646
1677
|
return drizzleOrm.sql`
|
|
1647
1678
|
UPDATE ${edges}
|
|
1648
|
-
SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
1679
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
1649
1680
|
WHERE ${edges.graphId} = ${params.graphId}
|
|
1650
1681
|
AND ${edges.id} = ${params.id}${expectedIdentityPredicate(tables, params.kind === void 0 ? {} : { kind: params.kind })}
|
|
1651
1682
|
AND ${edges.deletedAt} IS NULL
|
|
@@ -1655,7 +1686,7 @@ function buildDeleteEdgesBatch(tables, params, timestamp) {
|
|
|
1655
1686
|
const { edges } = tables;
|
|
1656
1687
|
return drizzleOrm.sql`
|
|
1657
1688
|
UPDATE ${edges}
|
|
1658
|
-
SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
1689
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
|
|
1659
1690
|
WHERE ${edges.graphId} = ${params.graphId}
|
|
1660
1691
|
AND ${edges.id} IN (${drizzleOrm.sql.join(
|
|
1661
1692
|
params.ids.map((id) => drizzleOrm.sql`${id}`),
|
|
@@ -1756,12 +1787,12 @@ function resolveMode(mode) {
|
|
|
1756
1787
|
function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
|
|
1757
1788
|
assertValidSearchParams(params);
|
|
1758
1789
|
const mode = resolveMode(params.mode);
|
|
1759
|
-
const table = quotedTableName(tableName);
|
|
1760
|
-
const matchCondition =
|
|
1790
|
+
const table = chunkEH3JZJUM_cjs.quotedTableName(tableName);
|
|
1791
|
+
const matchCondition = chunk45YZXI6X_cjs.toDrizzleSql(
|
|
1761
1792
|
strategy.matchCondition(tableName, params.query, mode, params.language),
|
|
1762
1793
|
dialect
|
|
1763
1794
|
);
|
|
1764
|
-
const rankExpression =
|
|
1795
|
+
const rankExpression = chunk45YZXI6X_cjs.toDrizzleSql(
|
|
1765
1796
|
strategy.rankExpression(tableName, params.query, mode, params.language),
|
|
1766
1797
|
dialect
|
|
1767
1798
|
);
|
|
@@ -1774,10 +1805,10 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
|
|
|
1774
1805
|
conditions.push(drizzleOrm.sql`${rankExpression} >= ${params.minScore}`);
|
|
1775
1806
|
}
|
|
1776
1807
|
if (candidates !== void 0) {
|
|
1777
|
-
const candidateSql =
|
|
1808
|
+
const candidateSql = chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates;
|
|
1778
1809
|
conditions.push(drizzleOrm.sql`"node_id" IN (${candidateSql})`);
|
|
1779
1810
|
}
|
|
1780
|
-
const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ?
|
|
1811
|
+
const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunk45YZXI6X_cjs.toDrizzleSql(
|
|
1781
1812
|
strategy.snippetExpression(
|
|
1782
1813
|
tableName,
|
|
1783
1814
|
params.query,
|
|
@@ -1794,7 +1825,7 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
|
|
|
1794
1825
|
${snippetExpr} AS snippet
|
|
1795
1826
|
FROM ${table}
|
|
1796
1827
|
WHERE ${drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `)}
|
|
1797
|
-
ORDER BY ${rankExpression} DESC, ${codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
|
|
1828
|
+
ORDER BY ${rankExpression} DESC, ${chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
|
|
1798
1829
|
${pageClause}
|
|
1799
1830
|
`;
|
|
1800
1831
|
}
|
|
@@ -1811,12 +1842,12 @@ function assertValidSearchParams(params) {
|
|
|
1811
1842
|
function buildInsertNode(tables, params, timestamp) {
|
|
1812
1843
|
const { nodes } = tables;
|
|
1813
1844
|
const propsJson = JSON.stringify(params.props);
|
|
1814
|
-
const columns = nodeColumnList(nodes);
|
|
1845
|
+
const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
|
|
1815
1846
|
return drizzleOrm.sql`
|
|
1816
1847
|
INSERT INTO ${nodes} (${columns})
|
|
1817
1848
|
VALUES (
|
|
1818
1849
|
${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
|
|
1819
|
-
1, ${sqlNull(
|
|
1850
|
+
1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
|
|
1820
1851
|
${timestamp}, ${timestamp}
|
|
1821
1852
|
)
|
|
1822
1853
|
RETURNING *
|
|
@@ -1825,22 +1856,22 @@ function buildInsertNode(tables, params, timestamp) {
|
|
|
1825
1856
|
function buildInsertNodeNoReturn(tables, params, timestamp) {
|
|
1826
1857
|
const { nodes } = tables;
|
|
1827
1858
|
const propsJson = JSON.stringify(params.props);
|
|
1828
|
-
const columns = nodeColumnList(nodes);
|
|
1859
|
+
const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
|
|
1829
1860
|
return drizzleOrm.sql`
|
|
1830
1861
|
INSERT INTO ${nodes} (${columns})
|
|
1831
1862
|
VALUES (
|
|
1832
1863
|
${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
|
|
1833
|
-
1, ${sqlNull(
|
|
1864
|
+
1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
|
|
1834
1865
|
${timestamp}, ${timestamp}
|
|
1835
1866
|
)
|
|
1836
1867
|
`;
|
|
1837
1868
|
}
|
|
1838
1869
|
function buildInsertNodesBatch(tables, params, timestamp) {
|
|
1839
1870
|
const { nodes } = tables;
|
|
1840
|
-
const columns = nodeColumnList(nodes);
|
|
1871
|
+
const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
|
|
1841
1872
|
const values = params.map((nodeParams) => {
|
|
1842
1873
|
const propsJson = JSON.stringify(nodeParams.props);
|
|
1843
|
-
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(
|
|
1874
|
+
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1844
1875
|
});
|
|
1845
1876
|
return drizzleOrm.sql`
|
|
1846
1877
|
INSERT INTO ${nodes} (${columns})
|
|
@@ -1849,10 +1880,10 @@ function buildInsertNodesBatch(tables, params, timestamp) {
|
|
|
1849
1880
|
}
|
|
1850
1881
|
function buildInsertNodesBatchReturning(tables, params, timestamp) {
|
|
1851
1882
|
const { nodes } = tables;
|
|
1852
|
-
const columns = nodeColumnList(nodes);
|
|
1883
|
+
const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
|
|
1853
1884
|
const values = params.map((nodeParams) => {
|
|
1854
1885
|
const propsJson = JSON.stringify(nodeParams.props);
|
|
1855
|
-
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(
|
|
1886
|
+
return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
|
|
1856
1887
|
});
|
|
1857
1888
|
return drizzleOrm.sql`
|
|
1858
1889
|
INSERT INTO ${nodes} (${columns})
|
|
@@ -1885,29 +1916,29 @@ function buildUpdateNode(tables, params, timestamp) {
|
|
|
1885
1916
|
const { nodes } = tables;
|
|
1886
1917
|
const propsJson = JSON.stringify(params.props);
|
|
1887
1918
|
const setParts = [
|
|
1888
|
-
drizzleOrm.sql`${quotedColumn(nodes.props)} = ${propsJson}`,
|
|
1889
|
-
drizzleOrm.sql`${quotedColumn(nodes.updatedAt)} = ${timestamp}`
|
|
1919
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.props)} = ${propsJson}`,
|
|
1920
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.updatedAt)} = ${timestamp}`
|
|
1890
1921
|
];
|
|
1891
1922
|
if (params.incrementVersion) {
|
|
1892
1923
|
setParts.push(
|
|
1893
|
-
drizzleOrm.sql`${quotedColumn(nodes.version)} = ${quotedColumn(nodes.version)} + 1`
|
|
1924
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} = ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} + 1`
|
|
1894
1925
|
);
|
|
1895
1926
|
}
|
|
1896
1927
|
if (params.clearDeleted) {
|
|
1897
1928
|
setParts.push(
|
|
1898
|
-
drizzleOrm.sql`${quotedColumn(nodes.validFrom)} = ${sqlNull(
|
|
1899
|
-
drizzleOrm.sql`${quotedColumn(nodes.validTo)} = ${sqlNull(params.validTo)}`
|
|
1929
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validFrom)} = ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}`,
|
|
1930
|
+
drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)}`
|
|
1900
1931
|
);
|
|
1901
1932
|
} else if (params.clearValidTo === true) {
|
|
1902
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(nodes.validTo)} = NULL`);
|
|
1933
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = NULL`);
|
|
1903
1934
|
} else if (params.validTo !== void 0) {
|
|
1904
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(nodes.validTo)} = ${params.validTo}`);
|
|
1935
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = ${params.validTo}`);
|
|
1905
1936
|
}
|
|
1906
1937
|
if (params.clearDeleted) {
|
|
1907
|
-
setParts.push(drizzleOrm.sql`${quotedColumn(nodes.deletedAt)} = NULL`);
|
|
1938
|
+
setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = NULL`);
|
|
1908
1939
|
}
|
|
1909
1940
|
const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
|
|
1910
|
-
const expectedValidFrom = expectedValidFromPredicate(
|
|
1941
|
+
const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
|
|
1911
1942
|
nodes.validFrom,
|
|
1912
1943
|
params.expectedValidFrom
|
|
1913
1944
|
);
|
|
@@ -1934,25 +1965,25 @@ function buildUpdateNode(tables, params, timestamp) {
|
|
|
1934
1965
|
}
|
|
1935
1966
|
function buildUpdateNodeSet(tables, dialect, params, timestamp) {
|
|
1936
1967
|
const { nodes } = tables;
|
|
1937
|
-
const adapter =
|
|
1938
|
-
const patchedProps =
|
|
1968
|
+
const adapter = chunkTEC24ZDA_cjs.getDialect(dialect);
|
|
1969
|
+
const patchedProps = chunk45YZXI6X_cjs.toDrizzleSql(
|
|
1939
1970
|
adapter.jsonSetProperties(
|
|
1940
|
-
|
|
1971
|
+
chunkOJHD3LXJ_cjs.sql.identifier(nodes.props.name),
|
|
1941
1972
|
params.patch,
|
|
1942
1973
|
params.unsetProperties ?? []
|
|
1943
1974
|
),
|
|
1944
1975
|
dialect
|
|
1945
1976
|
);
|
|
1946
|
-
const candidateIds =
|
|
1947
|
-
const candidateIdColumn =
|
|
1948
|
-
|
|
1977
|
+
const candidateIds = chunk45YZXI6X_cjs.toDrizzleSql(params.candidateIds, dialect);
|
|
1978
|
+
const candidateIdColumn = chunk45YZXI6X_cjs.toDrizzleSql(
|
|
1979
|
+
chunkOJHD3LXJ_cjs.sql.identifier(params.candidateIdColumn),
|
|
1949
1980
|
dialect
|
|
1950
1981
|
);
|
|
1951
1982
|
return drizzleOrm.sql`
|
|
1952
1983
|
UPDATE ${nodes}
|
|
1953
|
-
SET ${quotedColumn(nodes.props)} = ${patchedProps},
|
|
1954
|
-
${quotedColumn(nodes.updatedAt)} = ${timestamp},
|
|
1955
|
-
${quotedColumn(nodes.version)} = ${quotedColumn(nodes.version)} + 1
|
|
1984
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(nodes.props)} = ${patchedProps},
|
|
1985
|
+
${chunkEH3JZJUM_cjs.quotedColumn(nodes.updatedAt)} = ${timestamp},
|
|
1986
|
+
${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} = ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} + 1
|
|
1956
1987
|
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1957
1988
|
AND ${nodes.kind} = ${params.kind}
|
|
1958
1989
|
AND ${nodes.deletedAt} IS NULL
|
|
@@ -1967,7 +1998,7 @@ function buildDeleteNode(tables, params, timestamp) {
|
|
|
1967
1998
|
const { nodes } = tables;
|
|
1968
1999
|
return drizzleOrm.sql`
|
|
1969
2000
|
UPDATE ${nodes}
|
|
1970
|
-
SET ${quotedColumn(nodes.deletedAt)} = ${timestamp}
|
|
2001
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = ${timestamp}
|
|
1971
2002
|
WHERE ${nodes.graphId} = ${params.graphId}
|
|
1972
2003
|
AND ${nodes.kind} = ${params.kind}
|
|
1973
2004
|
AND ${nodes.id} = ${params.id}
|
|
@@ -2041,226 +2072,17 @@ function buildSetActiveSchema(tables, graphId, version, dialect = "sqlite") {
|
|
|
2041
2072
|
const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
|
|
2042
2073
|
const deactivateAll = drizzleOrm.sql`
|
|
2043
2074
|
UPDATE ${schemaVersions}
|
|
2044
|
-
SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
|
|
2075
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
|
|
2045
2076
|
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
2046
2077
|
`;
|
|
2047
2078
|
const activateVersion = drizzleOrm.sql`
|
|
2048
2079
|
UPDATE ${schemaVersions}
|
|
2049
|
-
SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
|
|
2080
|
+
SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
|
|
2050
2081
|
WHERE ${schemaVersions.graphId} = ${graphId}
|
|
2051
2082
|
AND ${schemaVersions.version} = ${version}
|
|
2052
2083
|
`;
|
|
2053
2084
|
return { deactivateAll, activateVersion };
|
|
2054
2085
|
}
|
|
2055
|
-
function buildInsertUniqueSqlite(tables, params) {
|
|
2056
|
-
const { uniques } = tables;
|
|
2057
|
-
const columns = drizzleOrm.sql.raw(
|
|
2058
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
2059
|
-
);
|
|
2060
|
-
const conflictColumns = drizzleOrm.sql.raw(
|
|
2061
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
2062
|
-
);
|
|
2063
|
-
return drizzleOrm.sql`
|
|
2064
|
-
INSERT INTO ${uniques} (${columns})
|
|
2065
|
-
VALUES (
|
|
2066
|
-
${params.graphId}, ${params.nodeKind}, ${params.constraintName},
|
|
2067
|
-
${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
|
|
2068
|
-
)
|
|
2069
|
-
ON CONFLICT (${conflictColumns})
|
|
2070
|
-
DO UPDATE SET
|
|
2071
|
-
${quotedColumn(uniques.nodeId)} = CASE
|
|
2072
|
-
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
|
|
2073
|
-
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
|
|
2074
|
-
ELSE ${quotedColumn(uniques.nodeId)}
|
|
2075
|
-
END,
|
|
2076
|
-
${quotedColumn(uniques.concreteKind)} = CASE
|
|
2077
|
-
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
|
|
2078
|
-
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
|
|
2079
|
-
ELSE ${quotedColumn(uniques.concreteKind)}
|
|
2080
|
-
END,
|
|
2081
|
-
${quotedColumn(uniques.deletedAt)} = CASE
|
|
2082
|
-
WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
|
|
2083
|
-
WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
2084
|
-
ELSE ${quotedColumn(uniques.deletedAt)}
|
|
2085
|
-
END
|
|
2086
|
-
RETURNING ${quotedColumn(uniques.nodeId)} as node_id
|
|
2087
|
-
`;
|
|
2088
|
-
}
|
|
2089
|
-
function buildInsertUniquePostgres(tables, params) {
|
|
2090
|
-
const { uniques } = tables;
|
|
2091
|
-
const columns = drizzleOrm.sql.raw(
|
|
2092
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
2093
|
-
);
|
|
2094
|
-
const conflictColumns = drizzleOrm.sql.raw(
|
|
2095
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
2096
|
-
);
|
|
2097
|
-
const tableName = drizzleOrm.getTableName(uniques);
|
|
2098
|
-
const existingColumn = (column) => drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
|
|
2099
|
-
return drizzleOrm.sql`
|
|
2100
|
-
INSERT INTO ${uniques} (${columns})
|
|
2101
|
-
VALUES (
|
|
2102
|
-
${params.graphId}, ${params.nodeKind}, ${params.constraintName},
|
|
2103
|
-
${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
|
|
2104
|
-
)
|
|
2105
|
-
ON CONFLICT (${conflictColumns})
|
|
2106
|
-
DO UPDATE SET
|
|
2107
|
-
${quotedColumn(uniques.nodeId)} = CASE
|
|
2108
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
|
|
2109
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
|
|
2110
|
-
ELSE ${existingColumn(uniques.nodeId)}
|
|
2111
|
-
END,
|
|
2112
|
-
${quotedColumn(uniques.concreteKind)} = CASE
|
|
2113
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
|
|
2114
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
|
|
2115
|
-
ELSE ${existingColumn(uniques.concreteKind)}
|
|
2116
|
-
END,
|
|
2117
|
-
${quotedColumn(uniques.deletedAt)} = CASE
|
|
2118
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
|
|
2119
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
2120
|
-
ELSE ${existingColumn(uniques.deletedAt)}
|
|
2121
|
-
END
|
|
2122
|
-
RETURNING ${quotedColumn(uniques.nodeId)} as node_id
|
|
2123
|
-
`;
|
|
2124
|
-
}
|
|
2125
|
-
var UNIQUE_INSERT_BUILDERS = {
|
|
2126
|
-
postgres: buildInsertUniquePostgres,
|
|
2127
|
-
sqlite: buildInsertUniqueSqlite
|
|
2128
|
-
};
|
|
2129
|
-
function buildInsertUnique(tables, dialect, params) {
|
|
2130
|
-
const builder = UNIQUE_INSERT_BUILDERS[dialect];
|
|
2131
|
-
return builder(tables, params);
|
|
2132
|
-
}
|
|
2133
|
-
function buildInsertUniqueBatch(tables, dialect, entries) {
|
|
2134
|
-
const { uniques } = tables;
|
|
2135
|
-
const columns = drizzleOrm.sql.raw(
|
|
2136
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
|
|
2137
|
-
);
|
|
2138
|
-
const conflictColumns = drizzleOrm.sql.raw(
|
|
2139
|
-
`"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
|
|
2140
|
-
);
|
|
2141
|
-
const tableName = drizzleOrm.getTableName(uniques);
|
|
2142
|
-
const existingColumn = (column) => {
|
|
2143
|
-
switch (dialect) {
|
|
2144
|
-
case "postgres": {
|
|
2145
|
-
return drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
|
|
2146
|
-
}
|
|
2147
|
-
case "sqlite": {
|
|
2148
|
-
return drizzleOrm.sql.raw(`"${column.name}"`);
|
|
2149
|
-
}
|
|
2150
|
-
default: {
|
|
2151
|
-
return dialect;
|
|
2152
|
-
}
|
|
2153
|
-
}
|
|
2154
|
-
};
|
|
2155
|
-
const excludedColumn = (column) => drizzleOrm.sql.raw(`excluded."${column.name}"`);
|
|
2156
|
-
const valueRows = drizzleOrm.sql.join(
|
|
2157
|
-
entries.map(
|
|
2158
|
-
(params) => drizzleOrm.sql`(${params.graphId}, ${params.nodeKind}, ${params.constraintName}, ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")})`
|
|
2159
|
-
),
|
|
2160
|
-
drizzleOrm.sql`, `
|
|
2161
|
-
);
|
|
2162
|
-
return drizzleOrm.sql`
|
|
2163
|
-
INSERT INTO ${uniques} (${columns})
|
|
2164
|
-
VALUES ${valueRows}
|
|
2165
|
-
ON CONFLICT (${conflictColumns})
|
|
2166
|
-
DO UPDATE SET
|
|
2167
|
-
${quotedColumn(uniques.nodeId)} = CASE
|
|
2168
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.nodeId)}
|
|
2169
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.nodeId)}
|
|
2170
|
-
ELSE ${existingColumn(uniques.nodeId)}
|
|
2171
|
-
END,
|
|
2172
|
-
${quotedColumn(uniques.concreteKind)} = CASE
|
|
2173
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.concreteKind)}
|
|
2174
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.concreteKind)}
|
|
2175
|
-
ELSE ${existingColumn(uniques.concreteKind)}
|
|
2176
|
-
END,
|
|
2177
|
-
${quotedColumn(uniques.deletedAt)} = CASE
|
|
2178
|
-
WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN NULL
|
|
2179
|
-
WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
|
|
2180
|
-
ELSE ${existingColumn(uniques.deletedAt)}
|
|
2181
|
-
END
|
|
2182
|
-
RETURNING
|
|
2183
|
-
${quotedColumn(uniques.nodeKind)} as node_kind,
|
|
2184
|
-
${quotedColumn(uniques.constraintName)} as constraint_name,
|
|
2185
|
-
${quotedColumn(uniques.key)} as key,
|
|
2186
|
-
${quotedColumn(uniques.nodeId)} as node_id
|
|
2187
|
-
`;
|
|
2188
|
-
}
|
|
2189
|
-
function buildDeleteUnique(tables, params, timestamp) {
|
|
2190
|
-
const { uniques } = tables;
|
|
2191
|
-
return drizzleOrm.sql`
|
|
2192
|
-
UPDATE ${uniques}
|
|
2193
|
-
SET ${quotedColumn(uniques.deletedAt)} = ${timestamp}
|
|
2194
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2195
|
-
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
2196
|
-
AND ${uniques.constraintName} = ${params.constraintName}
|
|
2197
|
-
AND ${uniques.key} = ${params.key}
|
|
2198
|
-
AND ${uniques.deletedAt} IS NULL
|
|
2199
|
-
`;
|
|
2200
|
-
}
|
|
2201
|
-
function buildHardDeleteUniquesByNode(tables, graphId, concreteKind, nodeId) {
|
|
2202
|
-
return buildHardDeleteUniquesByNodeIds(tables, {
|
|
2203
|
-
graphId,
|
|
2204
|
-
concreteKind,
|
|
2205
|
-
nodeIds: [nodeId]
|
|
2206
|
-
});
|
|
2207
|
-
}
|
|
2208
|
-
function buildHardDeleteUniquesByNodeIds(tables, params) {
|
|
2209
|
-
const { uniques } = tables;
|
|
2210
|
-
return drizzleOrm.sql`
|
|
2211
|
-
DELETE FROM ${uniques}
|
|
2212
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2213
|
-
AND ${uniques.concreteKind} = ${params.concreteKind}
|
|
2214
|
-
AND ${uniques.nodeId} IN (${drizzleOrm.sql.join(
|
|
2215
|
-
params.nodeIds.map((nodeId) => drizzleOrm.sql`${nodeId}`),
|
|
2216
|
-
drizzleOrm.sql`, `
|
|
2217
|
-
)})
|
|
2218
|
-
`;
|
|
2219
|
-
}
|
|
2220
|
-
function buildCheckUnique(tables, params) {
|
|
2221
|
-
const { uniques } = tables;
|
|
2222
|
-
if (params.includeDeleted) {
|
|
2223
|
-
return drizzleOrm.sql`
|
|
2224
|
-
SELECT * FROM ${uniques}
|
|
2225
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2226
|
-
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
2227
|
-
AND ${uniques.constraintName} = ${params.constraintName}
|
|
2228
|
-
AND ${uniques.key} = ${params.key}
|
|
2229
|
-
`;
|
|
2230
|
-
}
|
|
2231
|
-
return drizzleOrm.sql`
|
|
2232
|
-
SELECT * FROM ${uniques}
|
|
2233
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2234
|
-
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
2235
|
-
AND ${uniques.constraintName} = ${params.constraintName}
|
|
2236
|
-
AND ${uniques.key} = ${params.key}
|
|
2237
|
-
AND ${uniques.deletedAt} IS NULL
|
|
2238
|
-
`;
|
|
2239
|
-
}
|
|
2240
|
-
function buildCheckUniqueBatch(tables, params) {
|
|
2241
|
-
const { uniques } = tables;
|
|
2242
|
-
const keyPlaceholders = drizzleOrm.sql.join(
|
|
2243
|
-
params.keys.map((key) => drizzleOrm.sql`${key}`),
|
|
2244
|
-
drizzleOrm.sql`, `
|
|
2245
|
-
);
|
|
2246
|
-
if (params.includeDeleted) {
|
|
2247
|
-
return drizzleOrm.sql`
|
|
2248
|
-
SELECT * FROM ${uniques}
|
|
2249
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2250
|
-
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
2251
|
-
AND ${uniques.constraintName} = ${params.constraintName}
|
|
2252
|
-
AND ${uniques.key} IN (${keyPlaceholders})
|
|
2253
|
-
`;
|
|
2254
|
-
}
|
|
2255
|
-
return drizzleOrm.sql`
|
|
2256
|
-
SELECT * FROM ${uniques}
|
|
2257
|
-
WHERE ${uniques.graphId} = ${params.graphId}
|
|
2258
|
-
AND ${uniques.nodeKind} = ${params.nodeKind}
|
|
2259
|
-
AND ${uniques.constraintName} = ${params.constraintName}
|
|
2260
|
-
AND ${uniques.key} IN (${keyPlaceholders})
|
|
2261
|
-
AND ${uniques.deletedAt} IS NULL
|
|
2262
|
-
`;
|
|
2263
|
-
}
|
|
2264
2086
|
|
|
2265
2087
|
// src/backend/drizzle/operations/strategy.ts
|
|
2266
2088
|
function nullableText(value) {
|
|
@@ -2308,11 +2130,11 @@ var COMMON_TABLE_OPERATION_BUILDERS = {
|
|
|
2308
2130
|
buildFindEdgesByEndpointSet,
|
|
2309
2131
|
buildFindEdgesByHeterogeneousEndpointSet,
|
|
2310
2132
|
buildCountEdgesByKind,
|
|
2311
|
-
buildDeleteUnique,
|
|
2312
|
-
buildHardDeleteUniquesByNode,
|
|
2313
|
-
buildHardDeleteUniquesByNodeIds,
|
|
2314
|
-
buildCheckUnique,
|
|
2315
|
-
buildCheckUniqueBatch,
|
|
2133
|
+
buildDeleteUnique: chunkEH3JZJUM_cjs.buildDeleteUnique,
|
|
2134
|
+
buildHardDeleteUniquesByNode: chunkEH3JZJUM_cjs.buildHardDeleteUniquesByNode,
|
|
2135
|
+
buildHardDeleteUniquesByNodeIds: chunkEH3JZJUM_cjs.buildHardDeleteUniquesByNodeIds,
|
|
2136
|
+
buildCheckUnique: chunkEH3JZJUM_cjs.buildCheckUnique,
|
|
2137
|
+
buildCheckUniqueBatch: chunkEH3JZJUM_cjs.buildCheckUniqueBatch,
|
|
2316
2138
|
buildGetSchemaVersion
|
|
2317
2139
|
};
|
|
2318
2140
|
function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
@@ -2323,15 +2145,15 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
|
2323
2145
|
const fulltextTable = tables.fulltextTableName;
|
|
2324
2146
|
const contributionMaterializations = tables.contributionMaterializations;
|
|
2325
2147
|
const fulltextBuilders = {
|
|
2326
|
-
buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) =>
|
|
2327
|
-
buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) =>
|
|
2148
|
+
buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
|
|
2149
|
+
buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
|
|
2328
2150
|
buildDeleteFulltextByNode: (graphId, nodeKind, nodeId) => fulltextStrategy.buildDelete(fulltextTable, {
|
|
2329
2151
|
graphId,
|
|
2330
2152
|
nodeKind,
|
|
2331
2153
|
nodeId
|
|
2332
|
-
}).map((statement) =>
|
|
2333
|
-
buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) =>
|
|
2334
|
-
buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) =>
|
|
2154
|
+
}).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
|
|
2155
|
+
buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
|
|
2156
|
+
buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
|
|
2335
2157
|
buildFulltextSearch: (params) => buildFulltextSearch(
|
|
2336
2158
|
fulltextTable,
|
|
2337
2159
|
params,
|
|
@@ -2339,19 +2161,19 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
|
2339
2161
|
dialect,
|
|
2340
2162
|
// Store-compiled candidates (predicates + subclass + currency)
|
|
2341
2163
|
// take precedence; the live-node default covers direct backend use.
|
|
2342
|
-
params.candidates ?? liveNodeIdsSubquery(
|
|
2164
|
+
params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
|
|
2343
2165
|
tables.nodes,
|
|
2344
2166
|
params.graphId,
|
|
2345
2167
|
params.nodeKind,
|
|
2346
|
-
|
|
2168
|
+
chunkEH3JZJUM_cjs.nowIso()
|
|
2347
2169
|
)
|
|
2348
2170
|
),
|
|
2349
2171
|
buildHybridSearch: (params, vectorSql, vectorScoreDescending) => {
|
|
2350
|
-
const candidates = params.candidates ?? liveNodeIdsSubquery(
|
|
2172
|
+
const candidates = params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
|
|
2351
2173
|
tables.nodes,
|
|
2352
2174
|
params.graphId,
|
|
2353
2175
|
params.nodeKind,
|
|
2354
|
-
|
|
2176
|
+
chunkEH3JZJUM_cjs.nowIso()
|
|
2355
2177
|
);
|
|
2356
2178
|
const fulltextSql = buildFulltextSearch(
|
|
2357
2179
|
fulltextTable,
|
|
@@ -2372,7 +2194,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
|
2372
2194
|
hybridCandidatesRef()
|
|
2373
2195
|
);
|
|
2374
2196
|
return buildHybridSearchStatement({
|
|
2375
|
-
candidatesSql:
|
|
2197
|
+
candidatesSql: chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates,
|
|
2376
2198
|
vectorSql,
|
|
2377
2199
|
vectorScoreDescending,
|
|
2378
2200
|
fulltextSql,
|
|
@@ -2419,8 +2241,8 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
|
2419
2241
|
...tableOperations,
|
|
2420
2242
|
...fulltextBuilders,
|
|
2421
2243
|
primaryKeyConstraints: {
|
|
2422
|
-
nodes: nodePrimaryKeyConstraint(tables.nodes),
|
|
2423
|
-
edges: edgePrimaryKeyConstraint(tables.edges)
|
|
2244
|
+
nodes: chunkEH3JZJUM_cjs.nodePrimaryKeyConstraint(tables.nodes),
|
|
2245
|
+
edges: chunkEH3JZJUM_cjs.edgePrimaryKeyConstraint(tables.edges)
|
|
2424
2246
|
},
|
|
2425
2247
|
buildUpdateNodeSet(params, timestamp) {
|
|
2426
2248
|
return buildUpdateNodeSet(tables, dialect, params, timestamp);
|
|
@@ -2428,10 +2250,39 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
|
|
|
2428
2250
|
buildDeleteContributionMaterialization,
|
|
2429
2251
|
buildInsertContributionMaterialization,
|
|
2430
2252
|
buildInsertUnique(params) {
|
|
2431
|
-
return buildInsertUnique(tables, dialect, params);
|
|
2253
|
+
return chunkEH3JZJUM_cjs.buildInsertUnique(tables, dialect, params);
|
|
2432
2254
|
},
|
|
2433
2255
|
buildInsertUniqueBatch(entries) {
|
|
2434
|
-
return buildInsertUniqueBatch(tables, dialect, entries);
|
|
2256
|
+
return chunkEH3JZJUM_cjs.buildInsertUniqueBatch(tables, dialect, entries);
|
|
2257
|
+
},
|
|
2258
|
+
buildHardDeleteUniquesByConcreteKind(params) {
|
|
2259
|
+
return chunkEH3JZJUM_cjs.buildHardDeleteUniquesByConcreteKind(
|
|
2260
|
+
drizzleOrm.getTableName(tables.uniques),
|
|
2261
|
+
params
|
|
2262
|
+
);
|
|
2263
|
+
},
|
|
2264
|
+
buildLockEdgeClaims(entries, timestamp) {
|
|
2265
|
+
return chunkEH3JZJUM_cjs.buildLockEdgeClaims(tables, entries, timestamp);
|
|
2266
|
+
},
|
|
2267
|
+
buildTakeOverEdgeClaim(params, timestamp) {
|
|
2268
|
+
return chunkEH3JZJUM_cjs.buildTakeOverEdgeClaim(tables, params, timestamp);
|
|
2269
|
+
},
|
|
2270
|
+
buildPurgeEdgeClaims(params) {
|
|
2271
|
+
return chunkEH3JZJUM_cjs.buildPurgeEdgeClaims(tables, params);
|
|
2272
|
+
},
|
|
2273
|
+
buildContendedUniqueRowAudit(graphId, constraintNames) {
|
|
2274
|
+
return buildContendedUniqueRowAudit(tables, graphId, constraintNames);
|
|
2275
|
+
},
|
|
2276
|
+
buildContendedEdgeRowAudit(graphId, cardinality, edgeKinds) {
|
|
2277
|
+
return buildContendedEdgeRowAudit(
|
|
2278
|
+
tables,
|
|
2279
|
+
graphId,
|
|
2280
|
+
cardinality,
|
|
2281
|
+
edgeKinds
|
|
2282
|
+
);
|
|
2283
|
+
},
|
|
2284
|
+
buildDisjointOverlapAudit(graphId, kinds) {
|
|
2285
|
+
return buildDisjointOverlapAudit(tables, graphId, kinds);
|
|
2435
2286
|
},
|
|
2436
2287
|
buildGetActiveSchema(graphId) {
|
|
2437
2288
|
return buildGetActiveSchema(tables, graphId, dialect);
|
|
@@ -2495,6 +2346,9 @@ function createSqliteOperationStrategy(tables, fulltextStrategy) {
|
|
|
2495
2346
|
function createPostgresOperationStrategy(tables, fulltextStrategy) {
|
|
2496
2347
|
return createCommonOperationStrategy(tables, "postgres", fulltextStrategy);
|
|
2497
2348
|
}
|
|
2349
|
+
function claimOwnerOf(params) {
|
|
2350
|
+
return { concreteKind: params.concreteKind, nodeId: params.nodeId };
|
|
2351
|
+
}
|
|
2498
2352
|
var DRIZZLE_DIALECT_LABELS = {
|
|
2499
2353
|
postgres: "Postgres",
|
|
2500
2354
|
sqlite: "SQLite"
|
|
@@ -2502,7 +2356,7 @@ var DRIZZLE_DIALECT_LABELS = {
|
|
|
2502
2356
|
function assertAdoptedDialect(externalTx, brand, backend) {
|
|
2503
2357
|
if (drizzleOrm.is(externalTx, brand)) return;
|
|
2504
2358
|
const label = DRIZZLE_DIALECT_LABELS[backend];
|
|
2505
|
-
throw new
|
|
2359
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
2506
2360
|
`adoptTransaction received a handle that is not a ${label} Drizzle transaction. Pass the \`tx\` from a ${label} \`db.transaction(...)\` opened on this backend's connection.`,
|
|
2507
2361
|
{ backend, capability: "adoptTransaction" }
|
|
2508
2362
|
);
|
|
@@ -2511,8 +2365,8 @@ async function withDuplicateKeyClassification(run, context) {
|
|
|
2511
2365
|
try {
|
|
2512
2366
|
return await run();
|
|
2513
2367
|
} catch (error) {
|
|
2514
|
-
if (!
|
|
2515
|
-
throw new
|
|
2368
|
+
if (!chunkZBFZGLZE_cjs.isDuplicatePrimaryKeyError(error, context.relation)) throw error;
|
|
2369
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2516
2370
|
`Insert ${context.entity} failed: a row with this identity already exists`,
|
|
2517
2371
|
{
|
|
2518
2372
|
operation: "insert",
|
|
@@ -2533,7 +2387,7 @@ function verifyExpectedActiveVersion(graphId, expected, actualActiveVersion) {
|
|
|
2533
2387
|
}
|
|
2534
2388
|
function assertActiveSchemaVersion(graphId, expectedVersion, actualActiveVersion) {
|
|
2535
2389
|
if (actualActiveVersion !== expectedVersion) {
|
|
2536
|
-
throw new
|
|
2390
|
+
throw new chunkX4GDXBOP_cjs.StaleVersionError({
|
|
2537
2391
|
graphId,
|
|
2538
2392
|
expected: expectedVersion,
|
|
2539
2393
|
actual: actualActiveVersion
|
|
@@ -2583,7 +2437,7 @@ function createCommonOperationBackend(options) {
|
|
|
2583
2437
|
operationStrategy,
|
|
2584
2438
|
rowMappers
|
|
2585
2439
|
} = options;
|
|
2586
|
-
const nowIso2 = options.nowIso ??
|
|
2440
|
+
const nowIso2 = options.nowIso ?? chunkEH3JZJUM_cjs.nowIso;
|
|
2587
2441
|
const tableExists = createCachedTableExistence(
|
|
2588
2442
|
(tableName) => execution.execGet(
|
|
2589
2443
|
operationStrategy.buildTableExists(tableName)
|
|
@@ -2596,6 +2450,50 @@ function createCommonOperationBackend(options) {
|
|
|
2596
2450
|
}
|
|
2597
2451
|
await execution.execRun(statement.query);
|
|
2598
2452
|
}
|
|
2453
|
+
async function claimEdgeCardinalityEntries(entries) {
|
|
2454
|
+
if (entries.length === 0) return [];
|
|
2455
|
+
const targetKey = (entry) => {
|
|
2456
|
+
const target = chunk7PRMDZIA_cjs.edgeCardinalityClaimTarget(entry);
|
|
2457
|
+
return `${target.axis}\0${target.key}`;
|
|
2458
|
+
};
|
|
2459
|
+
const seen = /* @__PURE__ */ new Set();
|
|
2460
|
+
for (const entry of entries) {
|
|
2461
|
+
const key = targetKey(entry);
|
|
2462
|
+
if (seen.has(key)) {
|
|
2463
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2464
|
+
"Two edge claims in one batch name the same cardinality axis and key; a multi-row upsert cannot affect one row twice.",
|
|
2465
|
+
{ operation: "insert", entity: "edge" }
|
|
2466
|
+
);
|
|
2467
|
+
}
|
|
2468
|
+
seen.add(key);
|
|
2469
|
+
}
|
|
2470
|
+
const outcomes = /* @__PURE__ */ new Map();
|
|
2471
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(entries, batchConfig.edgeInsertBatchSize)) {
|
|
2472
|
+
const lockQuery = operationStrategy.buildLockEdgeClaims(chunk2, nowIso2());
|
|
2473
|
+
const rows = await execution.execAll(lockQuery);
|
|
2474
|
+
const holderByTarget = new Map(
|
|
2475
|
+
rows.map((row) => [`${row.axis}\0${row.key}`, row.holder_edge_id])
|
|
2476
|
+
);
|
|
2477
|
+
for (const entry of chunk2) {
|
|
2478
|
+
const key = targetKey(entry);
|
|
2479
|
+
const holder = holderByTarget.get(key);
|
|
2480
|
+
if (holder === void 0 || holder === entry.edgeId) {
|
|
2481
|
+
outcomes.set(key, { status: "claimed" });
|
|
2482
|
+
continue;
|
|
2483
|
+
}
|
|
2484
|
+
const takeOver = await execution.execAll(
|
|
2485
|
+
operationStrategy.buildTakeOverEdgeClaim(entry, nowIso2())
|
|
2486
|
+
);
|
|
2487
|
+
outcomes.set(
|
|
2488
|
+
key,
|
|
2489
|
+
takeOver.length > 0 ? { status: "claimed" } : { status: "refused", holderEdgeId: holder }
|
|
2490
|
+
);
|
|
2491
|
+
}
|
|
2492
|
+
}
|
|
2493
|
+
return entries.map(
|
|
2494
|
+
(entry) => outcomes.get(targetKey(entry)) ?? { status: "claimed" }
|
|
2495
|
+
);
|
|
2496
|
+
}
|
|
2599
2497
|
async function readActiveVersion(graphId) {
|
|
2600
2498
|
const row = await execution.execGet(
|
|
2601
2499
|
operationStrategy.buildGetActiveSchema(graphId)
|
|
@@ -2605,7 +2503,7 @@ function createCommonOperationBackend(options) {
|
|
|
2605
2503
|
return {
|
|
2606
2504
|
tableExists,
|
|
2607
2505
|
async executeSchemaDdl(ddl) {
|
|
2608
|
-
await execution.execRun(
|
|
2506
|
+
await execution.execRun(chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(ddl)));
|
|
2609
2507
|
},
|
|
2610
2508
|
async executeStatement(query) {
|
|
2611
2509
|
await execution.execRun(query);
|
|
@@ -2625,7 +2523,7 @@ function createCommonOperationBackend(options) {
|
|
|
2625
2523
|
}
|
|
2626
2524
|
);
|
|
2627
2525
|
if (!row)
|
|
2628
|
-
throw new
|
|
2526
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2629
2527
|
"Insert node failed: no row returned",
|
|
2630
2528
|
{
|
|
2631
2529
|
operation: "insert",
|
|
@@ -2652,7 +2550,7 @@ function createCommonOperationBackend(options) {
|
|
|
2652
2550
|
return;
|
|
2653
2551
|
}
|
|
2654
2552
|
const timestamp = nowIso2();
|
|
2655
|
-
for (const chunk2 of
|
|
2553
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
|
|
2656
2554
|
const query = operationStrategy.buildInsertNodesBatch(chunk2, timestamp);
|
|
2657
2555
|
await withDuplicateKeyClassification(() => execution.execRun(query), {
|
|
2658
2556
|
entity: "node",
|
|
@@ -2667,7 +2565,7 @@ function createCommonOperationBackend(options) {
|
|
|
2667
2565
|
}
|
|
2668
2566
|
const timestamp = nowIso2();
|
|
2669
2567
|
const allRows = [];
|
|
2670
|
-
for (const chunk2 of
|
|
2568
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
|
|
2671
2569
|
const query = operationStrategy.buildInsertNodesBatchReturning(
|
|
2672
2570
|
chunk2,
|
|
2673
2571
|
timestamp
|
|
@@ -2692,7 +2590,7 @@ function createCommonOperationBackend(options) {
|
|
|
2692
2590
|
async getNodes(graphId, kind, ids) {
|
|
2693
2591
|
if (ids.length === 0) return [];
|
|
2694
2592
|
const allRows = [];
|
|
2695
|
-
for (const chunk2 of
|
|
2593
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getNodesChunkSize)) {
|
|
2696
2594
|
const query = operationStrategy.buildGetNodes(graphId, kind, chunk2);
|
|
2697
2595
|
const rows = await execution.execAll(query);
|
|
2698
2596
|
allRows.push(...rows.map((row) => rowMappers.toNodeRow(row)));
|
|
@@ -2704,7 +2602,7 @@ function createCommonOperationBackend(options) {
|
|
|
2704
2602
|
const query = operationStrategy.buildUpdateNode(params, timestamp);
|
|
2705
2603
|
const row = await execution.execGet(query);
|
|
2706
2604
|
if (!row)
|
|
2707
|
-
throw new
|
|
2605
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2708
2606
|
"Update node failed: no row returned",
|
|
2709
2607
|
{
|
|
2710
2608
|
operation: "update",
|
|
@@ -2716,13 +2614,13 @@ function createCommonOperationBackend(options) {
|
|
|
2716
2614
|
},
|
|
2717
2615
|
async updateNodeSet(params) {
|
|
2718
2616
|
if (Object.keys(params.patch).length === 0 && (params.unsetProperties?.length ?? 0) === 0) {
|
|
2719
|
-
throw new
|
|
2617
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
2720
2618
|
"Set-based node update requires at least one property",
|
|
2721
2619
|
{ operation: "updateNodeSet", kind: params.kind }
|
|
2722
2620
|
);
|
|
2723
2621
|
}
|
|
2724
2622
|
if (params.candidateIdColumn.length === 0) {
|
|
2725
|
-
throw new
|
|
2623
|
+
throw new chunkX4GDXBOP_cjs.ConfigurationError(
|
|
2726
2624
|
"Set-based node update requires a candidate id column",
|
|
2727
2625
|
{ operation: "updateNodeSet", kind: params.kind }
|
|
2728
2626
|
);
|
|
@@ -2783,7 +2681,7 @@ function createCommonOperationBackend(options) {
|
|
|
2783
2681
|
}
|
|
2784
2682
|
);
|
|
2785
2683
|
if (!row)
|
|
2786
|
-
throw new
|
|
2684
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2787
2685
|
"Insert edge failed: no row returned",
|
|
2788
2686
|
{
|
|
2789
2687
|
operation: "insert",
|
|
@@ -2810,7 +2708,7 @@ function createCommonOperationBackend(options) {
|
|
|
2810
2708
|
return;
|
|
2811
2709
|
}
|
|
2812
2710
|
const timestamp = nowIso2();
|
|
2813
|
-
for (const chunk2 of
|
|
2711
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
|
|
2814
2712
|
const query = operationStrategy.buildInsertEdgesBatch(chunk2, timestamp);
|
|
2815
2713
|
await withDuplicateKeyClassification(() => execution.execRun(query), {
|
|
2816
2714
|
entity: "edge",
|
|
@@ -2825,7 +2723,7 @@ function createCommonOperationBackend(options) {
|
|
|
2825
2723
|
}
|
|
2826
2724
|
const timestamp = nowIso2();
|
|
2827
2725
|
const allRows = [];
|
|
2828
|
-
for (const chunk2 of
|
|
2726
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
|
|
2829
2727
|
const query = operationStrategy.buildInsertEdgesBatchReturning(
|
|
2830
2728
|
chunk2,
|
|
2831
2729
|
timestamp
|
|
@@ -2850,7 +2748,7 @@ function createCommonOperationBackend(options) {
|
|
|
2850
2748
|
async getEdges(graphId, ids) {
|
|
2851
2749
|
if (ids.length === 0) return [];
|
|
2852
2750
|
const allRows = [];
|
|
2853
|
-
for (const chunk2 of
|
|
2751
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getEdgesChunkSize)) {
|
|
2854
2752
|
const query = operationStrategy.buildGetEdges(graphId, chunk2);
|
|
2855
2753
|
const rows = await execution.execAll(query);
|
|
2856
2754
|
allRows.push(...rows.map((row) => rowMappers.toEdgeRow(row)));
|
|
@@ -2862,7 +2760,7 @@ function createCommonOperationBackend(options) {
|
|
|
2862
2760
|
const query = operationStrategy.buildUpdateEdge(params, timestamp);
|
|
2863
2761
|
const row = await execution.execGet(query);
|
|
2864
2762
|
if (!row)
|
|
2865
|
-
throw new
|
|
2763
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
2866
2764
|
"Update edge failed: no row returned",
|
|
2867
2765
|
{
|
|
2868
2766
|
operation: "update",
|
|
@@ -2888,7 +2786,7 @@ function createCommonOperationBackend(options) {
|
|
|
2888
2786
|
1,
|
|
2889
2787
|
batchConfig.getEdgesChunkSize - 1
|
|
2890
2788
|
);
|
|
2891
|
-
for (const chunk2 of
|
|
2789
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params.ids, softDeleteChunkSize)) {
|
|
2892
2790
|
const query = operationStrategy.buildDeleteEdgesBatch(
|
|
2893
2791
|
{ graphId: params.graphId, ids: chunk2 },
|
|
2894
2792
|
timestamp
|
|
@@ -2898,7 +2796,7 @@ function createCommonOperationBackend(options) {
|
|
|
2898
2796
|
},
|
|
2899
2797
|
async hardDeleteEdgesBatch(params) {
|
|
2900
2798
|
if (params.ids.length === 0) return;
|
|
2901
|
-
for (const chunk2 of
|
|
2799
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
|
|
2902
2800
|
params.ids,
|
|
2903
2801
|
batchConfig.getEdgesChunkSize
|
|
2904
2802
|
)) {
|
|
@@ -2942,7 +2840,7 @@ function createCommonOperationBackend(options) {
|
|
|
2942
2840
|
async findEdgesByEndpointSet(params) {
|
|
2943
2841
|
const ids = resolveEdgeEndpointIds(params);
|
|
2944
2842
|
const edgeRows = [];
|
|
2945
|
-
for (const idChunk of
|
|
2843
|
+
for (const idChunk of chunkZBFZGLZE_cjs.chunk(
|
|
2946
2844
|
ids,
|
|
2947
2845
|
batchConfig.findEdgesEndpointChunkSize
|
|
2948
2846
|
)) {
|
|
@@ -2959,7 +2857,7 @@ function createCommonOperationBackend(options) {
|
|
|
2959
2857
|
const { edgeKinds, endpoints, endpointChunkSize } = resolveHeterogeneousEdgeRead(params, maxBindParameters);
|
|
2960
2858
|
if (edgeKinds.length === 0 || endpoints.length === 0) return [];
|
|
2961
2859
|
const edgeRows = [];
|
|
2962
|
-
for (const endpointChunk of
|
|
2860
|
+
for (const endpointChunk of chunkZBFZGLZE_cjs.chunk(endpoints, endpointChunkSize)) {
|
|
2963
2861
|
const query = operationStrategy.buildFindEdgesByHeterogeneousEndpointSet(
|
|
2964
2862
|
params,
|
|
2965
2863
|
endpointChunk,
|
|
@@ -2978,13 +2876,23 @@ function createCommonOperationBackend(options) {
|
|
|
2978
2876
|
async insertUnique(params) {
|
|
2979
2877
|
const query = operationStrategy.buildInsertUnique(params);
|
|
2980
2878
|
const result = await execution.execGet(query);
|
|
2981
|
-
if (result &&
|
|
2982
|
-
|
|
2879
|
+
if (result && !chunkLLVOQOWE_cjs.isSameClaimOwner(
|
|
2880
|
+
{ concreteKind: result.concrete_kind, nodeId: result.node_id },
|
|
2881
|
+
claimOwnerOf(params)
|
|
2882
|
+
)) {
|
|
2883
|
+
throw new chunkX4GDXBOP_cjs.UniquenessError({
|
|
2983
2884
|
constraintName: params.constraintName,
|
|
2984
|
-
kind
|
|
2885
|
+
// The holder's own kind, never `nodeKind`: that column carries the
|
|
2886
|
+
// claim AXIS, which a shared scope folds across kinds, so it need not
|
|
2887
|
+
// be the holder's kind and usually is not.
|
|
2888
|
+
kind: result.concrete_kind,
|
|
2985
2889
|
existingId: result.node_id,
|
|
2986
2890
|
newId: params.nodeId,
|
|
2987
|
-
fields: []
|
|
2891
|
+
fields: [],
|
|
2892
|
+
// The axis THIS statement attempted — `mapClaimRefusal`'s only way to
|
|
2893
|
+
// tell two disjoint pairs (or two scoped constraints) sharing a key
|
|
2894
|
+
// apart, since `constraintName` alone does not.
|
|
2895
|
+
axis: params.nodeKind
|
|
2988
2896
|
});
|
|
2989
2897
|
}
|
|
2990
2898
|
},
|
|
@@ -2998,18 +2906,19 @@ function createCommonOperationBackend(options) {
|
|
|
2998
2906
|
byTarget.set(targetKey(entry), entry);
|
|
2999
2907
|
continue;
|
|
3000
2908
|
}
|
|
3001
|
-
if (existing
|
|
3002
|
-
throw new
|
|
2909
|
+
if (!chunkLLVOQOWE_cjs.isSameClaimOwner(claimOwnerOf(existing), claimOwnerOf(entry))) {
|
|
2910
|
+
throw new chunkX4GDXBOP_cjs.UniquenessError({
|
|
3003
2911
|
constraintName: entry.constraintName,
|
|
3004
|
-
kind:
|
|
2912
|
+
kind: existing.concreteKind,
|
|
3005
2913
|
existingId: existing.nodeId,
|
|
3006
2914
|
newId: entry.nodeId,
|
|
3007
|
-
fields: []
|
|
2915
|
+
fields: [],
|
|
2916
|
+
axis: entry.nodeKind
|
|
3008
2917
|
});
|
|
3009
2918
|
}
|
|
3010
2919
|
}
|
|
3011
2920
|
const deduped = [...byTarget.values()];
|
|
3012
|
-
for (const chunk2 of
|
|
2921
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
|
|
3013
2922
|
deduped,
|
|
3014
2923
|
batchConfig.uniqueInsertBatchSize
|
|
3015
2924
|
)) {
|
|
@@ -3018,18 +2927,19 @@ function createCommonOperationBackend(options) {
|
|
|
3018
2927
|
const ownerByTarget = new Map(
|
|
3019
2928
|
rows.map((row) => [
|
|
3020
2929
|
`${row.node_kind}\0${row.constraint_name}\0${row.key}`,
|
|
3021
|
-
row.node_id
|
|
2930
|
+
{ concreteKind: row.concrete_kind, nodeId: row.node_id }
|
|
3022
2931
|
])
|
|
3023
2932
|
);
|
|
3024
2933
|
for (const entry of chunk2) {
|
|
3025
2934
|
const owner = ownerByTarget.get(targetKey(entry));
|
|
3026
|
-
if (owner !== void 0 && owner
|
|
3027
|
-
throw new
|
|
2935
|
+
if (owner !== void 0 && !chunkLLVOQOWE_cjs.isSameClaimOwner(owner, claimOwnerOf(entry))) {
|
|
2936
|
+
throw new chunkX4GDXBOP_cjs.UniquenessError({
|
|
3028
2937
|
constraintName: entry.constraintName,
|
|
3029
|
-
kind:
|
|
3030
|
-
existingId: owner,
|
|
2938
|
+
kind: owner.concreteKind,
|
|
2939
|
+
existingId: owner.nodeId,
|
|
3031
2940
|
newId: entry.nodeId,
|
|
3032
|
-
fields: []
|
|
2941
|
+
fields: [],
|
|
2942
|
+
axis: entry.nodeKind
|
|
3033
2943
|
});
|
|
3034
2944
|
}
|
|
3035
2945
|
}
|
|
@@ -3042,7 +2952,7 @@ function createCommonOperationBackend(options) {
|
|
|
3042
2952
|
},
|
|
3043
2953
|
async hardDeleteUniquesByNodeIds(params) {
|
|
3044
2954
|
const nodeIds = [...new Set(params.nodeIds)];
|
|
3045
|
-
for (const chunk2 of
|
|
2955
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
|
|
3046
2956
|
nodeIds,
|
|
3047
2957
|
batchConfig.uniqueDeleteChunkSize
|
|
3048
2958
|
)) {
|
|
@@ -3053,6 +2963,78 @@ function createCommonOperationBackend(options) {
|
|
|
3053
2963
|
await execution.execRun(query);
|
|
3054
2964
|
}
|
|
3055
2965
|
},
|
|
2966
|
+
async hardDeleteUniquesByConcreteKind(params) {
|
|
2967
|
+
const query = operationStrategy.buildHardDeleteUniquesByConcreteKind(params);
|
|
2968
|
+
await execution.execRun(query);
|
|
2969
|
+
},
|
|
2970
|
+
async claimEdgeCardinality(params) {
|
|
2971
|
+
const [outcome] = await claimEdgeCardinalityEntries([params]);
|
|
2972
|
+
return outcome ?? { status: "claimed" };
|
|
2973
|
+
},
|
|
2974
|
+
claimEdgeCardinalityBatch(entries) {
|
|
2975
|
+
return claimEdgeCardinalityEntries(entries);
|
|
2976
|
+
},
|
|
2977
|
+
async purgeEdgeClaims(params) {
|
|
2978
|
+
const edgeIds = [...new Set(params.edgeIds)];
|
|
2979
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(edgeIds, batchConfig.getEdgesChunkSize)) {
|
|
2980
|
+
const query = operationStrategy.buildPurgeEdgeClaims({
|
|
2981
|
+
...params,
|
|
2982
|
+
edgeIds: chunk2
|
|
2983
|
+
});
|
|
2984
|
+
await execution.execRun(query);
|
|
2985
|
+
}
|
|
2986
|
+
},
|
|
2987
|
+
async readConstraintFenceViolations(params) {
|
|
2988
|
+
const uniqueRows = params.uniqueConstraintNames.length === 0 ? [] : await execution.execAll(
|
|
2989
|
+
operationStrategy.buildContendedUniqueRowAudit(
|
|
2990
|
+
params.graphId,
|
|
2991
|
+
params.uniqueConstraintNames
|
|
2992
|
+
)
|
|
2993
|
+
);
|
|
2994
|
+
const contendedUniqueRows = uniqueRows.map((row) => ({
|
|
2995
|
+
nodeKind: row.node_kind,
|
|
2996
|
+
constraintName: row.constraint_name,
|
|
2997
|
+
key: row.key,
|
|
2998
|
+
concreteKind: row.concrete_kind,
|
|
2999
|
+
nodeId: row.node_id
|
|
3000
|
+
}));
|
|
3001
|
+
const edgeKindsByCardinality = /* @__PURE__ */ new Map();
|
|
3002
|
+
for (const declaration of params.edgeCardinalities) {
|
|
3003
|
+
const kinds = edgeKindsByCardinality.get(declaration.cardinality) ?? [];
|
|
3004
|
+
kinds.push(declaration.edgeKind);
|
|
3005
|
+
edgeKindsByCardinality.set(declaration.cardinality, kinds);
|
|
3006
|
+
}
|
|
3007
|
+
const contendedEdgeRows = [];
|
|
3008
|
+
for (const [cardinality, edgeKinds] of edgeKindsByCardinality) {
|
|
3009
|
+
const rows = await execution.execAll(
|
|
3010
|
+
operationStrategy.buildContendedEdgeRowAudit(
|
|
3011
|
+
params.graphId,
|
|
3012
|
+
cardinality,
|
|
3013
|
+
edgeKinds
|
|
3014
|
+
)
|
|
3015
|
+
);
|
|
3016
|
+
for (const row of rows) {
|
|
3017
|
+
contendedEdgeRows.push({
|
|
3018
|
+
edgeKind: row.edge_kind,
|
|
3019
|
+
cardinality,
|
|
3020
|
+
edgeId: row.edge_id,
|
|
3021
|
+
fromKind: row.from_kind,
|
|
3022
|
+
fromId: row.from_id,
|
|
3023
|
+
toKind: row.to_kind,
|
|
3024
|
+
toId: row.to_id
|
|
3025
|
+
});
|
|
3026
|
+
}
|
|
3027
|
+
}
|
|
3028
|
+
const disjointOverlaps = [];
|
|
3029
|
+
for (const kinds of params.disjointKindPairs) {
|
|
3030
|
+
const rows = await execution.execAll(
|
|
3031
|
+
operationStrategy.buildDisjointOverlapAudit(params.graphId, kinds)
|
|
3032
|
+
);
|
|
3033
|
+
for (const row of rows)
|
|
3034
|
+
disjointOverlaps.push({ kinds, nodeId: row.node_id });
|
|
3035
|
+
}
|
|
3036
|
+
return { contendedUniqueRows, contendedEdgeRows, disjointOverlaps };
|
|
3037
|
+
},
|
|
3056
3038
|
async checkUnique(params) {
|
|
3057
3039
|
const query = operationStrategy.buildCheckUnique(params);
|
|
3058
3040
|
const row = await execution.execGet(query);
|
|
@@ -3061,7 +3043,7 @@ function createCommonOperationBackend(options) {
|
|
|
3061
3043
|
async checkUniqueBatch(params) {
|
|
3062
3044
|
if (params.keys.length === 0) return [];
|
|
3063
3045
|
const allRows = [];
|
|
3064
|
-
for (const chunk2 of
|
|
3046
|
+
for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
|
|
3065
3047
|
params.keys,
|
|
3066
3048
|
batchConfig.checkUniqueBatchChunkSize
|
|
3067
3049
|
)) {
|
|
@@ -3092,7 +3074,7 @@ function createCommonOperationBackend(options) {
|
|
|
3092
3074
|
if (existingRaw !== void 0) {
|
|
3093
3075
|
const existing = rowMappers.toSchemaVersionRow(existingRaw);
|
|
3094
3076
|
if (existing.schema_hash !== params.schemaHash) {
|
|
3095
|
-
throw new
|
|
3077
|
+
throw new chunkX4GDXBOP_cjs.SchemaContentConflictError({
|
|
3096
3078
|
graphId: params.graphId,
|
|
3097
3079
|
version: params.version,
|
|
3098
3080
|
existingHash: existing.schema_hash,
|
|
@@ -3140,7 +3122,7 @@ function createCommonOperationBackend(options) {
|
|
|
3140
3122
|
);
|
|
3141
3123
|
const insertedRaw = await execution.execGet(insertQuery);
|
|
3142
3124
|
if (!insertedRaw) {
|
|
3143
|
-
throw new
|
|
3125
|
+
throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
|
|
3144
3126
|
"Insert schema failed: no row returned",
|
|
3145
3127
|
{ operation: "insert", entity: "schema" }
|
|
3146
3128
|
);
|
|
@@ -3158,7 +3140,7 @@ function createCommonOperationBackend(options) {
|
|
|
3158
3140
|
operationStrategy.buildGetSchemaVersion(params.graphId, params.version)
|
|
3159
3141
|
);
|
|
3160
3142
|
if (!targetRaw) {
|
|
3161
|
-
throw new
|
|
3143
|
+
throw new chunkX4GDXBOP_cjs.MigrationError(
|
|
3162
3144
|
`Cannot activate version ${params.version}: version does not exist for graph "${params.graphId}".`,
|
|
3163
3145
|
{
|
|
3164
3146
|
graphId: params.graphId,
|
|
@@ -3191,7 +3173,7 @@ function quoteSqlIdentifier(identifier) {
|
|
|
3191
3173
|
}
|
|
3192
3174
|
function requireRawExecution(backend) {
|
|
3193
3175
|
if (backend.executeRaw === void 0) {
|
|
3194
|
-
throw new
|
|
3176
|
+
throw new chunkX4GDXBOP_cjs.TrustedImportError(
|
|
3195
3177
|
"This backend cannot execute the raw statements required by trusted import.",
|
|
3196
3178
|
"backend_unsupported"
|
|
3197
3179
|
);
|
|
@@ -3200,7 +3182,7 @@ function requireRawExecution(backend) {
|
|
|
3200
3182
|
}
|
|
3201
3183
|
function requireStatementExecution(backend) {
|
|
3202
3184
|
if (backend.executeStatement === void 0) {
|
|
3203
|
-
throw new
|
|
3185
|
+
throw new chunkX4GDXBOP_cjs.TrustedImportError(
|
|
3204
3186
|
"This backend cannot execute the index lifecycle required by trusted import.",
|
|
3205
3187
|
"backend_unsupported"
|
|
3206
3188
|
);
|
|
@@ -3222,7 +3204,7 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
|
|
|
3222
3204
|
[]
|
|
3223
3205
|
);
|
|
3224
3206
|
if (!rowIndicatesExistingData(rows[0])) return;
|
|
3225
|
-
throw new
|
|
3207
|
+
throw new chunkX4GDXBOP_cjs.TrustedImportError(
|
|
3226
3208
|
"Trusted import requires globally empty TypeGraph node and edge tables.",
|
|
3227
3209
|
"database_not_empty",
|
|
3228
3210
|
{ tables: [tableNames.nodes, tableNames.edges] },
|
|
@@ -3234,8 +3216,8 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
|
|
|
3234
3216
|
async function lockPostgresTrustedImportTables(backend, tableNames) {
|
|
3235
3217
|
const executeStatement = requireStatementExecution(backend);
|
|
3236
3218
|
await executeStatement(
|
|
3237
|
-
|
|
3238
|
-
|
|
3219
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
3220
|
+
chunkOJHD3LXJ_cjs.sql.raw(
|
|
3239
3221
|
`LOCK TABLE ${quoteSqlIdentifier(tableNames.nodes)}, ${quoteSqlIdentifier(tableNames.edges)} IN ACCESS EXCLUSIVE MODE`
|
|
3240
3222
|
)
|
|
3241
3223
|
)
|
|
@@ -3255,8 +3237,8 @@ async function suspendSqliteSecondaryIndexes(backend, tableNames) {
|
|
|
3255
3237
|
);
|
|
3256
3238
|
for (const definition of definitions) {
|
|
3257
3239
|
await executeStatement(
|
|
3258
|
-
|
|
3259
|
-
|
|
3240
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
3241
|
+
chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
|
|
3260
3242
|
)
|
|
3261
3243
|
);
|
|
3262
3244
|
}
|
|
@@ -3286,8 +3268,8 @@ async function suspendPostgresSecondaryIndexes(backend, tableNames) {
|
|
|
3286
3268
|
);
|
|
3287
3269
|
for (const definition of definitions) {
|
|
3288
3270
|
await executeStatement(
|
|
3289
|
-
|
|
3290
|
-
|
|
3271
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
3272
|
+
chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
|
|
3291
3273
|
)
|
|
3292
3274
|
);
|
|
3293
3275
|
}
|
|
@@ -3297,20 +3279,20 @@ async function restoreSecondaryIndexes(backend, definitions) {
|
|
|
3297
3279
|
const executeStatement = requireStatementExecution(backend);
|
|
3298
3280
|
for (const definition of definitions) {
|
|
3299
3281
|
await executeStatement(
|
|
3300
|
-
|
|
3282
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(definition.index_definition))
|
|
3301
3283
|
);
|
|
3302
3284
|
}
|
|
3303
3285
|
}
|
|
3304
3286
|
async function analyzeImportedTables(backend, tableNames) {
|
|
3305
3287
|
const executeStatement = requireStatementExecution(backend);
|
|
3306
3288
|
await executeStatement(
|
|
3307
|
-
|
|
3308
|
-
|
|
3289
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
3290
|
+
chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
|
|
3309
3291
|
)
|
|
3310
3292
|
);
|
|
3311
3293
|
await executeStatement(
|
|
3312
|
-
|
|
3313
|
-
|
|
3294
|
+
chunkOJHD3LXJ_cjs.asCompiledStatementSql(
|
|
3295
|
+
chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
|
|
3314
3296
|
)
|
|
3315
3297
|
);
|
|
3316
3298
|
}
|
|
@@ -3322,7 +3304,7 @@ function postgresArray(values) {
|
|
|
3322
3304
|
function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
3323
3305
|
const executePreparedRunBatch = executionAdapter.executePreparedRunBatch;
|
|
3324
3306
|
if (executePreparedRunBatch === void 0) {
|
|
3325
|
-
throw new
|
|
3307
|
+
throw new chunkX4GDXBOP_cjs.TrustedImportError(
|
|
3326
3308
|
"Trusted import requires a synchronous SQLite driver with prepared statement support.",
|
|
3327
3309
|
"backend_unsupported"
|
|
3328
3310
|
);
|
|
@@ -3344,7 +3326,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
|
3344
3326
|
item.kind,
|
|
3345
3327
|
item.id,
|
|
3346
3328
|
JSON.stringify(item.props),
|
|
3347
|
-
|
|
3329
|
+
chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
|
|
3348
3330
|
item.validTo ?? DATABASE_NULL,
|
|
3349
3331
|
timestamp,
|
|
3350
3332
|
timestamp
|
|
@@ -3365,7 +3347,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
|
|
|
3365
3347
|
item.toKind,
|
|
3366
3348
|
item.toId,
|
|
3367
3349
|
JSON.stringify(item.props),
|
|
3368
|
-
|
|
3350
|
+
chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
|
|
3369
3351
|
item.validTo ?? DATABASE_NULL,
|
|
3370
3352
|
timestamp,
|
|
3371
3353
|
timestamp
|
|
@@ -3406,7 +3388,7 @@ function createPostgresTrustedImportSession(backend, tableNames) {
|
|
|
3406
3388
|
postgresArray(params.map((item) => JSON.stringify(item.props))),
|
|
3407
3389
|
postgresArray(
|
|
3408
3390
|
params.map(
|
|
3409
|
-
(item) =>
|
|
3391
|
+
(item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
|
|
3410
3392
|
)
|
|
3411
3393
|
),
|
|
3412
3394
|
postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
|
|
@@ -3427,7 +3409,7 @@ function createPostgresTrustedImportSession(backend, tableNames) {
|
|
|
3427
3409
|
postgresArray(params.map((item) => JSON.stringify(item.props))),
|
|
3428
3410
|
postgresArray(
|
|
3429
3411
|
params.map(
|
|
3430
|
-
(item) =>
|
|
3412
|
+
(item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
|
|
3431
3413
|
)
|
|
3432
3414
|
),
|
|
3433
3415
|
postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
|
|
@@ -3498,5 +3480,5 @@ exports.tableExistsFromRow = tableExistsFromRow;
|
|
|
3498
3480
|
exports.vectorSlotFromCreateIndexParams = vectorSlotFromCreateIndexParams;
|
|
3499
3481
|
exports.vectorSlotFromDropIndexParams = vectorSlotFromDropIndexParams;
|
|
3500
3482
|
exports.vectorSlotFromParams = vectorSlotFromParams;
|
|
3501
|
-
//# sourceMappingURL=chunk-
|
|
3502
|
-
//# sourceMappingURL=chunk-
|
|
3483
|
+
//# sourceMappingURL=chunk-XMY2SXOH.cjs.map
|
|
3484
|
+
//# sourceMappingURL=chunk-XMY2SXOH.cjs.map
|