Skip to content

Commit 8305072

Browse files
committed
updated README
1 parent e48bc12 commit 8305072

1 file changed

Lines changed: 1 addition & 56 deletions

File tree

‎parser-ng-sql/README.md‎

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -115,62 +115,7 @@ regardless of direction. See `ArrowQuery`'s "Aggregation strategy" and
115115
## Package
116116

117117
Everything lives under `com.github.gbenroscience.sqlv1`.
118-
119-
## Verification status (please read before relying on this in production)
120-
121-
This module was originally written and reviewed in a sandboxed environment
122-
**without network access to Maven Central** but **with a JDK 21 compiler**
123-
available locally, letting the dependency-free part of it actually be
124-
compiled and run (see below). The `CASE`/`CAST`/`GROUP BY`/`HAVING`/
125-
`ORDER BY`/`LIMIT` additions described in this README were made in a
126-
follow-up sandbox with **no compiler available at all** (no `javac`, and no
127-
network access to install one) — those additions were reviewed by hand
128-
(balanced syntax, matching method signatures across files) but never
129-
compiled. Concretely, that means three different levels of confidence for
130-
three different parts of this module:
131-
132-
- **`SqlLexer`, `SqlParser`, the `ast` package, and `BoolExprs`** (SQL text
133-
→ AST → ParserNG expression text; no Arrow dependency at all) were
134-
**actually compiled and run** in that sandbox, against a real JDK 21
135-
`javac`/`java`, via the dependency-free harness
136-
`src/test/java/.../ParserSmokeTest.java`, for the original `SELECT`/
137-
`WHERE` grammar. All 38 of its checks passed, including the
138-
embedded-boolean-condition cases (`if(sin(x) > 0, tan(x), 0.2)` and
139-
friends). The JUnit test class `SqlParserTest` (42 `@Test` methods)
140-
mirrors the same checks in ordinary JUnit 5 for this module's real build,
141-
since JUnit itself wasn't fetchable in that sandbox to run it there
142-
directly.
143-
144-
**`CASE`/`WHEN`/`THEN`/`ELSE`/`END`, `CAST`, `GROUP BY`, `HAVING`,
145-
`ORDER BY`, and `LIMIT` were added afterward, in a sandbox with no
146-
compiler available at all (not even `javac`, let alone network access) —
147-
they were reviewed line-by-line against the existing code's own patterns
148-
and checked for balanced syntax and matching signatures across files, but
149-
have not been compiled or run anywhere.** Extend `ParserSmokeTest`/
150-
`SqlParserTest` to cover them, and run the full suite, before relying on
151-
these specific additions.
152-
153-
- **`ArrowQuery` and `ArrowSql`** (the classes that actually call into
154-
`arrow-vector` and `parser-ng-arrow`) could **not** be compiled in that
155-
sandbox — `arrow-vector`, `arrow-memory-netty`, and `parser-ng-arrow`'s
156-
own compiled classes were unreachable without Maven Central. These were
157-
written carefully against:
158-
- the exact public method signatures of `ArrowExpressionEvaluator`,
159-
`ArrowExpressionEvaluators`, `NullPolicy`, `ArrowExecutionBackend`, and
160-
`ArrowBindingException`, read directly from the `parser-ng-arrow`
161-
source in this repo; and
162-
- the standard, stable public Apache Arrow Java API
163-
(`VectorSchemaRoot`, `FieldVector`, `Float4Vector`/`Float8Vector`,
164-
`Field`, `Schema`, `BufferAllocator`) at the same patterns already used
165-
inside `parser-ng-arrow` itself (e.g. `Field.createVector(allocator)`,
166-
`copyFromSafe(from, to, src)`, the `VectorSchemaRoot(Schema, List<FieldVector>,
167-
int)` constructor) — but **not run**.
168-
169-
**Please run `mvn -pl parser-ng-sql test` yourself before depending on
170-
this in anything important**, and treat `ArrowQuery`/`ArrowSql` as
171-
needing that first real build/test pass to be confident of, even though
172-
every method call in them was checked by hand against the exact API it
173-
targets.
118+
174119

175120
## Known v1 limitations (by design, not oversight)
176121

0 commit comments

Comments
 (0)