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
|
@@ -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,
|
|
@@ -880,9 +880,10 @@ const escapeId = (str) =>
|
|
|
880
880
|
);
|
|
881
881
|
const escapeColumnNames = (...columnNames) =>
|
|
882
882
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
883
|
-
const
|
|
883
|
+
const anonymousPlaceholder = () => '?';
|
|
884
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
884
885
|
arrayJoin(
|
|
885
|
-
arrayMap(array, () =>
|
|
886
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
886
887
|
COMMA,
|
|
887
888
|
);
|
|
888
889
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1019,6 +1020,7 @@ const getCommandFunctions = (
|
|
|
1019
1020
|
managedTableNames,
|
|
1020
1021
|
querySchema,
|
|
1021
1022
|
columnType,
|
|
1023
|
+
getPlaceholder,
|
|
1022
1024
|
upsert = defaultUpsert,
|
|
1023
1025
|
encode,
|
|
1024
1026
|
decode,
|
|
@@ -1229,7 +1231,7 @@ const getCommandFunctions = (
|
|
|
1229
1231
|
DELETE_FROM +
|
|
1230
1232
|
escapeId(tableName) +
|
|
1231
1233
|
getWhereCondition(tableName, condition) +
|
|
1232
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1234
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1233
1235
|
[rowId],
|
|
1234
1236
|
);
|
|
1235
1237
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1248,6 +1250,7 @@ const getCommandFunctions = (
|
|
|
1248
1250
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1249
1251
|
),
|
|
1250
1252
|
},
|
|
1253
|
+
getPlaceholder,
|
|
1251
1254
|
currentColumnNames,
|
|
1252
1255
|
);
|
|
1253
1256
|
}
|
|
@@ -1281,13 +1284,14 @@ const getCommandFunctions = (
|
|
|
1281
1284
|
rowIdColumnName,
|
|
1282
1285
|
changingColumnNames,
|
|
1283
1286
|
rows,
|
|
1287
|
+
getPlaceholder,
|
|
1284
1288
|
currentColumnNames,
|
|
1285
1289
|
);
|
|
1286
1290
|
await executeCommand(
|
|
1287
1291
|
DELETE_FROM +
|
|
1288
1292
|
escapeId(tableName) +
|
|
1289
1293
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1290
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1294
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1291
1295
|
deleteRowIds,
|
|
1292
1296
|
);
|
|
1293
1297
|
} else if (
|
|
@@ -1330,6 +1334,7 @@ const defaultUpsert = async (
|
|
|
1330
1334
|
rowIdColumnName,
|
|
1331
1335
|
changingColumnNames,
|
|
1332
1336
|
rows,
|
|
1337
|
+
getPlaceholder,
|
|
1333
1338
|
) => {
|
|
1334
1339
|
const offset = [1];
|
|
1335
1340
|
await executeCommand(
|
|
@@ -1343,7 +1348,11 @@ const defaultUpsert = async (
|
|
|
1343
1348
|
objToArray(
|
|
1344
1349
|
rows,
|
|
1345
1350
|
(row) =>
|
|
1346
|
-
'(
|
|
1351
|
+
'(' +
|
|
1352
|
+
getPlaceholder(offset) +
|
|
1353
|
+
',' +
|
|
1354
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1355
|
+
')',
|
|
1347
1356
|
),
|
|
1348
1357
|
COMMA,
|
|
1349
1358
|
) +
|
|
@@ -1379,6 +1388,7 @@ const createJsonPersister = (
|
|
|
1379
1388
|
thing,
|
|
1380
1389
|
getThing,
|
|
1381
1390
|
columnType,
|
|
1391
|
+
getPlaceholder,
|
|
1382
1392
|
upsert,
|
|
1383
1393
|
_encode,
|
|
1384
1394
|
_decode,
|
|
@@ -1390,6 +1400,7 @@ const createJsonPersister = (
|
|
|
1390
1400
|
managedTableNames,
|
|
1391
1401
|
querySchema,
|
|
1392
1402
|
columnType,
|
|
1403
|
+
getPlaceholder,
|
|
1393
1404
|
upsert,
|
|
1394
1405
|
void 0,
|
|
1395
1406
|
void 0,
|
|
@@ -1457,6 +1468,7 @@ const createTabularPersister = (
|
|
|
1457
1468
|
thing,
|
|
1458
1469
|
getThing,
|
|
1459
1470
|
columnType,
|
|
1471
|
+
getPlaceholder,
|
|
1460
1472
|
upsert,
|
|
1461
1473
|
encode,
|
|
1462
1474
|
decode,
|
|
@@ -1468,6 +1480,7 @@ const createTabularPersister = (
|
|
|
1468
1480
|
managedTableNames,
|
|
1469
1481
|
querySchema,
|
|
1470
1482
|
columnType,
|
|
1483
|
+
getPlaceholder,
|
|
1471
1484
|
upsert,
|
|
1472
1485
|
encode,
|
|
1473
1486
|
decode,
|
|
@@ -1727,12 +1740,13 @@ const createCustomSqlitePersister = (
|
|
|
1727
1740
|
async (executeCommand2, managedTableNames) =>
|
|
1728
1741
|
await executeCommand2(
|
|
1729
1742
|
SELECT + // eslint-disable-next-line max-len
|
|
1730
|
-
` 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`,
|
|
1743
|
+
` 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`,
|
|
1731
1744
|
managedTableNames,
|
|
1732
1745
|
),
|
|
1733
1746
|
thing,
|
|
1734
1747
|
getThing,
|
|
1735
1748
|
EMPTY_STRING,
|
|
1749
|
+
anonymousPlaceholder,
|
|
1736
1750
|
upsert,
|
|
1737
1751
|
(cellOrValue) =>
|
|
1738
1752
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -1763,7 +1777,6 @@ const createDurableObjectSqlStoragePersister = (
|
|
|
1763
1777
|
configOrStoreTableName,
|
|
1764
1778
|
async (sql, params = []) => {
|
|
1765
1779
|
if (!arrayHas(['BEGIN', 'END'], sql)) {
|
|
1766
|
-
sql = strReplace(sql, /\$\d+/g, '?');
|
|
1767
1780
|
return getSqlRows(sqlStorage, sql, ...params);
|
|
1768
1781
|
}
|
|
1769
1782
|
return [];
|
|
@@ -880,9 +880,10 @@ const escapeId = (str) =>
|
|
|
880
880
|
);
|
|
881
881
|
const escapeColumnNames = (...columnNames) =>
|
|
882
882
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
883
|
-
const
|
|
883
|
+
const anonymousPlaceholder = () => '?';
|
|
884
|
+
const getPlaceholders = (array, getPlaceholder, offset = [1]) =>
|
|
884
885
|
arrayJoin(
|
|
885
|
-
arrayMap(array, () =>
|
|
886
|
+
arrayMap(array, () => getPlaceholder(offset)),
|
|
886
887
|
COMMA,
|
|
887
888
|
);
|
|
888
889
|
const getWhereCondition = (tableName, condition = TRUE) =>
|
|
@@ -1019,6 +1020,7 @@ const getCommandFunctions = (
|
|
|
1019
1020
|
managedTableNames,
|
|
1020
1021
|
querySchema,
|
|
1021
1022
|
columnType,
|
|
1023
|
+
getPlaceholder,
|
|
1022
1024
|
upsert = defaultUpsert,
|
|
1023
1025
|
encode,
|
|
1024
1026
|
decode,
|
|
@@ -1229,7 +1231,7 @@ const getCommandFunctions = (
|
|
|
1229
1231
|
DELETE_FROM +
|
|
1230
1232
|
escapeId(tableName) +
|
|
1231
1233
|
getWhereCondition(tableName, condition) +
|
|
1232
|
-
`AND(${escapeId(rowIdColumnName)}=$1)`,
|
|
1234
|
+
`AND(${escapeId(rowIdColumnName)}=${getPlaceholder([1])})`,
|
|
1233
1235
|
[rowId],
|
|
1234
1236
|
);
|
|
1235
1237
|
} else if (!isEmpty(settingColumnNames)) {
|
|
@@ -1248,6 +1250,7 @@ const getCommandFunctions = (
|
|
|
1248
1250
|
encode ? encode(row[cellId]) : row[cellId],
|
|
1249
1251
|
),
|
|
1250
1252
|
},
|
|
1253
|
+
getPlaceholder,
|
|
1251
1254
|
currentColumnNames,
|
|
1252
1255
|
);
|
|
1253
1256
|
}
|
|
@@ -1281,13 +1284,14 @@ const getCommandFunctions = (
|
|
|
1281
1284
|
rowIdColumnName,
|
|
1282
1285
|
changingColumnNames,
|
|
1283
1286
|
rows,
|
|
1287
|
+
getPlaceholder,
|
|
1284
1288
|
currentColumnNames,
|
|
1285
1289
|
);
|
|
1286
1290
|
await executeCommand(
|
|
1287
1291
|
DELETE_FROM +
|
|
1288
1292
|
escapeId(tableName) +
|
|
1289
1293
|
getWhereCondition(tableName, condition) + // eslint-disable-next-line max-len
|
|
1290
|
-
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
1294
|
+
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds, getPlaceholder)})`,
|
|
1291
1295
|
deleteRowIds,
|
|
1292
1296
|
);
|
|
1293
1297
|
} else if (
|
|
@@ -1330,6 +1334,7 @@ const defaultUpsert = async (
|
|
|
1330
1334
|
rowIdColumnName,
|
|
1331
1335
|
changingColumnNames,
|
|
1332
1336
|
rows,
|
|
1337
|
+
getPlaceholder,
|
|
1333
1338
|
) => {
|
|
1334
1339
|
const offset = [1];
|
|
1335
1340
|
await executeCommand(
|
|
@@ -1343,7 +1348,11 @@ const defaultUpsert = async (
|
|
|
1343
1348
|
objToArray(
|
|
1344
1349
|
rows,
|
|
1345
1350
|
(row) =>
|
|
1346
|
-
'(
|
|
1351
|
+
'(' +
|
|
1352
|
+
getPlaceholder(offset) +
|
|
1353
|
+
',' +
|
|
1354
|
+
getPlaceholders(row, getPlaceholder, offset) +
|
|
1355
|
+
')',
|
|
1347
1356
|
),
|
|
1348
1357
|
COMMA,
|
|
1349
1358
|
) +
|
|
@@ -1379,6 +1388,7 @@ const createJsonPersister = (
|
|
|
1379
1388
|
thing,
|
|
1380
1389
|
getThing,
|
|
1381
1390
|
columnType,
|
|
1391
|
+
getPlaceholder,
|
|
1382
1392
|
upsert,
|
|
1383
1393
|
_encode,
|
|
1384
1394
|
_decode,
|
|
@@ -1390,6 +1400,7 @@ const createJsonPersister = (
|
|
|
1390
1400
|
managedTableNames,
|
|
1391
1401
|
querySchema,
|
|
1392
1402
|
columnType,
|
|
1403
|
+
getPlaceholder,
|
|
1393
1404
|
upsert,
|
|
1394
1405
|
void 0,
|
|
1395
1406
|
void 0,
|
|
@@ -1457,6 +1468,7 @@ const createTabularPersister = (
|
|
|
1457
1468
|
thing,
|
|
1458
1469
|
getThing,
|
|
1459
1470
|
columnType,
|
|
1471
|
+
getPlaceholder,
|
|
1460
1472
|
upsert,
|
|
1461
1473
|
encode,
|
|
1462
1474
|
decode,
|
|
@@ -1468,6 +1480,7 @@ const createTabularPersister = (
|
|
|
1468
1480
|
managedTableNames,
|
|
1469
1481
|
querySchema,
|
|
1470
1482
|
columnType,
|
|
1483
|
+
getPlaceholder,
|
|
1471
1484
|
upsert,
|
|
1472
1485
|
encode,
|
|
1473
1486
|
decode,
|
|
@@ -1727,12 +1740,13 @@ const createCustomSqlitePersister = (
|
|
|
1727
1740
|
async (executeCommand2, managedTableNames) =>
|
|
1728
1741
|
await executeCommand2(
|
|
1729
1742
|
SELECT + // eslint-disable-next-line max-len
|
|
1730
|
-
` 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`,
|
|
1743
|
+
` 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`,
|
|
1731
1744
|
managedTableNames,
|
|
1732
1745
|
),
|
|
1733
1746
|
thing,
|
|
1734
1747
|
getThing,
|
|
1735
1748
|
EMPTY_STRING,
|
|
1749
|
+
anonymousPlaceholder,
|
|
1736
1750
|
upsert,
|
|
1737
1751
|
(cellOrValue) =>
|
|
1738
1752
|
isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
|
|
@@ -1763,7 +1777,6 @@ const createDurableObjectSqlStoragePersister = (
|
|
|
1763
1777
|
configOrStoreTableName,
|
|
1764
1778
|
async (sql, params = []) => {
|
|
1765
1779
|
if (!arrayHas(['BEGIN', 'END'], sql)) {
|
|
1766
|
-
sql = strReplace(sql, /\$\d+/g, '?');
|
|
1767
1780
|
return getSqlRows(sqlStorage, sql, ...params);
|
|
1768
1781
|
}
|
|
1769
1782
|
return [];
|
|
@@ -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,
|