Add queue tables, quote SQL identifiers (v1.3.0)
- isQueue table option adds queue columns and a (status, available_at) index; BunSQLite.queue exposes add, claim, complete, fail and release_stale with atomic claims - Set busy_timeout on connections so workers in separate processes wait instead of failing with SQLITE_BUSY - Quote table and column names with backticks in generated SQL, so reserved words (to, order, group) work and unknown columns error instead of matching as string literals - Tests for queue ops, multi-process claims and reserved-word names Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
+4
-4
@@ -1,5 +1,5 @@
|
||||
import sqlGenOperatorGen from "./sql-gen-operator-gen";
|
||||
import { sqlField, sqlIdent, sqlOperator, sqlRawEquality } from "./sql-safe";
|
||||
import { sqlColumn, sqlName, sqlOperator, sqlRawEquality } from "./sql-safe";
|
||||
function isPresent(val) {
|
||||
return val !== undefined && val !== null;
|
||||
}
|
||||
@@ -8,10 +8,10 @@ function isValuesObject(val) {
|
||||
}
|
||||
export default function sqlGenGenSearchStr({ queryObj, join, field, table_name, }) {
|
||||
let sqlSearhValues = [];
|
||||
const safeField = sqlField(field);
|
||||
const safeField = sqlColumn(field);
|
||||
const finalFieldName = (() => {
|
||||
if (queryObj?.tableName) {
|
||||
return `${sqlIdent(queryObj.tableName, "table name")}.${safeField}`;
|
||||
return `${sqlName(queryObj.tableName, "table name")}.${safeField}`;
|
||||
}
|
||||
if (join) {
|
||||
return `${table_name}.${safeField}`;
|
||||
@@ -28,7 +28,7 @@ export default function sqlGenGenSearchStr({ queryObj, join, field, table_name,
|
||||
equality: val.equality || queryObj.equality,
|
||||
fieldName: finalFieldName,
|
||||
value: isFieldValue
|
||||
? `${sqlIdent(val.tableName, "table name")}.${sqlIdent(val.fieldName, "field name")}`
|
||||
? `${sqlName(val.tableName, "table name")}.${sqlName(val.fieldName, "field name")}`
|
||||
: val.value,
|
||||
isValueFieldValue: isFieldValue,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user