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
be761badae
Initial RNTBD server implementation
2026-06-11 22:43:05 +03:00
Pijus Kamandulis
36fd7f48cc
Add document ETag optimistic concurrency ( #16 )
...
* Add ETag optimistic concurrency for document replace
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
* Expose precondition error code header
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
* Stop Badger GC before closing datastore
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-06-05 23:26:25 +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
c3726a6633
Fix ARRAY_CONTAINS panic when optional partial-match argument is omitted ( #14 )
...
* Fix ARRAY_CONTAINS panic when partial match arg is omitted
The NoSQL parser always emits a third (nil) argument for the optional
partial-match flag of ARRAY_CONTAINS. The executor checked only
len(arguments) > 2 before type-asserting arguments[2] to
parsers.SelectItem, which panicked on the nil value whenever the query
omitted the partial-match argument (e.g. ARRAY_CONTAINS(c.arr, 2)).
Guard the type assertion with a nil check and add an API test covering
ARRAY_CONTAINS with and without the optional partial-match argument.
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
* Remove comments from ARRAY_CONTAINS API test
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-05-30 17:43:05 +03:00
Pijus Kamandulis
d3d238fa98
Implement continuation tokens
2026-01-29 21:45:46 +02:00
Pijus Kamandulis
11f3a1ad01
Fix database and collection deletion
2025-10-12 23:26:44 +03:00
Pijus Kamandulis
4872ec72fd
Added support for initial data loading when using badger db
2025-09-16 20:21:27 +03:00
Pijus Kamandulis
c988741f8e
Fix query creation via explorer; Extract header names to constants
2025-09-16 19:13:45 +03:00
Pijus Kamandulis
51e3311ba4
Update dependencies; Fix authentication for UDF, SPROC and TRIGGER endpoints
2025-08-20 00:12:02 +03:00
Pijus Kamandulis
e20a6ca7cd
Extract constants instead of duplicating literals
2025-05-14 20:01:46 +03:00
Pijus Kamandulis
598f2837af
Fix issues with persist flag; Use custom logger for badger
2025-04-03 23:48:20 +03:00
Pijus Kamandulis
28e3c0c3d8
Rename 'MapDS' to 'JsonDS'; Added some docs
2025-03-14 22:40:12 +02:00
Pijus Kamandulis
97eea30c97
Use msgpack instead of gob; Added data persistance for badger data store
2025-03-13 23:59:07 +02:00
Pijus Kamandulis
b2516eda9f
Stability improvements
2025-03-12 22:00:30 +02:00
Pijus Kamandulis
813b9faeaa
Added support for Badger as an alternative storage backend
2025-03-12 21:06:10 +02:00
Pijus Kamandulis
e526b2269e
Refactored query engine utilizing iterators
2025-03-11 17:36:28 +02:00
Pijus Kamandulis
221f029a1d
DataStore is interface now. Liskov would be proud.
2025-03-09 18:34:07 +02:00
Pijus Kamandulis
bd4fe5abec
Update azcosmos package
2025-02-25 20:43:23 +02:00
Pijus Kamandulis
5d99b653cc
Generate more realistic resource ids
2025-02-09 00:36:35 +02:00
Pijus Kamandulis
5caa829ac1
Implement 'Transactional batch operations'
2025-02-04 20:35:15 +02:00
Pijus Kamandulis
887d456ad4
Return error code if server fails to start
2025-02-03 22:58:45 +02:00
Pijus Kamandulis
da1566875b
Wait for server shutdown when stopping server
2025-02-03 22:21:54 +02:00
Pijus Kamandulis
125f10d8a2
Add more error handling and mutex guards
2025-01-27 21:09:37 +02:00
Pijus Kamandulis
12215fba76
Update dependancies
2025-01-25 21:11:42 +02:00
Pijus Kamandulis
96d3a0a7ae
Handle server close; Update logger
2025-01-15 00:26:15 +02:00
Pijus Kamandulis
8b8b087aab
Added setting for LogLevel
2025-01-09 21:07:41 +02:00
Pijus Kamandulis
c2c9dc03b3
Fixed issue with wrong signature generation for pkrange requests
2025-01-09 20:19:28 +02:00
Pijus Kamandulis
d86bac7d79
Implement CRUD for UDFs, SPs and Triggers
2025-01-06 20:45:43 +02:00
Pijus Kamandulis
f5b8453995
Support patch operations 'set' and 'incr' #7
2024-12-25 23:32:50 +02:00
Pijus Kamandulis
928ca29fe4
Support parameter in bracket #8
2024-12-25 21:28:42 +02:00
Pijus Kamandulis
363f822e5a
Added some tests for sharedlibrary
2024-12-19 23:21:45 +02:00
Pijus Kamandulis
83f086a2dc
Configuration fixes
2024-12-18 23:28:04 +02:00
Pijus Kamandulis
777034181f
Refactor to support multiple server instances in shared library
2024-12-18 19:39:57 +02:00
Pijus Kamandulis
5e677431a3
Prepare for sharedlibrary builds
2024-12-18 00:28:59 +02:00
Pijus Kamandulis
e5ddc143f0
Improved concurrency handling
2024-12-08 17:54:58 +02:00
Pijus Kamandulis
c7d01b4593
Fix cosmos explorer incorrect redirect
2024-11-14 18:42:17 +02:00
erikzeneco
2834f3f641
check isUpsert header in POST document request ( #5 )
...
* check isUpsert header in POST document request
* Verify response code on "CreateItem that already exists" test
---------
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com >
2024-11-01 21:11:59 +02:00
Pijus Kamandulis
0e98e3481a
Strip trailing slash using middleware
2024-10-28 20:20:52 +02:00
Erik Zentveld
827046f634
re-add removed blank lines
2024-10-28 16:18:49 +01:00
Erik Zentveld
9abef691d6
serve request paths with trailing slashes, as sent by python client
2024-10-28 13:29:26 +01:00
Pijus Kamandulis
b808e97c72
Fix array access
2024-06-03 19:00:52 +03:00
Pijus Kamandulis
2cd61aa620
Implement document PATCH operation
2024-06-01 19:52:07 +03:00
Pijus Kamandulis
0cec7816c1
Fixed authentication key generation for partition key ranges
...
Fixed collection rid generation
Improved compatibility with SDKs
2024-06-01 02:32:52 +03:00
Pijus Kamandulis
86c0275410
Added ability to configure using environment variables
2024-03-11 23:35:47 +02:00
Pijus Kamandulis
6ccb7c4bdd
Implement custom logger with log levels
2024-02-27 22:38:59 +02:00
Pijus Kamandulis
3aeae98404
Added pre-generated TLS certificate
2024-02-27 21:58:57 +02:00
Pijus Kamandulis
f3f3966dd5
Fix server info response
2024-02-27 20:27:51 +02:00
Pijus Kamandulis
19f62f8173
Fix partition key ranges endpoint
2024-02-27 20:08:48 +02:00
Pijus Kamandulis
1158f93102
Generate legit ResourceIds for SDK compatibility
2024-02-26 21:03:47 +02:00