@graffy/clickhouse 0.17.9-alpha.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.
- package/Readme.md +27 -0
- package/index.cjs +724 -0
- package/index.mjs +724 -0
- package/package.json +24 -0
- package/types/Db.d.ts +13 -0
- package/types/filter/getAst.d.ts +1 -0
- package/types/filter/getSql.d.ts +1 -0
- package/types/index.d.ts +24 -0
- package/types/sql/escape.d.ts +5 -0
- package/types/sql/getArgSql.d.ts +35 -0
- package/types/sql/lookup.d.ts +11 -0
- package/types/sql/select.d.ts +25 -0
package/Readme.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# ClickHouse Provider
|
|
2
|
+
|
|
3
|
+
Read-only Graffy provider for ClickHouse.
|
|
4
|
+
|
|
5
|
+
Current scope is intentionally minimal and focused on read patterns used by
|
|
6
|
+
tracker-like workloads:
|
|
7
|
+
|
|
8
|
+
- ID reads and `$key` reads
|
|
9
|
+
- Range args: `$all`, `$first`, `$last`, `$order`, `$after`, `$before`
|
|
10
|
+
- Filter operators: `$eq`, `$not`, `$lt`, `$lte`, `$gt`, `$gte`, `$re`, `$ire`,
|
|
11
|
+
`$cts`, plus list shorthand (`prop: [a, b]`)
|
|
12
|
+
- Dot-path filters on JSON-encoded string columns (for example
|
|
13
|
+
`sources.messageId`)
|
|
14
|
+
- Nested projection from JSON-encoded string columns
|
|
15
|
+
- Join filters via subqueries (for example `$key: { syncJob: { ... } }`)
|
|
16
|
+
- Aggregates: `$count`, `$sum`, `$avg`, `$max`, `$min`, `$card` with
|
|
17
|
+
`$group: true` and `$group: [..]`
|
|
18
|
+
|
|
19
|
+
Writes are out of scope.
|
|
20
|
+
|
|
21
|
+
## E2E tests
|
|
22
|
+
|
|
23
|
+
ClickHouse e2e coverage lives in `src/clickhouse/test/e2e.test.js`.
|
|
24
|
+
|
|
25
|
+
- Start server: `npm run ch:up`
|
|
26
|
+
- Stop/clean server: `npm run ch:clean`
|
|
27
|
+
- Run ClickHouse tests (unit + e2e): `npm test -- src/clickhouse`
|