From 3848870e4002d891f0ad9f298334ef5c3deaef54 Mon Sep 17 00:00:00 2001 From: Kyriakos Barbounakis Date: Sun, 9 Mar 2025 10:09:24 +0000 Subject: [PATCH 1/2] implement getFormatter() method --- src/SqliteAdapter.d.ts | 3 ++- src/SqliteAdapter.js | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/SqliteAdapter.d.ts b/src/SqliteAdapter.d.ts index 2cbb94a..99e656e 100644 --- a/src/SqliteAdapter.d.ts +++ b/src/SqliteAdapter.d.ts @@ -1,7 +1,7 @@ // MOST Web Framework Codename Zero Gravity Copyright (c) 2017-2022, THEMOST LP import { DataAdapterBase, DataAdapterIndexes, DataAdapterMigration, DataAdapterTable, DataAdapterView } from '@themost/common'; -import { QueryExpression } from '@themost/query'; +import { QueryExpression, SqlFormatter } from '@themost/query'; import {AsyncSeriesEventEmitter} from '@themost/events'; export declare class SqliteAdapter implements DataAdapterBase { @@ -32,4 +32,5 @@ export declare class SqliteAdapter implements DataAdapterBase { table(table: string): DataAdapterTable; view(view: string): DataAdapterView; indexes(table: string): DataAdapterIndexes; + getFormatter(): SqlFormatter; } diff --git a/src/SqliteAdapter.js b/src/SqliteAdapter.js index bd6a84f..3a1a8de 100644 --- a/src/SqliteAdapter.js +++ b/src/SqliteAdapter.js @@ -570,7 +570,7 @@ class SqliteAdapter { return (async function() { // prepare to rename existing table and create a new one const renamed = '__' + migration.appliesTo + '_' + new Date().getTime().toString() + '__'; - const formatter = new SqliteFormatter(); + const formatter = self.getFormatter(); const renameTable = formatter.escapeName(renamed); const table = formatter.escapeName(migration.appliesTo); const existingFields = await self.table(migration.appliesTo).columnsAsync(); @@ -613,7 +613,7 @@ class SqliteAdapter { }); } else { - const formatter = new SqliteFormatter(); + const formatter = self.getFormatter(); migration.add.forEach(function (x) { //search for columns expressions.push(sprintf('ALTER TABLE %s ADD COLUMN %s %s', formatter.escapeName(migration.appliesTo), formatter.escapeName(x.name), self.formatType(x))); @@ -956,8 +956,8 @@ class SqliteAdapter { return callback(); } // generate SQL statement - const formatter = new SqliteFormatter(); - const escapedTable = new SqliteFormatter().escapeName(name); + const formatter = self.getFormatter(); + const escapedTable = formatter.escapeName(name); const sql = fields.map((field) => { const escapedField = formatter.escapeName(field.name); return sprintf('ALTER TABLE %s ADD COLUMN %s %s', escapedTable, escapedField, self.formatType(field)); @@ -1065,7 +1065,7 @@ class SqliteAdapter { } try { let sql = sprintf('CREATE VIEW `%s` AS ', name); - const formatter = new SqliteFormatter(); + const formatter = self.getFormatter(); sql += formatter.format(q); self.execute(sql, undefined, tr); } @@ -1138,7 +1138,7 @@ class SqliteAdapter { } else { //format query expression or any object that may act as query expression - const formatter = new SqliteFormatter(); + const formatter = this.getFormatter(); sql = formatter.format(query); } //validate sql statement @@ -1305,7 +1305,7 @@ class SqliteAdapter { } indexes(table) { - const self = this, formatter = new SqliteFormatter(); + const self = this, formatter = this.getFormatter(); return { list: function (callback) { const this1 = this; @@ -1432,7 +1432,7 @@ class SqliteAdapter { if (!exists) { return callback(); } - const formatter = new SqliteFormatter(); + const formatter = self.getFormatter(); self.execute(sprintf('DROP INDEX %s', formatter.escapeName(name)), [], callback); }); }, @@ -1448,6 +1448,10 @@ class SqliteAdapter { } }; } + + getFormatter() { + return new SqliteFormatter(); + } } export { From 0451803e405d3c4763633325962eff6becafe375 Mon Sep 17 00:00:00 2001 From: Kyriakos Barbounakis Date: Sun, 9 Mar 2025 10:11:19 +0000 Subject: [PATCH 2/2] 2.9.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0b2a05..72647f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@themost/sqlite", - "version": "2.9.2", + "version": "2.9.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@themost/sqlite", - "version": "2.9.2", + "version": "2.9.3", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { diff --git a/package.json b/package.json index 6a62a95..9656194 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@themost/sqlite", - "version": "2.9.2", + "version": "2.9.3", "description": "MOST Web Framework SQLite Adapter", "main": "dist/index.js", "types": "dist/index.d.ts",