@quereus/quereus 0.4.11 → 0.5.1

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 (128) hide show
  1. package/README.md +40 -16
  2. package/dist/src/core/database.d.ts +18 -0
  3. package/dist/src/core/database.d.ts.map +1 -1
  4. package/dist/src/core/database.js +22 -0
  5. package/dist/src/core/database.js.map +1 -1
  6. package/dist/src/func/builtins/conversion.d.ts +51 -0
  7. package/dist/src/func/builtins/conversion.d.ts.map +1 -0
  8. package/dist/src/func/builtins/conversion.js +152 -0
  9. package/dist/src/func/builtins/conversion.js.map +1 -0
  10. package/dist/src/func/builtins/index.d.ts.map +1 -1
  11. package/dist/src/func/builtins/index.js +20 -1
  12. package/dist/src/func/builtins/index.js.map +1 -1
  13. package/dist/src/func/builtins/json.d.ts +1 -0
  14. package/dist/src/func/builtins/json.d.ts.map +1 -1
  15. package/dist/src/func/builtins/json.js +100 -0
  16. package/dist/src/func/builtins/json.js.map +1 -1
  17. package/dist/src/func/builtins/schema.js +1 -1
  18. package/dist/src/func/builtins/schema.js.map +1 -1
  19. package/dist/src/index.d.ts +8 -1
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/index.js +6 -0
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  24. package/dist/src/runtime/emit/binary.js +6 -2
  25. package/dist/src/runtime/emit/binary.js.map +1 -1
  26. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  27. package/dist/src/runtime/emit/constraint-check.js +8 -1
  28. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  29. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  30. package/dist/src/runtime/emit/insert.js +4 -24
  31. package/dist/src/runtime/emit/insert.js.map +1 -1
  32. package/dist/src/runtime/emit/scalar-function.d.ts +9 -0
  33. package/dist/src/runtime/emit/scalar-function.d.ts.map +1 -1
  34. package/dist/src/runtime/emit/scalar-function.js +23 -1
  35. package/dist/src/runtime/emit/scalar-function.js.map +1 -1
  36. package/dist/src/runtime/emit/unary.d.ts.map +1 -1
  37. package/dist/src/runtime/emit/unary.js +3 -1
  38. package/dist/src/runtime/emit/unary.js.map +1 -1
  39. package/dist/src/schema/column.d.ts +4 -1
  40. package/dist/src/schema/column.d.ts.map +1 -1
  41. package/dist/src/schema/column.js +3 -0
  42. package/dist/src/schema/column.js.map +1 -1
  43. package/dist/src/schema/function.d.ts +15 -0
  44. package/dist/src/schema/function.d.ts.map +1 -1
  45. package/dist/src/schema/function.js.map +1 -1
  46. package/dist/src/schema/table.d.ts.map +1 -1
  47. package/dist/src/schema/table.js +10 -1
  48. package/dist/src/schema/table.js.map +1 -1
  49. package/dist/src/types/builtin-types.d.ts +37 -0
  50. package/dist/src/types/builtin-types.d.ts.map +1 -0
  51. package/dist/src/types/builtin-types.js +359 -0
  52. package/dist/src/types/builtin-types.js.map +1 -0
  53. package/dist/src/types/index.d.ts +7 -0
  54. package/dist/src/types/index.d.ts.map +1 -0
  55. package/dist/src/types/index.js +13 -0
  56. package/dist/src/types/index.js.map +1 -0
  57. package/dist/src/types/json-type.d.ts +8 -0
  58. package/dist/src/types/json-type.d.ts.map +1 -0
  59. package/dist/src/types/json-type.js +143 -0
  60. package/dist/src/types/json-type.js.map +1 -0
  61. package/dist/src/types/logical-type.d.ts +52 -0
  62. package/dist/src/types/logical-type.d.ts.map +1 -0
  63. package/dist/src/types/logical-type.js +34 -0
  64. package/dist/src/types/logical-type.js.map +1 -0
  65. package/dist/src/types/plugin-interface.d.ts +9 -0
  66. package/dist/src/types/plugin-interface.d.ts.map +1 -0
  67. package/dist/src/types/plugin-interface.js +2 -0
  68. package/dist/src/types/plugin-interface.js.map +1 -0
  69. package/dist/src/types/registry.d.ts +72 -0
  70. package/dist/src/types/registry.d.ts.map +1 -0
  71. package/dist/src/types/registry.js +168 -0
  72. package/dist/src/types/registry.js.map +1 -0
  73. package/dist/src/types/temporal-types.d.ts +17 -0
  74. package/dist/src/types/temporal-types.d.ts.map +1 -0
  75. package/dist/src/types/temporal-types.js +178 -0
  76. package/dist/src/types/temporal-types.js.map +1 -0
  77. package/dist/src/types/validation.d.ts +52 -0
  78. package/dist/src/types/validation.d.ts.map +1 -0
  79. package/dist/src/types/validation.js +96 -0
  80. package/dist/src/types/validation.js.map +1 -0
  81. package/dist/src/util/comparison.d.ts +24 -5
  82. package/dist/src/util/comparison.d.ts.map +1 -1
  83. package/dist/src/util/comparison.js +71 -9
  84. package/dist/src/util/comparison.js.map +1 -1
  85. package/dist/src/util/plugin-loader.d.ts.map +1 -1
  86. package/dist/src/util/plugin-loader.js +17 -0
  87. package/dist/src/util/plugin-loader.js.map +1 -1
  88. package/dist/src/vtab/manifest.d.ts +4 -0
  89. package/dist/src/vtab/manifest.d.ts.map +1 -1
  90. package/dist/src/vtab/memory/index.d.ts +1 -0
  91. package/dist/src/vtab/memory/index.d.ts.map +1 -1
  92. package/dist/src/vtab/memory/index.js +15 -4
  93. package/dist/src/vtab/memory/index.js.map +1 -1
  94. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  95. package/dist/src/vtab/memory/layer/manager.js +20 -2
  96. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  97. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  98. package/dist/src/vtab/memory/utils/primary-key.js +17 -12
  99. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  100. package/package.json +5 -4
  101. package/src/core/database.ts +24 -0
  102. package/src/func/builtins/conversion.ts +201 -0
  103. package/src/func/builtins/index.ts +20 -1
  104. package/src/func/builtins/json.ts +121 -0
  105. package/src/func/builtins/schema.ts +1 -1
  106. package/src/index.ts +35 -0
  107. package/src/runtime/emit/binary.ts +8 -2
  108. package/src/runtime/emit/constraint-check.ts +9 -1
  109. package/src/runtime/emit/insert.ts +4 -16
  110. package/src/runtime/emit/scalar-function.ts +27 -1
  111. package/src/runtime/emit/unary.ts +4 -1
  112. package/src/schema/column.ts +8 -1
  113. package/src/schema/function.ts +18 -0
  114. package/src/schema/table.ts +411 -398
  115. package/src/types/builtin-types.ts +350 -0
  116. package/src/types/index.ts +17 -0
  117. package/src/types/json-type.ts +152 -0
  118. package/src/types/logical-type.ts +75 -0
  119. package/src/types/plugin-interface.ts +10 -0
  120. package/src/types/registry.ts +200 -0
  121. package/src/types/temporal-types.ts +167 -0
  122. package/src/types/validation.ts +120 -0
  123. package/src/util/comparison.ts +87 -14
  124. package/src/util/plugin-loader.ts +19 -0
  125. package/src/vtab/manifest.ts +7 -1
  126. package/src/vtab/memory/index.ts +191 -178
  127. package/src/vtab/memory/layer/manager.ts +28 -2
  128. package/src/vtab/memory/utils/primary-key.ts +19 -14
