@quereus/quereus 0.4.6 → 0.4.8

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.
Files changed (50) hide show
  1. package/README.md +2 -2
  2. package/dist/src/core/database.d.ts +1 -1
  3. package/dist/src/core/database.js +2 -2
  4. package/dist/src/core/database.js.map +1 -1
  5. package/dist/src/planner/nodes/dml-executor-node.d.ts +1 -1
  6. package/dist/src/planner/nodes/dml-executor-node.js +1 -1
  7. package/dist/src/runtime/emit/dml-executor.js +3 -3
  8. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  9. package/dist/src/runtime/emit/remote-query.d.ts +1 -1
  10. package/dist/src/runtime/emit/remote-query.js +5 -5
  11. package/dist/src/runtime/emit/remote-query.js.map +1 -1
  12. package/dist/src/runtime/emit/scan.js +10 -10
  13. package/dist/src/runtime/emit/scan.js.map +1 -1
  14. package/dist/src/runtime/emit/update.js +1 -1
  15. package/dist/src/runtime/emit/update.js.map +1 -1
  16. package/dist/src/runtime/utils.js +6 -6
  17. package/dist/src/runtime/utils.js.map +1 -1
  18. package/dist/src/schema/manager.d.ts +4 -4
  19. package/dist/src/schema/manager.js +20 -20
  20. package/dist/src/schema/manager.js.map +1 -1
  21. package/dist/src/vtab/best-access-plan.d.ts +0 -6
  22. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  23. package/dist/src/vtab/best-access-plan.js +0 -27
  24. package/dist/src/vtab/best-access-plan.js.map +1 -1
  25. package/dist/src/vtab/memory/module.d.ts +4 -10
  26. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  27. package/dist/src/vtab/memory/module.js +4 -16
  28. package/dist/src/vtab/memory/module.js.map +1 -1
  29. package/dist/src/vtab/memory/table.d.ts +14 -14
  30. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  31. package/dist/src/vtab/memory/table.js +21 -21
  32. package/dist/src/vtab/memory/table.js.map +1 -1
  33. package/dist/src/vtab/module.d.ts +6 -18
  34. package/dist/src/vtab/module.d.ts.map +1 -1
  35. package/dist/src/vtab/table.d.ts +17 -17
  36. package/dist/src/vtab/table.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/core/database.ts +2 -2
  39. package/src/planner/nodes/dml-executor-node.ts +1 -1
  40. package/src/runtime/emit/dml-executor.ts +3 -3
  41. package/src/runtime/emit/remote-query.ts +5 -5
  42. package/src/runtime/emit/scan.ts +10 -10
  43. package/src/runtime/emit/update.ts +1 -1
  44. package/src/runtime/utils.ts +6 -6
  45. package/src/schema/manager.ts +20 -20
  46. package/src/vtab/best-access-plan.ts +0 -30
  47. package/src/vtab/memory/module.ts +4 -17
  48. package/src/vtab/memory/table.ts +21 -21
  49. package/src/vtab/module.ts +7 -17
  50. package/src/vtab/table.ts +17 -17
