Pijus Kamandulis
c78842726b
Support single-quoted string literals in query parsing ( #18 )
...
* Support single-quoted string literals in query parsing
Add single-quoted string literal support to the NoSQL query parser,
matching Cosmos DB behavior where apostrophes are escaped by doubling
them (''). Includes parser unit tests and an API integration test.
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
* Use backslash escape for apostrophes in single-quoted strings
Cosmos DB escapes apostrophes with \' rather than SQL-style doubling.
Also fix EscapeCharacter to return proper values for \', \", and \\
which were previously producing empty substitutions.
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-07-12 14:02:23 +03:00
Pijus Kamandulis
05e8cd2842
Implement REGEXMATCH function ( #15 )
...
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-05-30 21:31:45 +03:00
Pijus Kamandulis
d76cc88175
Fix 'NOT (bool)' statements
2026-04-04 15:04:42 +03:00
Pijus Kamandulis
d64bdeb385
Handle 'NOT IN' statement
2025-10-27 21:33:49 +02:00
Pijus Kamandulis
b743e23ff9
Added support for arithmetics inside queries
2025-05-30 00:15:55 +03:00
Pijus Kamandulis
11851297f5
Fix formatting for grammar file
2025-05-20 22:43:00 +03:00
Pijus Kamandulis
560ea5296d
Add support for expressions in SELECT clause
2025-05-20 22:40:00 +03:00
Pijus Kamandulis
7e0c10479b
Implement IIF function; Fix empty object select
2025-05-14 18:48:30 +03:00
Pijus Kamandulis
1711c8fb5c
Implement NOT logical operator
2025-02-25 19:33:32 +02:00
Pijus Kamandulis
851b3ca3a8
Fix IN clause with function calls
2025-02-20 18:45:20 +02:00
Pijus Kamandulis
6e3f4169a1
Fix 'ComparisonOperator' parsing
2025-02-18 19:12:08 +02:00
Pijus Kamandulis
8657c48fc8
Added support for table alias; Make AS keyword optional #9
2025-02-03 19:02:12 +02:00
Pijus Kamandulis
69b76c1c3e
Simplify constant initialization in unit tests
2024-12-26 20:43:57 +02:00
Pijus Kamandulis
8e3db3e44d
Added support for 'ARRAY_CONTAINS', 'ARRAY_CONTAINS_ANY' and 'ARRAY_CONTAINS_ALL' functions
2024-12-26 20:27:59 +02:00
Pijus Kamandulis
928ca29fe4
Support parameter in bracket #8
2024-12-25 21:28:42 +02:00
Pijus Kamandulis
66ea859f34
Add support for subqueries
2024-12-07 22:29:26 +02:00
Pijus Kamandulis
20af73ee9c
Partial JOIN implementation
2024-07-17 21:56:17 +03:00
Pijus Kamandulis
3bdff9b643
Implement Mathematical Functions
2024-06-19 00:44:46 +03:00
Pijus Kamandulis
b808e97c72
Fix array access
2024-06-03 19:00:52 +03:00
Pijus Kamandulis
398584368f
Implement OFFSET LIMIT
2024-03-11 22:09:55 +02:00
Pijus Kamandulis
6ed74688ca
Implement AVG, COUNT, MAX, MIN, SUM functions
2024-03-11 19:10:41 +02:00
Pijus Kamandulis
b72bba86c8
Implement 'GROUP BY' statement
2024-03-11 17:50:20 +02:00
Pijus Kamandulis
5ff923ce2c
Implement DISTINCT clause
2024-02-27 21:10:03 +02:00
Pijus Kamandulis
48660b5f63
Code cleanup; Implement persistant storage; Use maps for storage
2024-02-25 22:20:11 +02:00
Pijus Kamandulis
1c5e5ce85d
Implement ARRAY_CONCAT, ARRAY_LENGTH, ARRAY_SLICE, SetIntersect, SetUnion functions
2024-02-25 00:38:10 +02:00
Pijus Kamandulis
b29608e4c8
Implement IS_ARRAY, IS_BOOL, IS_FINITE_NUMBER, IS_INTEGER, IS_NULL, IS_NUMBER, IS_OBJECT, IS_PRIMITIVE, IS_STRING functions
2024-02-24 22:29:33 +02:00
Pijus Kamandulis
2431307a12
Implement LEFT,LENGTH,LTRIM,REPLACE,REPLICATE,REVERSE,RIGHT,RTRIM,SUBSTRING,TRIM functions
2024-02-24 21:24:20 +02:00
Pijus Kamandulis
f356f26d26
Implement UPPER/LOWER; minor Fixes
2024-02-24 20:00:47 +02:00
Pijus Kamandulis
f37c664c1a
Implement IN function
2024-02-24 17:26:16 +02:00
Pijus Kamandulis
16f41a5479
Implement ToString function
2024-02-23 00:11:14 +02:00
Pijus Kamandulis
59632ec966
Implement INDEX_OF function
2024-02-22 22:12:52 +02:00
Pijus Kamandulis
790192bf5a
Implement STARTSWITH, ENDSWITH functions
2024-02-21 20:46:08 +02:00
Pijus Kamandulis
9bf3dc22ed
Implement CONTAINS function
2024-02-21 20:25:14 +02:00
Pijus Kamandulis
8ab9680c99
Implement CONCAT function
2024-02-21 20:16:52 +02:00
Pijus Kamandulis
f4dd150bc8
Implement IS_DEFINED function
2024-02-19 00:08:51 +02:00
Pijus Kamandulis
c17509df38
Implement STRINGEQUALS
2024-02-18 22:37:09 +02:00
Pijus Kamandulis
2702156cb3
Code cleanup; Split test files
2024-02-18 21:29:42 +02:00
Pijus Kamandulis
7339e06eee
Added support for 'ORDER BY'
2024-02-17 22:26:30 +02:00
Pijus Kamandulis
eb7b3045d2
Minor query parser fixes
2024-02-17 17:25:57 +02:00
Pijus Kamandulis
03623e5a82
Added support for query parameters
2024-02-16 00:13:11 +02:00
Pijus Kamandulis
f183f308fb
Added support for 'SELECT *'
2024-02-15 23:11:46 +02:00
Pijus Kamandulis
a36b578a9b
Added support for statements inside parentheses
2024-02-15 22:58:07 +02:00
Pijus Kamandulis
b13434eeff
Added support for TOP statement
2024-02-14 21:11:15 +02:00
Pijus Kamandulis
b780e8c228
Added support for object selects
2024-02-13 22:42:18 +02:00
Pijus Kamandulis
5d2b21dc46
Added support for array selects
2024-02-13 21:57:33 +02:00
Pijus Kamandulis
e89f2e5611
Added support for 'SELECT VALUE' statement
2024-02-13 21:22:55 +02:00
Pijus Kamandulis
88526dcdcc
Implement executing queries using API
2024-02-12 01:54:12 +02:00
Pijus Kamandulis
bdf9970ce6
Add support for array field access
2024-02-12 00:55:07 +02:00
Pijus Kamandulis
ca49228c66
Implement in-memory query executor
2024-02-12 00:17:21 +02:00
Pijus Kamandulis
12510ea3fa
Extract parser models
2024-02-11 23:14:30 +02:00