tinybase 9.5.0 → 9.6.0-beta.1
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/@types/omni/index.d.ts +4 -0
- package/@types/omni/with-schemas/index.d.ts +4 -0
- package/@types/persisters/index.d.ts +8 -1
- package/@types/persisters/persister-better-sqlite3/index.d.ts +178 -0
- package/@types/persisters/persister-better-sqlite3/with-schemas/index.d.ts +202 -0
- package/@types/persisters/persister-capacitor-sqlite/index.d.ts +181 -0
- package/@types/persisters/persister-capacitor-sqlite/with-schemas/index.d.ts +205 -0
- package/@types/persisters/persister-indexed-db/index.d.ts +17 -9
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +18 -10
- package/@types/persisters/persister-libsql/index.d.ts +27 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +27 -0
- package/@types/persisters/persister-pg/index.d.ts +197 -0
- package/@types/persisters/persister-pg/with-schemas/index.d.ts +222 -0
- package/@types/persisters/persister-supabase/index.d.ts +201 -0
- package/@types/persisters/persister-supabase/with-schemas/index.d.ts +217 -0
- package/@types/persisters/with-schemas/index.d.ts +8 -1
- package/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-react-dom-charts/index.d.ts +7 -7
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
- package/@types/ui-react-inspector/index.d.ts +1 -1
- package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-solid-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-solid-inspector/index.d.ts +1 -1
- package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-svelte-dom/index.d.ts +10 -10
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-svelte-inspector/index.d.ts +1 -1
- package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
- package/agents.md +55 -2
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-better-sqlite3/index.js +1 -0
- package/min/persisters/persister-better-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-better-sqlite3/with-schemas/index.js +1 -0
- package/min/persisters/persister-better-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-capacitor-sqlite/index.js +1 -0
- package/min/persisters/persister-capacitor-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-capacitor-sqlite/with-schemas/index.js +1 -0
- package/min/persisters/persister-capacitor-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pg/index.js +1 -0
- package/min/persisters/persister-pg/index.js.gz +0 -0
- package/min/persisters/persister-pg/with-schemas/index.js +1 -0
- package/min/persisters/persister-pg/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-supabase/index.js +1 -0
- package/min/persisters/persister-supabase/index.js.gz +0 -0
- package/min/persisters/persister-supabase/with-schemas/index.js +1 -0
- package/min/persisters/persister-supabase/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/omni/index.js +269 -34
- package/omni/with-schemas/index.js +269 -34
- package/package.json +164 -4
- package/persisters/index.js +23 -7
- package/persisters/persister-better-sqlite3/index.js +1767 -0
- package/persisters/persister-better-sqlite3/with-schemas/index.js +1767 -0
- package/persisters/persister-capacitor-sqlite/index.js +1769 -0
- package/persisters/persister-capacitor-sqlite/with-schemas/index.js +1769 -0
- package/persisters/persister-cr-sqlite-wasm/index.js +20 -6
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +20 -6
- package/persisters/persister-durable-object-sql-storage/index.js +20 -7
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +20 -7
- package/persisters/persister-electric-sql/index.js +20 -6
- package/persisters/persister-electric-sql/with-schemas/index.js +20 -6
- package/persisters/persister-expo-sqlite/index.js +20 -6
- package/persisters/persister-expo-sqlite/with-schemas/index.js +20 -6
- package/persisters/persister-indexed-db/index.js +48 -20
- package/persisters/persister-indexed-db/with-schemas/index.js +48 -20
- package/persisters/persister-libsql/index.js +20 -6
- package/persisters/persister-libsql/with-schemas/index.js +20 -6
- package/persisters/persister-pg/index.js +1905 -0
- package/persisters/persister-pg/with-schemas/index.js +1905 -0
- package/persisters/persister-pglite/index.js +20 -6
- package/persisters/persister-pglite/with-schemas/index.js +20 -6
- package/persisters/persister-postgres/index.js +20 -6
- package/persisters/persister-postgres/with-schemas/index.js +20 -6
- package/persisters/persister-powersync/index.js +27 -10
- package/persisters/persister-powersync/with-schemas/index.js +27 -10
- package/persisters/persister-react-native-sqlite/index.js +20 -6
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +20 -6
- package/persisters/persister-sqlite-bun/index.js +20 -6
- package/persisters/persister-sqlite-bun/with-schemas/index.js +20 -6
- package/persisters/persister-sqlite-wasm/index.js +20 -6
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +20 -6
- package/persisters/persister-sqlite3/index.js +20 -6
- package/persisters/persister-sqlite3/with-schemas/index.js +20 -6
- package/persisters/persister-supabase/index.js +883 -0
- package/persisters/persister-supabase/with-schemas/index.js +883 -0
- package/persisters/with-schemas/index.js +23 -7
- package/readme.md +14 -14
- package/releases.md +163 -66
|
@@ -179,9 +179,10 @@ const escapeId = (str) =>
|
|
|
179
179
|
);
|
|
180
180
|
const escapeColumnNames = (...columnNames) =>
|
|
181
181
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
182
|
-
const
|
|
182
|
+
const anonymousPlaceholder = () => '?';
|
|
183
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
183
184
|
arrayJoin(
|
|
184
|
-
arrayMap(array, () =>
|
|
185
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
185
186
|
COMMA,
|
|
186
187
|
);
|
|
187
188
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1002,6 +1003,7 @@ const getCommandFunctions = (
|
|
|
1002
1003
|
managedTableNames,
|
|
1003
1004
|
querySchema,
|
|
1004
1005
|
columnType,
|
|
1006
|
+
getPlaceholder,
|
|
1005
1007
|
upsert = defaultUpsert,
|
|
1006
1008
|
encode,
|
|
1007
1009
|
decode,
|
|
@@ -1212,7 +1214,7 @@ const getCommandFunctions = (
|
|
|
1212
1214
|
DELETE_FROM +
|
|
1213
1215
|
escapeId(tableName) +
|
|
1214
1216
|
getWhereCondition(tableName, condition) +
|
|
1215
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1217
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1216
1218
|
[rowId],
|
|
1217
1219
|
);
|
|
1218
1220
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1231,6 +1233,7 @@ const getCommandFunctions = (
|
|
|
1231
1233
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1232
1234
|
),
|
|
1233
1235
|
},
|
|
1236
|
+
getPlaceholder,
|
|
1234
1237
|
currentColumnNames,
|
|
1235
1238
|
);
|
|
1236
1239
|
}
|
|
@@ -1264,13 +1267,14 @@ const getCommandFunctions = (
|
|
|
1264
1267
|
rowIdColumnName,
|
|
1265
1268
|
changingColumnNames,
|
|
1266
1269
|
rows,
|
|
1270
|
+
getPlaceholder,
|
|
1267
1271
|
currentColumnNames,
|
|
1268
1272
|
);
|
|
1269
1273
|
await executeCommand(
|
|
1270
1274
|
DELETE_FROM +
|
|
1271
1275
|
escapeId(tableName) +
|
|
1272
1276
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1273
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1277
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1274
1278
|
deleteRowIds,
|
|
1275
1279
|
);
|
|
1276
1280
|
} else if (
|
|
@@ -1313,6 +1317,7 @@ const defaultUpsert = async (
|
|
|
1313
1317
|
rowIdColumnName,
|
|
1314
1318
|
changingColumnNames,
|
|
1315
1319
|
rows,
|
|
1320
|
+
getPlaceholder,
|
|
1316
1321
|
) => {
|
|
1317
1322
|
const offset = [1];
|
|
1318
1323
|
await executeCommand(
|
|
@@ -1326,7 +1331,11 @@ const defaultUpsert = async (
|
|
|
1326
1331
|
objToArray(
|
|
1327
1332
|
rows,
|
|
1328
1333
|
(row) =>
|
|
1329
|
-
'(
|
|
1334
|
+
'(' +
|
|
1335
|
+
getPlaceholder(offset) +
|
|
1336
|
+
',' +
|
|
1337
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1338
|
+
')',
|
|
1330
1339
|
),
|
|
1331
1340
|
COMMA,
|
|
1332
1341
|
) +
|
|
@@ -1362,6 +1371,7 @@ const createJsonPersister = (
|
|
|
1362
1371
|
thing,
|
|
1363
1372
|
getThing,
|
|
1364
1373
|
columnType,
|
|
1374
|
+
getPlaceholder,
|
|
1365
1375
|
upsert,
|
|
1366
1376
|
_encode,
|
|
1367
1377
|
_decode,
|
|
@@ -1373,6 +1383,7 @@ const createJsonPersister = (
|
|
|
1373
1383
|
managedTableNames,
|
|
1374
1384
|
querySchema,
|
|
1375
1385
|
columnType,
|
|
1386
|
+
getPlaceholder,
|
|
1376
1387
|
upsert,
|
|
1377
1388
|
void 0,
|
|
1378
1389
|
void 0,
|
|
@@ -1440,6 +1451,7 @@ const createTabularPersister = (
|
|
|
1440
1451
|
thing,
|
|
1441
1452
|
getThing,
|
|
1442
1453
|
columnType,
|
|
1454
|
+
getPlaceholder,
|
|
1443
1455
|
upsert,
|
|
1444
1456
|
encode,
|
|
1445
1457
|
decode,
|
|
@@ -1451,6 +1463,7 @@ const createTabularPersister = (
|
|
|
1451
1463
|
managedTableNames,
|
|
1452
1464
|
querySchema,
|
|
1453
1465
|
columnType,
|
|
1466
|
+
getPlaceholder,
|
|
1454
1467
|
upsert,
|
|
1455
1468
|
encode,
|
|
1456
1469
|
decode,
|
|
@@ -1710,12 +1723,13 @@ const createCustomSqlitePersister = (
|
|
|
1710
1723
|
async (executeCommand2, managedTableNames) =>
|
|
1711
1724
|
await executeCommand2(
|
|
1712
1725
|
SELECT + // eslint-disable-next-line max-len
|
|
1713
|
-
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
1726
|
+
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames, anonymousPlaceholder)})ORDER BY t.name,c.name`,
|
|
1714
1727
|
managedTableNames,
|
|
1715
1728
|
),
|
|
1716
1729
|
thing,
|
|
1717
1730
|
getThing,
|
|
1718
1731
|
EMPTY_STRING,
|
|
1732
|
+
anonymousPlaceholder,
|
|
1719
1733
|
upsert,
|
|
1720
1734
|
(cellOrValue) =>
|
|
1721
1735
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -1774,14 +1788,17 @@ const powerSyncUpdateThenInsert = async (
|
|
|
1774
1788
|
rowIdColumnName,
|
|
1775
1789
|
changingColumnNames,
|
|
1776
1790
|
rows,
|
|
1791
|
+
getPlaceholder,
|
|
1777
1792
|
) => {
|
|
1793
|
+
const updateOffset = [1];
|
|
1778
1794
|
const assignments = arrayJoin(
|
|
1779
1795
|
arrayMap(
|
|
1780
1796
|
changingColumnNames,
|
|
1781
|
-
(columnName
|
|
1797
|
+
(columnName) => escapeId(columnName) + '=' + getPlaceholder(updateOffset),
|
|
1782
1798
|
),
|
|
1783
1799
|
COMMA,
|
|
1784
1800
|
);
|
|
1801
|
+
const rowIdPlaceholder = getPlaceholder(updateOffset);
|
|
1785
1802
|
for (const [id, row] of objToArray(rows, (row2, id2) => [id2, row2])) {
|
|
1786
1803
|
const rowParams = arrayMap(row, (value) => value ?? null);
|
|
1787
1804
|
if (
|
|
@@ -1794,8 +1811,8 @@ const powerSyncUpdateThenInsert = async (
|
|
|
1794
1811
|
' ' +
|
|
1795
1812
|
WHERE +
|
|
1796
1813
|
escapeId(rowIdColumnName) +
|
|
1797
|
-
'
|
|
1798
|
-
|
|
1814
|
+
'=' +
|
|
1815
|
+
rowIdPlaceholder +
|
|
1799
1816
|
' RETURNING' +
|
|
1800
1817
|
escapeId(rowIdColumnName),
|
|
1801
1818
|
[...rowParams, id],
|
|
@@ -1810,7 +1827,7 @@ const powerSyncUpdateThenInsert = async (
|
|
|
1810
1827
|
'(' +
|
|
1811
1828
|
escapeColumnNames(rowIdColumnName, ...changingColumnNames) +
|
|
1812
1829
|
')VALUES(' +
|
|
1813
|
-
getPlaceholders([id, ...row], offset) +
|
|
1830
|
+
getPlaceholders([id, ...row], getPlaceholder, offset) +
|
|
1814
1831
|
')',
|
|
1815
1832
|
[id, ...rowParams],
|
|
1816
1833
|
);
|
|
@@ -138,9 +138,10 @@ const escapeId = (str) =>
|
|
|
138
138
|
);
|
|
139
139
|
const escapeColumnNames = (...columnNames) =>
|
|
140
140
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
141
|
-
const
|
|
141
|
+
const anonymousPlaceholder = () => '?';
|
|
142
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
142
143
|
arrayJoin(
|
|
143
|
-
arrayMap(array, () =>
|
|
144
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
144
145
|
COMMA,
|
|
145
146
|
);
|
|
146
147
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1002,6 +1003,7 @@ const getCommandFunctions = (
|
|
|
1002
1003
|
managedTableNames,
|
|
1003
1004
|
querySchema,
|
|
1004
1005
|
columnType,
|
|
1006
|
+
getPlaceholder,
|
|
1005
1007
|
upsert = defaultUpsert,
|
|
1006
1008
|
encode,
|
|
1007
1009
|
decode,
|
|
@@ -1212,7 +1214,7 @@ const getCommandFunctions = (
|
|
|
1212
1214
|
DELETE_FROM +
|
|
1213
1215
|
escapeId(tableName) +
|
|
1214
1216
|
getWhereCondition(tableName, condition) +
|
|
1215
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1217
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1216
1218
|
[rowId],
|
|
1217
1219
|
);
|
|
1218
1220
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1231,6 +1233,7 @@ const getCommandFunctions = (
|
|
|
1231
1233
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1232
1234
|
),
|
|
1233
1235
|
},
|
|
1236
|
+
getPlaceholder,
|
|
1234
1237
|
currentColumnNames,
|
|
1235
1238
|
);
|
|
1236
1239
|
}
|
|
@@ -1264,13 +1267,14 @@ const getCommandFunctions = (
|
|
|
1264
1267
|
rowIdColumnName,
|
|
1265
1268
|
changingColumnNames,
|
|
1266
1269
|
rows,
|
|
1270
|
+
getPlaceholder,
|
|
1267
1271
|
currentColumnNames,
|
|
1268
1272
|
);
|
|
1269
1273
|
await executeCommand(
|
|
1270
1274
|
DELETE_FROM +
|
|
1271
1275
|
escapeId(tableName) +
|
|
1272
1276
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1273
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1277
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1274
1278
|
deleteRowIds,
|
|
1275
1279
|
);
|
|
1276
1280
|
} else if (
|
|
@@ -1313,6 +1317,7 @@ const defaultUpsert = async (
|
|
|
1313
1317
|
rowIdColumnName,
|
|
1314
1318
|
changingColumnNames,
|
|
1315
1319
|
rows,
|
|
1320
|
+
getPlaceholder,
|
|
1316
1321
|
) => {
|
|
1317
1322
|
const offset = [1];
|
|
1318
1323
|
await executeCommand(
|
|
@@ -1326,7 +1331,11 @@ const defaultUpsert = async (
|
|
|
1326
1331
|
objToArray(
|
|
1327
1332
|
rows,
|
|
1328
1333
|
(row) =>
|
|
1329
|
-
'(
|
|
1334
|
+
'(' +
|
|
1335
|
+
getPlaceholder(offset) +
|
|
1336
|
+
',' +
|
|
1337
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1338
|
+
')',
|
|
1330
1339
|
),
|
|
1331
1340
|
COMMA,
|
|
1332
1341
|
) +
|
|
@@ -1362,6 +1371,7 @@ const createJsonPersister = (
|
|
|
1362
1371
|
thing,
|
|
1363
1372
|
getThing,
|
|
1364
1373
|
columnType,
|
|
1374
|
+
getPlaceholder,
|
|
1365
1375
|
upsert,
|
|
1366
1376
|
_encode,
|
|
1367
1377
|
_decode,
|
|
@@ -1373,6 +1383,7 @@ const createJsonPersister = (
|
|
|
1373
1383
|
managedTableNames,
|
|
1374
1384
|
querySchema,
|
|
1375
1385
|
columnType,
|
|
1386
|
+
getPlaceholder,
|
|
1376
1387
|
upsert,
|
|
1377
1388
|
void 0,
|
|
1378
1389
|
void 0,
|
|
@@ -1440,6 +1451,7 @@ const createTabularPersister = (
|
|
|
1440
1451
|
thing,
|
|
1441
1452
|
getThing,
|
|
1442
1453
|
columnType,
|
|
1454
|
+
getPlaceholder,
|
|
1443
1455
|
upsert,
|
|
1444
1456
|
encode,
|
|
1445
1457
|
decode,
|
|
@@ -1451,6 +1463,7 @@ const createTabularPersister = (
|
|
|
1451
1463
|
managedTableNames,
|
|
1452
1464
|
querySchema,
|
|
1453
1465
|
columnType,
|
|
1466
|
+
getPlaceholder,
|
|
1454
1467
|
upsert,
|
|
1455
1468
|
encode,
|
|
1456
1469
|
decode,
|
|
@@ -1710,12 +1723,13 @@ const createCustomSqlitePersister = (
|
|
|
1710
1723
|
async (executeCommand2, managedTableNames) =>
|
|
1711
1724
|
await executeCommand2(
|
|
1712
1725
|
SELECT + // eslint-disable-next-line max-len
|
|
1713
|
-
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
1726
|
+
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames, anonymousPlaceholder)})ORDER BY t.name,c.name`,
|
|
1714
1727
|
managedTableNames,
|
|
1715
1728
|
),
|
|
1716
1729
|
thing,
|
|
1717
1730
|
getThing,
|
|
1718
1731
|
EMPTY_STRING,
|
|
1732
|
+
anonymousPlaceholder,
|
|
1719
1733
|
upsert,
|
|
1720
1734
|
(cellOrValue) =>
|
|
1721
1735
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -138,9 +138,10 @@ const escapeId = (str) =>
|
|
|
138
138
|
);
|
|
139
139
|
const escapeColumnNames = (...columnNames) =>
|
|
140
140
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
141
|
-
const
|
|
141
|
+
const anonymousPlaceholder = () => '?';
|
|
142
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
142
143
|
arrayJoin(
|
|
143
|
-
arrayMap(array, () =>
|
|
144
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
144
145
|
COMMA,
|
|
145
146
|
);
|
|
146
147
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1002,6 +1003,7 @@ const getCommandFunctions = (
|
|
|
1002
1003
|
managedTableNames,
|
|
1003
1004
|
querySchema,
|
|
1004
1005
|
columnType,
|
|
1006
|
+
getPlaceholder,
|
|
1005
1007
|
upsert = defaultUpsert,
|
|
1006
1008
|
encode,
|
|
1007
1009
|
decode,
|
|
@@ -1212,7 +1214,7 @@ const getCommandFunctions = (
|
|
|
1212
1214
|
DELETE_FROM +
|
|
1213
1215
|
escapeId(tableName) +
|
|
1214
1216
|
getWhereCondition(tableName, condition) +
|
|
1215
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1217
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1216
1218
|
[rowId],
|
|
1217
1219
|
);
|
|
1218
1220
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1231,6 +1233,7 @@ const getCommandFunctions = (
|
|
|
1231
1233
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1232
1234
|
),
|
|
1233
1235
|
},
|
|
1236
|
+
getPlaceholder,
|
|
1234
1237
|
currentColumnNames,
|
|
1235
1238
|
);
|
|
1236
1239
|
}
|
|
@@ -1264,13 +1267,14 @@ const getCommandFunctions = (
|
|
|
1264
1267
|
rowIdColumnName,
|
|
1265
1268
|
changingColumnNames,
|
|
1266
1269
|
rows,
|
|
1270
|
+
getPlaceholder,
|
|
1267
1271
|
currentColumnNames,
|
|
1268
1272
|
);
|
|
1269
1273
|
await executeCommand(
|
|
1270
1274
|
DELETE_FROM +
|
|
1271
1275
|
escapeId(tableName) +
|
|
1272
1276
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1273
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1277
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1274
1278
|
deleteRowIds,
|
|
1275
1279
|
);
|
|
1276
1280
|
} else if (
|
|
@@ -1313,6 +1317,7 @@ const defaultUpsert = async (
|
|
|
1313
1317
|
rowIdColumnName,
|
|
1314
1318
|
changingColumnNames,
|
|
1315
1319
|
rows,
|
|
1320
|
+
getPlaceholder,
|
|
1316
1321
|
) => {
|
|
1317
1322
|
const offset = [1];
|
|
1318
1323
|
await executeCommand(
|
|
@@ -1326,7 +1331,11 @@ const defaultUpsert = async (
|
|
|
1326
1331
|
objToArray(
|
|
1327
1332
|
rows,
|
|
1328
1333
|
(row) =>
|
|
1329
|
-
'(
|
|
1334
|
+
'(' +
|
|
1335
|
+
getPlaceholder(offset) +
|
|
1336
|
+
',' +
|
|
1337
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1338
|
+
')',
|
|
1330
1339
|
),
|
|
1331
1340
|
COMMA,
|
|
1332
1341
|
) +
|
|
@@ -1362,6 +1371,7 @@ const createJsonPersister = (
|
|
|
1362
1371
|
thing,
|
|
1363
1372
|
getThing,
|
|
1364
1373
|
columnType,
|
|
1374
|
+
getPlaceholder,
|
|
1365
1375
|
upsert,
|
|
1366
1376
|
_encode,
|
|
1367
1377
|
_decode,
|
|
@@ -1373,6 +1383,7 @@ const createJsonPersister = (
|
|
|
1373
1383
|
managedTableNames,
|
|
1374
1384
|
querySchema,
|
|
1375
1385
|
columnType,
|
|
1386
|
+
getPlaceholder,
|
|
1376
1387
|
upsert,
|
|
1377
1388
|
void 0,
|
|
1378
1389
|
void 0,
|
|
@@ -1440,6 +1451,7 @@ const createTabularPersister = (
|
|
|
1440
1451
|
thing,
|
|
1441
1452
|
getThing,
|
|
1442
1453
|
columnType,
|
|
1454
|
+
getPlaceholder,
|
|
1443
1455
|
upsert,
|
|
1444
1456
|
encode,
|
|
1445
1457
|
decode,
|
|
@@ -1451,6 +1463,7 @@ const createTabularPersister = (
|
|
|
1451
1463
|
managedTableNames,
|
|
1452
1464
|
querySchema,
|
|
1453
1465
|
columnType,
|
|
1466
|
+
getPlaceholder,
|
|
1454
1467
|
upsert,
|
|
1455
1468
|
encode,
|
|
1456
1469
|
decode,
|
|
@@ -1710,12 +1723,13 @@ const createCustomSqlitePersister = (
|
|
|
1710
1723
|
async (executeCommand2, managedTableNames) =>
|
|
1711
1724
|
await executeCommand2(
|
|
1712
1725
|
SELECT + // eslint-disable-next-line max-len
|
|
1713
|
-
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
1726
|
+
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames, anonymousPlaceholder)})ORDER BY t.name,c.name`,
|
|
1714
1727
|
managedTableNames,
|
|
1715
1728
|
),
|
|
1716
1729
|
thing,
|
|
1717
1730
|
getThing,
|
|
1718
1731
|
EMPTY_STRING,
|
|
1732
|
+
anonymousPlaceholder,
|
|
1719
1733
|
upsert,
|
|
1720
1734
|
(cellOrValue) =>
|
|
1721
1735
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -138,9 +138,10 @@ const escapeId = (str) =>
|
|
|
138
138
|
);
|
|
139
139
|
const escapeColumnNames = (...columnNames) =>
|
|
140
140
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
141
|
-
const
|
|
141
|
+
const anonymousPlaceholder = () => '?';
|
|
142
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
142
143
|
arrayJoin(
|
|
143
|
-
arrayMap(array, () =>
|
|
144
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
144
145
|
COMMA,
|
|
145
146
|
);
|
|
146
147
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1002,6 +1003,7 @@ const getCommandFunctions = (
|
|
|
1002
1003
|
managedTableNames,
|
|
1003
1004
|
querySchema,
|
|
1004
1005
|
columnType,
|
|
1006
|
+
getPlaceholder,
|
|
1005
1007
|
upsert = defaultUpsert,
|
|
1006
1008
|
encode,
|
|
1007
1009
|
decode,
|
|
@@ -1212,7 +1214,7 @@ const getCommandFunctions = (
|
|
|
1212
1214
|
DELETE_FROM +
|
|
1213
1215
|
escapeId(tableName) +
|
|
1214
1216
|
getWhereCondition(tableName, condition) +
|
|
1215
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1217
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1216
1218
|
[rowId],
|
|
1217
1219
|
);
|
|
1218
1220
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1231,6 +1233,7 @@ const getCommandFunctions = (
|
|
|
1231
1233
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1232
1234
|
),
|
|
1233
1235
|
},
|
|
1236
|
+
getPlaceholder,
|
|
1234
1237
|
currentColumnNames,
|
|
1235
1238
|
);
|
|
1236
1239
|
}
|
|
@@ -1264,13 +1267,14 @@ const getCommandFunctions = (
|
|
|
1264
1267
|
rowIdColumnName,
|
|
1265
1268
|
changingColumnNames,
|
|
1266
1269
|
rows,
|
|
1270
|
+
getPlaceholder,
|
|
1267
1271
|
currentColumnNames,
|
|
1268
1272
|
);
|
|
1269
1273
|
await executeCommand(
|
|
1270
1274
|
DELETE_FROM +
|
|
1271
1275
|
escapeId(tableName) +
|
|
1272
1276
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1273
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1277
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1274
1278
|
deleteRowIds,
|
|
1275
1279
|
);
|
|
1276
1280
|
} else if (
|
|
@@ -1313,6 +1317,7 @@ const defaultUpsert = async (
|
|
|
1313
1317
|
rowIdColumnName,
|
|
1314
1318
|
changingColumnNames,
|
|
1315
1319
|
rows,
|
|
1320
|
+
getPlaceholder,
|
|
1316
1321
|
) => {
|
|
1317
1322
|
const offset = [1];
|
|
1318
1323
|
await executeCommand(
|
|
@@ -1326,7 +1331,11 @@ const defaultUpsert = async (
|
|
|
1326
1331
|
objToArray(
|
|
1327
1332
|
rows,
|
|
1328
1333
|
(row) =>
|
|
1329
|
-
'(
|
|
1334
|
+
'(' +
|
|
1335
|
+
getPlaceholder(offset) +
|
|
1336
|
+
',' +
|
|
1337
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1338
|
+
')',
|
|
1330
1339
|
),
|
|
1331
1340
|
COMMA,
|
|
1332
1341
|
) +
|
|
@@ -1362,6 +1371,7 @@ const createJsonPersister = (
|
|
|
1362
1371
|
thing,
|
|
1363
1372
|
getThing,
|
|
1364
1373
|
columnType,
|
|
1374
|
+
getPlaceholder,
|
|
1365
1375
|
upsert,
|
|
1366
1376
|
_encode,
|
|
1367
1377
|
_decode,
|
|
@@ -1373,6 +1383,7 @@ const createJsonPersister = (
|
|
|
1373
1383
|
managedTableNames,
|
|
1374
1384
|
querySchema,
|
|
1375
1385
|
columnType,
|
|
1386
|
+
getPlaceholder,
|
|
1376
1387
|
upsert,
|
|
1377
1388
|
void 0,
|
|
1378
1389
|
void 0,
|
|
@@ -1440,6 +1451,7 @@ const createTabularPersister = (
|
|
|
1440
1451
|
thing,
|
|
1441
1452
|
getThing,
|
|
1442
1453
|
columnType,
|
|
1454
|
+
getPlaceholder,
|
|
1443
1455
|
upsert,
|
|
1444
1456
|
encode,
|
|
1445
1457
|
decode,
|
|
@@ -1451,6 +1463,7 @@ const createTabularPersister = (
|
|
|
1451
1463
|
managedTableNames,
|
|
1452
1464
|
querySchema,
|
|
1453
1465
|
columnType,
|
|
1466
|
+
getPlaceholder,
|
|
1454
1467
|
upsert,
|
|
1455
1468
|
encode,
|
|
1456
1469
|
decode,
|
|
@@ -1710,12 +1723,13 @@ const createCustomSqlitePersister = (
|
|
|
1710
1723
|
async (executeCommand2, managedTableNames) =>
|
|
1711
1724
|
await executeCommand2(
|
|
1712
1725
|
SELECT + // eslint-disable-next-line max-len
|
|
1713
|
-
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
1726
|
+
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames, anonymousPlaceholder)})ORDER BY t.name,c.name`,
|
|
1714
1727
|
managedTableNames,
|
|
1715
1728
|
),
|
|
1716
1729
|
thing,
|
|
1717
1730
|
getThing,
|
|
1718
1731
|
EMPTY_STRING,
|
|
1732
|
+
anonymousPlaceholder,
|
|
1719
1733
|
upsert,
|
|
1720
1734
|
(cellOrValue) =>
|
|
1721
1735
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -138,9 +138,10 @@ const escapeId = (str) =>
|
|
|
138
138
|
);
|
|
139
139
|
const escapeColumnNames = (...columnNames) =>
|
|
140
140
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
141
|
-
const
|
|
141
|
+
const anonymousPlaceholder = () => '?';
|
|
142
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
142
143
|
arrayJoin(
|
|
143
|
-
arrayMap(array, () =>
|
|
144
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
144
145
|
COMMA,
|
|
145
146
|
);
|
|
146
147
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1002,6 +1003,7 @@ const getCommandFunctions = (
|
|
|
1002
1003
|
managedTableNames,
|
|
1003
1004
|
querySchema,
|
|
1004
1005
|
columnType,
|
|
1006
|
+
getPlaceholder,
|
|
1005
1007
|
upsert = defaultUpsert,
|
|
1006
1008
|
encode,
|
|
1007
1009
|
decode,
|
|
@@ -1212,7 +1214,7 @@ const getCommandFunctions = (
|
|
|
1212
1214
|
DELETE_FROM +
|
|
1213
1215
|
escapeId(tableName) +
|
|
1214
1216
|
getWhereCondition(tableName, condition) +
|
|
1215
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1217
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1216
1218
|
[rowId],
|
|
1217
1219
|
);
|
|
1218
1220
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1231,6 +1233,7 @@ const getCommandFunctions = (
|
|
|
1231
1233
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1232
1234
|
),
|
|
1233
1235
|
},
|
|
1236
|
+
getPlaceholder,
|
|
1234
1237
|
currentColumnNames,
|
|
1235
1238
|
);
|
|
1236
1239
|
}
|
|
@@ -1264,13 +1267,14 @@ const getCommandFunctions = (
|
|
|
1264
1267
|
rowIdColumnName,
|
|
1265
1268
|
changingColumnNames,
|
|
1266
1269
|
rows,
|
|
1270
|
+
getPlaceholder,
|
|
1267
1271
|
currentColumnNames,
|
|
1268
1272
|
);
|
|
1269
1273
|
await executeCommand(
|
|
1270
1274
|
DELETE_FROM +
|
|
1271
1275
|
escapeId(tableName) +
|
|
1272
1276
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1273
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1277
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1274
1278
|
deleteRowIds,
|
|
1275
1279
|
);
|
|
1276
1280
|
} else if (
|
|
@@ -1313,6 +1317,7 @@ const defaultUpsert = async (
|
|
|
1313
1317
|
rowIdColumnName,
|
|
1314
1318
|
changingColumnNames,
|
|
1315
1319
|
rows,
|
|
1320
|
+
getPlaceholder,
|
|
1316
1321
|
) => {
|
|
1317
1322
|
const offset = [1];
|
|
1318
1323
|
await executeCommand(
|
|
@@ -1326,7 +1331,11 @@ const defaultUpsert = async (
|
|
|
1326
1331
|
objToArray(
|
|
1327
1332
|
rows,
|
|
1328
1333
|
(row) =>
|
|
1329
|
-
'(
|
|
1334
|
+
'(' +
|
|
1335
|
+
getPlaceholder(offset) +
|
|
1336
|
+
',' +
|
|
1337
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1338
|
+
')',
|
|
1330
1339
|
),
|
|
1331
1340
|
COMMA,
|
|
1332
1341
|
) +
|
|
@@ -1362,6 +1371,7 @@ const createJsonPersister = (
|
|
|
1362
1371
|
thing,
|
|
1363
1372
|
getThing,
|
|
1364
1373
|
columnType,
|
|
1374
|
+
getPlaceholder,
|
|
1365
1375
|
upsert,
|
|
1366
1376
|
_encode,
|
|
1367
1377
|
_decode,
|
|
@@ -1373,6 +1383,7 @@ const createJsonPersister = (
|
|
|
1373
1383
|
managedTableNames,
|
|
1374
1384
|
querySchema,
|
|
1375
1385
|
columnType,
|
|
1386
|
+
getPlaceholder,
|
|
1376
1387
|
upsert,
|
|
1377
1388
|
void 0,
|
|
1378
1389
|
void 0,
|
|
@@ -1440,6 +1451,7 @@ const createTabularPersister = (
|
|
|
1440
1451
|
thing,
|
|
1441
1452
|
getThing,
|
|
1442
1453
|
columnType,
|
|
1454
|
+
getPlaceholder,
|
|
1443
1455
|
upsert,
|
|
1444
1456
|
encode,
|
|
1445
1457
|
decode,
|
|
@@ -1451,6 +1463,7 @@ const createTabularPersister = (
|
|
|
1451
1463
|
managedTableNames,
|
|
1452
1464
|
querySchema,
|
|
1453
1465
|
columnType,
|
|
1466
|
+
getPlaceholder,
|
|
1454
1467
|
upsert,
|
|
1455
1468
|
encode,
|
|
1456
1469
|
decode,
|
|
@@ -1710,12 +1723,13 @@ const createCustomSqlitePersister = (
|
|
|
1710
1723
|
async (executeCommand2, managedTableNames) =>
|
|
1711
1724
|
await executeCommand2(
|
|
1712
1725
|
SELECT + // eslint-disable-next-line max-len
|
|
1713
|
-
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
1726
|
+
` t.name tn,c.name cn,c.pk OR EXISTS(${SELECT} 1 FROM ${PRAGMA}index_list(t.name)i,${PRAGMA}index_info(i.name)ii ${WHERE} i."unique"=1 AND ii.name=c.name AND(${SELECT} count(*) FROM ${PRAGMA}index_info(i.name))=1)uq FROM ${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames, anonymousPlaceholder)})ORDER BY t.name,c.name`,
|
|
1714
1727
|
managedTableNames,
|
|
1715
1728
|
),
|
|
1716
1729
|
thing,
|
|
1717
1730
|
getThing,
|
|
1718
1731
|
EMPTY_STRING,
|
|
1732
|
+
anonymousPlaceholder,
|
|
1719
1733
|
upsert,
|
|
1720
1734
|
(cellOrValue) =>
|
|
1721
1735
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|