flatsql 0.3.9 → 0.4.2

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.
package/README.md CHANGED
@@ -72,6 +72,15 @@ FlatBuffer → Query (via virtual table) → FlatBuffer
72
72
  - **Portable output** — Exported data is standard FlatBuffers, readable by any tooling
73
73
  - **Multi-source federation** — Query across multiple FlatBuffer sources with automatic source tagging
74
74
 
75
+ ## Runtime Choices & Performance Gates
76
+
77
+ - Production should prefer the SQLite-backed native/WASM path (`initFlatSQL` → `FlatSQL` → `createDatabase`). The pure TypeScript `FlatSQLDatabase` is preserved only as an explicit fallback/reference implementation for environments that cannot load the WASM module.
78
+ - Use `db.ingestBuffers([...])` on the WASM path when your input is already a set of raw FlatBuffers. It feeds the native bulk-stream ingest path instead of looping through `ingestOne(...)`.
79
+ - Run `npm run bench` (alias `npm run bench:perf`) as the single-command benchmark matrix for FlatSQL JS vs FlatSQL WASM. Use `npm run bench:perf:profile` to print the WASM ingest phase breakdown (`pack`, `decode`, `append`, `index`, `verify`) alongside the gate table.
80
+ Profiling mode is diagnostic and includes instrumentation overhead; use the non-profile benchmark for merge-gate decisions.
81
+ - Run `npm run test:cluster` for the native WAL-backed cluster validation workload, or `npm run test:cluster:smoke` for the short preflight run.
82
+
83
+
75
84
  ## Source Code
76
85
 
77
86
  | Repository | Description |
@@ -111,6 +120,12 @@ db.enableDemoExtractors();
111
120
  // Format: [4-byte size LE][FlatBuffer][4-byte size LE][FlatBuffer]...
112
121
  db.ingest(streamData);
113
122
 
123
+ // Or ingest pre-built FlatBuffers directly through the bulk path.
124
+ db.ingestBuffers([
125
+ flatsql.createTestUser(1, 'Alice', 'alice@example.com', 30),
126
+ flatsql.createTestUser(2, 'Bob', 'bob@example.com', 25),
127
+ ]);
128
+
114
129
  // Query with SQL
115
130
  const result = db.query('SELECT id, name, email FROM User WHERE age > 25');
116
131
  console.log(result.columns); // ['id', 'name', 'email']
@@ -159,6 +174,19 @@ console.log(result.rows);
159
174
  const exported = db.exportData();
160
175
  ```
161
176
 
177
+ ### Cluster Runtime Detection
178
+
179
+ Use the runtime guard helpers before attempting browser cluster mode:
180
+
181
+ ```typescript
182
+ import { detectClusterEnvironment, isClusterModeSupported } from 'flatsql';
183
+
184
+ const env = detectClusterEnvironment();
185
+ if (!isClusterModeSupported(env)) {
186
+ throw new Error('Cluster mode unsupported on this runtime');
187
+ }
188
+ ```
189
+
162
190
  ### Native C++ (Embedded)
163
191
 
164
192
  For performance-critical applications, link the C++ library directly:
@@ -207,6 +235,11 @@ for (size_t i = 0; i < result.rowCount(); i++) {
207
235
  └─────────────────────────────────────────────────────────────┘
208
236
  ```
209
237
 
238
+ ## Schema Joins & References
239
+
240
+ - JSON schemas that reference other definitions now produce explicit ``From_Target_join`` tables with `{FromRowId, TargetRowId}` columns.
241
+ - This keeps referenced schemas in the same normalized storage layer so queries can `JOIN` the virtual tables instead of embedding opaque JSON blobs.
242
+
210
243
  ### Stream Format
211
244
 
212
245
  FlatSQL ingests size-prefixed FlatBuffer streams:
@@ -217,6 +250,106 @@ FlatSQL ingests size-prefixed FlatBuffer streams:
217
250
 
218
251
  The 4-byte file identifier in each FlatBuffer determines which table receives the record.
219
252
 