package/README.md CHANGED
@@ -2,18 +2,19 @@
2
2
 
3
3
  <img src="docs/images/Quereus_colored_wide.svg" alt="Quereus Logo" height="150">
4
4
 
5
- Quereus is a feature-complete SQL query processor, inspired by SQLite but specifically designed for efficient in-memory data processing with a strong emphasis on the **virtual table** interface. It provides rich SQL query and constraint capabilities (joins, aggregates, subqueries, CTEs, window functions, constraints) over data sources exposed via the virtual table mechanism. Quereus has no persistent file storage, though one could be built as a virtual table module.
5
+ Quereus is a feature-complete SQL query processor specifically designed for efficient in-memory data processing with a strong emphasis on the **virtual table** interface. It provides rich SQL query and constraint capabilities (joins, aggregates, subqueries, CTEs, window functions, constraints) over data sources exposed via the virtual table mechanism. Quereus features a modern type system with temporal types, JSON support, and plugin-extensible custom types. It has no persistent file storage, though one could be built as a virtual table module.
6
6
 
7
7
  ## Project Goals
8
8
 
9
9
  * **Virtual Table Centric**: Provide a robust and flexible virtual table API as the primary means of interacting with data sources. All tables are virtual tables.
10
10
  * **In-Memory Focus**: Includes a comprehensive in-memory virtual table implementation (`MemoryTable`) with support for transactions and savepoints.
