tinybase 4.7.4 → 4.8.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/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +24 -13
- package/lib/debug/persisters/persister-electric-sql.js +24 -13
- package/lib/debug/persisters/persister-expo-sqlite-next.js +24 -13
- package/lib/debug/persisters/persister-expo-sqlite.js +24 -13
- package/lib/debug/persisters/persister-libsql.js +24 -13
- package/lib/debug/persisters/persister-powersync.js +892 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +24 -13
- package/lib/debug/persisters/persister-sqlite3.js +24 -13
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -0
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -0
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/types/persisters/persister-powersync.d.ts +154 -0
- package/lib/types/persisters.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +167 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -1
- package/lib/types/with-schemas/persisters.d.ts +1 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -0
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -0
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/package.json +15 -10
- package/readme.md +2 -2
|
@@ -96,6 +96,9 @@ const setNew = (entryOrEntries) =>
|
|
|
96
96
|
);
|
|
97
97
|
const setAdd = (set, value) => set?.add(value);
|
|
98
98
|
|
|
99
|
+
const TABLE = 'TABLE';
|
|
100
|
+
const ALTER_TABLE = 'ALTER ' + TABLE;
|
|
101
|
+
const DELETE_FROM = 'DELETE FROM';
|
|
99
102
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
100
103
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
101
104
|
const WHERE = 'WHERE';
|
|
@@ -188,15 +191,20 @@ const getCommandFunctions = (
|
|
|
188
191
|
arrayIsEmpty(tableColumnNames) &&
|
|
189
192
|
collHas(schemaMap, tableName)
|
|
190
193
|
) {
|
|
191
|
-
await cmd('DROP
|
|
194
|
+
await cmd('DROP ' + TABLE + escapeId(tableName));
|
|
192
195
|
mapSet(schemaMap, tableName);
|
|
193
196
|
return;
|
|
194
197
|
}
|
|
195
198
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
196
199
|
await cmd(
|
|
197
|
-
`CREATE
|
|
198
|
-
|
|
199
|
-
|
|
200
|
+
`CREATE ` +
|
|
201
|
+
TABLE +
|
|
202
|
+
escapeId(tableName) +
|
|
203
|
+
'(' +
|
|
204
|
+
escapeId(rowIdColumnName) +
|
|
205
|
+
` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
206
|
+
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
207
|
+
)});`,
|
|
200
208
|
);
|
|
201
209
|
mapSet(
|
|
202
210
|
schemaMap,
|
|
@@ -216,7 +224,7 @@ const getCommandFunctions = (
|
|
|
216
224
|
...arrayMap(tableColumnNames, async (columnName) => {
|
|
217
225
|
if (!collDel(columnNamesAccountedFor, columnName)) {
|
|
218
226
|
await cmd(
|
|
219
|
-
|
|
227
|
+
ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
|
|
220
228
|
);
|
|
221
229
|
mapSet(tableSchemaMap, columnName, EMPTY_STRING);
|
|
222
230
|
}
|
|
@@ -227,9 +235,10 @@ const getCommandFunctions = (
|
|
|
227
235
|
async (columnName) => {
|
|
228
236
|
if (columnName != rowIdColumnName) {
|
|
229
237
|
await cmd(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
238
|
+
ALTER_TABLE +
|
|
239
|
+
escapeId(tableName) +
|
|
240
|
+
'DROP' +
|
|
241
|
+
escapeId(columnName),
|
|
233
242
|
);
|
|
234
243
|
mapSet(tableSchemaMap, columnName);
|
|
235
244
|
}
|
|
@@ -240,13 +249,13 @@ const getCommandFunctions = (
|
|
|
240
249
|
}
|
|
241
250
|
if (partial) {
|
|
242
251
|
if (isUndefined(table)) {
|
|
243
|
-
await cmd(
|
|
252
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
244
253
|
} else {
|
|
245
254
|
await promiseAll(
|
|
246
255
|
objMap(table, async (row, rowId) => {
|
|
247
256
|
if (isUndefined(row)) {
|
|
248
257
|
await cmd(
|
|
249
|
-
|
|
258
|
+
DELETE_FROM +
|
|
250
259
|
escapeId(tableName) +
|
|
251
260
|
WHERE +
|
|
252
261
|
escapeId(rowIdColumnName) +
|
|
@@ -288,9 +297,10 @@ const getCommandFunctions = (
|
|
|
288
297
|
rowIdColumnName,
|
|
289
298
|
changingColumnNames,
|
|
290
299
|
args,
|
|
300
|
+
useOnConflict,
|
|
291
301
|
);
|
|
292
302
|
await cmd(
|
|
293
|
-
|
|
303
|
+
DELETE_FROM +
|
|
294
304
|
escapeId(tableName) +
|
|
295
305
|
WHERE +
|
|
296
306
|
escapeId(rowIdColumnName) +
|
|
@@ -300,7 +310,7 @@ const getCommandFunctions = (
|
|
|
300
310
|
deleteRowIds,
|
|
301
311
|
);
|
|
302
312
|
} else if (collHas(schemaMap, tableName)) {
|
|
303
|
-
await cmd(
|
|
313
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
304
314
|
}
|
|
305
315
|
}
|
|
306
316
|
};
|
|
@@ -528,9 +538,10 @@ const createJsonSqlitePersister = (
|
|
|
528
538
|
managedTableNames,
|
|
529
539
|
db,
|
|
530
540
|
getThing,
|
|
541
|
+
useOnConflict,
|
|
531
542
|
) => {
|
|
532
543
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
533
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
544
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
534
545
|
const getPersisted = async () =>
|
|
535
546
|
await transaction(async () => {
|
|
536
547
|
await refreshSchema();
|
|
@@ -94,6 +94,9 @@ const setNew = (entryOrEntries) =>
|
|
|
94
94
|
);
|
|
95
95
|
const setAdd = (set, value) => set?.add(value);
|
|
96
96
|
|
|
97
|
+
const TABLE = 'TABLE';
|
|
98
|
+
const ALTER_TABLE = 'ALTER ' + TABLE;
|
|
99
|
+
const DELETE_FROM = 'DELETE FROM';
|
|
97
100
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
98
101
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
99
102
|
const WHERE = 'WHERE';
|
|
@@ -186,15 +189,20 @@ const getCommandFunctions = (
|
|
|
186
189
|
arrayIsEmpty(tableColumnNames) &&
|
|
187
190
|
collHas(schemaMap, tableName)
|
|
188
191
|
) {
|
|
189
|
-
await cmd('DROP
|
|
192
|
+
await cmd('DROP ' + TABLE + escapeId(tableName));
|
|
190
193
|
mapSet(schemaMap, tableName);
|
|
191
194
|
return;
|
|
192
195
|
}
|
|
193
196
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
194
197
|
await cmd(
|
|
195
|
-
`CREATE
|
|
196
|
-
|
|
197
|
-
|
|
198
|
+
`CREATE ` +
|
|
199
|
+
TABLE +
|
|
200
|
+
escapeId(tableName) +
|
|
201
|
+
'(' +
|
|
202
|
+
escapeId(rowIdColumnName) +
|
|
203
|
+
` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
204
|
+
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
205
|
+
)});`,
|
|
198
206
|
);
|
|
199
207
|
mapSet(
|
|
200
208
|
schemaMap,
|
|
@@ -214,7 +222,7 @@ const getCommandFunctions = (
|
|
|
214
222
|
...arrayMap(tableColumnNames, async (columnName) => {
|
|
215
223
|
if (!collDel(columnNamesAccountedFor, columnName)) {
|
|
216
224
|
await cmd(
|
|
217
|
-
|
|
225
|
+
ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
|
|
218
226
|
);
|
|
219
227
|
mapSet(tableSchemaMap, columnName, EMPTY_STRING);
|
|
220
228
|
}
|
|
@@ -225,9 +233,10 @@ const getCommandFunctions = (
|
|
|
225
233
|
async (columnName) => {
|
|
226
234
|
if (columnName != rowIdColumnName) {
|
|
227
235
|
await cmd(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
236
|
+
ALTER_TABLE +
|
|
237
|
+
escapeId(tableName) +
|
|
238
|
+
'DROP' +
|
|
239
|
+
escapeId(columnName),
|
|
231
240
|
);
|
|
232
241
|
mapSet(tableSchemaMap, columnName);
|
|
233
242
|
}
|
|
@@ -238,13 +247,13 @@ const getCommandFunctions = (
|
|
|
238
247
|
}
|
|
239
248
|
if (partial) {
|
|
240
249
|
if (isUndefined(table)) {
|
|
241
|
-
await cmd(
|
|
250
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
242
251
|
} else {
|
|
243
252
|
await promiseAll(
|
|
244
253
|
objMap(table, async (row, rowId) => {
|
|
245
254
|
if (isUndefined(row)) {
|
|
246
255
|
await cmd(
|
|
247
|
-
|
|
256
|
+
DELETE_FROM +
|
|
248
257
|
escapeId(tableName) +
|
|
249
258
|
WHERE +
|
|
250
259
|
escapeId(rowIdColumnName) +
|
|
@@ -286,9 +295,10 @@ const getCommandFunctions = (
|
|
|
286
295
|
rowIdColumnName,
|
|
287
296
|
changingColumnNames,
|
|
288
297
|
args,
|
|
298
|
+
useOnConflict,
|
|
289
299
|
);
|
|
290
300
|
await cmd(
|
|
291
|
-
|
|
301
|
+
DELETE_FROM +
|
|
292
302
|
escapeId(tableName) +
|
|
293
303
|
WHERE +
|
|
294
304
|
escapeId(rowIdColumnName) +
|
|
@@ -298,7 +308,7 @@ const getCommandFunctions = (
|
|
|
298
308
|
deleteRowIds,
|
|
299
309
|
);
|
|
300
310
|
} else if (collHas(schemaMap, tableName)) {
|
|
301
|
-
await cmd(
|
|
311
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
302
312
|
}
|
|
303
313
|
}
|
|
304
314
|
};
|
|
@@ -526,9 +536,10 @@ const createJsonSqlitePersister = (
|
|
|
526
536
|
managedTableNames,
|
|
527
537
|
db,
|
|
528
538
|
getThing,
|
|
539
|
+
useOnConflict,
|
|
529
540
|
) => {
|
|
530
541
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
531
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
542
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
532
543
|
const getPersisted = async () =>
|
|
533
544
|
await transaction(async () => {
|
|
534
545
|
await refreshSchema();
|
|
@@ -94,6 +94,9 @@ const setNew = (entryOrEntries) =>
|
|
|
94
94
|
);
|
|
95
95
|
const setAdd = (set, value) => set?.add(value);
|
|
96
96
|
|
|
97
|
+
const TABLE = 'TABLE';
|
|
98
|
+
const ALTER_TABLE = 'ALTER ' + TABLE;
|
|
99
|
+
const DELETE_FROM = 'DELETE FROM';
|
|
97
100
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
98
101
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
99
102
|
const WHERE = 'WHERE';
|
|
@@ -186,15 +189,20 @@ const getCommandFunctions = (
|
|
|
186
189
|
arrayIsEmpty(tableColumnNames) &&
|
|
187
190
|
collHas(schemaMap, tableName)
|
|
188
191
|
) {
|
|
189
|
-
await cmd('DROP
|
|
192
|
+
await cmd('DROP ' + TABLE + escapeId(tableName));
|
|
190
193
|
mapSet(schemaMap, tableName);
|
|
191
194
|
return;
|
|
192
195
|
}
|
|
193
196
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
194
197
|
await cmd(
|
|
195
|
-
`CREATE
|
|
196
|
-
|
|
197
|
-
|
|
198
|
+
`CREATE ` +
|
|
199
|
+
TABLE +
|
|
200
|
+
escapeId(tableName) +
|
|
201
|
+
'(' +
|
|
202
|
+
escapeId(rowIdColumnName) +
|
|
203
|
+
` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
204
|
+
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
205
|
+
)});`,
|
|
198
206
|
);
|
|
199
207
|
mapSet(
|
|
200
208
|
schemaMap,
|
|
@@ -214,7 +222,7 @@ const getCommandFunctions = (
|
|
|
214
222
|
...arrayMap(tableColumnNames, async (columnName) => {
|
|
215
223
|
if (!collDel(columnNamesAccountedFor, columnName)) {
|
|
216
224
|
await cmd(
|
|
217
|
-
|
|
225
|
+
ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
|
|
218
226
|
);
|
|
219
227
|
mapSet(tableSchemaMap, columnName, EMPTY_STRING);
|
|
220
228
|
}
|
|
@@ -225,9 +233,10 @@ const getCommandFunctions = (
|
|
|
225
233
|
async (columnName) => {
|
|
226
234
|
if (columnName != rowIdColumnName) {
|
|
227
235
|
await cmd(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
236
|
+
ALTER_TABLE +
|
|
237
|
+
escapeId(tableName) +
|
|
238
|
+
'DROP' +
|
|
239
|
+
escapeId(columnName),
|
|
231
240
|
);
|
|
232
241
|
mapSet(tableSchemaMap, columnName);
|
|
233
242
|
}
|
|
@@ -238,13 +247,13 @@ const getCommandFunctions = (
|
|
|
238
247
|
}
|
|
239
248
|
if (partial) {
|
|
240
249
|
if (isUndefined(table)) {
|
|
241
|
-
await cmd(
|
|
250
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
242
251
|
} else {
|
|
243
252
|
await promiseAll(
|
|
244
253
|
objMap(table, async (row, rowId) => {
|
|
245
254
|
if (isUndefined(row)) {
|
|
246
255
|
await cmd(
|
|
247
|
-
|
|
256
|
+
DELETE_FROM +
|
|
248
257
|
escapeId(tableName) +
|
|
249
258
|
WHERE +
|
|
250
259
|
escapeId(rowIdColumnName) +
|
|
@@ -286,9 +295,10 @@ const getCommandFunctions = (
|
|
|
286
295
|
rowIdColumnName,
|
|
287
296
|
changingColumnNames,
|
|
288
297
|
args,
|
|
298
|
+
useOnConflict,
|
|
289
299
|
);
|
|
290
300
|
await cmd(
|
|
291
|
-
|
|
301
|
+
DELETE_FROM +
|
|
292
302
|
escapeId(tableName) +
|
|
293
303
|
WHERE +
|
|
294
304
|
escapeId(rowIdColumnName) +
|
|
@@ -298,7 +308,7 @@ const getCommandFunctions = (
|
|
|
298
308
|
deleteRowIds,
|
|
299
309
|
);
|
|
300
310
|
} else if (collHas(schemaMap, tableName)) {
|
|
301
|
-
await cmd(
|
|
311
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
302
312
|
}
|
|
303
313
|
}
|
|
304
314
|
};
|
|
@@ -526,9 +536,10 @@ const createJsonSqlitePersister = (
|
|
|
526
536
|
managedTableNames,
|
|
527
537
|
db,
|
|
528
538
|
getThing,
|
|
539
|
+
useOnConflict,
|
|
529
540
|
) => {
|
|
530
541
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
531
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
542
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
532
543
|
const getPersisted = async () =>
|
|
533
544
|
await transaction(async () => {
|
|
534
545
|
await refreshSchema();
|