253
+ ## Spatial Extensions
254
+
255
+ FlatSQL includes a full spatial computation engine with SpatiaLite-compatible functions, polygon boolean operations, Voronoi/Delaunay tessellation, and coordinate transforms.
256
+
257
+ ### Spatial SQL Functions
258
+
259
+ | Category | Functions |
260
+ |----------|-----------|
261
+ | **Point ops** | `geo_distance`, `geo_bearing`, `geo_destination`, `geo_midpoint`, `geo_area_bbox`, `geo_within_radius`, `geo_bbox_contains` |
262
+ | **Geohash** | `geo_geohash_encode`, `geo_geohash_decode_lat`, `geo_geohash_decode_lon` |
263
+ | **Geometry I/O** | `geo_from_text` (WKT→blob), `geo_as_text` (blob→WKT), `geo_from_geojson`, `geo_as_geojson` |
264
+ | **Predicates** | `geo_contains` (point-in-polygon, ray casting with hole support) |
265
+ | **Boolean ops** | `geo_intersection`, `geo_union`, `geo_difference`, `geo_sym_difference`, `geo_buffer` |
266
+ | **Analysis** | `geo_area_geom`, `geo_centroid`, `geo_length_geom`, `geo_envelope`, `geo_convex_hull` |
267
+ | **Voronoi/Delaunay** | `geo_voronoi`, `geo_delaunay` |
268
+ | **Coord transforms** | `geo_to_ecef` (WGS84→ECEF), `geo_from_ecef` (ECEF→WGS84) |
269
+
270
+ ### Examples
271
+
272
+ ```sql
273
+ -- Distance between NYC and DC (~328 km)
274
+ SELECT geo_distance(40.7128, -74.0060, 38.9072, -77.0369);
275
+
276
+ -- Bearing from NYC to LA
277
+ SELECT geo_bearing(40.7128, -74.0060, 34.0522, -118.2437);
278
+
279
+ -- Geohash encode/decode
280
+ SELECT geo_geohash_encode(42.6, -5.6, 5); -- 'ezs42'
281
+
282
+ -- Point-in-polygon
283
+ SELECT geo_contains('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 5, 5); -- 1
284
+
285
+ -- Polygon intersection (accepts WKT or blob)
286
+ SELECT geo_as_text(geo_intersection(
287
+ 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))',
288
+ 'POLYGON((5 5, 15 5, 15 15, 5 15, 5 5))'
289
+ ));
290
+
291
+ -- WGS84 to ECEF coordinate transform
292
+ SELECT geo_to_ecef(48.8566, 2.3522, 35); -- '4200952.xxx,172458.xxx,4780111.xxx'
293
+
294
+ -- Voronoi diagram
295
+ SELECT geo_as_text(geo_voronoi(
296
+ 'MULTIPOINT((0 0), (10 0), (10 10), (0 10))',
297
+ 'POLYGON((-5 -5, 15 -5, 15 15, -5 15, -5 -5))'
298
+ ));
299
+ ```
300
+
301
+ ### R-Tree Spatial Indexing
302
+
303
+ FlatSQL automatically creates R-Tree shadow tables for spatial columns during ingest. Spatial columns are detected by:
304
+ - **Convention**: columns named `latitude`/`lat` + `longitude`/`lon`/`lng`
305
+ - **Schema attribute**: fields marked with `(spatial)` in FlatBuffers IDL
306
+
307
+ ```sql
308
+ -- R-Tree pre-filter + precise radius check (72x faster than full scan)
309
+ SELECT p.* FROM points p
310
+ INNER JOIN _rtree_points r ON p.rowid = r.id
311
+ WHERE r.minLat >= 36.2 AND r.maxLat <= 45.2
312
+ AND r.minLon >= -80 AND r.maxLon <= -68
313
+ AND geo_within_radius(40.7, -74.0, p.lat, p.lon, 500) = 1;
314
+ ```
315
+
316
+ ### Spatial Performance
317
+
318
+ | Operation | Throughput | Latency |
319
+ |-----------|-----------|---------|
320
+ | Point operations (distance, bearing) | 733K–1.07M ops/sec | ~1 µs |
321
+ | Geohash encode/decode | 631K–746K ops/sec | ~1.4 µs |
322
+ | Point-in-polygon | 127K–255K ops/sec | ~4 µs |
323
+ | Polygon intersection | 81K ops/sec | ~12 µs |
324
+ | Voronoi (4 sites) | 34K ops/sec | ~29 µs |
325
+ | Coordinate transforms | 556K–609K ops/sec | ~1.7 µs |
326
+ | R-Tree bbox query (10K records) | 77K ops/sec | ~13 µs |
327
+ | R-Tree vs full scan speedup | **58–72x** | |
328
+
329
+ ### Space Data Module (SDM)
330
+
331
+ FlatSQL Spatial is also available as a standalone WASM module compliant with the [Space Data Module SDK](https://github.com/DigitalArsenal/space-data-module-sdk):
332
+
333
+ ```javascript
334
+ import { initSpatialSDM } from 'flatsql/sdm';
335
+
336
+ const sdm = await initSpatialSDM();
337
+
338
+ // Read the embedded manifest
339
+ console.log(sdm.getManifest().pluginId);
340
+ // → 'com.digitalarsenal.flatsql.spatial'
341
+
342
+ // Compute distance
343
+ const km = sdm.computeDistance(40.7128, -74.006, 38.9072, -77.0369);
344
+
345
+ // Point-in-polygon
346
+ const inside = sdm.pointInPolygon('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 5, 5);
347
+
348
+ // Coordinate transform
349
+ const ecef = sdm.toECEF(48.8566, 2.3522, 35);
350
+ const back = sdm.fromECEF(ecef.x, ecef.y, ecef.z);
351
+ ```
352
+
220
353
  ## SQL Support
221
354
 
222
355
  ### Supported
@@ -0,0 +1,11 @@
1
+ export interface ClusterEnvironment {
2
+ hasSharedArrayBuffer: boolean;
3
+ hasAtomics: boolean;
4
+ hasCrossOriginIsolation: boolean;
5
+ hasOpfs: boolean;
6
+ }
7
+ export declare function detectClusterEnvironment(): ClusterEnvironment;
8
+ export declare function isClusterModeSupported(env?: ClusterEnvironment): boolean;
9
+ export declare function describeClusterSupport(env?: ClusterEnvironment): string;
10
+ export declare function ensureClusterModeSupported(env?: ClusterEnvironment): void;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cluster/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AA2BD,wBAAgB,wBAAwB,IAAI,kBAAkB,CAO7D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,kBAA+C,GAAG,OAAO,CAOpG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,kBAA+C,GAAG,MAAM,CAoBnG;AAED,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,kBAA+C,GAAG,IAAI,CAIrG"}
@@ -0,0 +1,59 @@
1
+ function detectSharedArrayBuffer() {
2
+ return typeof SharedArrayBuffer !== 'undefined';
3
+ }
4
+ function detectAtomics() {
5
+ return typeof Atomics !== 'undefined';
6
+ }
7
+ function detectCrossOriginIsolation() {
8
+ const globalAny = globalThis;
9
+ return globalAny.crossOriginIsolated === true;
10
+ }
11
+ function detectOpfs() {
12
+ if (typeof navigator !== 'undefined') {
13
+ const storageManager = navigator.storage;
14
+ if (storageManager && typeof storageManager.getDirectory === 'function') {
15
+ return true;
16
+ }
17
+ }
18
+ const globalAny = globalThis;
19
+ return typeof globalAny.originPrivateFileSystem === 'object' && globalAny.originPrivateFileSystem !== null;
20
+ }
21
+ export function detectClusterEnvironment() {
22
+ return {
23
+ hasSharedArrayBuffer: detectSharedArrayBuffer(),
24
+ hasAtomics: detectAtomics(),
25
+ hasCrossOriginIsolation: detectCrossOriginIsolation(),
26
+ hasOpfs: detectOpfs(),
27
+ };
28
+ }
29
+ export function isClusterModeSupported(env = detectClusterEnvironment()) {
30
+ return (env.hasSharedArrayBuffer &&
31
+ env.hasAtomics &&
32
+ env.hasCrossOriginIsolation &&
33
+ env.hasOpfs);
34
+ }
35
+ export function describeClusterSupport(env = detectClusterEnvironment()) {
36
+ const missing = [];
37
+ if (!env.hasSharedArrayBuffer) {
38
+ missing.push('SharedArrayBuffer');
39
+ }
40
+ if (!env.hasAtomics) {
41
+ missing.push('Atomics');
42
+ }
43
+ if (!env.hasCrossOriginIsolation) {
44
+ missing.push('cross-origin isolation');
45
+ }
46
+ if (!env.hasOpfs) {
47
+ missing.push('OPFS');
48
+ }
49
+ if (missing.length === 0) {
50
+ return 'Cluster mode supported on this runtime';
51
+ }
52
+ return `Cluster mode unsupported: missing ${missing.join(', ')}`;
53
+ }
54
+ export function ensureClusterModeSupported(env = detectClusterEnvironment()) {
55
+ if (!isClusterModeSupported(env)) {
56
+ throw new Error(describeClusterSupport(env));
57
+ }
58
+ }
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cluster/index.ts"],"names":[],"mappings":"AAWA,SAAS,uBAAuB;IAC9B,OAAO,OAAO,iBAAiB,KAAK,WAAW,CAAC;AAClD,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,OAAO,KAAK,WAAW,CAAC;AACxC,CAAC;AAED,SAAS,0BAA0B;IACjC,MAAM,SAAS,GAAG,UAAmE,CAAC;IACtF,OAAO,SAAS,CAAC,mBAAmB,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAkD,CAAC;QACpF,IAAI,cAAc,IAAI,OAAO,cAAc,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,UAAuE,CAAC;IAC1F,OAAO,OAAO,SAAS,CAAC,uBAAuB,KAAK,QAAQ,IAAI,SAAS,CAAC,uBAAuB,KAAK,IAAI,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,oBAAoB,EAAE,uBAAuB,EAAE;QAC/C,UAAU,EAAE,aAAa,EAAE;QAC3B,uBAAuB,EAAE,0BAA0B,EAAE;QACrD,OAAO,EAAE,UAAU,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA0B,wBAAwB,EAAE;IACzF,OAAO,CACL,GAAG,CAAC,oBAAoB;QACxB,GAAG,CAAC,UAAU;QACd,GAAG,CAAC,uBAAuB;QAC3B,GAAG,CAAC,OAAO,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA0B,wBAAwB,EAAE;IACzF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAED,OAAO,qCAAqC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAA0B,wBAAwB,EAAE;IAC7F,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './btree/index.js';
2
2
  export * from './storage/index.js';
3
3
  export * from './schema/index.js';
4
4
  export * from './core/index.js';
5
+ export * from './cluster/index.js';
5
6
  export * from './flatbuffer-accessor.js';
6
7
  export { FlatSQLDatabase, QueryResult, FlatBufferAccessor } from './core/database.js';
7
8
  export { TableStore, TableRecord } from './core/table-store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './btree/index.js';
4
4
  export * from './storage/index.js';
5
5
  export * from './schema/index.js';
6
6
  export * from './core/index.js';
7
+ export * from './cluster/index.js';
7
8
  export * from './flatbuffer-accessor.js';
8
9
  // Re-export main types for convenience
9
10
  export { FlatSQLDatabase } from './core/database.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sEAAsE;AAEtE,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AAEzC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAmC,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAuC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sEAAsE;AAEtE,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AAEzC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAmC,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAuC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/schema/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,cAAc,EAA8B,MAAM,YAAY,CAAC;AAqH7F,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA2H/D;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAuI5D;AAaD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAuEnG;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,cAAc,CAiBpF"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/schema/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,cAAc,EAA8B,MAAM,YAAY,CAAC;AAsI7F,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAsCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA2H/D;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA2K5D;AAaD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAuEnG;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,cAAc,CAiBpF"}
@@ -71,9 +71,6 @@ function isValidJSONSchema(value) {
71
71
  }
72
72
  return true;
73
73
  }