11
+ * **Modern Type System**: Extensible logical/physical type separation with built-in temporal types (DATE, TIME, DATETIME), native JSON type with deep equality comparison, and plugin support for custom types. See [Type System Documentation](docs/types.md).
11
12
  * **TypeScript & Modern JS**: Leverage TypeScript's type system and modern JavaScript features and idioms.
12
13
  * **Async VTab Operations**: Virtual table data operations (reads/writes) are asynchronous. Cursors are implemented as async iterables.
13
14
  * **Cross-Platform**: Target diverse Javascript runtime environments, including Node.js, browser, and React Native.
14
15
  * **Minimal Dependencies**: Avoid heavy external dependencies where possible.
15
16
  * **SQL Compatibility**: Comprehensive support for modern SQL features including joins, window functions, subqueries, CTEs, constraints, views, and advanced DML/DDL operations.
16
- * **Key-Based Addressing**: All tables are addressed by their defined Primary Key. The concept of a separate, implicit `rowid` for addressing rows is not used (similar to SQLite's `WITHOUT ROWID` tables being the default and only mode).
17
+ * **Key-Based Addressing**: All tables are addressed by their defined Primary Key. The concept of a separate, implicit `rowid` for addressing rows is not used.
17
18
  * **Third Manifesto Friendly**: Embraces some of the principles of the [Third Manifesto](https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf), such as allowing for empty keys. Utilizes algebraic planning.
18
19
 
19
20
  ## Architecture Overview
@@ -136,9 +137,33 @@ db.setInstructionTracer(null);
136
137
 
137
138
  The `CollectingInstructionTracer` captures detailed information about each instruction execution, including inputs, outputs, timing, and any sub-programs. This is particularly useful for performance analysis and debugging complex query plans.
138
139
 
140
+ ## Type Representations
141
+
142
+ Quereus uses native JavaScript types for SQL values. Understanding these mappings is essential when working with query results and parameters:
143
+
144
+ | SQL Type | JavaScript Type | Example |
145
+ |----------|----------------|---------|
146
+ | `NULL` | `null` | `null` |
147
+ | `INTEGER` | `number` or `bigint` | `42`, `9007199254740992n` |
148
+ | `REAL` | `number` | `3.14` |
149
+ | `TEXT` | `string` | `"hello"` |
150
+ | `BLOB` | `Uint8Array` | `new Uint8Array([1, 2, 3])` |
151
+ | Date/Time | `string` | `"2024-01-15"`, `"14:30:00"` |
152
+
153
+ **Important Notes:**
154
+ - **Dates and times are always strings** in ISO 8601 format (e.g., `date('now')` returns `"2024-01-15"`)
155
+ - **BLOBs are `Uint8Array`** typed arrays for binary data
156
+ - **Large integers use `bigint`** when they exceed JavaScript's safe integer range (±2^53 - 1)
157
+ - **Query results are objects** with column names as keys: `{ id: 1, name: "Alice" }`
158
+ - **Rows are internally arrays** (`SqlValue[]`) but the API returns objects for convenience
159
+ - **Results are async iterators** - use `for await` to stream rows without loading all into memory
160
+ - **Multi-statement `eval`** returns only the last statement's results
161
+
162
+ See the [Usage Guide](docs/usage.md#type-representations) for detailed information on type handling, row representation, async iteration, and best practices.
163
+
139
164
  ## Documentation
140
165
 
141
- * [Usage Guide](docs/usage.md): Detailed usage examples and API reference
166
+ * [Usage Guide](docs/usage.md): Detailed usage examples, type representations, and API reference
142
167
  * [SQL Reference Guide](docs/sql.md): Detailed SQL reference guide (includes Declarative Schema)
143
168
  * [Functions](docs/functions.md): Details on the built-in functions
144
169
  * [Window Function Architecture](docs/window-functions.md): Details on the window function architecture and implementation.
@@ -162,18 +187,16 @@ The `CollectingInstructionTracer` captures detailed information about each instr
162
187
  * **Bags vs Sets Distinction**: Explicit type-level distinction between relations that guarantee unique rows (sets) and those that allow duplicates (bags), enabling sophisticated optimizations and maintaining algebraic correctness in line with Third Manifesto principles.
163
188
  * **Attribute-Based Context System**: Robust column reference resolution using stable attribute IDs eliminates architectural fragilities and provides deterministic context lookup across plan transformations.
164
189
 
165
- ## Major variations from SQLite
190
+ ## Key Design Differences
191
+
192
+ While Quereus supports standard SQL syntax, it has several distinctive design choices:
166
193
 
167
- * Uses `CREATE TABLE ... USING module(...)` syntax (no CREATE VIRTUAL TABLE).
168
- * **Default NOT NULL Columns**: Following Third Manifesto principles, columns default to NOT NULL unless explicitly specified otherwise. This behavior can be controlled via `pragma default_column_nullability = 'nullable'` to restore SQL standard behavior. This design choice helps avoid the "billion-dollar mistake" of NULL by default.
169
- * `PRAGMA default_vtab_module` can be used.
170
- * Supports `ASC`/`DESC` qualifiers on PRIMARY KEY column definitions.
171
- * Async core execution.
172
- * **No Rowids / `WITHOUT ROWID` by Default**: All tables are addressed by their Primary Key, similar to SQLite's `WITHOUT ROWID` tables being the only mode. The `WITHOUT ROWID` clause is not used.
173
- * **Implicit Primary Key Behavior**: When no explicit PRIMARY KEY is defined, Quereus includes all columns in the primary key. This differs from SQLite which uses the first INTEGER column or an implicit rowid. This design choice ensures predictable behavior and avoids potential confusion with SQLite's implicit rules.
174
- * No plans for:
175
- * Triggers
176
- * Persistent file storage (can be a VTab module)
194
+ * **Modern Type System**: Uses logical/physical type separation instead of SQLite's type affinity model. Includes native temporal types (DATE, TIME, DATETIME) and JSON type with deep equality comparison. Conversion functions (`integer()`, `date()`, `json()`) are preferred over CAST syntax. See [Type System Documentation](docs/types.md).
195
+ * **Virtual Table Centric**: Uses `CREATE TABLE ... USING module(...)` syntax. All tables are virtual tables.
196
+ * **Default NOT NULL Columns**: Following Third Manifesto principles, columns default to NOT NULL unless explicitly specified otherwise. This behavior can be controlled via `pragma default_column_nullability = 'nullable'` to restore SQL standard behavior.
197
+ * **No Rowids**: All tables are addressed by their Primary Key. When no explicit PRIMARY KEY is defined, Quereus includes all columns in the primary key.
198
+ * **Async API**: Core execution is asynchronous with async/await patterns throughout.
199
+ * **No Triggers or Built-in Persistence**: Persistent storage can be implemented as a VTab module.
177
200
 
178
201
  ### Row-Level Constraints
179
202
 
@@ -185,9 +208,10 @@ The `CollectingInstructionTracer` captures detailed information about each instr
185
208
  Quereus is a feature-complete SQL query processor with a modern planner and instruction-based runtime architecture. The engine successfully handles complex SQL workloads including joins, window functions, subqueries, CTEs, constraints, and comprehensive DML/DDL operations.
186
209
 
187
210
  **Current capabilities include:**
211
+ * **Modern Type System** - Temporal types (DATE, TIME, DATETIME), JSON with deep equality, plugin-extensible custom types
188
212
  * **Complete JOIN support** - INNER, LEFT, RIGHT, CROSS joins with proper NULL padding
189
213
  * **Advanced window functions** - Ranking, aggregates, and frame specifications
190
- * **Full constraint system** - NOT NULL, CHECK constraints with operation-specific triggers
214
+ * **Full constraint system** - NOT NULL, CHECK constraints with operation-specific triggers
191
215
  * **Comprehensive subqueries** - Scalar, correlated, EXISTS, and IN subqueries
192
216
  * **Relational orthogonality** - INSERT/UPDATE/DELETE with RETURNING can be used as table sources
193
217
  * **Complete set operations** - UNION, INTERSECT, EXCEPT with proper deduplication
@@ -257,7 +281,7 @@ This layered approach aims for broad coverage via the logic tests while using pr
257
281
  * **Aggregate:** `count`, `sum`, `avg`, `min`, `max`, `group_concat`, `json_group_array`, `json_group_object`
258
282
  * **Window Functions:** Complete implementation with `row_number`, `rank`, `dense_rank`, `ntile` (ranking); `count`, `sum`, `avg`, `min`, `max` with OVER clause (aggregates); Full frame specification support (`ROWS BETWEEN`, `UNBOUNDED PRECEDING/FOLLOWING`); `NULLS FIRST/LAST` ordering
259
283
  * **Date/Time:** `date`, `time`, `datetime`, `julianday`, `strftime` (supports common formats and modifiers)
260
- * **JSON:** `json_valid`, `json_type`, `json_extract`, `json_quote`, `json_array`, `json_object`, `json_insert`, `json_replace`, `json_set`, `json_remove`, `json_array_length`, `json_patch`
284
+ * **JSON:** `json_valid`, `json_schema`, `json_type`, `json_extract`, `json_quote`, `json_array`, `json_object`, `json_insert`, `json_replace`, `json_set`, `json_remove`, `json_array_length`, `json_patch`
261
285
  * **Query Analysis:** `query_plan`, `scheduler_program`, `execution_trace` (debugging and performance analysis)
262
286
 
263
287
 
@@ -14,6 +14,7 @@ import { Optimizer } from '../planner/optimizer.js';
14
14
  import { DatabaseOptionsManager } from './database-options.js';
15
15
  import type { InstructionTracer } from '../runtime/types.js';
16
16
  import { DeclaredSchemaManager } from '../schema/declared-schema-manager.js';
17
+ import { type LogicalType } from '../types/logical-type.js';
17
18
  /**
18
19
  * Represents a connection to an Quereus database (in-memory in this port).
19
20
  * Manages schema, prepared statements, virtual tables, and functions.
@@ -155,6 +156,23 @@ export declare class Database {
155
156
  * // SELECT * FROM contacts ORDER BY phone COLLATE PHONENUMBER;
156
157
  */
157
158
  registerCollation(name: string, func: CollationFunction): void;
159
+ /**
160
+ * Registers a custom logical type.
161
+ * @param name The name of the type (case-insensitive).
162
+ * @param definition The LogicalType implementation.
163
+ * @example
164
+ * // Example: Create a custom UUID type
165
+ * db.registerType('UUID', {
166
+ * name: 'UUID',
167
+ * physicalType: PhysicalType.TEXT,
168
+ * validate: (v) => typeof v === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v),
169
+ * parse: (v) => typeof v === 'string' ? v.toLowerCase() : v,
170
+ * });
171
+ *
172
+ * // Then use it in SQL:
173
+ * // CREATE TABLE users (id UUID PRIMARY KEY, name TEXT);
174
+ */
175
+ registerType(name: string, definition: LogicalType): void;
158
176
  /**
159
177
  * Sets the instruction tracer for this database.
160
178
  * The tracer will be used for all statement executions.
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAwF,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAErJ,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,OAAO,EAAE,QAAQ,EAAgD,MAAM,+BAA+B,CAAC;AAMvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAkB,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAO5D;;;GAGG;AACH,qBAAa,QAAQ;IACpB,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,qBAAqB,CAAS;IACtC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,OAAO,EAAE,sBAAsB,CAAC;IAChD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,8EAA8E;IAC9E,OAAO,CAAC,SAAS,CAAuC;IACxD,2CAA2C;IAC3C,OAAO,CAAC,eAAe,CAAuC;IAC9D,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqC;;IA4HzE;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IA8CzB,IAAI,CACT,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAKxF;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B;;OAEG;IACH,aAAa,IAAI,OAAO;IAKxB;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAS1C;;;;;;OAMG;IACH,oBAAoB,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,EACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,QAAQ,GACrC,IAAI;IAmBP;;;;;;;OAOG;IACH,uBAAuB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,OAAO,EACxD,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GACnC,IAAI;IAmBP;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAU9C,gDAAgD;IAChD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKtC,sCAAsC;IACtC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI;IAWxD;;;OAGG;IACH,oBAAoB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAAE;IAKxE;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlC,uCAAuC;IACvC,OAAO,CAAC,qBAAqB;IAI7B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAM9D;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAOzD;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAKjE;;;OAGG;IACH,oBAAoB,IAAI,iBAAiB,GAAG,SAAS;IASrD,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB;IAKzB,iEAAiE;IACjE,OAAO,CAAC,SAAS;IASV,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,aAAa,GAAG,IAAI;IAUxO,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BvD,wDAAwD;IACjD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI1D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI1D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQrF,gCAAgC;IACzB,oBAAoB,IAAI,IAAI;IAK5B,uBAAuB,IAAI,IAAI;IAM/B,sBAAsB,IAAI,IAAI;IAarC,OAAO,CAAC,oBAAoB;IAUrB,eAAe,IAAI,IAAI;IAM9B;;;OAGG;IACI,4BAA4B,IAAI,IAAI;IAK3C;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAKzC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAwCtG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,QAAQ;IA2BjD;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAkB7G;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS;IA8HzD;;;OAGG;YACW,wBAAwB;IAgBtC,OAAO,CAAC,SAAS;IAIjB;;OAEG;YACW,wBAAwB;IAqBtC;;OAEG;YACW,yBAAyB;IAuC1B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YA4EnC,oBAAoB;YAWpB,4BAA4B;YAwB5B,sCAAsC;IAoDpD,qHAAqH;YACvG,8BAA8B;IAqD5C,kEAAkE;IAClE,OAAO,CAAC,mBAAmB;IAa3B,sHAAsH;IACtH,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,2BAA2B;IAsBzC,OAAO,CAAC,4BAA4B;CAGpC"}
@@ -478,6 +478,28 @@ export class Database {
478
478
  registerCollation(name, func);
479
479
  log('Registered collation: %s', name);
480
480
  }
481
+ /**
482
+ * Registers a custom logical type.
483
+ * @param name The name of the type (case-insensitive).
484
+ * @param definition The LogicalType implementation.
485
+ * @example
486
+ * // Example: Create a custom UUID type
487
+ * db.registerType('UUID', {
488
+ * name: 'UUID',
489
+ * physicalType: PhysicalType.TEXT,
490
+ * validate: (v) => typeof v === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v),
491
+ * parse: (v) => typeof v === 'string' ? v.toLowerCase() : v,
492
+ * });
493
+ *
494
+ * // Then use it in SQL:
495
+ * // CREATE TABLE users (id UUID PRIMARY KEY, name TEXT);
496
+ */
497
+ registerType(name, definition) {
498
+ this.checkOpen();
499
+ const { registerType } = require('../types/registry.js');
500
+ registerType(name, definition);
501
+ log('Registered type: %s', name);
502
+ }
481
503
  /**
482
504
  * Sets the instruction tracer for this database.
483
505
  * The tracer will be used for all statement executions.
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * integer() - Convert value to INTEGER
3
+ * Usage: integer(value)
4
+ */
5
+ export declare const INTEGER_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
6
+ /**
7
+ * real() - Convert value to REAL
8
+ * Usage: real(value)
9
+ */
10
+ export declare const REAL_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
11
+ /**
12
+ * text() - Convert value to TEXT
13
+ * Usage: text(value)
14
+ */
15
+ export declare const TEXT_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
16
+ /**
17
+ * boolean() - Convert value to BOOLEAN
18
+ * Usage: boolean(value)
19
+ */
20
+ export declare const BOOLEAN_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
21
+ /**
22
+ * date() - Convert value to DATE
23
+ * Usage: date(value)
24
+ *
25
+ * Note: This replaces the existing date() function in datetime.ts
26
+ * The old date() function will be renamed to date_now() or similar
27
+ */
28
+ export declare const DATE_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
29
+ /**
30
+ * time() - Convert value to TIME
31
+ * Usage: time(value)
32
+ *
33
+ * Note: This replaces the existing time() function in datetime.ts
34
+ */
35
+ export declare const TIME_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
36
+ /**
37
+ * datetime() - Convert value to DATETIME
38
+ * Usage: datetime(value)
39
+ *
40
+ * Note: This replaces the existing datetime() function in datetime.ts
41
+ */
42
+ export declare const DATETIME_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
43
+ /**
44
+ * json() - Convert value to JSON
45
+ * Usage: json(value)
46
+ *
47
+ * Converts a value to a JSON string. If the value is already a valid JSON string,
48
+ * it normalizes it. Otherwise, it converts the value to JSON representation.
49
+ */
50
+ export declare const JSON_FUNC: import("../../schema/function.js").ScalarFunctionSchema;
51
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAuBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,yDAuBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,yDAmBzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC"}
@@ -0,0 +1,152 @@
1
+ import { createScalarFunction } from '../registration.js';
2
+ import { QuereusError } from '../../common/errors.js';
3
+ import { StatusCode } from '../../common/types.js';
4
+ import { INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BOOLEAN_TYPE } from '../../types/builtin-types.js';
5
+ import { DATE_TYPE, TIME_TYPE, DATETIME_TYPE } from '../../types/temporal-types.js';
6
+ import { JSON_TYPE } from '../../types/json-type.js';
7
+ /**
8
+ * integer() - Convert value to INTEGER
9
+ * Usage: integer(value)
10
+ */
11
+ export const INTEGER_FUNC = createScalarFunction({ name: 'integer', numArgs: 1, deterministic: true }, (value) => {
12
+ if (value === null)
13
+ return null;
14
+ try {
15
+ return INTEGER_TYPE.parse(value);
16
+ }
17
+ catch (e) {
18
+ throw new QuereusError(`Cannot convert to INTEGER: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
19
+ }
20
+ });
21
+ /**
22
+ * real() - Convert value to REAL
23
+ * Usage: real(value)
24
+ */
25
+ export const REAL_FUNC = createScalarFunction({ name: 'real', numArgs: 1, deterministic: true }, (value) => {
26
+ if (value === null)
27
+ return null;
28
+ try {
29
+ return REAL_TYPE.parse(value);
30
+ }
31
+ catch (e) {
32
+ throw new QuereusError(`Cannot convert to REAL: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
33
+ }
34
+ });
35
+ /**
36
+ * text() - Convert value to TEXT
37
+ * Usage: text(value)
38
+ */
39
+ export const TEXT_FUNC = createScalarFunction({ name: 'text', numArgs: 1, deterministic: true }, (value) => {
40
+ if (value === null)
41
+ return null;
42
+ try {
43
+ return TEXT_TYPE.parse(value);
44
+ }
45
+ catch (e) {
46
+ throw new QuereusError(`Cannot convert to TEXT: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
47
+ }
48
+ });
49
+ /**
50
+ * boolean() - Convert value to BOOLEAN
51
+ * Usage: boolean(value)
52
+ */
53
+ export const BOOLEAN_FUNC = createScalarFunction({ name: 'boolean', numArgs: 1, deterministic: true }, (value) => {
54
+ if (value === null)
55
+ return null;
56
+ try {
57
+ return BOOLEAN_TYPE.parse(value);
58
+ }
59
+ catch (e) {
60
+ throw new QuereusError(`Cannot convert to BOOLEAN: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
61
+ }
62
+ });
63
+ /**
64
+ * date() - Convert value to DATE
65
+ * Usage: date(value)
66
+ *
67
+ * Note: This replaces the existing date() function in datetime.ts
68
+ * The old date() function will be renamed to date_now() or similar
69
+ */
70
+ export const DATE_FUNC = createScalarFunction({ name: 'date', numArgs: 1, deterministic: false }, // 'now' is non-deterministic
71
+ (value) => {
72
+ if (value === null)
73
+ return null;
74
+ // Special case: 'now' returns current date
75
+ if (value === 'now') {
76
+ const now = new Date();
77
+ const year = now.getUTCFullYear();
78
+ const month = String(now.getUTCMonth() + 1).padStart(2, '0');
79
+ const day = String(now.getUTCDate()).padStart(2, '0');
80
+ return `${year}-${month}-${day}`;
81
+ }
82
+ try {
83
+ return DATE_TYPE.parse(value);
84
+ }
85
+ catch (e) {
86
+ throw new QuereusError(`Cannot convert to DATE: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
87
+ }
88
+ });
89
+ /**
90
+ * time() - Convert value to TIME
91
+ * Usage: time(value)
92
+ *
93
+ * Note: This replaces the existing time() function in datetime.ts
94
+ */
95
+ export const TIME_FUNC = createScalarFunction({ name: 'time', numArgs: 1, deterministic: false }, // 'now' is non-deterministic
96
+ (value) => {
97
+ if (value === null)
98
+ return null;
99
+ // Special case: 'now' returns current time
100
+ if (value === 'now') {
101
+ const now = new Date();
102
+ const hours = String(now.getUTCHours()).padStart(2, '0');
103
+ const minutes = String(now.getUTCMinutes()).padStart(2, '0');
104
+ const seconds = String(now.getUTCSeconds()).padStart(2, '0');
105
+ return `${hours}:${minutes}:${seconds}`;
106
+ }
107
+ try {
108
+ return TIME_TYPE.parse(value);
109
+ }
110
+ catch (e) {
111
+ throw new QuereusError(`Cannot convert to TIME: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
112
+ }
113
+ });
114
+ /**
115
+ * datetime() - Convert value to DATETIME
116
+ * Usage: datetime(value)
117
+ *
118
+ * Note: This replaces the existing datetime() function in datetime.ts
119
+ */
120
+ export const DATETIME_FUNC = createScalarFunction({ name: 'datetime', numArgs: 1, deterministic: false }, // 'now' is non-deterministic
121
+ (value) => {
122
+ if (value === null)
123
+ return null;
124
+ // Special case: 'now' returns current datetime
125
+ if (value === 'now') {
126
+ return new Date().toISOString();
127
+ }
128
+ try {
129
+ return DATETIME_TYPE.parse(value);
130
+ }
131
+ catch (e) {
132
+ throw new QuereusError(`Cannot convert to DATETIME: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
133
+ }
134
+ });
135
+ /**
136
+ * json() - Convert value to JSON
137
+ * Usage: json(value)
138
+ *
139
+ * Converts a value to a JSON string. If the value is already a valid JSON string,
140
+ * it normalizes it. Otherwise, it converts the value to JSON representation.
141
+ */
142
+ export const JSON_FUNC = createScalarFunction({ name: 'json', numArgs: 1, deterministic: true }, (value) => {
143
+ if (value === null)
144
+ return 'null';
145
+ try {
146
+ return JSON_TYPE.parse(value);
147
+ }
148
+ catch (e) {
149
+ throw new QuereusError(`Cannot convert to JSON: ${e instanceof Error ? e.message : String(e)}`, StatusCode.MISMATCH);
150
+ }
151
+ });
152
+ //# sourceMappingURL=conversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAa/D,eAAO,MAAM,iBAAiB,EAAE,cAAc,EA6F7C,CAAC;AAGF,OAAO,EACN,oBAAoB,EACpB,yBAAyB,EACzB,mCAAmC,IAAI,sCAAsC,EAC7E,uBAAuB,GACvB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAc/D,eAAO,MAAM,iBAAiB,EAAE,cAAc,EA+G7C,CAAC;AAGF,OAAO,EACN,oBAAoB,EACpB,yBAAyB,EACzB,mCAAmC,IAAI,sCAAsC,EAC7E,uBAAuB,GACvB,MAAM,oBAAoB,CAAC"}