@nicia-ai/typegraph 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/drizzle/indexes.cjs +8 -10
- package/dist/backend/drizzle/indexes.d.cts +2 -2
- package/dist/backend/drizzle/indexes.d.ts +2 -2
- package/dist/backend/drizzle/indexes.js +4 -6
- package/dist/backend/index.cjs +60 -39
- package/dist/backend/index.d.cts +60 -1
- package/dist/backend/index.d.ts +60 -1
- package/dist/backend/index.js +12 -3
- package/dist/backend/postgres/index.cjs +25 -27
- package/dist/backend/postgres/index.d.cts +6 -6
- package/dist/backend/postgres/index.d.ts +6 -6
- package/dist/backend/postgres/index.js +12 -14
- package/dist/backend/postgres/pglite-store.cjs +26 -27
- package/dist/backend/postgres/pglite-store.cjs.map +1 -1
- package/dist/backend/postgres/pglite-store.d.cts +6 -5
- package/dist/backend/postgres/pglite-store.d.ts +6 -5
- package/dist/backend/postgres/pglite-store.js +22 -23
- package/dist/backend/postgres/pglite-store.js.map +1 -1
- package/dist/backend/postgres/pglite.cjs +14 -16
- package/dist/backend/postgres/pglite.d.cts +3 -3
- package/dist/backend/postgres/pglite.d.ts +3 -3
- package/dist/backend/postgres/pglite.js +13 -15
- package/dist/backend/sqlite/index.cjs +26 -28
- package/dist/backend/sqlite/index.d.cts +6 -6
- package/dist/backend/sqlite/index.d.ts +6 -6
- package/dist/backend/sqlite/index.js +10 -12
- package/dist/backend/sqlite/libsql.cjs +16 -18
- 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 +15 -17
- package/dist/backend/sqlite/libsql.js.map +1 -1
- package/dist/backend/sqlite/local-store.cjs +27 -28
- package/dist/backend/sqlite/local-store.cjs.map +1 -1
- package/dist/backend/sqlite/local-store.d.cts +6 -5
- package/dist/backend/sqlite/local-store.d.ts +6 -5
- package/dist/backend/sqlite/local-store.js +23 -24
- package/dist/backend/sqlite/local-store.js.map +1 -1
- package/dist/backend/sqlite/local.cjs +15 -17
- package/dist/backend/sqlite/local.d.cts +3 -3
- package/dist/backend/sqlite/local.d.ts +3 -3
- package/dist/backend/sqlite/local.js +13 -15
- package/dist/{chunk-U4JDJKPD.js → chunk-2I3DNNBU.js} +4 -4
- package/dist/{chunk-U4JDJKPD.js.map → chunk-2I3DNNBU.js.map} +1 -1
- package/dist/{chunk-NPWACFQJ.cjs → chunk-2J5NMMVR.cjs} +43 -43
- package/dist/{chunk-NPWACFQJ.cjs.map → chunk-2J5NMMVR.cjs.map} +1 -1
- package/dist/{chunk-NU23DUSJ.cjs → chunk-2X73QTIC.cjs} +12 -13
- package/dist/chunk-2X73QTIC.cjs.map +1 -0
- package/dist/{chunk-A2FGSWMQ.js → chunk-3BL3JFHL.js} +202 -52
- package/dist/chunk-3BL3JFHL.js.map +1 -0
- package/dist/chunk-3SHAUJRB.js +79 -0
- package/dist/chunk-3SHAUJRB.js.map +1 -0
- package/dist/{chunk-UPXDVI3T.js → chunk-53BSOG3O.js} +8 -7
- package/dist/chunk-53BSOG3O.js.map +1 -0
- package/dist/chunk-5J4VNCUD.js +856 -0
- package/dist/chunk-5J4VNCUD.js.map +1 -0
- package/dist/chunk-5YBDB7UG.cjs +12 -0
- package/dist/{chunk-FMNUSGZ4.cjs.map → chunk-5YBDB7UG.cjs.map} +1 -1
- package/dist/{chunk-6XDBRDZE.js → chunk-6N7QBIWN.js} +7 -3
- package/dist/chunk-6N7QBIWN.js.map +1 -0
- package/dist/{chunk-EZH7FNUS.js → chunk-6QP4QXBR.js} +3 -3
- package/dist/{chunk-EZH7FNUS.js.map → chunk-6QP4QXBR.js.map} +1 -1
- package/dist/{chunk-E6TXEISH.cjs → chunk-7UTUKH4E.cjs} +4 -4
- package/dist/{chunk-E6TXEISH.cjs.map → chunk-7UTUKH4E.cjs.map} +1 -1
- package/dist/chunk-7WLEQIHA.cjs +605 -0
- package/dist/chunk-7WLEQIHA.cjs.map +1 -0
- package/dist/{chunk-BQITNFQJ.js → chunk-AQVDAKXH.js} +3 -3
- package/dist/{chunk-BQITNFQJ.js.map → chunk-AQVDAKXH.js.map} +1 -1
- package/dist/{chunk-X6CNEA32.js → chunk-BUZWMDNL.js} +5 -5
- package/dist/{chunk-X6CNEA32.js.map → chunk-BUZWMDNL.js.map} +1 -1
- package/dist/{chunk-7M3NACL3.cjs → chunk-CKFBZ4LV.cjs} +4 -4
- package/dist/{chunk-7M3NACL3.cjs.map → chunk-CKFBZ4LV.cjs.map} +1 -1
- package/dist/{chunk-VBH7ZXSZ.js → chunk-CU3LPYNB.js} +5 -5
- package/dist/{chunk-VBH7ZXSZ.js.map → chunk-CU3LPYNB.js.map} +1 -1
- package/dist/{chunk-YJDSPA5E.js → chunk-EFZ4S22A.js} +11 -10
- package/dist/chunk-EFZ4S22A.js.map +1 -0
- package/dist/chunk-ELA3V6UN.js +601 -0
- package/dist/chunk-ELA3V6UN.js.map +1 -0
- package/dist/{chunk-2SL7OGPR.cjs → chunk-H6I36MGT.cjs} +1037 -887
- package/dist/chunk-H6I36MGT.cjs.map +1 -0
- package/dist/chunk-HAQVISUF.cjs +1098 -0
- package/dist/chunk-HAQVISUF.cjs.map +1 -0
- package/dist/{chunk-O5H62ZWJ.cjs → chunk-HP6LWBLB.cjs} +14 -2
- package/dist/chunk-HP6LWBLB.cjs.map +1 -0
- package/dist/{chunk-BKAKAVRW.cjs → chunk-HQRZEYYB.cjs} +44 -44
- package/dist/{chunk-BKAKAVRW.cjs.map → chunk-HQRZEYYB.cjs.map} +1 -1
- package/dist/{chunk-XD6X7O5R.js → chunk-I5CRUPKO.js} +9 -10
- package/dist/{chunk-XD6X7O5R.js.map → chunk-I5CRUPKO.js.map} +1 -1
- package/dist/{chunk-RQPRCEIO.js → chunk-JHK6NPFV.js} +218 -306
- package/dist/chunk-JHK6NPFV.js.map +1 -0
- package/dist/chunk-JZYMOHHM.cjs +226 -0
- package/dist/chunk-JZYMOHHM.cjs.map +1 -0
- package/dist/{chunk-CQC6VBAF.cjs → chunk-K4FB2RMO.cjs} +10 -10
- package/dist/{chunk-CQC6VBAF.cjs.map → chunk-K4FB2RMO.cjs.map} +1 -1
- package/dist/{chunk-ERZ4QPQX.js → chunk-K6CD6W5J.js} +5 -5
- package/dist/{chunk-ERZ4QPQX.js.map → chunk-K6CD6W5J.js.map} +1 -1
- package/dist/{chunk-LZ3TVJY4.cjs → chunk-KHNKYSGP.cjs} +34 -34
- package/dist/{chunk-LZ3TVJY4.cjs.map → chunk-KHNKYSGP.cjs.map} +1 -1
- package/dist/{chunk-CWX77JB4.cjs → chunk-KLR77R5A.cjs} +13 -13
- package/dist/{chunk-CWX77JB4.cjs.map → chunk-KLR77R5A.cjs.map} +1 -1
- package/dist/{chunk-AOL64O4Z.js → chunk-L3DDZUZP.js} +3 -3
- package/dist/{chunk-AOL64O4Z.js.map → chunk-L3DDZUZP.js.map} +1 -1
- package/dist/{chunk-PZHC5GCD.js → chunk-L5ET7FYQ.js} +3 -3
- package/dist/{chunk-PZHC5GCD.js.map → chunk-L5ET7FYQ.js.map} +1 -1
- package/dist/{chunk-B63IFHXR.cjs → chunk-LFFVD5ZR.cjs} +41 -41
- package/dist/{chunk-B63IFHXR.cjs.map → chunk-LFFVD5ZR.cjs.map} +1 -1
- package/dist/chunk-LL5D5T5W.cjs +157 -0
- package/dist/chunk-LL5D5T5W.cjs.map +1 -0
- package/dist/{chunk-GUUWKPTK.cjs → chunk-LLE25NRD.cjs} +7 -7
- package/dist/{chunk-GUUWKPTK.cjs.map → chunk-LLE25NRD.cjs.map} +1 -1
- package/dist/chunk-LLHMAHG4.cjs +886 -0
- package/dist/chunk-LLHMAHG4.cjs.map +1 -0
- package/dist/{chunk-ZHX4KEM7.cjs → chunk-M2RPZS7J.cjs} +10 -10
- package/dist/{chunk-ZHX4KEM7.cjs.map → chunk-M2RPZS7J.cjs.map} +1 -1
- package/dist/chunk-MNURF4RF.cjs +85 -0
- package/dist/chunk-MNURF4RF.cjs.map +1 -0
- package/dist/chunk-QOHTVDHU.js +144 -0
- package/dist/chunk-QOHTVDHU.js.map +1 -0
- package/dist/{chunk-7VLCN3JB.cjs → chunk-QXKVUJLI.cjs} +113 -112
- package/dist/chunk-QXKVUJLI.cjs.map +1 -0
- package/dist/{chunk-GNPGGLAE.cjs → chunk-QYDUCWD2.cjs} +4 -4
- package/dist/{chunk-GNPGGLAE.cjs.map → chunk-QYDUCWD2.cjs.map} +1 -1
- package/dist/{chunk-TE5ZA4VX.js → chunk-QZYGZVUI.js} +45 -41
- package/dist/chunk-QZYGZVUI.js.map +1 -0
- package/dist/{chunk-YLINFV7Z.cjs → chunk-SAMJLDGG.cjs} +114 -110
- package/dist/chunk-SAMJLDGG.cjs.map +1 -0
- package/dist/{chunk-DOVMTPKE.cjs → chunk-SE422RES.cjs} +27 -27
- package/dist/{chunk-DOVMTPKE.cjs.map → chunk-SE422RES.cjs.map} +1 -1
- package/dist/{chunk-NWYCOFEZ.cjs → chunk-UCHW2MGP.cjs} +332 -433
- package/dist/chunk-UCHW2MGP.cjs.map +1 -0
- package/dist/{chunk-XFY73JWD.cjs → chunk-UDS5DZNY.cjs} +498 -1098
- package/dist/chunk-UDS5DZNY.cjs.map +1 -0
- package/dist/{chunk-KFLXWVUJ.js → chunk-UUIBACKJ.js} +14 -3
- package/dist/chunk-UUIBACKJ.js.map +1 -0
- package/dist/{chunk-VDYA2HMS.js → chunk-VWEFXG73.js} +3 -3
- package/dist/{chunk-VDYA2HMS.js.map → chunk-VWEFXG73.js.map} +1 -1
- package/dist/{chunk-G32AO634.js → chunk-W66YCXWT.js} +464 -1048
- package/dist/chunk-W66YCXWT.js.map +1 -0
- package/dist/{chunk-E6YZRKMM.js → chunk-XMEYZYGE.js} +6 -6
- package/dist/{chunk-E6YZRKMM.js.map → chunk-XMEYZYGE.js.map} +1 -1
- package/dist/{chunk-G3CSQLLT.js → chunk-Y5UC3IXF.js} +461 -6
- package/dist/chunk-Y5UC3IXF.js.map +1 -0
- package/dist/{chunk-SDHV2MWU.js → chunk-YGX4PMG6.js} +5 -5
- package/dist/{chunk-SDHV2MWU.js.map → chunk-YGX4PMG6.js.map} +1 -1
- package/dist/{chunk-KCLZHYPU.cjs → chunk-YIX3BEBR.cjs} +86 -85
- package/dist/chunk-YIX3BEBR.cjs.map +1 -0
- package/dist/{chunk-X6RDQ5NB.cjs → chunk-YX3H63VV.cjs} +8 -2
- package/dist/chunk-YX3H63VV.cjs.map +1 -0
- package/dist/chunk-YYLMXERH.js +211 -0
- package/dist/chunk-YYLMXERH.js.map +1 -0
- package/dist/{chunk-6G5CQ6JX.js → chunk-ZE7E46IZ.js} +5 -5
- package/dist/{chunk-6G5CQ6JX.js.map → chunk-ZE7E46IZ.js.map} +1 -1
- package/dist/{chunk-Z2PPIVOO.js → chunk-ZVME6OSV.js} +5 -5
- package/dist/{chunk-Z2PPIVOO.js.map → chunk-ZVME6OSV.js.map} +1 -1
- package/dist/core/index.cjs +15 -3
- package/dist/core/index.d.cts +4 -3
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.js +2 -2
- package/dist/{ddl-Dx3Z0_WC.d.ts → ddl-BLEzHw6j.d.ts} +3 -3
- package/dist/{ddl-J6sDyABg.d.cts → ddl-KnCdF_le.d.cts} +3 -3
- package/dist/{define-graph-CzEvA_8F.d.cts → define-graph-Cv3CFwKm.d.cts} +1 -1
- package/dist/{define-graph-DRo9xpYN.d.ts → define-graph-DQnj3fNH.d.ts} +1 -1
- package/dist/graph-merge/index.cjs +40 -43
- package/dist/graph-merge/index.cjs.map +1 -1
- package/dist/graph-merge/index.d.cts +15 -9
- package/dist/graph-merge/index.d.ts +15 -9
- package/dist/graph-merge/index.js +19 -22
- package/dist/graph-merge/index.js.map +1 -1
- package/dist/index.cjs +143 -119
- package/dist/index.d.cts +12 -10
- package/dist/index.d.ts +12 -10
- package/dist/index.js +23 -23
- package/dist/indexes/index.cjs +12 -14
- package/dist/indexes/index.d.cts +5 -5
- package/dist/indexes/index.d.ts +5 -5
- package/dist/indexes/index.js +5 -7
- package/dist/interchange/index.cjs +29 -30
- package/dist/interchange/index.cjs.map +1 -1
- package/dist/interchange/index.d.cts +6 -5
- package/dist/interchange/index.d.ts +6 -5
- package/dist/interchange/index.js +10 -11
- package/dist/interchange/index.js.map +1 -1
- package/dist/{manager-CASfhmzV.d.ts → manager-DjE6Mhag.d.ts} +2 -2
- package/dist/{manager-nCEJiYBb.d.cts → manager-mqee5MVB.d.cts} +2 -2
- package/dist/{postgres-DMgIKQU-.d.cts → postgres-Bm4DyFQU.d.cts} +100 -49
- package/dist/{postgres-Cl1ZAN1G.d.ts → postgres-DtaVALOZ.d.ts} +100 -49
- package/dist/profiler/index.d.cts +8 -7
- package/dist/profiler/index.d.ts +8 -7
- package/dist/provenance/index.cjs +20 -20
- package/dist/provenance/index.d.cts +6 -5
- package/dist/provenance/index.d.ts +6 -5
- package/dist/provenance/index.js +7 -7
- package/dist/schema/index.cjs +26 -28
- package/dist/schema/index.cjs.map +1 -1
- package/dist/schema/index.d.cts +5 -5
- package/dist/schema/index.d.ts +5 -5
- package/dist/schema/index.js +7 -9
- package/dist/schema/index.js.map +1 -1
- package/dist/{temporal-DqtOEo_B.d.ts → searchable-BxlJQVFw.d.cts} +3 -58
- package/dist/{temporal-BC_NQV5Y.d.cts → searchable-ChJ29MCd.d.ts} +3 -58
- package/dist/{sqlite-BDkW39aa.d.cts → sqlite-DT6tTHOG.d.cts} +124 -97
- package/dist/{sqlite-CYfhvESj.d.ts → sqlite-m9Izphk_.d.ts} +124 -97
- package/dist/{store-view-BoHqdHjB.d.cts → store-view-C-buB8Q8.d.cts} +46 -31
- package/dist/{store-view-Ctq-3OHy.d.ts → store-view-CagdeyNn.d.ts} +46 -31
- package/dist/temporal-CyFsSPe8.d.ts +73 -0
- package/dist/temporal-Dn_JADWY.d.cts +73 -0
- package/dist/{types-CUevi_D1.d.ts → types-CYdXzZef.d.ts} +1 -1
- package/dist/{types-COq3-vMC.d.cts → types-CqSfMRW3.d.cts} +1 -1
- package/dist/{where-C92TXCzT.d.cts → where-C3-HRgUq.d.cts} +1 -1
- package/dist/{where-BdE_cYtx.d.ts → where-sQL4u5h-.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-2SL7OGPR.cjs.map +0 -1
- package/dist/chunk-6XDBRDZE.js.map +0 -1
- package/dist/chunk-7VLCN3JB.cjs.map +0 -1
- package/dist/chunk-A2FGSWMQ.js.map +0 -1
- package/dist/chunk-DDCIXXOO.js +0 -9
- package/dist/chunk-DDCIXXOO.js.map +0 -1
- package/dist/chunk-DDCYVIVV.cjs +0 -44
- package/dist/chunk-DDCYVIVV.cjs.map +0 -1
- package/dist/chunk-EOJFGECD.cjs +0 -284
- package/dist/chunk-EOJFGECD.cjs.map +0 -1
- package/dist/chunk-FMNUSGZ4.cjs +0 -12
- package/dist/chunk-G32AO634.js.map +0 -1
- package/dist/chunk-G3CSQLLT.js.map +0 -1
- package/dist/chunk-I6FX7AAG.js +0 -39
- package/dist/chunk-I6FX7AAG.js.map +0 -1
- package/dist/chunk-J6IJARLG.js +0 -94
- package/dist/chunk-J6IJARLG.js.map +0 -1
- package/dist/chunk-KCLZHYPU.cjs.map +0 -1
- package/dist/chunk-KFLXWVUJ.js.map +0 -1
- package/dist/chunk-MTNEGGM2.js +0 -273
- package/dist/chunk-MTNEGGM2.js.map +0 -1
- package/dist/chunk-NU23DUSJ.cjs.map +0 -1
- package/dist/chunk-NWYCOFEZ.cjs.map +0 -1
- package/dist/chunk-O5H62ZWJ.cjs.map +0 -1
- package/dist/chunk-RQPRCEIO.js.map +0 -1
- package/dist/chunk-SVUKGWSN.cjs +0 -102
- package/dist/chunk-SVUKGWSN.cjs.map +0 -1
- package/dist/chunk-TE5ZA4VX.js.map +0 -1
- package/dist/chunk-UH2USOMG.cjs +0 -627
- package/dist/chunk-UH2USOMG.cjs.map +0 -1
- package/dist/chunk-UPXDVI3T.js.map +0 -1
- package/dist/chunk-X6RDQ5NB.cjs.map +0 -1
- package/dist/chunk-XFY73JWD.cjs.map +0 -1
- package/dist/chunk-Y7M44XEK.js +0 -462
- package/dist/chunk-Y7M44XEK.js.map +0 -1
- package/dist/chunk-YJDSPA5E.js.map +0 -1
- package/dist/chunk-YLINFV7Z.cjs.map +0 -1
- package/dist/chunk-Z5QHVL5U.cjs +0 -12
- package/dist/chunk-Z5QHVL5U.cjs.map +0 -1
- package/dist/chunk-ZKZAIX42.cjs +0 -479
- package/dist/chunk-ZKZAIX42.cjs.map +0 -1
- package/dist/{index-CrFL_ENI.d.cts → types-C5pZeKTl.d.cts} +1 -1
- package/dist/{index-Bq7vSPHy.d.ts → types-D8szWDUo.d.ts} +1 -1
package/dist/chunk-UH2USOMG.cjs
DELETED
|
@@ -1,627 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkZ5QHVL5U_cjs = require('./chunk-Z5QHVL5U.cjs');
|
|
4
|
-
var chunkZKZAIX42_cjs = require('./chunk-ZKZAIX42.cjs');
|
|
5
|
-
var chunkX6RDQ5NB_cjs = require('./chunk-X6RDQ5NB.cjs');
|
|
6
|
-
var chunkTDXIBCGY_cjs = require('./chunk-TDXIBCGY.cjs');
|
|
7
|
-
|
|
8
|
-
// src/query/dialect/postgres.ts
|
|
9
|
-
function toPostgresPath(pointer) {
|
|
10
|
-
if (!pointer || pointer === "" || pointer === "/") {
|
|
11
|
-
return chunkX6RDQ5NB_cjs.sql.raw("ARRAY[]::text[]");
|
|
12
|
-
}
|
|
13
|
-
const segments = chunkTDXIBCGY_cjs.parseJsonPointer(pointer);
|
|
14
|
-
if (segments.length === 0) {
|
|
15
|
-
return chunkX6RDQ5NB_cjs.sql.raw("ARRAY[]::text[]");
|
|
16
|
-
}
|
|
17
|
-
const escapedSegments = segments.map((segment) => chunkX6RDQ5NB_cjs.inlineSqlStringLiteral(segment, "postgres")).join(", ");
|
|
18
|
-
return chunkX6RDQ5NB_cjs.sql.raw(`ARRAY[${escapedSegments}]`);
|
|
19
|
-
}
|
|
20
|
-
var postgresDialect = {
|
|
21
|
-
name: "postgres",
|
|
22
|
-
capabilities: {
|
|
23
|
-
standardQueryStrategy: "cte_project",
|
|
24
|
-
recursiveQueryStrategy: "recursive_cte",
|
|
25
|
-
materializeIntermediateTraversalCtes: false,
|
|
26
|
-
emitNotMaterializedHint: true,
|
|
27
|
-
forceRecursiveWorktableOuterJoinOrder: false,
|
|
28
|
-
vectorPredicateStrategy: "native",
|
|
29
|
-
vectorMetrics: ["cosine", "l2", "inner_product"],
|
|
30
|
-
supportsFulltext: true
|
|
31
|
-
},
|
|
32
|
-
binaryText(expression) {
|
|
33
|
-
return chunkX6RDQ5NB_cjs.sql`${expression} COLLATE "C"`;
|
|
34
|
-
},
|
|
35
|
-
analyzeTemporaryTable(table) {
|
|
36
|
-
return chunkX6RDQ5NB_cjs.sql`ANALYZE ${table}`;
|
|
37
|
-
},
|
|
38
|
-
setTransactionWorkingMemory(workingMemory) {
|
|
39
|
-
return chunkX6RDQ5NB_cjs.sql`SELECT set_config('work_mem', ${workingMemory}, true)`;
|
|
40
|
-
},
|
|
41
|
-
// ============================================================
|
|
42
|
-
// JSON Path Operations
|
|
43
|
-
// ============================================================
|
|
44
|
-
compilePath(pointer) {
|
|
45
|
-
return toPostgresPath(pointer);
|
|
46
|
-
},
|
|
47
|
-
jsonExtract(column, pointer) {
|
|
48
|
-
const path = toPostgresPath(pointer);
|
|
49
|
-
return chunkX6RDQ5NB_cjs.sql`${column} #> ${path}`;
|
|
50
|
-
},
|
|
51
|
-
jsonExtractText(column, pointer) {
|
|
52
|
-
const path = toPostgresPath(pointer);
|
|
53
|
-
return chunkX6RDQ5NB_cjs.sql`${column} #>> ${path}`;
|
|
54
|
-
},
|
|
55
|
-
jsonExtractNumber(column, pointer) {
|
|
56
|
-
const path = toPostgresPath(pointer);
|
|
57
|
-
return chunkX6RDQ5NB_cjs.sql`(${column} #>> ${path})::numeric`;
|
|
58
|
-
},
|
|
59
|
-
jsonExtractDouble(column, pointer) {
|
|
60
|
-
const path = toPostgresPath(pointer);
|
|
61
|
-
return chunkX6RDQ5NB_cjs.sql`(${column} #>> ${path})::double precision`;
|
|
62
|
-
},
|
|
63
|
-
jsonExtractBoolean(column, pointer) {
|
|
64
|
-
const path = toPostgresPath(pointer);
|
|
65
|
-
return chunkX6RDQ5NB_cjs.sql`(${column} #>> ${path})::boolean`;
|
|
66
|
-
},
|
|
67
|
-
jsonExtractDate(column, pointer) {
|
|
68
|
-
const path = toPostgresPath(pointer);
|
|
69
|
-
return chunkX6RDQ5NB_cjs.sql`(${column} #>> ${path})::timestamptz`;
|
|
70
|
-
},
|
|
71
|
-
// ============================================================
|
|
72
|
-
// JSON Array Operations
|
|
73
|
-
// ============================================================
|
|
74
|
-
jsonArrayLength(column) {
|
|
75
|
-
return chunkX6RDQ5NB_cjs.sql`jsonb_array_length(${column})`;
|
|
76
|
-
},
|
|
77
|
-
jsonArrayContains(column, value) {
|
|
78
|
-
const jsonValue = JSON.stringify([value]);
|
|
79
|
-
return chunkX6RDQ5NB_cjs.sql`${column} @> ${jsonValue}::jsonb`;
|
|
80
|
-
},
|
|
81
|
-
jsonArrayContainsAll(column, values) {
|
|
82
|
-
if (values.length === 0) {
|
|
83
|
-
return chunkX6RDQ5NB_cjs.sql.raw("1=1");
|
|
84
|
-
}
|
|
85
|
-
const jsonValue = JSON.stringify(values);
|
|
86
|
-
return chunkX6RDQ5NB_cjs.sql`${column} @> ${jsonValue}::jsonb`;
|
|
87
|
-
},
|
|
88
|
-
jsonArrayContainsAny(column, values) {
|
|
89
|
-
if (values.length === 0) {
|
|
90
|
-
return chunkX6RDQ5NB_cjs.sql.raw("1=0");
|
|
91
|
-
}
|
|
92
|
-
const conditions = values.map((value) => {
|
|
93
|
-
const jsonValue = JSON.stringify([value]);
|
|
94
|
-
return chunkX6RDQ5NB_cjs.sql`${column} @> ${jsonValue}::jsonb`;
|
|
95
|
-
});
|
|
96
|
-
return chunkX6RDQ5NB_cjs.sql`(${chunkX6RDQ5NB_cjs.sql.join(conditions, chunkX6RDQ5NB_cjs.sql` OR `)})`;
|
|
97
|
-
},
|
|
98
|
-
// ============================================================
|
|
99
|
-
// JSON Object Operations
|
|
100
|
-
// ============================================================
|
|
101
|
-
jsonHasPath(column, pointer) {
|
|
102
|
-
const path = toPostgresPath(pointer);
|
|
103
|
-
return chunkX6RDQ5NB_cjs.sql`${column} #> ${path} IS NOT NULL`;
|
|
104
|
-
},
|
|
105
|
-
jsonPathIsNull(column, pointer) {
|
|
106
|
-
const path = toPostgresPath(pointer);
|
|
107
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(jsonb_typeof(${column} #> ${path}) = 'null', TRUE)`;
|
|
108
|
-
},
|
|
109
|
-
jsonPathIsNumber(column, pointer) {
|
|
110
|
-
const path = toPostgresPath(pointer);
|
|
111
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(jsonb_typeof(${column} #> ${path}) = 'number', FALSE)`;
|
|
112
|
-
},
|
|
113
|
-
jsonPathIsNotNull(column, pointer) {
|
|
114
|
-
const path = toPostgresPath(pointer);
|
|
115
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(jsonb_typeof(${column} #> ${path}) <> 'null', FALSE)`;
|
|
116
|
-
},
|
|
117
|
-
// ============================================================
|
|
118
|
-
// Comparison Operations
|
|
119
|
-
// ============================================================
|
|
120
|
-
nullSafeEquals(left, right) {
|
|
121
|
-
return chunkX6RDQ5NB_cjs.sql`${left} IS NOT DISTINCT FROM ${right}`;
|
|
122
|
-
},
|
|
123
|
-
inList(left, values, negated) {
|
|
124
|
-
const operator = negated ? chunkX6RDQ5NB_cjs.sql.raw("NOT IN") : chunkX6RDQ5NB_cjs.sql.raw("IN");
|
|
125
|
-
const placeholders = values.map((value) => chunkX6RDQ5NB_cjs.sql`${value}`);
|
|
126
|
-
return chunkX6RDQ5NB_cjs.sql`${left} ${operator} (${chunkX6RDQ5NB_cjs.sql.join(placeholders, chunkX6RDQ5NB_cjs.sql`, `)})`;
|
|
127
|
-
},
|
|
128
|
-
// ============================================================
|
|
129
|
-
// String Operations
|
|
130
|
-
// ============================================================
|
|
131
|
-
ilike(column, pattern) {
|
|
132
|
-
return chunkX6RDQ5NB_cjs.sql`${column} ILIKE ${pattern} ${chunkZ5QHVL5U_cjs.likeEscapeClause}`;
|
|
133
|
-
},
|
|
134
|
-
// ============================================================
|
|
135
|
-
// Set Operations
|
|
136
|
-
// ============================================================
|
|
137
|
-
wrapSetOperationOperand(inner) {
|
|
138
|
-
return chunkX6RDQ5NB_cjs.sql`(${inner})`;
|
|
139
|
-
},
|
|
140
|
-
// ============================================================
|
|
141
|
-
// Recursive CTE Path Operations
|
|
142
|
-
// ============================================================
|
|
143
|
-
initializePath(nodeId) {
|
|
144
|
-
return chunkX6RDQ5NB_cjs.sql`ARRAY[${nodeId}]`;
|
|
145
|
-
},
|
|
146
|
-
extendPath(currentPath, nodeId) {
|
|
147
|
-
return chunkX6RDQ5NB_cjs.sql`${currentPath} || ${nodeId}`;
|
|
148
|
-
},
|
|
149
|
-
cycleCheck(nodeId, path) {
|
|
150
|
-
return chunkX6RDQ5NB_cjs.sql`${nodeId} != ALL(${path})`;
|
|
151
|
-
},
|
|
152
|
-
// ============================================================
|
|
153
|
-
// Value Binding & Literals
|
|
154
|
-
// ============================================================
|
|
155
|
-
bindValue(value) {
|
|
156
|
-
return chunkX6RDQ5NB_cjs.getSqlDialectProfile("postgres").bindValue(value);
|
|
157
|
-
},
|
|
158
|
-
booleanLiteral(value) {
|
|
159
|
-
return chunkX6RDQ5NB_cjs.sql.raw(
|
|
160
|
-
chunkX6RDQ5NB_cjs.getSqlDialectProfile("postgres").booleanLiteralString(value)
|
|
161
|
-
);
|
|
162
|
-
},
|
|
163
|
-
booleanLiteralString(value) {
|
|
164
|
-
return chunkX6RDQ5NB_cjs.getSqlDialectProfile("postgres").booleanLiteralString(value);
|
|
165
|
-
},
|
|
166
|
-
quoteIdentifier(name) {
|
|
167
|
-
return `"${name.replaceAll('"', '""')}"`;
|
|
168
|
-
},
|
|
169
|
-
// ============================================================
|
|
170
|
-
// Vector Operations
|
|
171
|
-
// ============================================================
|
|
172
|
-
// Compile-time gate for `field.similarTo(...)`; the active
|
|
173
|
-
// `VectorStrategy` (pgvector) owns the distance SQL.
|
|
174
|
-
supportsVectors: true,
|
|
175
|
-
// ============================================================
|
|
176
|
-
// Fulltext Operations
|
|
177
|
-
// ============================================================
|
|
178
|
-
fulltext: chunkZKZAIX42_cjs.tsvectorStrategy
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// src/query/dialect/sqlite.ts
|
|
182
|
-
function escapeSqliteLiteral(value) {
|
|
183
|
-
return `'${value.replaceAll("'", "''")}'`;
|
|
184
|
-
}
|
|
185
|
-
function toSqlitePath(pointer) {
|
|
186
|
-
if (!pointer || pointer === "" || pointer === "/") {
|
|
187
|
-
return "$";
|
|
188
|
-
}
|
|
189
|
-
const segments = chunkTDXIBCGY_cjs.parseJsonPointer(pointer);
|
|
190
|
-
const parts = ["$"];
|
|
191
|
-
for (const segment of segments) {
|
|
192
|
-
if (isArrayIndex(segment)) {
|
|
193
|
-
parts.push(`[${segment}]`);
|
|
194
|
-
} else {
|
|
195
|
-
parts.push(`.${JSON.stringify(segment)}`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return parts.join("");
|
|
199
|
-
}
|
|
200
|
-
function isArrayIndex(segment) {
|
|
201
|
-
return /^\d+$/.test(segment);
|
|
202
|
-
}
|
|
203
|
-
var sqliteDialect = {
|
|
204
|
-
name: "sqlite",
|
|
205
|
-
capabilities: {
|
|
206
|
-
standardQueryStrategy: "cte_project",
|
|
207
|
-
recursiveQueryStrategy: "recursive_cte",
|
|
208
|
-
materializeIntermediateTraversalCtes: true,
|
|
209
|
-
emitNotMaterializedHint: false,
|
|
210
|
-
forceRecursiveWorktableOuterJoinOrder: true,
|
|
211
|
-
vectorPredicateStrategy: "native",
|
|
212
|
-
vectorMetrics: ["cosine", "l2"],
|
|
213
|
-
supportsFulltext: true
|
|
214
|
-
},
|
|
215
|
-
binaryText(expression) {
|
|
216
|
-
return expression;
|
|
217
|
-
},
|
|
218
|
-
analyzeTemporaryTable() {
|
|
219
|
-
return;
|
|
220
|
-
},
|
|
221
|
-
setTransactionWorkingMemory() {
|
|
222
|
-
return;
|
|
223
|
-
},
|
|
224
|
-
// ============================================================
|
|
225
|
-
// JSON Path Operations
|
|
226
|
-
// ============================================================
|
|
227
|
-
compilePath(pointer) {
|
|
228
|
-
return chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(toSqlitePath(pointer)));
|
|
229
|
-
},
|
|
230
|
-
jsonExtract(column, pointer) {
|
|
231
|
-
const path = toSqlitePath(pointer);
|
|
232
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
233
|
-
},
|
|
234
|
-
jsonExtractText(column, pointer) {
|
|
235
|
-
const path = toSqlitePath(pointer);
|
|
236
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
237
|
-
},
|
|
238
|
-
jsonExtractNumber(column, pointer) {
|
|
239
|
-
const path = toSqlitePath(pointer);
|
|
240
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
241
|
-
},
|
|
242
|
-
jsonExtractDouble(column, pointer) {
|
|
243
|
-
const path = toSqlitePath(pointer);
|
|
244
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
245
|
-
},
|
|
246
|
-
jsonExtractBoolean(column, pointer) {
|
|
247
|
-
const path = toSqlitePath(pointer);
|
|
248
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
249
|
-
},
|
|
250
|
-
jsonExtractDate(column, pointer) {
|
|
251
|
-
const path = toSqlitePath(pointer);
|
|
252
|
-
return chunkX6RDQ5NB_cjs.sql`json_extract(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))})`;
|
|
253
|
-
},
|
|
254
|
-
// ============================================================
|
|
255
|
-
// JSON Array Operations
|
|
256
|
-
// ============================================================
|
|
257
|
-
jsonArrayLength(column) {
|
|
258
|
-
return chunkX6RDQ5NB_cjs.sql`json_array_length(${column})`;
|
|
259
|
-
},
|
|
260
|
-
jsonArrayContains(column, value) {
|
|
261
|
-
return chunkX6RDQ5NB_cjs.sql`EXISTS (SELECT 1 FROM json_each(${column}) WHERE json_each.value = ${value})`;
|
|
262
|
-
},
|
|
263
|
-
jsonArrayContainsAll(column, values) {
|
|
264
|
-
if (values.length === 0) {
|
|
265
|
-
return chunkX6RDQ5NB_cjs.sql.raw("1=1");
|
|
266
|
-
}
|
|
267
|
-
const packedValues = JSON.stringify(values);
|
|
268
|
-
return chunkX6RDQ5NB_cjs.sql`
|
|
269
|
-
NOT EXISTS (
|
|
270
|
-
SELECT 1 FROM json_each(${packedValues}) AS tg_required
|
|
271
|
-
WHERE NOT EXISTS (
|
|
272
|
-
SELECT 1 FROM json_each(${column}) AS tg_actual
|
|
273
|
-
WHERE tg_actual.value = tg_required.value
|
|
274
|
-
)
|
|
275
|
-
)
|
|
276
|
-
`;
|
|
277
|
-
},
|
|
278
|
-
jsonArrayContainsAny(column, values) {
|
|
279
|
-
if (values.length === 0) {
|
|
280
|
-
return chunkX6RDQ5NB_cjs.sql.raw("1=0");
|
|
281
|
-
}
|
|
282
|
-
const packedValues = JSON.stringify(values);
|
|
283
|
-
return chunkX6RDQ5NB_cjs.sql`
|
|
284
|
-
EXISTS (
|
|
285
|
-
SELECT 1
|
|
286
|
-
FROM json_each(${column}) AS tg_actual
|
|
287
|
-
JOIN json_each(${packedValues}) AS tg_wanted
|
|
288
|
-
ON tg_actual.value = tg_wanted.value
|
|
289
|
-
)
|
|
290
|
-
`;
|
|
291
|
-
},
|
|
292
|
-
// ============================================================
|
|
293
|
-
// JSON Object Operations
|
|
294
|
-
// ============================================================
|
|
295
|
-
jsonHasPath(column, pointer) {
|
|
296
|
-
const path = toSqlitePath(pointer);
|
|
297
|
-
return chunkX6RDQ5NB_cjs.sql`json_type(${column}, ${chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path))}) IS NOT NULL`;
|
|
298
|
-
},
|
|
299
|
-
jsonPathIsNull(column, pointer) {
|
|
300
|
-
const path = toSqlitePath(pointer);
|
|
301
|
-
const pathSql = chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path));
|
|
302
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(json_type(${column}, ${pathSql}) = 'null', 1)`;
|
|
303
|
-
},
|
|
304
|
-
jsonPathIsNumber(column, pointer) {
|
|
305
|
-
const path = toSqlitePath(pointer);
|
|
306
|
-
const pathSql = chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path));
|
|
307
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(json_type(${column}, ${pathSql}) IN ('integer', 'real'), 0)`;
|
|
308
|
-
},
|
|
309
|
-
jsonPathIsNotNull(column, pointer) {
|
|
310
|
-
const path = toSqlitePath(pointer);
|
|
311
|
-
const pathSql = chunkX6RDQ5NB_cjs.sql.raw(escapeSqliteLiteral(path));
|
|
312
|
-
return chunkX6RDQ5NB_cjs.sql`COALESCE(json_type(${column}, ${pathSql}) <> 'null', 0)`;
|
|
313
|
-
},
|
|
314
|
-
// ============================================================
|
|
315
|
-
// Comparison Operations
|
|
316
|
-
// ============================================================
|
|
317
|
-
nullSafeEquals(left, right) {
|
|
318
|
-
return chunkX6RDQ5NB_cjs.sql`${left} IS ${right}`;
|
|
319
|
-
},
|
|
320
|
-
inList(left, values, negated) {
|
|
321
|
-
const operator = negated ? chunkX6RDQ5NB_cjs.sql.raw("NOT IN") : chunkX6RDQ5NB_cjs.sql.raw("IN");
|
|
322
|
-
const packedValues = JSON.stringify(values);
|
|
323
|
-
return chunkX6RDQ5NB_cjs.sql`${left} ${operator} (SELECT value FROM json_each(${packedValues}))`;
|
|
324
|
-
},
|
|
325
|
-
// ============================================================
|
|
326
|
-
// String Operations
|
|
327
|
-
// ============================================================
|
|
328
|
-
ilike(column, pattern) {
|
|
329
|
-
return chunkX6RDQ5NB_cjs.sql`LOWER(${column}) LIKE LOWER(${pattern}) ${chunkZ5QHVL5U_cjs.likeEscapeClause}`;
|
|
330
|
-
},
|
|
331
|
-
// ============================================================
|
|
332
|
-
// Set Operations
|
|
333
|
-
// ============================================================
|
|
334
|
-
wrapSetOperationOperand(inner) {
|
|
335
|
-
return chunkX6RDQ5NB_cjs.sql`SELECT * FROM (${inner})`;
|
|
336
|
-
},
|
|
337
|
-
// ============================================================
|
|
338
|
-
// Recursive CTE Path Operations
|
|
339
|
-
// ============================================================
|
|
340
|
-
initializePath(nodeId) {
|
|
341
|
-
return chunkX6RDQ5NB_cjs.sql`'|' || ${nodeId} || '|'`;
|
|
342
|
-
},
|
|
343
|
-
extendPath(currentPath, nodeId) {
|
|
344
|
-
return chunkX6RDQ5NB_cjs.sql`${currentPath} || ${nodeId} || '|'`;
|
|
345
|
-
},
|
|
346
|
-
cycleCheck(nodeId, path) {
|
|
347
|
-
return chunkX6RDQ5NB_cjs.sql`INSTR(${path}, '|' || ${nodeId} || '|') = 0`;
|
|
348
|
-
},
|
|
349
|
-
// ============================================================
|
|
350
|
-
// Value Binding & Literals
|
|
351
|
-
// ============================================================
|
|
352
|
-
bindValue(value) {
|
|
353
|
-
return chunkX6RDQ5NB_cjs.getSqlDialectProfile("sqlite").bindValue(value);
|
|
354
|
-
},
|
|
355
|
-
booleanLiteral(value) {
|
|
356
|
-
return chunkX6RDQ5NB_cjs.sql.raw(chunkX6RDQ5NB_cjs.getSqlDialectProfile("sqlite").booleanLiteralString(value));
|
|
357
|
-
},
|
|
358
|
-
booleanLiteralString(value) {
|
|
359
|
-
return chunkX6RDQ5NB_cjs.getSqlDialectProfile("sqlite").booleanLiteralString(value);
|
|
360
|
-
},
|
|
361
|
-
quoteIdentifier(name) {
|
|
362
|
-
return `"${name.replaceAll('"', '""')}"`;
|
|
363
|
-
},
|
|
364
|
-
// ============================================================
|
|
365
|
-
// Vector Operations
|
|
366
|
-
// ============================================================
|
|
367
|
-
// Compile-time gate for `field.similarTo(...)`; the active
|
|
368
|
-
// `VectorStrategy` (sqlite-vec / libSQL-native) owns the distance SQL.
|
|
369
|
-
supportsVectors: true,
|
|
370
|
-
// ============================================================
|
|
371
|
-
// Fulltext Operations
|
|
372
|
-
// ============================================================
|
|
373
|
-
fulltext: chunkZKZAIX42_cjs.fts5Strategy
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
// src/query/dialect/index.ts
|
|
377
|
-
var DIALECT_ADAPTERS = {
|
|
378
|
-
sqlite: sqliteDialect,
|
|
379
|
-
postgres: postgresDialect
|
|
380
|
-
};
|
|
381
|
-
function getDialect(dialect) {
|
|
382
|
-
return DIALECT_ADAPTERS[dialect];
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
// src/indexes/compiler.ts
|
|
386
|
-
function compileNodeIndexKeys(index, dialect, propsColumn, systemColumn) {
|
|
387
|
-
const adapter = getDialect(dialect);
|
|
388
|
-
const keys = [];
|
|
389
|
-
const systemColumns = [
|
|
390
|
-
...getNodeScopeColumns(index.scope),
|
|
391
|
-
...index.keySystemColumns ?? []
|
|
392
|
-
];
|
|
393
|
-
for (const column of systemColumns) {
|
|
394
|
-
keys.push(systemColumn(column));
|
|
395
|
-
}
|
|
396
|
-
const allPointers = [...index.fields, ...index.coveringFields];
|
|
397
|
-
const allValueTypes = [
|
|
398
|
-
...index.fieldValueTypes,
|
|
399
|
-
...index.coveringFieldValueTypes
|
|
400
|
-
];
|
|
401
|
-
for (const [pointerIndex, pointer] of allPointers.entries()) {
|
|
402
|
-
const valueType = allValueTypes[pointerIndex];
|
|
403
|
-
const extracted = compileIndexKeyValue(
|
|
404
|
-
adapter,
|
|
405
|
-
propsColumn,
|
|
406
|
-
pointer,
|
|
407
|
-
valueType
|
|
408
|
-
);
|
|
409
|
-
keys.push(chunkX6RDQ5NB_cjs.sql`(${extracted})`);
|
|
410
|
-
}
|
|
411
|
-
return { keys };
|
|
412
|
-
}
|
|
413
|
-
function compileEdgeIndexKeys(index, dialect, propsColumn, systemColumn) {
|
|
414
|
-
const adapter = getDialect(dialect);
|
|
415
|
-
const keys = [];
|
|
416
|
-
for (const column of getEdgeScopeColumns(index.scope, index.direction)) {
|
|
417
|
-
keys.push(systemColumn(column));
|
|
418
|
-
}
|
|
419
|
-
const allPointers = [...index.fields, ...index.coveringFields];
|
|
420
|
-
const allValueTypes = [
|
|
421
|
-
...index.fieldValueTypes,
|
|
422
|
-
...index.coveringFieldValueTypes
|
|
423
|
-
];
|
|
424
|
-
for (const [pointerIndex, pointer] of allPointers.entries()) {
|
|
425
|
-
const valueType = allValueTypes[pointerIndex];
|
|
426
|
-
const extracted = compileIndexKeyValue(
|
|
427
|
-
adapter,
|
|
428
|
-
propsColumn,
|
|
429
|
-
pointer,
|
|
430
|
-
valueType
|
|
431
|
-
);
|
|
432
|
-
keys.push(chunkX6RDQ5NB_cjs.sql`(${extracted})`);
|
|
433
|
-
}
|
|
434
|
-
return { keys };
|
|
435
|
-
}
|
|
436
|
-
function compileNodeIndexFieldKeys(index, ctx) {
|
|
437
|
-
const adapter = getDialect(ctx.dialect);
|
|
438
|
-
const keys = [];
|
|
439
|
-
for (const [position, pointer] of index.fields.entries()) {
|
|
440
|
-
const extracted = compileIndexKeyValue(
|
|
441
|
-
adapter,
|
|
442
|
-
ctx.propsColumn,
|
|
443
|
-
pointer,
|
|
444
|
-
index.fieldValueTypes[position]
|
|
445
|
-
);
|
|
446
|
-
keys.push(chunkX6RDQ5NB_cjs.sql`(${extracted})`);
|
|
447
|
-
}
|
|
448
|
-
return keys;
|
|
449
|
-
}
|
|
450
|
-
function compileIndexKeyValue(dialect, propsColumn, pointer, valueType) {
|
|
451
|
-
switch (valueType) {
|
|
452
|
-
case "number": {
|
|
453
|
-
return dialect.jsonExtractNumber(propsColumn, pointer);
|
|
454
|
-
}
|
|
455
|
-
case "boolean": {
|
|
456
|
-
return dialect.jsonExtractBoolean(propsColumn, pointer);
|
|
457
|
-
}
|
|
458
|
-
case "date": {
|
|
459
|
-
return dialect.jsonExtractDate(propsColumn, pointer);
|
|
460
|
-
}
|
|
461
|
-
case "string":
|
|
462
|
-
case "unknown":
|
|
463
|
-
case void 0: {
|
|
464
|
-
return dialect.jsonExtractText(propsColumn, pointer);
|
|
465
|
-
}
|
|
466
|
-
case "array":
|
|
467
|
-
case "object":
|
|
468
|
-
case "embedding": {
|
|
469
|
-
return dialect.jsonExtract(propsColumn, pointer);
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
function getNodeScopeColumns(scope) {
|
|
474
|
-
switch (scope) {
|
|
475
|
-
case "graphAndKind": {
|
|
476
|
-
return ["graph_id", "kind"];
|
|
477
|
-
}
|
|
478
|
-
case "graph": {
|
|
479
|
-
return ["graph_id"];
|
|
480
|
-
}
|
|
481
|
-
case "none": {
|
|
482
|
-
return [];
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
function getEdgeScopeColumns(scope, direction) {
|
|
487
|
-
const base = scope === "graphAndKind" ? ["graph_id", "kind"] : scope === "graph" ? ["graph_id"] : [];
|
|
488
|
-
if (direction === "out") {
|
|
489
|
-
return [...base, "from_id"];
|
|
490
|
-
}
|
|
491
|
-
if (direction === "in") {
|
|
492
|
-
return [...base, "to_id"];
|
|
493
|
-
}
|
|
494
|
-
return [...base];
|
|
495
|
-
}
|
|
496
|
-
function isIndexWhereLiteralList(value) {
|
|
497
|
-
return Array.isArray(value);
|
|
498
|
-
}
|
|
499
|
-
function compileIndexWhere(ctx, expression) {
|
|
500
|
-
switch (expression.__type) {
|
|
501
|
-
case "index_where_and": {
|
|
502
|
-
return chunkX6RDQ5NB_cjs.sql`(${chunkX6RDQ5NB_cjs.sql.join(
|
|
503
|
-
expression.predicates.map((p) => compileIndexWhere(ctx, p)),
|
|
504
|
-
chunkX6RDQ5NB_cjs.sql` AND `
|
|
505
|
-
)})`;
|
|
506
|
-
}
|
|
507
|
-
case "index_where_or": {
|
|
508
|
-
return chunkX6RDQ5NB_cjs.sql`(${chunkX6RDQ5NB_cjs.sql.join(
|
|
509
|
-
expression.predicates.map((p) => compileIndexWhere(ctx, p)),
|
|
510
|
-
chunkX6RDQ5NB_cjs.sql` OR `
|
|
511
|
-
)})`;
|
|
512
|
-
}
|
|
513
|
-
case "index_where_not": {
|
|
514
|
-
return chunkX6RDQ5NB_cjs.sql`(NOT ${compileIndexWhere(ctx, expression.predicate)})`;
|
|
515
|
-
}
|
|
516
|
-
case "index_where_null_check": {
|
|
517
|
-
const operand = compileIndexWhereOperand(ctx, expression.operand);
|
|
518
|
-
return expression.op === "isNull" ? chunkX6RDQ5NB_cjs.sql`${operand} IS NULL` : chunkX6RDQ5NB_cjs.sql`${operand} IS NOT NULL`;
|
|
519
|
-
}
|
|
520
|
-
case "index_where_comparison": {
|
|
521
|
-
const left = compileIndexWhereOperand(ctx, expression.left);
|
|
522
|
-
const right = expression.right;
|
|
523
|
-
if (isIndexWhereLiteralList(right)) {
|
|
524
|
-
if (expression.op !== "in" && expression.op !== "notIn") {
|
|
525
|
-
throw new Error(
|
|
526
|
-
`Operator "${expression.op}" does not support list comparison in index WHERE clause`
|
|
527
|
-
);
|
|
528
|
-
}
|
|
529
|
-
const values = right.map(
|
|
530
|
-
(literal) => compileIndexWhereLiteral(ctx.dialect, literal)
|
|
531
|
-
);
|
|
532
|
-
const operator = expression.op === "in" ? chunkX6RDQ5NB_cjs.sql`IN` : chunkX6RDQ5NB_cjs.sql`NOT IN`;
|
|
533
|
-
return chunkX6RDQ5NB_cjs.sql`${left} ${operator} (${chunkX6RDQ5NB_cjs.sql.join(values, chunkX6RDQ5NB_cjs.sql`, `)})`;
|
|
534
|
-
}
|
|
535
|
-
if (expression.op === "in" || expression.op === "notIn") {
|
|
536
|
-
throw new Error(
|
|
537
|
-
`Operator "${expression.op}" requires a list of values in index WHERE clause`
|
|
538
|
-
);
|
|
539
|
-
}
|
|
540
|
-
const rightLiteral = compileIndexWhereLiteral(ctx.dialect, right);
|
|
541
|
-
const opSql = compileComparisonOperator(expression.op);
|
|
542
|
-
return chunkX6RDQ5NB_cjs.sql`${left} ${opSql} ${rightLiteral}`;
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
function compileIndexWhereOperand(ctx, operand) {
|
|
547
|
-
if (operand.__type === "index_operand_system") {
|
|
548
|
-
return ctx.systemColumn(operand.column);
|
|
549
|
-
}
|
|
550
|
-
const adapter = getDialect(ctx.dialect);
|
|
551
|
-
const pointer = chunkTDXIBCGY_cjs.jsonPointer([operand.field]);
|
|
552
|
-
switch (operand.valueType) {
|
|
553
|
-
case "number": {
|
|
554
|
-
return adapter.jsonExtractNumber(ctx.propsColumn, pointer);
|
|
555
|
-
}
|
|
556
|
-
case "boolean": {
|
|
557
|
-
return adapter.jsonExtractBoolean(ctx.propsColumn, pointer);
|
|
558
|
-
}
|
|
559
|
-
case "date": {
|
|
560
|
-
return adapter.jsonExtractDate(ctx.propsColumn, pointer);
|
|
561
|
-
}
|
|
562
|
-
case "array":
|
|
563
|
-
case "object":
|
|
564
|
-
case "embedding": {
|
|
565
|
-
return adapter.jsonExtract(ctx.propsColumn, pointer);
|
|
566
|
-
}
|
|
567
|
-
case "string":
|
|
568
|
-
case "unknown":
|
|
569
|
-
case void 0: {
|
|
570
|
-
return adapter.jsonExtractText(ctx.propsColumn, pointer);
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
function compileIndexWhereLiteral(dialect, literal) {
|
|
575
|
-
switch (literal.valueType) {
|
|
576
|
-
case "string":
|
|
577
|
-
case "date": {
|
|
578
|
-
return chunkX6RDQ5NB_cjs.sql.raw(escapeStringLiteral(literal.value.toString()));
|
|
579
|
-
}
|
|
580
|
-
case "number": {
|
|
581
|
-
return chunkX6RDQ5NB_cjs.sql.raw(literal.value.toString());
|
|
582
|
-
}
|
|
583
|
-
case "boolean": {
|
|
584
|
-
return getDialect(dialect).booleanLiteral(literal.value);
|
|
585
|
-
}
|
|
586
|
-
case "array":
|
|
587
|
-
case "object":
|
|
588
|
-
case "embedding":
|
|
589
|
-
case "unknown": {
|
|
590
|
-
return chunkX6RDQ5NB_cjs.sql.raw(escapeStringLiteral(literal.value.toString()));
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
function compileComparisonOperator(op) {
|
|
595
|
-
switch (op) {
|
|
596
|
-
case "eq": {
|
|
597
|
-
return chunkX6RDQ5NB_cjs.sql`=`;
|
|
598
|
-
}
|
|
599
|
-
case "neq": {
|
|
600
|
-
return chunkX6RDQ5NB_cjs.sql`<>`;
|
|
601
|
-
}
|
|
602
|
-
case "gt": {
|
|
603
|
-
return chunkX6RDQ5NB_cjs.sql`>`;
|
|
604
|
-
}
|
|
605
|
-
case "gte": {
|
|
606
|
-
return chunkX6RDQ5NB_cjs.sql`>=`;
|
|
607
|
-
}
|
|
608
|
-
case "lt": {
|
|
609
|
-
return chunkX6RDQ5NB_cjs.sql`<`;
|
|
610
|
-
}
|
|
611
|
-
case "lte": {
|
|
612
|
-
return chunkX6RDQ5NB_cjs.sql`<=`;
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
function escapeStringLiteral(value) {
|
|
617
|
-
return `'${value.replaceAll("'", "''")}'`;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
exports.compileEdgeIndexKeys = compileEdgeIndexKeys;
|
|
621
|
-
exports.compileIndexWhere = compileIndexWhere;
|
|
622
|
-
exports.compileNodeIndexFieldKeys = compileNodeIndexFieldKeys;
|
|
623
|
-
exports.compileNodeIndexKeys = compileNodeIndexKeys;
|
|
624
|
-
exports.getDialect = getDialect;
|
|
625
|
-
exports.getNodeScopeColumns = getNodeScopeColumns;
|
|
626
|
-
//# sourceMappingURL=chunk-UH2USOMG.cjs.map
|
|
627
|
-
//# sourceMappingURL=chunk-UH2USOMG.cjs.map
|