74
- /**
75
- * Type guard to check if a value is a valid property definition.
76
- */
77
74
  function isValidPropertyDef(value) {
78
75
  if (value === null || typeof value !== 'object') {
79
76
  return false;
@@ -82,8 +79,46 @@ function isValidPropertyDef(value) {
82
79
  if (obj.type !== undefined && typeof obj.type !== 'string') {
83
80
  return false;
84
81
  }
82
+ if (obj.items !== undefined) {
83
+ if (typeof obj.items !== 'object' || obj.items === null) {
84
+ return false;
85
+ }
86
+ const items = obj.items;
87
+ if (items.type !== undefined && typeof items.type !== 'string') {
88
+ return false;
89
+ }
90
+ }
91
+ if (obj.$ref !== undefined && typeof obj.$ref !== 'string') {
92
+ return false;
93
+ }
85
94
  return true;
86
95
  }
96
+ const REF_PATTERN = /^#\/(?:(?:definitions)|(?:\$defs))\/(.+)$/;
97
+ function parseJsonRef(ref) {
98
+ const match = REF_PATTERN.exec(ref);
99
+ return match ? match[1] : null;
100
+ }
101
+ function applyJoinTables(parsed, joinRefs) {
102
+ const seen = new Set();
103
+ for (const ref of joinRefs) {
104
+ const target = ref.targetTable;
105
+ if (!target)
106
+ continue;
107
+ const joinName = `${ref.fromTable}_${target}_join`;
108
+ if (seen.has(joinName))
109
+ continue;
110
+ seen.add(joinName);
111
+ parsed.tables.push({
112
+ name: joinName,
113
+ namespace: '',
114
+ fields: [
115
+ { name: `${ref.fromTable}RowId`, type: 'uint64', isVector: false, defaultValue: undefined, attributes: ['required'] },
116
+ { name: `${target}RowId`, type: 'uint64', isVector: false, defaultValue: undefined, attributes: ['required'] },
117
+ ],
118
+ isStruct: false,
119
+ });
120
+ }
121
+ }
87
122
  // Parse FlatBuffer IDL schema
88
123
  export function parseFlatBufferIDL(source) {
89
124
  const result = {
@@ -205,6 +240,7 @@ export function parseJSONSchema(source) {
205
240
  tables: [],
206
241
  enums: new Map(),
207
242
  };
243
+ const joinReferences = [];
208
244
  // Handle top-level object as a table
209
245
  if (schema.type === 'object' && schema.properties) {
210
246
  const tableName = schema.title || 'Root';
@@ -223,6 +259,10 @@ export function parseJSONSchema(source) {
223
259
  const prop = propDef;
224
260
  let type = 'string';
225
261
  let isVector = false;
262
+ let refTarget = null;
263
+ if (typeof prop.$ref === 'string') {
264
+ refTarget = parseJsonRef(prop.$ref);
265
+ }
226
266
  if (prop.type === 'integer') {
227
267
  type = 'int64';
228
268
  }
@@ -243,18 +283,27 @@ export function parseJSONSchema(source) {
243
283
  // Nested object - will be stored as BLOB (serialized FlatBuffer)
244
284
  type = propName;
245
285
  }
286
+ if (refTarget) {
287
+ type = 'uint64';
288
+ isVector = false;
289
+ joinReferences.push({ fromTable: tableName, columnName: propName, targetTable: refTarget });
290
+ }
246
291
  // Handle enums
247
292
  if (prop.enum && Array.isArray(prop.enum)) {
248
293
  const enumValues = prop.enum.filter((v) => typeof v === 'string');
249
294
  result.enums.set(propName + 'Enum', enumValues);
250
295
  type = propName + 'Enum';
251
296
  }
297
+ const attributes = prop.required ? ['required'] : [];
298
+ if (refTarget) {
299
+ attributes.push('indexed');
300
+ }
252
301
  fields.push({
253
302
  name: propName,
254
303
  type,
255
304
  isVector,
256
305
  defaultValue: prop.default,
257
- attributes: prop.required ? ['required'] : [],
306
+ attributes,
258
307
  });
259
308
  }
260
309
  result.tables.push({
@@ -292,15 +341,30 @@ export function parseJSONSchema(source) {
292
341
  }
293
342
  const prop = propDef;
294
343
  let type = jsonTypeToFB(prop.type || 'string');
295
- const isVector = prop.type === 'array';
344
+ let isVector = prop.type === 'array';
345
+ let refTarget = null;
296
346
  if (isVector) {
297
347
  type = jsonTypeToFB(prop.items?.type || 'string');
298
348
  }
349
+ if (typeof prop.$ref === 'string') {
350
+ const parsedRef = parseJsonRef(prop.$ref);
351
+ if (parsedRef) {
352
+ refTarget = parsedRef;
353
+ type = 'uint64';
354
+ isVector = false;
355
+ joinReferences.push({ fromTable: defName, columnName: propName, targetTable: refTarget });
356
+ }
357
+ }
358
+ const attributes = [];
359
+ if (refTarget) {
360
+ attributes.push('indexed');
361
+ }
299
362
  fields.push({
300
363
  name: propName,
301
364
  type,
302
365
  isVector,
303
366
  defaultValue: prop.default,
367
+ attributes,
304
368
  });
305
369
  }
306
370
  result.tables.push({
@@ -312,6 +376,7 @@ export function parseJSONSchema(source) {
312
376
  }
313
377
  }
314
378
  }
379
+ applyJoinTables(result, joinReferences);
315
380
  return result;
316
381
  }
317
382
  function jsonTypeToFB(jsonType) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/schema/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/schema/parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flatsql",
3
- "version": "0.3.9",
3
+ "version": "0.4.2",
4
4
  "description": "SQL queries over raw FlatBuffer storage - zero conversion, real-time indexing, pure streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,13 +18,22 @@
18
18
  "types": "./wasm/wasi.d.ts",
19
19
  "import": "./wasm/wasi.js"
20
20
  },
21
- "./wasi.wasm": "./wasm/flatsql-wasi.wasm"
21
+ "./wasi.wasm": "./wasm/flatsql-wasi.wasm",
22
+ "./sdm": {
23
+ "types": "./sdm/index.d.ts",
24
+ "import": "./sdm/index.js"
25
+ },
26
+ "./sdm.wasm": "./sdm/flatsql-spatial.wasm"
22
27
  },
23
28
  "files": [
24
29
  "dist",
25
30
  "wasm/*.js",
26
31
  "wasm/*.wasm",
27
32
  "wasm/*.d.ts",
33
+ "sdm/*.js",
34
+ "sdm/*.wasm",
35
+ "sdm/*.d.ts",
36
+ "sdm/*.json",
28
37
  "README.md",
29
38
  "LICENSE"
30
39
  ],
@@ -32,13 +41,18 @@
32
41
  "build": "tsc",
33
42
  "build:wasm": "bash scripts/build-wasm.sh",
34
43
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
35
- "test:wasm": "node wasm/test-node.mjs",
44
+ "test:wasm": "node wasm/test-bulk-ingest.mjs",
36
45
  "dev": "tsc --watch",
37
46
  "serve": "vite docs --port 8081",
47
+ "bench": "node bench/flatsql-perf.mjs",
48
+ "bench:perf": "node bench/flatsql-perf.mjs",
49
+ "bench:perf:profile": "node bench/flatsql-perf.mjs --profile",
38
50
  "prepublishOnly": "npm run build",
39
51
  "emsdk:install": "bash scripts/install-emsdk.sh",
40
52
  "emsdk:env": "echo 'Run: source packages/emsdk/emsdk_env.sh'",
41
- "test:wasi": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runTestsByPath test/wasi.test.ts"
53
+ "test:wasi": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runTestsByPath test/wasi.test.ts",
54
+ "test:cluster": "bash scripts/cluster-validation.sh",
55
+ "test:cluster:smoke": "bash scripts/cluster-validation.sh --duration=5 --stretch-duration=5 --readers=4 --stretch-readers=6"
42
56
  },
43
57
  "repository": {
44
58
  "type": "git",
@@ -59,20 +73,26 @@
59
73
  "wasm",
60
74
  "webassembly",
61
75
  "query",
62
- "virtual-table"
76
+ "virtual-table",
77
+ "spatial",
78
+ "geospatial",
79
+ "voronoi",
80
+ "delaunay",
81
+ "rtree",
82
+ "space-data-module"
63
83
  ],
64
84
  "author": "Digital Arsenal <tj@digitalarsenal.io>",
65
85
  "license": "Apache-2.0",
66
86
  "dependencies": {
67
- "flatc-wasm": "^26.1.15",
87
+ "flatc-wasm": "^26.1.31",
68
88
  "sql.js": "^1.10.0"
69
89
  },
70
90
  "devDependencies": {
91
+ "@types/jest": "^29.5.0",
71
92
  "@types/node": "^20.0.0",
72
- "typescript": "^5.3.0",
73
93
  "jest": "^29.7.0",
74
- "@types/jest": "^29.5.0",
75
94
  "ts-jest": "^29.1.0",
95
+ "typescript": "^5.3.0",
76
96
  "vite": "^5.0.0"
77
97
  },
78
98
  "engines": {
Binary file