@@ -17,7 +17,7 @@ export class MemoryTable extends VirtualTable {
17
17
  /** @internal Connection state specific to this table instance (lazily initialized) */
18
18
  connection = null;
19
19
  /**
20
- * @internal - Use MemoryTableModule.xConnect or xCreate
20
+ * @internal - Use MemoryTableModule.connect or create
21
21
  * Creates a connection-specific instance linked to a manager.
22
22
  */
23
23
  constructor(db, module, manager // Pass the shared manager instance
@@ -77,79 +77,79 @@ export class MemoryTable extends VirtualTable {
77
77
  }
78
78
  return new MemoryVirtualTableConnection(this.tableName, this.connection);
79
79
  }
80
- // New xQuery method for direct async iteration
81
- async *xQuery(filterInfo) {
80
+ // Direct async iteration for query execution
81
+ async *query(filterInfo) {
82
82
  const conn = await this.ensureConnection();
83
- logger.debugLog(`xQuery using connection ${conn.connectionId} (pending: ${conn.pendingTransactionLayer?.getLayerId()}, read: ${conn.readLayer.getLayerId()})`);
83
+ logger.debugLog(`query using connection ${conn.connectionId} (pending: ${conn.pendingTransactionLayer?.getLayerId()}, read: ${conn.readLayer.getLayerId()})`);
84
84
  const currentSchema = this.manager.tableSchema;
85
85
  if (!currentSchema) {
86
- logger.error('xQuery', this.tableName, 'Table schema is undefined');
86
+ logger.error('query', this.tableName, 'Table schema is undefined');
87
87
  return;
88
88
  }
89
89
  const plan = buildScanPlanFromFilterInfo(filterInfo, currentSchema);
90
- logger.debugLog(`xQuery invoked for ${this.tableName} with plan: ${safeJsonStringify(plan)}`);
90
+ logger.debugLog(`query invoked for ${this.tableName} with plan: ${safeJsonStringify(plan)}`);
91
91
  const startLayer = conn.pendingTransactionLayer ?? conn.readLayer;
92
- logger.debugLog(`xQuery reading from layer ${startLayer.getLayerId()}`);
92
+ logger.debugLog(`query reading from layer ${startLayer.getLayerId()}`);
93
93
  // Delegate scanning to the manager, which handles layer recursion
94
94
  yield* this.manager.scanLayer(startLayer, plan);
95
95
  }
96
- // Note: xBestIndex is handled by the MemoryTableModule, not the table instance.
96
+ // Note: getBestAccessPlan is handled by the MemoryTableModule, not the table instance.
97
97
  /** Performs mutation through the connection's transaction layer */
98
- async xUpdate(operation, values, oldKeyValues, onConflict) {
98
+ async update(operation, values, oldKeyValues, onConflict) {
99
99
  const conn = await this.ensureConnection();
100
100
  // Delegate mutation to the manager.
101
101
  // This assumes manager.performMutation will be updated to this signature and logic.
102
102
  return this.manager.performMutation(conn, operation, values, oldKeyValues, onConflict);
103
103
  }
104
104
  /** Begins a transaction for this connection */
105
- async xBegin() {
105
+ async begin() {
106
106
  (await this.ensureConnection()).begin();
107
107
  }
108
108
  /** Commits this connection's transaction */
109
- async xCommit() {
109
+ async commit() {
110
110
  // Only commit if a connection has actually been established
111
111
  if (this.connection) {
112
112
  await this.connection.commit();
113
113
  }
114
114
  }
115
115
  /** Rolls back this connection's transaction */
116
- async xRollback() {
116
+ async rollback() {
117
117
  // Only rollback if a connection has actually been established
118
118
  if (this.connection) {
119
119
  this.connection.rollback();
120
120
  }
121
121
  }
122
122
  /** Sync operation (currently no-op for memory table layers) */
123
- async xSync() {
123
+ async sync() {
124
124
  // This might trigger background collapse in the manager in the future
125
125
  // await this.manager.tryCollapseLayers(); // Optional: trigger collapse on sync?
126
126
  return Promise.resolve();
127
127
  }
128
128
  /** Renames the underlying table via the manager */
129
- async xRename(newName) {
129
+ async rename(newName) {
130
130
  logger.operation('Rename', this.tableName, { newName });
131
131
  await this.manager.renameTable(newName);
132
132
  // Update this instance's schema reference after rename
133
133
  this.tableSchema = this.manager.tableSchema;
134
134
  }
135
135
  // --- Savepoint operations ---
136
- async xSavepoint(savepointIndex) {
136
+ async savepoint(savepointIndex) {
137
137
  const conn = await this.ensureConnection();
138
138
  conn.createSavepoint(savepointIndex);
139
139
  }
140
- async xRelease(savepointIndex) {
140
+ async release(savepointIndex) {
141
141
  if (!this.connection)
142
142
  return; // No connection, no savepoints to release
143
143
  this.connection.releaseSavepoint(savepointIndex);
144
144
  }
145
- async xRollbackTo(savepointIndex) {
145
+ async rollbackTo(savepointIndex) {
146
146
  if (!this.connection)
147
147
  return; // No connection, no savepoints to rollback to
148
148
  this.connection.rollbackToSavepoint(savepointIndex);
149
149
  }
150
150
  // --- End Savepoint operations ---
151
151
  /** Handles schema changes via the manager */
152
- async xAlterSchema(changeInfo) {
152
+ async alterSchema(changeInfo) {
153
153
  const originalManagerSchema = this.manager.tableSchema; // For potential error recovery
154
154
  try {
155
155
  switch (changeInfo.type) {
@@ -185,7 +185,7 @@ export class MemoryTable extends VirtualTable {
185
185
  }
186
186
  }
187
187
  /** Disconnects this connection instance from the manager */
188
- async xDisconnect() {
188
+ async disconnect() {
189
189
  if (this.connection) {
190
190
  // Manager handles cleanup and potential layer collapse trigger
191
191
  await this.manager.disconnect(this.connection.connectionId);
@@ -193,12 +193,12 @@ export class MemoryTable extends VirtualTable {
193
193
  }
194
194
  }
195
195
  // --- Index DDL methods delegate to the manager ---
196
- async xCreateIndex(indexSchema) {
196
+ async createIndex(indexSchema) {
197
197
  logger.operation('Create Index', this.tableName, { indexName: indexSchema.name });
198
198
  await this.manager.createIndex(indexSchema);
199
199
  this.tableSchema = this.manager.tableSchema; // Refresh local schema ref
200
200
  }
201
- async xDropIndex(indexName) {
201
+ async dropIndex(indexName) {
202
202
  logger.operation('Drop Index', this.tableName, { indexName });
203
203
  await this.manager.dropIndex(indexName);
204
204
  // Update schema reference
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/vtab/memory/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/vtab/memory/table.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import type { Database } from '../core/database.js';
2
2
  import type { VirtualTable } from './table.js';
3
- import type { IndexInfo } from './index-info.js';
4
3
  import type { ColumnDef } from '../parser/ast.js';
5
4
  import type { TableSchema, IndexSchema } from '../schema/table.js';
6
5
  import type { BestAccessPlanRequest, BestAccessPlanResult } from './best-access-plan.js';
7
6
  import type { PlanNode } from '../planner/nodes/plan-node.js';
8
7
  /**
9
- * Base interface for module-specific configuration passed to xCreate/xConnect.
8
+ * Base interface for module-specific configuration passed to create/connect.
10
9
  * Modules should define their own interface extending this if they need options.
11
10
  */
12
11
  export interface BaseModuleConfig {
@@ -38,7 +37,7 @@ export interface VirtualTableModule<TTable extends VirtualTable, TConfig extends
38
37
  * @returns The new VirtualTable instance
39
38
  * @throws QuereusError on failure
40
39
  */
41
- xCreate(db: Database, tableSchema: TableSchema): TTable;
40
+ create(db: Database, tableSchema: TableSchema): TTable;
42
41
  /**
43
42
  * Connects to an existing virtual table definition.
44
43
  * Called when the schema is loaded or a connection needs to interact with the table.
@@ -52,7 +51,7 @@ export interface VirtualTableModule<TTable extends VirtualTable, TConfig extends
52
51
  * @returns The connection-specific VirtualTable instance
53
52
  * @throws QuereusError on failure
54
53
  */
55
- xConnect(db: Database, pAux: unknown, moduleName: string, schemaName: string, tableName: string, options: TConfig): TTable;
54
+ connect(db: Database, pAux: unknown, moduleName: string, schemaName: string, tableName: string, options: TConfig): TTable;
56
55
  /**
57
56
  * Determines if this module can execute a plan subtree starting at the given node.
58
57
  * Used for query push-down to virtual table modules that support arbitrary queries.
@@ -71,17 +70,6 @@ export interface VirtualTableModule<TTable extends VirtualTable, TConfig extends
71
70
  * @returns Access plan result describing the chosen strategy
72
71
  */
73
72
  getBestAccessPlan?(db: Database, tableInfo: TableSchema, request: BestAccessPlanRequest): BestAccessPlanResult;
74
- /**
75
- * Determines the best query plan for a given set of constraints and orderings.
76
- * This method MUST be synchronous for performance. It modifies the passed IndexInfo object.
77
- *
78
- * @deprecated Use getBestAccessPlan instead for better type safety and extensibility
79
- * @param db The database connection
80
- * @param tableInfo The schema information for the table being planned
81
- * @param indexInfo Input constraints/orderings and output plan details
82
- * @returns StatusCode.OK on success, or an error code
83
- */
84
- xBestIndex(db: Database, tableInfo: TableSchema, indexInfo: IndexInfo): number;
85
73
  /**
86
74
  * Destroys the underlying persistent representation of the virtual table.
87
75
  * Called by DROP TABLE.
@@ -93,7 +81,7 @@ export interface VirtualTableModule<TTable extends VirtualTable, TConfig extends
93
81
  * @param tableName The name of the virtual table being destroyed
94
82
  * @throws QuereusError on failure
95
83
  */
96
- xDestroy(db: Database, pAux: unknown, moduleName: string, schemaName: string, tableName: string): Promise<void>;
84
+ destroy(db: Database, pAux: unknown, moduleName: string, schemaName: string, tableName: string): Promise<void>;
97
85
  /**
98
86
  * Creates an index on a virtual table.
99
87
  * Called by CREATE INDEX.
@@ -104,13 +92,13 @@ export interface VirtualTableModule<TTable extends VirtualTable, TConfig extends
104
92
  * @param indexSchema The schema definition for the index being created
105
93
  * @throws QuereusError on failure
106
94
  */
107
- xCreateIndex?(db: Database, schemaName: string, tableName: string, indexSchema: IndexSchema): Promise<void>;
95
+ createIndex?(db: Database, schemaName: string, tableName: string, indexSchema: IndexSchema): Promise<void>;
108
96
  /**
109
97
  * Checks for shadow table name conflicts
110
98
  * @param name The name to check
111
99
  * @returns true if the name would conflict
112
100
  */
113
- xShadowName?(name: string): boolean;
101
+ shadowName?(name: string): boolean;
114
102
  }
115
103
  /**
116
104
  * Defines the structure for schema change information passed to xAlterSchema
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vtab/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;CAAG;AAEpC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAClC,MAAM,SAAS,YAAY,EAC3B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD;;;;;;;;OAQG;IACH,OAAO,CACN,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,WAAW,GACtB,MAAM,CAAC;IAEV;;;;;;;;;;;;OAYG;IACH,QAAQ,CACP,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACd,MAAM,CAAC;IAEV;;;;;;OAMG;IACH,QAAQ,CAAC,CACR,IAAI,EAAE,QAAQ,GACZ,iBAAiB,GAAG,SAAS,CAAC;IAEjC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CACjB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,qBAAqB,GAC5B,oBAAoB,CAAC;IAExB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IAE/E;;;;;;;;;;OAUG;IACH,QAAQ,CACP,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;OASG;IACH,YAAY,CAAC,CACZ,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE3F;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vtab/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;CAAG;AAEpC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAClC,MAAM,SAAS,YAAY,EAC3B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB;IAGnD;;;;;;;;OAQG;IACH,MAAM,CACL,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,WAAW,GACtB,MAAM,CAAC;IAEV;;;;;;;;;;;;OAYG;IACH,OAAO,CACN,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACd,MAAM,CAAC;IAEV;;;;;;OAMG;IACH,QAAQ,CAAC,CACR,IAAI,EAAE,QAAQ,GACZ,iBAAiB,GAAG,SAAS,CAAC;IAEjC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CACjB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,qBAAqB,GAC5B,oBAAoB,CAAC;IAIxB;;;;;;;;;;OAUG;IACH,OAAO,CACN,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;OASG;IACH,WAAW,CAAC,CACX,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE3F;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC"}
@@ -30,15 +30,15 @@ export declare abstract class VirtualTable {
30
30
  * Called when the database connection closes or the statement is finalized
31
31
  * @throws QuereusError on failure
32
32
  */
33
- abstract xDisconnect(): Promise<void>;
33
+ abstract disconnect(): Promise<void>;
34
34
  /**
35
35
  * (Optional) Opens a direct data stream for this virtual table based on filter criteria.
36
- * This is an alternative to the cursor-based xOpen/filter/next model.
37
- * @param filterInfo Information from xBestIndex and query parameters.
36
+ * This is an alternative to the cursor-based open/filter/next model.
37
+ * @param filterInfo Information from getBestAccessPlan and query parameters.
38
38
  * @returns An AsyncIterable yielding Row tuples.
39
39
  * @throws QuereusError on failure
40
40
  */
41
- xQuery?(filterInfo: FilterInfo): AsyncIterable<Row>;
41
+ query?(filterInfo: FilterInfo): AsyncIterable<Row>;
42
42
  /**
43
43
  * Executes a pushed-down plan subtree.
44
44
  * Called when the module indicated support via supports() method.
@@ -48,7 +48,7 @@ export declare abstract class VirtualTable {
48
48
  * @param ctx Optional context from supports() assessment
49
49
  * @returns Async iterable of rows resulting from the plan execution
50
50
  */
51
- xExecutePlan?(db: Database, plan: PlanNode, ctx?: unknown): AsyncIterable<Row>;
51
+ executePlan?(db: Database, plan: PlanNode, ctx?: unknown): AsyncIterable<Row>;
52
52
  /**
53
53
  * Performs an INSERT, UPDATE, or DELETE operation
54
54
  * @param operation The operation to perform (insert, update, delete)
@@ -58,7 +58,7 @@ export declare abstract class VirtualTable {
58
58
  * @returns new row for INSERT/UPDATE, undefined for DELETE
59
59
  * @throws QuereusError or ConstraintError on failure
60
60
  */
61
- abstract xUpdate(operation: RowOp, values: Row | undefined, oldKeyValues?: Row, onConflict?: ConflictResolution): Promise<Row | undefined>;
61
+ abstract update(operation: RowOp, values: Row | undefined, oldKeyValues?: Row, onConflict?: ConflictResolution): Promise<Row | undefined>;
62
62
  /**
63
63
  * (Optional) Creates a new connection for transaction support.
64
64
  * If implemented, this enables proper transaction isolation for this table.
@@ -74,54 +74,54 @@ export declare abstract class VirtualTable {
74
74
  /**
75
75
  * Begins a transaction on this virtual table
76
76
  */
77
- xBegin?(): Promise<void>;
77
+ begin?(): Promise<void>;
78
78
  /**
79
79
  * Syncs changes within the virtual table transaction
80
80
  */
81
- xSync?(): Promise<void>;
81
+ sync?(): Promise<void>;
82
82
  /**
83
83
  * Commits the virtual table transaction
84
84
  */
85
- xCommit?(): Promise<void>;
85
+ commit?(): Promise<void>;
86
86
  /**
87
87
  * Rolls back the virtual table transaction
88
88
  */
89
- xRollback?(): Promise<void>;
89
+ rollback?(): Promise<void>;
90
90
  /**
91
91
  * Renames the virtual table
92
92
  * @param newName The new name for the table
93
93
  */
94
- xRename?(newName: string): Promise<void>;
94
+ rename?(newName: string): Promise<void>;
95
95
  /**
96
96
  * Begins a savepoint
97
97
  * @param savepointIndex The savepoint identifier
98
98
  */
99
- xSavepoint?(savepointIndex: number): Promise<void>;
99
+ savepoint?(savepointIndex: number): Promise<void>;
100
100
  /**
101
101
  * Releases a savepoint
102
102
  * @param savepointIndex The savepoint identifier
103
103
  */
104
- xRelease?(savepointIndex: number): Promise<void>;
104
+ release?(savepointIndex: number): Promise<void>;
105
105
  /**
106
106
  * Rolls back to a savepoint
107
107
  * @param savepointIndex The savepoint identifier
108
108
  */
109
- xRollbackTo?(savepointIndex: number): Promise<void>;
109
+ rollbackTo?(savepointIndex: number): Promise<void>;
110
110
  /**
111
111
  * Modifies the schema of this virtual table
112
112
  * @param changeInfo Object describing the schema modification
113
113
  * @throws QuereusError or ConstraintError on failure
114
114
  */
115
- xAlterSchema?(changeInfo: SchemaChangeInfo): Promise<void>;
115
+ alterSchema?(changeInfo: SchemaChangeInfo): Promise<void>;
116
116
  /**
117
117
  * Creates a secondary index on the virtual table
118
118
  * @param indexInfo The index definition
119
119
  */
120
- xCreateIndex?(indexInfo: IndexSchema): Promise<void>;
120
+ createIndex?(indexInfo: IndexSchema): Promise<void>;
121
121
  /**
122
122
  * Drops a secondary index from the virtual table
123
123
  * @param indexName The name of the index to drop
124
124
  */
125
- xDropIndex?(indexName: string): Promise<void>;
125
+ dropIndex?(indexName: string): Promise<void>;
126
126
  }
127
127
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quereus/quereus",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "type": "module",
5
5
  "description": "Federated SQL query processor",
6
6
  "publisher": "Got Choices Foundation",
@@ -304,7 +304,7 @@ export class Database {
304
304
  * Registers a virtual table module.
305
305
  * @param name The name of the module.
306
306
  * @param module The module implementation.
307
- * @param auxData Optional client data passed to xCreate/xConnect.
307
+ * @param auxData Optional client data passed to create/connect.
308
308
  */
309
309
  registerVtabModule(name: string, module: AnyVirtualTableModule, auxData?: unknown): void {
310
310
  this.checkOpen();
@@ -377,7 +377,7 @@ export class Database {
377
377
  this.statements.clear();
378
378
 
379
379
  // Clear schemas, ensuring VTabs are potentially disconnected
380
- // This will also call xDestroy on VTabs via SchemaManager.clearAll -> schema.clearTables -> schemaManager.dropTable
380
+ // This will also call destroy on VTabs via SchemaManager.clearAll -> schema.clearTables -> schemaManager.dropTable
381
381
  this.schemaManager.clearAll();
382
382
 
383
383
  // this.registeredVTabs.clear(); // Removed, SchemaManager handles module lifecycle
@@ -8,7 +8,7 @@ import { RowOp } from '../../common/types.js';
8
8
 
9
9
  /**
10
10
  * Executes actual database insert/update/delete operations after constraint validation.
11
- * This node performs the actual vtab.xUpdate operations and yields the affected rows.
11
+ * This node performs the actual vtab.update operations and yields the affected rows.
12
12
  * All data transformations (defaults, conversions, etc.) happen before this node.
13
13
  */
14
14
  export class DmlExecutorNode extends PlanNode implements RelationalPlanNode {
@@ -22,7 +22,7 @@ export function emitDmlExecutor(plan: DmlExecutorNode, ctx: EmissionContext): In
22
22
  try {
23
23
  for await (const flatRow of rows) {
24
24
  const newRow = extractNewRowFromFlat(flatRow, tableSchema.columns.length);
25
- await vtab.xUpdate!('insert', newRow, undefined, plan.onConflict ?? ConflictResolution.ABORT);
25
+ await vtab.update!('insert', newRow, undefined, plan.onConflict ?? ConflictResolution.ABORT);
26
26
  // Track change (INSERT): record NEW primary key
27
27
  const pkValues = tableSchema.primaryKeyDefinition.map(def => newRow[def.index]);
28
28
  ctx.db._recordInsert(`${tableSchema.schemaName}.${tableSchema.name}`, pkValues);
@@ -48,7 +48,7 @@ export function emitDmlExecutor(plan: DmlExecutorNode, ctx: EmissionContext): In
48
48
  }
49
49
  return oldRow[pkColIdx];
50
50
  });
51
- await vtab.xUpdate!('update', newRow, keyValues, ConflictResolution.ABORT);
51
+ await vtab.update!('update', newRow, keyValues, ConflictResolution.ABORT);
52
52
  // Track change (UPDATE): record OLD and NEW primary keys
53
53
  const newKeyValues: SqlValue[] = tableSchema.primaryKeyDefinition.map(pkColDef => newRow[pkColDef.index]);
54
54
  ctx.db._recordUpdate(`${tableSchema.schemaName}.${tableSchema.name}`, keyValues, newKeyValues);
@@ -72,7 +72,7 @@ export function emitDmlExecutor(plan: DmlExecutorNode, ctx: EmissionContext): In
72
72
  }
73
73
  return oldRow[pkColIdx];
74
74
  });
75
- await vtab.xUpdate!('delete', undefined, keyValues, ConflictResolution.ABORT);
75
+ await vtab.update!('delete', undefined, keyValues, ConflictResolution.ABORT);
76
76
  // Track change (DELETE): record OLD primary key
77
77
  ctx.db._recordDelete(`${tableSchema.schemaName}.${tableSchema.name}`, keyValues);
78
78
  yield flatRow;
@@ -8,7 +8,7 @@ import type { AnyVirtualTableModule } from '../../vtab/module.js';
8
8
 
9
9
  /**
10
10
  * Emitter for RemoteQueryNode.
11
- * Calls the virtual table's xExecutePlan() method to execute the pushed-down pipeline.
11
+ * Calls the virtual table's executePlan() method to execute the pushed-down pipeline.
12
12
  */
13
13
  export function emitRemoteQuery(plan: RemoteQueryNode, _ctx: EmissionContext): Instruction {
14
14
  async function* run(rctx: RuntimeContext): AsyncIterable<Row> {
@@ -19,7 +19,7 @@ export function emitRemoteQuery(plan: RemoteQueryNode, _ctx: EmissionContext): I
19
19
  const vtabModule = (moduleCtx as { vtabModule?: AnyVirtualTableModule } | undefined)?.vtabModule ?? tableRef.vtabModule;
20
20
 
21
21
  // Connect to the table to get the instance
22
- const table = vtabModule.xConnect(
22
+ const table = vtabModule.connect(
23
23
  rctx.db,
24
24
  undefined, // pAux
25
25
  tableSchema.vtabModuleName,
@@ -28,15 +28,15 @@ export function emitRemoteQuery(plan: RemoteQueryNode, _ctx: EmissionContext): I
28
28
  {} // empty config for now
29
29
  );
30
30
 
31
- if (!table.xExecutePlan) {
31
+ if (!table.executePlan) {
32
32
  throw new QuereusError(
33
- `Virtual table module for '${tableSchema.name}' does not implement xExecutePlan() ` +
33
+ `Virtual table module for '${tableSchema.name}' does not implement executePlan() ` +
34
34
  `despite indicating support via supports() method.`,
35
35
  StatusCode.INTERNAL
36
36
  );
37
37
  }
38
38
 
39
- yield* table.xExecutePlan(rctx.db, plan.source, plan.moduleCtx);
39
+ yield* table.executePlan(rctx.db, plan.source, plan.moduleCtx);
40
40
  }
41
41
 
42
42
  return {
@@ -38,14 +38,14 @@ export function emitSeqScan(plan: SeqScanNode | IndexScanNode | IndexSeekNode, c
38
38
  }
39
39
 
40
40
  const module = capturedModuleInfo.module;
41
- if (typeof module.xConnect !== 'function') {
42
- throw new QuereusError(`Virtual table module '${schema.vtabModuleName}' does not implement xConnect`, StatusCode.MISUSE);
41
+ if (typeof module.connect !== 'function') {
42
+ throw new QuereusError(`Virtual table module '${schema.vtabModuleName}' does not implement connect`, StatusCode.MISUSE);
43
43
  }
44
44
 
45
45
  let vtabInstance: VirtualTable;
46
46
  try {
47
47
  const options: BaseModuleConfig = (schema.vtabArgs ?? {}) as BaseModuleConfig;
48
- vtabInstance = module.xConnect(
48
+ vtabInstance = module.connect(
49
49
  runtimeCtx.db,
50
50
  capturedModuleInfo.auxData,
51
51
  schema.vtabModuleName,
@@ -55,13 +55,13 @@ export function emitSeqScan(plan: SeqScanNode | IndexScanNode | IndexSeekNode, c
55
55
  );
56
56
  } catch (e: any) {
57
57
  const message = e instanceof Error ? e.message : String(e);
58
- throw new QuereusError(`Module '${schema.vtabModuleName}' xConnect failed for table '${schema.name}': ${message}`, e instanceof QuereusError ? e.code : StatusCode.ERROR, e instanceof Error ? e : undefined);
58
+ throw new QuereusError(`Module '${schema.vtabModuleName}' connect failed for table '${schema.name}': ${message}`, e instanceof QuereusError ? e.code : StatusCode.ERROR, e instanceof Error ? e : undefined);
59
59
  }
60
60
 
61
- if (typeof vtabInstance.xQuery !== 'function') {
62
- // Fallback or error if xQuery is not available. For now, throwing an error.
63
- // Later, we could implement the xOpen/xFilter/xNext loop here as a fallback.
64
- throw new QuereusError(`Virtual table '${schema.name}' does not support xQuery.`, StatusCode.UNSUPPORTED);
61
+ if (typeof vtabInstance.query !== 'function') {
62
+ // Fallback or error if query is not available. For now, throwing an error.
63
+ // Later, we could implement the open/filter/next loop here as a fallback.
64
+ throw new QuereusError(`Virtual table '${schema.name}' does not support query.`, StatusCode.UNSUPPORTED);
65
65
  }
66
66
 
67
67
  const rowSlot = createRowSlot(runtimeCtx, rowDescriptor);
@@ -74,14 +74,14 @@ export function emitSeqScan(plan: SeqScanNode | IndexScanNode | IndexSeekNode, c
74
74
  return plan.filterInfo;
75
75
  })();
76
76
 
77
- const asyncRowIterable = vtabInstance.xQuery(effectiveFilterInfo);
77
+ const asyncRowIterable = vtabInstance.query(effectiveFilterInfo);
78
78
  for await (const row of asyncRowIterable) {
79
79
  rowSlot.set(row);
80
80
  yield row;
81
81
  }
82
82
  } catch (e: any) {
83
83
  const message = e instanceof Error ? e.message : String(e);
84
- throw new QuereusError(`Error during xQuery on table '${schema.name}': ${message}`, e instanceof QuereusError ? e.code : StatusCode.ERROR, e instanceof Error ? e : undefined);
84
+ throw new QuereusError(`Error during query on table '${schema.name}': ${message}`, e instanceof QuereusError ? e.code : StatusCode.ERROR, e instanceof Error ? e : undefined);
85
85
  } finally {
86
86
  rowSlot.close();
87
87
  // Properly disconnect the VirtualTable instance
@@ -51,7 +51,7 @@ export function emitUpdate(plan: UpdateNode, ctx: EmissionContext): Instruction
51
51
 
52
52
  // Yield the flat row for constraint checking
53
53
  // NOTE: UpdateNode only transforms rows - it does NOT execute the actual update
54
- // The UpdateExecutorNode is responsible for calling vtab.xUpdate
54
+ // The UpdateExecutorNode is responsible for calling vtab.update
55
55
  yield flatRow;
56
56
  });
57
57
  }
@@ -86,11 +86,11 @@ export async function getVTable(ctx: RuntimeContext, tableSchema: TableSchema):
86
86
  throw new QuereusError(`Virtual table module '${tableSchema.vtabModuleName}' not found for table '${tableSchema.name}'`, StatusCode.ERROR);
87
87
  }
88
88
  const module = moduleInfo.module;
89
- if (typeof module.xConnect !== 'function') {
90
- throw new QuereusError(`Virtual table module '${tableSchema.vtabModuleName}' does not implement xConnect`, StatusCode.MISUSE);
89
+ if (typeof module.connect !== 'function') {
90
+ throw new QuereusError(`Virtual table module '${tableSchema.vtabModuleName}' does not implement connect`, StatusCode.MISUSE);
91
91
  }
92
92
  const vtabArgs = tableSchema.vtabArgs || {};
93
- const vtabInstance = module.xConnect(ctx.db, moduleInfo.auxData, tableSchema.vtabModuleName, tableSchema.schemaName, tableSchema.name, vtabArgs);
93
+ const vtabInstance = module.connect(ctx.db, moduleInfo.auxData, tableSchema.vtabModuleName, tableSchema.schemaName, tableSchema.name, vtabArgs);
94
94
 
95
95
  // If we have an active connection for this table, inject it into the VirtualTable
96
96
  const tableName = tableSchema.name;
@@ -112,9 +112,9 @@ export async function getVTable(ctx: RuntimeContext, tableSchema: TableSchema):
112
112
  */
113
113
  export async function disconnectVTable(ctx: RuntimeContext, vtab: VirtualTable): Promise<void> {
114
114
  // Disconnect the VirtualTable instance
115
- if (typeof vtab.xDisconnect === 'function') {
116
- await vtab.xDisconnect().catch((e: any) => {
117
- errorLog(`Error during xDisconnect for table '${vtab.tableName}': ${e}`);
115
+ if (typeof vtab.disconnect === 'function') {
116
+ await vtab.disconnect().catch((e: any) => {
117
+ errorLog(`Error during disconnect for table '${vtab.tableName}': ${e}`);
118
118
  });
119
119
  }
120
120
  }