fix(oracle): enable deleting keyless query rows

This commit is contained in:
t8y2 committed 2026-07-14 01:10:12 +08:00
1 parent 8497e34b31
commit e74af3e85f
4 files changed
+142 -17

No files matched your search

@@ -49,6 +49,21 @@ describe("editable query hidden primary keys", () => {
).toBe('SELECT /*+ INDEX(t IDX_USERS_NAME) */ t.NAME, "ID" AS "__DBX_PK_0"\nFROM USERS t');
});
it("supports an Oracle ROWID expression for keyless base tables", () => {
expect(
buildQueryWithHiddenPrimaryKeys({
sql: "SELECT * FROM APP.USERS t WHERE t.ACTIVE = 1",
databaseType: "oracle",
primaryKeys: ["__DBX_ROWID"],
existingResultNames: ["ID", "NAME"],
sourceExpressions: { __DBX_ROWID: "ROWIDTOCHAR(ROWID)" },
}),
).toEqual({
sql: 'SELECT *, ROWIDTOCHAR(ROWID) AS "__DBX_PK_0" FROM APP.USERS t WHERE t.ACTIVE = 1',
projections: [{ sourceName: "__DBX_ROWID", alias: "__DBX_PK_0" }],
});
});
it("inserts hidden keys before a trailing line comment", () => {
expect(
buildQueryWithHiddenPrimaryKeys({