fix(yashandb): save grid edits without transactions
This commit is contained in:
parent
7badf4060e
commit
92b67d3136
|
|
@ -71,6 +71,15 @@ const DATABASE_CAPABILITY_OVERRIDES: Partial<Record<DatabaseType, Partial<Databa
|
|||
transaction: false,
|
||||
},
|
||||
},
|
||||
yashandb: {
|
||||
tableData: {
|
||||
insert: false,
|
||||
updateRequiresPrimaryKey: true,
|
||||
deleteRequiresPrimaryKey: true,
|
||||
requiresTransactionalTableForExistingRows: false,
|
||||
transaction: false,
|
||||
},
|
||||
},
|
||||
neo4j: {
|
||||
syntheticKey: "neo4j-element-id",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -175,6 +175,26 @@ test("builds Hive grid save statements without primary keys using row predicates
|
|||
]);
|
||||
});
|
||||
|
||||
test("builds non-empty YashanDB grid update statements for primary-key edits", () => {
|
||||
const statements = buildDataGridSaveStatements({
|
||||
databaseType: "yashandb",
|
||||
tableMeta: {
|
||||
schema: "DBX_DEMO",
|
||||
tableName: "METRICS_DAILY",
|
||||
primaryKeys: ["DAY_DATE"],
|
||||
},
|
||||
columns: ["DAY_DATE", "ACTIVE_USERS", "QUERY_COUNT", "REVENUE"],
|
||||
rows: [["2026-05-17", 3, 391, 88.8]],
|
||||
dirtyRows: [[0, [[1, 123123]]]],
|
||||
deletedRows: [],
|
||||
newRows: [],
|
||||
});
|
||||
|
||||
assert.deepEqual(statements, [
|
||||
`UPDATE "DBX_DEMO"."METRICS_DAILY" SET "ACTIVE_USERS" = 123123 WHERE "DAY_DATE" = '2026-05-17';`,
|
||||
]);
|
||||
});
|
||||
|
||||
test("builds TDengine append-only grid save statements", () => {
|
||||
const newTs = tdengineTimestampLiteral("2026-05-16 09:40:00.000");
|
||||
const statements = buildDataGridSaveStatements({
|
||||
|
|
|
|||
|
|
@ -73,6 +73,14 @@ test("describes table editing capabilities for special database engines", () =>
|
|||
transaction: false,
|
||||
});
|
||||
|
||||
assert.deepEqual(getDatabaseCapability("yashandb").tableData, {
|
||||
insert: false,
|
||||
updateRequiresPrimaryKey: true,
|
||||
deleteRequiresPrimaryKey: true,
|
||||
requiresTransactionalTableForExistingRows: false,
|
||||
transaction: false,
|
||||
});
|
||||
|
||||
assert.equal(getDatabaseCapability("oracle").syntheticKey, "oracle-rowid");
|
||||
assert.equal(getDatabaseCapability("neo4j").syntheticKey, "neo4j-element-id");
|
||||
});
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ test("does not use transactional grid saves for Hive", () => {
|
|||
assert.equal(supportsDataGridTransaction("hive"), false);
|
||||
assert.equal(supportsDataGridTransaction("trino"), false);
|
||||
assert.equal(supportsDataGridTransaction("jdbc"), false);
|
||||
assert.equal(supportsDataGridTransaction("yashandb"), false);
|
||||
assert.equal(supportsDataGridTransaction("postgres"), true);
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue