Commit graph

1297 commits

Author SHA1 Message Date
Rushmore Mushambi
742a353a8f
Refactor and improve Surreal::export (#2555) 2023-08-31 19:44:18 +00:00
Przemyslaw Hugh Kaznowski
efec9448c0
Fix returned value of bootstrap to not lose errors (#2553) 2023-08-31 20:48:21 +01:00
Tobie Morgan Hitchcock
fc7f5cb0b0
Support variable field projection with type::field() and type::fields() (#2552) 2023-08-31 13:06:10 +01:00
Przemyslaw Hugh Kaznowski
414fc68d24
Change how bootstrap handles transactions and errors (#2551) 2023-08-31 11:06:37 +00:00
Salvador Girones Gil
bdac1fae72
[security] Introduce "allow-guests". Deny all caps by default (#2547) 2023-08-30 18:01:30 +00:00
Emmanuel Keller
0d43e7a156
Implements revision on indexes states (#2516) 2023-08-29 20:21:55 +01:00
Rushmore Mushambi
d06ed3ad3a
Fix time issues on Wasm (#2544) 2023-08-29 18:52:25 +00:00
Mees Delzenne
daf6743c4e
Miscellaneous parser improvements (#2515) 2023-08-29 11:50:00 +01:00
Rushmore Mushambi
bae9217b72
Fix Wasm binaries (#2541) 2023-08-29 11:47:53 +01:00
Tobie Morgan Hitchcock
8be97a697f
Support ON DUPLICATE KEY UPDATE when a unique index entry exists (#2534) 2023-08-29 09:46:48 +01:00
Rushmore Mushambi
6cb12db82b
Make patch return the patched record (#2530) 2023-08-27 19:28:38 +01:00
Tobie Morgan Hitchcock
5565c8f355
Add support for OMIT clause in SELECT statements (#2529) 2023-08-27 19:00:11 +01:00
Rushmore Mushambi
a29241666d
Serialise Kind::Null variant (#2528) 2023-08-27 17:31:29 +01:00
Tobie Morgan Hitchcock
a31d25d3c5
Support arbitrary number of arrays in array::concat() (#2526) 2023-08-27 11:40:49 +01:00
Tobie Morgan Hitchcock
e491789e20
Add null as a specific field type (#2524) 2023-08-27 11:22:27 +01:00
Tobie Morgan Hitchcock
a867eae362
Add more complete and complex test for SurrealQL functionality (#2520) 2023-08-26 14:13:48 +01:00
Tobie Morgan Hitchcock
2e49aad26a
Enable parsing raw values at base of query (#2508) 2023-08-26 12:08:16 +01:00
Rushmore Mushambi
fd364e56da
Make tick a configuration option (#2495) 2023-08-25 07:55:22 +00:00
Rushmore Mushambi
6cfc270d32
Run rustfmt and clippy using Rust 1.72.0 (#2512) 2023-08-24 19:02:44 +00:00
Mees Delzenne
e477dc9133
Fix build by upgrading rquickjs (#2509) 2023-08-24 15:05:28 +01:00
Przemyslaw Hugh Kaznowski
cbf933b319
Adding auth to live queries (#2307) 2023-08-24 15:04:57 +01:00
Tobie Morgan Hitchcock
a6ec9dbd02
Ensure edge in and out fields are not overwritten (#2506) 2023-08-24 09:19:19 +01:00
Tobie Morgan Hitchcock
1a4e310e46
Improve output of THROW errors (#2505) 2023-08-23 23:30:13 +01:00
Salvador Girones Gil
b5b6f6f1d4
[security] Introduce the Datastore capabilities (#2489) 2023-08-23 20:26:31 +01:00
Johnny Hauser
5945146459
Include define and remove statements in subquery #2459 (#2496) 2023-08-23 17:05:50 +01:00
Tobie Morgan Hitchcock
16a4c2c40e
Default to true if a WHEN clause is omitted on DEFINE EVENT statements (#2502) 2023-08-23 17:04:56 +01:00
Tobie Morgan Hitchcock
495f69d618
Ensure comments are output with DEFINE statements (#2500) 2023-08-23 17:04:42 +01:00
Tobie Morgan Hitchcock
b1275ed565
Ensure foreach range is computed before iterating over (#2492) 2023-08-22 17:45:22 +01:00
Tobie Morgan Hitchcock
ac35111833
Improve code blocks, foreach statements, and throw statements (#2490) 2023-08-22 12:26:05 +01:00
Rushmore Mushambi
9d89fa0d56
Simplify connect parameters (#2488) 2023-08-22 09:23:49 +00:00
Tobie Morgan Hitchcock
afdd0b3c85
Improve id field handling in the statement data clause (#2487) 2023-08-21 23:47:35 +01:00
Finn Bear
27cc21876d
Security - Limit parser depth. (#2369) 2023-08-21 22:05:11 +00:00
Mees Delzenne
77c889f356
Minor parser fixes (#2479) 2023-08-21 16:29:50 +01:00
Rushmore Mushambi
74c3551b45
Remove unnecessary impl From<Jwt> for Value (#2483) 2023-08-21 15:09:00 +01:00
Rushmore Mushambi
76478b37cd
impl IntoResource for &Thing (#2482) 2023-08-21 13:48:31 +01:00
Mees Delzenne
76b962eb6e
Lower parsing complexity for binary values and idioms (#2475) 2023-08-21 11:33:57 +01:00
Tobie Morgan Hitchcock
b350f052a7
Ensure ON DUPLICATE KEY UPDATE clause is displayed on INSERT statement (#2474) 2023-08-20 19:16:41 +01:00
Tobie Morgan Hitchcock
c2e695b897
Support whitespace in JavaScript function definition (#2473) 2023-08-20 14:14:53 +01:00
Yusuke Kuoka
3ea3c34f71
Fix random tikv tests after ts_to_vs test to not fail anymore (#2472) 2023-08-20 12:26:19 +01:00
Tobie Morgan Hitchcock
83be65125b
Temporarily ignore kvs::timestamp_to_versionstamp test (#2470) 2023-08-20 09:45:03 +01:00
Tobie Morgan Hitchcock
f01da5f577
Delay Record ID generation when using functions (#2469) 2023-08-20 04:27:20 +01:00
Tobie Morgan Hitchcock
1fd6d991ae
Implement DEFAULT value clause on DEFINE FIELD statements (#2468) 2023-08-20 03:53:50 +01:00
Tobie Morgan Hitchcock
71adbe6f5a
Ensure foreign tables are deleted fully when removed (#2467) 2023-08-20 02:07:15 +01:00
Tobie Morgan Hitchcock
dcc3c4fabb
Ensure records can be created correctly when using INSERT statement (#2466) 2023-08-20 00:34:41 +01:00
Tobie Morgan Hitchcock
e9ef8855cf
Ensure permissions are enforced on edge in and out fields (#2465) 2023-08-19 23:19:16 +01:00
Tobie Morgan Hitchcock
136d8f8eee
Add tests for DEFINE FIELD ... VALUE clauses with references and with futures (#2464) 2023-08-19 20:22:15 +01:00
Przemyslaw Hugh Kaznowski
1dfc58a8da
Fix live queries to check predicates against previous document instead of current (#2452) 2023-08-19 13:31:51 +01:00
Przemyslaw Hugh Kaznowski
ce6cfb7634
GC live queries when client disconnects (#2255) 2023-08-19 10:01:37 +01:00
Rushmore Mushambi
f16ec7f894
Add a Value::Query variant (#2460) 2023-08-18 23:51:56 +01:00
Tobie Morgan Hitchcock
44dabfa9d2
Improve DEFINE and REMOVE statements code (#2455) 2023-08-18 14:21:02 +01:00
Yusuke Kuoka
41c9fd701e
Add ns/db/tb IDs for aliasing (#2441) 2023-08-18 09:00:06 +01:00
Yusuke Kuoka
a242d21d94
feat: Ability to show changes using timestamp (#2408) 2023-08-18 08:17:54 +01:00
Tobie Morgan Hitchcock
b2b51b54b1
Add versioned data storage serialisation (#2433) 2023-08-17 19:03:46 +01:00
Przemyslaw Hugh Kaznowski
983ec1ba63
Add tx commits (#2443) 2023-08-16 18:56:17 +01:00
Przemyslaw Hugh Kaznowski
bba2420503
Resolve assert to unwrap (#2448) 2023-08-16 14:31:39 +01:00
Przemyslaw Hugh Kaznowski
d4b2ba9999
Add a commit to tb.rs (#2436) 2023-08-14 13:27:27 +01:00
Przemyslaw Hugh Kaznowski
150b303da9
Fix cluster init (#2434) 2023-08-14 13:27:03 +01:00
Przemyslaw Hugh Kaznowski
d9eaf0eaa3
Add warning log for dropped uncommitted write transactions (#2425)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-08-12 22:01:27 +00:00
Przemyslaw Hugh Kaznowski
ef75fc2a66
Add test for delete with live query predicates (#2430) 2023-08-11 23:22:53 +00:00
Rushmore Mushambi
78808bb44c
Refactor Lazy::new(|| Surreal::init()) to Lazy::new(Surreal::init) (#2432) 2023-08-11 22:11:24 +00:00
Przemyslaw Hugh Kaznowski
8678377efd
Refactored ds.rs to re-use and close write transaction (#2431) 2023-08-11 19:30:44 +01:00
hchockarprasad
8b1cb5ee1f
Fix merging of empty objects & arrays (#2347) 2023-08-11 15:47:54 +00:00
meppu
1a0116332a
Implement all JSON Patch operations (#2398) 2023-08-10 06:38:46 +00:00
Rushmore Mushambi
61f4580ba8
Switch to std::sync::OnceLock and fix Surreal::clone (#2370) 2023-08-10 06:33:38 +00:00
Raphael Darley
4ae1a0d1a9
Allow more export options (#2375)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-08-09 12:15:20 +00:00
Przemyslaw Hugh Kaznowski
87705098ab
Change kill id type to value (#2402)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-08-08 17:15:01 +00:00
Salvador Girones Gil
94f7fc01e7
[cargo] Use the surrealdb-tikv-client published to crates.io (#2416) 2023-08-08 16:41:45 +00:00
Yusuke Kuoka
77d11146e5
Use monotonic versionstamps with TiKV for now (#2411) 2023-08-08 16:07:31 +00:00
Salvador Girones Gil
ab72923fb5
[import] Provide descriptive error messages (#2377) 2023-08-03 14:06:08 +00:00
Salvador Girones Gil
5f9b79162b
[ci] Intruduce cargo-make to dry the workflows. Get rid of unused deps (#2372) 2023-08-03 10:55:06 +01:00
Aly
7221d8cae9
Fix setting id using arbitrary record IDs (#2367) 2023-08-01 18:47:08 +00:00
Mees Delzenne
57ff2443f1
Script function fixes (#2366) 2023-08-01 18:03:17 +00:00
Emmanuel Keller
ecba885eb8
Feat: btree serialisation + generic read/write tree cache (#2362) 2023-08-01 09:57:05 +00:00
Rushmore Mushambi
20925d1f1e
Make Config simpler (#2365) 2023-08-01 08:34:22 +00:00
Emmanuel Keller
b485d9cc3d
Feat: Support of (un)flattened fields in indexing (#2327) 2023-08-01 07:30:13 +00:00
Rushmore Mushambi
bb8c1cd478
Return an error when the server version is incompatible with the SDK (#2364) 2023-08-01 07:27:10 +00:00
Salvador Girones Gil
d4f5bc937e
[iam] Restore $auth. Allow user-token signin for root users (#2363) 2023-07-31 16:06:40 +00:00
Mees Delzenne
c9078a116e
Add the value function for easy access to SurrealQL parameters and values. (#2355)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-29 21:16:48 +00:00
Salvador Girones Gil
998b263517
[iam] RBAC and multiple root users (#2176)
Co-authored-by: Przemyslaw Hugh Kaznowski <hughkaznowski@protonmail.com>
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-29 18:47:25 +00:00
hchockarprasad
e61db5564c
Remove unused fuzz dict (#2356) 2023-07-29 18:38:53 +00:00
Yusuke Kuoka
860796ba86
Add Change Feeds GC (#2339) 2023-07-29 08:51:30 +00:00
Yusuke Kuoka
89a9ac4168
Use non-monotonic versionstamps with TiKV by default (#2343) 2023-07-29 08:42:09 +00:00
Finn Bear
5f0aaa0973
Bugfix #2345 - allow keyword as ident prefix. (#2349) 2023-07-27 08:14:55 +00:00
Raphael Darley
c25b85669b
feature: Add config for query/transaction timeout and notifications (#2340) 2023-07-26 11:54:48 +00:00
Mees Delzenne
278e27db87
Implement support for running queries in script functions. (#2331) 2023-07-26 07:54:07 +00:00
Yusuke Kuoka
5b8fec93d7
Bump surrealdb-tikv-client to 0.2.0-surreal.1 (#2334) 2023-07-25 12:24:36 +00:00
Przemyslaw Hugh Kaznowski
e309ee6df2
Change lq from uuid::Uuid to sql::Uuid (#2289) 2023-07-24 16:15:45 +00:00
Yusuke Kuoka
d36ece79de
feat: Change Feeds Enabling/Writing/Reading (#2306) 2023-07-24 16:15:20 +00:00
hchockarprasad
432a6cc5b8
Add time::min & time::max function (#2320) 2023-07-23 08:19:28 +00:00
Yusuke Kuoka
840b1ae24f
Bump surrealdb-tikv-client to 0.1.0-surreal.2 (#2322) 2023-07-23 08:19:20 +00:00
Przemyslaw Hugh Kaznowski
bfaa430103
Fix Node LQ to reflect correct path (#2301) 2023-07-21 21:30:59 +00:00
Emmanuel Keller
0b56d5c6c6
feat: WITH clause on SELECT statement (#2304) 2023-07-21 18:41:36 +00:00
Emmanuel Keller
b66e537f98
Unique index should ignore none or null values (#2313) 2023-07-21 18:40:59 +00:00
Rushmore Mushambi
a2f4d6776d
impl Clone for Any (#2309) 2023-07-21 14:54:15 +00:00
Emmanuel Keller
063f4e6665
feat: implements Multi-index execution plan (#2280) 2023-07-20 12:56:32 +00:00
Mees Delzenne
cacd9a1de9
Add tests for http functions (#2286) 2023-07-20 12:46:11 +00:00
Micha de Vries
cbbde1fae1
Allow deletion of records on DROP tables (#2298) 2023-07-20 09:22:16 +00:00
Tobie Morgan Hitchcock
773cb5f130
Add insert method to WebSocket RPC endpoint (#2296) 2023-07-20 09:19:36 +00:00
hchockarprasad
88bcc87d39
Add array::at function (#2294) 2023-07-20 08:27:04 +00:00
Tobie Morgan Hitchcock
09dde86e73
Allow for DIFFs in notifications for simple live queries (#2290) 2023-07-19 16:19:19 +00:00
AyushChothe
b98ade2ca8
Live queries Response and Notifications Uuid serialization fixed (#2232)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
Co-authored-by: Przemyslaw Hugh Kaznowski <hugh@surrealdb.com>
2023-07-19 15:41:50 +00:00
hchockarprasad
eef9b755cb
Add first, last functions to array (#2285) 2023-07-19 14:23:07 +00:00
Tobie Morgan Hitchcock
87dee375a8
Fix model range increments (#2281) 2023-07-19 14:00:06 +00:00
Przemyslaw Hugh Kaznowski
769ed5ab85
Sur 253 Change Cl->Nd, rework key/mod (#2257)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-18 18:32:38 +00:00
Mees Delzenne
76519b9c31
Fix stub fetch functions (#2276) 2023-07-17 15:31:50 +00:00
Mees Delzenne
c9414a1165
Update rquickjs, attempt two. (#2275) 2023-07-17 13:40:58 +00:00
Emmanuel Keller
98a482e471
Implements additional function for vectors (#2266) 2023-07-16 13:04:22 +00:00
hchockarprasad
a2ef2d83df
Make what parser to parse idioms as well (#2243) 2023-07-15 16:26:36 +00:00
hchockarprasad
7f4d2e4849
Update dependency and fix build (#2268) 2023-07-15 15:46:34 +00:00
Tobie Morgan Hitchcock
1d6c12e777
Update dependencies and reduce log traces (#2265) 2023-07-15 13:18:44 +01:00
Tobie Morgan Hitchcock
a12348db8e
Path processing improvements (#2250) 2023-07-15 07:08:26 +00:00
Yusuke Kuoka
3a34821dc0
chore: Add versionstamp oracle prototype for change feeds (#2220)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-14 23:51:37 +00:00
Rushmore Mushambi
cab0540432
Drop build metadata from the library version (#2263) 2023-07-14 23:01:10 +00:00
Rushmore Mushambi
c998584f49
Add unit tests for into_json (#2254) 2023-07-14 23:01:02 +00:00
Eduardo Pereira de Sousa
b3a1b39236
Feature: Add additional functions for comparing strings for similarity. (#1904)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-14 20:37:52 +00:00
Tim
b83cd86f9d
Feature: 1903 Basic Vector Functions (#1907)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
Co-authored-by: Emmanuel Keller <emmanuel.keller@surrealdb.com>
2023-07-14 18:00:07 +00:00
Tobie Morgan Hitchcock
5c08be973d
Revert "Update js functions to new rquickjs version" (#2262) 2023-07-14 16:01:12 +00:00
Mees Delzenne
4f4339848e
Update js functions to new rquickjs version (#2252) 2023-07-14 13:35:32 +00:00
Emmanuel Keller
1e30eb4aa1
feat: Implements SELECT/EXPLAIN FULL (#2258) 2023-07-14 12:22:37 +00:00
Przemyslaw Hugh Kaznowski
ac213d69bb
Sur 191 self garbage collection 2 (#2137)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-13 13:44:54 +00:00
Emmanuel Keller
ee3a1c211f
Select/Explain should only return the explanation (#2256) 2023-07-13 10:12:34 +00:00
Finn Bear
ce9430d1ac
Bugfix #2175 - Allow escape characters in scripts (#2253) 2023-07-13 08:06:12 +00:00
Emmanuel Keller
1d68fd5622
Improve index BTree insertion & search performance (#2240) 2023-07-11 18:22:31 +00:00
Yusuke Kuoka
602ffda466
chore: Data models for Change Feed (#2221) 2023-07-10 08:34:33 +00:00
Emmanuel Keller
75fc006c21
Ensure index resources are properly deleted on index deletion (#2234) 2023-07-10 08:24:47 +00:00
hchockarprasad
bb61ee7ff9
Add thing as scalar node for indexing (#2239)
Co-authored-by: Emmanuel Keller <emmanuel.keller@surrealdb.com>
2023-07-10 08:19:37 +00:00
JustAnotherCodemonkey
a10b9cbb75
Feature for #2065: Add array functions to reduce JS slowdown. (#2156)
Co-authored-by: Mees Delzenne <DelSkayn@users.noreply.github.com>
2023-07-10 08:15:18 +00:00
Tobie Morgan Hitchcock
cf4c8c5f5d
Increase stack size for complex parser tests (#2242) 2023-07-10 06:24:18 +00:00
Tobie Morgan Hitchcock
ea76b01ce4
Minor improvements to live queries (#2230) 2023-07-07 20:05:58 +01:00
Emmanuel Keller
cf4cfc1908
processor micro-benchmark (#2216) 2023-07-07 18:43:16 +00:00
Przemyslaw Hugh Kaznowski
8e5f2a85cc
Add KV tests to confirm keys are being serialised the right way (#2166) 2023-07-06 18:51:31 +00:00
Tobie Morgan Hitchcock
b33223562a
Add two failing index tests (#2125) 2023-07-06 16:46:49 +00:00
Emmanuel Keller
e9eeb9aca7
QueryPlanner / indexing / Context / Cursor doc (#2229) 2023-07-06 14:57:42 +00:00
Tobie Morgan Hitchcock
4b690c763b
Improve datastore configuration options (#2227) 2023-07-05 21:26:13 +00:00
Emmanuel Keller
67687496c6
Fix context cancellation issue (#2212) 2023-07-05 13:30:44 +00:00
Rushmore Mushambi
20ee2f1dc6
Remove manual log targets (#2214) 2023-07-04 21:02:10 +00:00
David Bottiau
650eaab179
docs(auth): improve docs of Jwt struct (#2223) 2023-07-04 20:15:20 +00:00
David Bottiau
33cf04d3df
feat(auth): add functions to read jwt value (#2215) 2023-07-04 14:13:35 +00:00
Yusuke Kuoka
0a3fe516ff
chore: Use forked tikv-client for change feeds (#2219) 2023-07-04 10:56:24 +00:00
Rushmore Mushambi
9d680e780e
Remove unused dependencies (#2209) 2023-07-03 20:23:52 +00:00
Tobie Morgan Hitchcock
8474329451
Update 3rd party dependencies (#2207) 2023-07-03 14:30:42 +00:00
Tobie Morgan Hitchcock
bba3ba036d
Ensure PARALLEL statements use indexes (#2206) 2023-07-03 08:18:20 +00:00
Rushmore Mushambi
c590f9c923
Bump supported versions (#2205) 2023-07-01 22:55:11 +00:00
Rushmore Mushambi
315c6e1125
Change uuid serialisation to compact (#2204) 2023-07-01 22:55:00 +00:00
Tobie Morgan Hitchcock
31ccb0c904
Enable inner field access on sql::Geometry types (#2203) 2023-07-01 21:04:24 +00:00
Tobie Morgan Hitchcock
55918b7c0e
Switch to bincode serialization (#2134)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-07-01 20:09:15 +01:00
Emmanuel Keller
1b73d3e4e4
feat: the query planner should support params (#2200) 2023-06-30 16:51:03 +00:00
Rushmore Mushambi
699880f155
Print tracing logs for cargo test when RUST_LOG is set (#2198) 2023-06-30 11:43:19 +00:00
Emmanuel Keller
1c6ada0f69
BM25 without parameters (#2197) 2023-06-30 11:35:02 +00:00
Yusuke Kuoka
d1cf55764d
feat: SHOW statement for change feed reading (#2187) 2023-06-28 07:36:13 +00:00
Yusuke Kuoka
781b1f944e
feat: Change Feed option for DEFINE [TABLE|DATABASE] (#2189) 2023-06-28 07:19:40 +00:00
Yusuke Kuoka
e30f70b907
feat: Key encoding/decoding for change feeds (#2188) 2023-06-27 23:42:29 +00:00
Bibaswan Bhawal
8ae8770812
Bugfix - Fixed live queries to respect filters (#2192) 2023-06-27 23:42:18 +00:00
Emmanuel Keller
73a4e54ad5
Bugfix - matches operator returns results on non-matching terms (#2185) 2023-06-26 18:23:05 +00:00
Mees Delzenne
e0f885e736
Bugfix - Non-spec behavour in Request.prototype.text (#2182) 2023-06-26 14:24:25 +00:00
Finn Bear
a10d6df430
Bugfix - JSON datetime string. (#2180) 2023-06-26 11:02:26 +00:00
Emmanuel Keller
6d5dcfadd9
Feature - Full-text search scoring function (#2158) 2023-06-23 21:26:19 +01:00
Emmanuel Keller
f688eb4ef5
Fixes highlighting bug (out or range for slice length...) (#2169) 2023-06-23 11:58:51 +00:00
Mees Delzenne
b4adbe9962
Feature - Implement fetch (#2117) 2023-06-22 12:14:54 +00:00
Emmanuel Keller
8e64750a60
Feature - Search highlighting (#2132) 2023-06-21 19:31:15 +01:00
Tobie Morgan Hitchcock
000a594ad5
Fix linting (#2164) 2023-06-21 08:45:39 +01:00
Finn Bear
41e119a5f5
Feature - unary operators (#2139) 2023-06-21 00:31:23 +01:00
Przemyslaw Hugh Kaznowski
64adb2e913
Rebased live query changes (#2136) 2023-06-20 23:50:26 +01:00
Nrishinghananda Roy
5485883d3c
Fix multiple Clippy Lints (#2159) 2023-06-20 12:48:20 +01:00
Tobie Morgan Hitchcock
a1b1fead7b
Ensure formatting and linting are properly checked (#2154) 2023-06-19 22:35:19 +00:00
Finn Bear
2019290a0b
Refactor - reduce redundancy in Datastore::execute. (#2095) 2023-06-19 22:35:08 +00:00
Maxwell Flitton
e389e51b7f
adding comments (#2147) 2023-06-19 18:44:40 +00:00
Emmanuel Keller
668d3fd8fb
Introduce query planner and indexing (#1899) 2023-06-19 19:41:13 +01:00
Finn Bear
12cb551156
Change datetime to serialize as secs/nanos instead of string. (#1951) 2023-06-13 21:13:10 +00:00
Rushmore Mushambi
6f79f1556a
Test FoundationDB (#1889) 2023-06-13 20:55:38 +00:00
Tobie Morgan Hitchcock
ab5737dd2b
Fix key-value store tests (#2130) 2023-06-13 18:01:08 +00:00
Gustavo
e42c8fdb1a
fix: Value equal implementation in the Bool match case (#2129)
Co-authored-by: tavindev <tavindev>
2023-06-13 18:00:16 +00:00
Finn Bear
5c07a7b2d4
Security - Add global query timeouts (attempt 2). (#2097) 2023-06-12 12:23:30 +01:00
Finn Bear
38ca45849f
Security - Limit output size of all string functions. (#2112) 2023-06-10 20:42:26 +00:00
Tobie Morgan Hitchcock
a6e1bacee0
Add more tests for all key-value storage engines (#2124) 2023-06-10 20:30:37 +00:00
Finn Bear
5ebf4ee963
Refactor - consolidate Field enum to reduce redundancy. (#2104) 2023-06-10 20:23:22 +00:00
Rushmore Mushambi
98c5bafd37
Fix FoundationDB endpoint (#2122) 2023-06-09 16:56:30 +00:00
Finn Bear
b389b104aa
Bugfix #1316 - fix 2 of 3 problems with impl Ord for Number (#2114) 2023-06-09 16:53:22 +00:00
Finn Bear
c45fd12509
Feature - Use rust_decimal (128b) instead of bigdecimal ("arbitrary" precision) (#1991) 2023-06-09 15:23:30 +00:00
Rushmore Mushambi
409ad61477
Add authentication support for local engines (#1908) 2023-06-09 13:45:07 +00:00
Tobie Morgan Hitchcock
f5f10d508f
Improve type casting support (#2083)
Co-authored-by: Finn Bear <finnbearlabs@gmail.com>
2023-06-06 06:12:59 +00:00
Mees Delzenne
1bcf57ecc9
Update rquickjs dependency to new version (#2089) 2023-06-06 06:11:32 +00:00
Finn Bear
721d3c5444
Feature #2080 - support empty custom fn's (#2081) 2023-05-31 22:39:44 +00:00
Tobie Morgan Hitchcock
3900bfa737
Add SpeeDB storage engine implementation (#2076) 2023-05-31 12:35:41 +00:00
Marta Sanchez
496d16242f
Change data returned by the INFO statement (#2078)
Co-authored-by: Marta <marta@Salvadors-Laptop.local>
2023-05-31 12:35:29 +00:00
Finn Bear
ac9f77a62a
Bugfix #2069 - Properly escape '\' in strings (#2074) 2023-05-31 07:36:29 +00:00
Przemyslaw Hugh Kaznowski
b2adca1851
Sur 229 kvs integration tests (#2050) 2023-05-31 07:36:23 +00:00
Finn Bear
e835d27ecc
Feature - Add message to query not executed error. (#2049) 2023-05-31 07:36:15 +00:00
Emmanuel Keller
e1f8722b8c
Fixes wasm build (full-text indexing) (#2071) 2023-05-30 12:46:05 +01:00
RoadtogreatWorld
fdec86ce3c
Upgrade to geo@0.25.0 (#2058) 2023-05-29 14:25:44 +01:00
Emmanuel Keller
8e48604e20
Add initial full-text search indexer implementation (#1779) 2023-05-29 12:46:41 +01:00
hchockarprasad
88e6dc274a
Check for zero duration before trunc and round datetime (#2066) 2023-05-28 22:54:08 +01:00
David Bottiau
f6c909e1a2
Fix doc on select example (#2064) 2023-05-28 12:06:08 +01:00
Rushmore Mushambi
9cd25566ac
Fix deserialising HTTP query responses (#2045) 2023-05-26 11:36:37 +01:00
Finn Bear
5e0e72def2
Bugfix - ret. QueryNotExecuted if implicit txn. fails to commit. (#2039) 2023-05-23 23:03:59 +01:00
Finn Bear
a81d427c02
Refactor - Use floats for math and cvt'ing from JS numbers, integer division truncates (#2032) 2023-05-23 07:10:09 +01:00
Finn Bear
0c033318fc
deps - upgrade to regex@1.8.2 (#2036) 2023-05-23 06:46:22 +01:00
hchockarprasad
53d8e9c628
Make client error serializable (#1992) 2023-05-22 21:02:48 +01:00
Tobie Morgan Hitchcock
6b02c2f026
Bump versions (#2033) 2023-05-22 15:35:30 +01:00
Tobie Morgan Hitchcock
b137535d8a
Update 3rd party dependencies (#2028) 2023-05-22 14:38:10 +01:00
Nathaniel Brough
1de753c3ee
Fix bug that prevented the fuzzers from using dictionaries properly (#2030) 2023-05-22 07:40:04 +01:00
Finn Bear
31af5dd4d3
Feature - Add time::EPOCH constant. (#2021) 2023-05-20 08:28:52 +01:00
Finn Bear
ce37db4307
Testing - use tokio runtime in executor fuzzer, blacklist SLEEP (#1984) 2023-05-19 22:34:27 +01:00
Finn Bear
0d658842df
Bugfix #2001 - Error instead of panic when applying malformed patches. (#2007) 2023-05-19 22:02:43 +01:00
Mees Delzenne
405b4cbd9a
Raise rocksdb version (#2018) 2023-05-19 21:28:31 +01:00
hchockarprasad
11543f7d67
Feature: Add unset clause for update statement (#2004) 2023-05-18 09:04:40 +01:00
Finn Bear
94a376adc5
Testing - Add CPU profiling to microbenchmarks (#2000) 2023-05-16 23:31:30 +01:00
Finn Bear
437fc231f1
Bugfix - Visibly warn if failed to deserialize websocket response. (#1999) 2023-05-16 12:31:16 +01:00
hchockarprasad
a8f35611c2
Bugfix - Include index part when patching object value (#1994) 2023-05-15 21:22:13 +01:00
Rushmore Mushambi
c02d176646
Expose the range parser (#1993) 2023-05-15 16:46:20 +01:00
Finn Bear
10f29fbb26
Bugfix - error on integer overflow in SurrealQL. (#1983) 2023-05-12 19:55:52 -04:00
Przemyslaw Hugh Kaznowski
df745bb3a5
Favour rust binary characters instead of hex (#1978) 2023-05-12 19:40:45 -04:00
Finn Bear
db345a2ce7
Bugfix - time::ceil function edge case. (#1976) 2023-05-12 13:59:58 -04:00
Finn Bear
01b280623c
Feature #1973 - Add time::ceil function. (#1975) 2023-05-11 14:46:36 -04:00
Tobie Morgan Hitchcock
86483e087a
Fix clippy warnings (#1965) 2023-05-10 12:58:04 -04:00
hchockarprasad
3140e06ad2
Fix http body encoding (#1962) 2023-05-10 08:44:42 -04:00
Rushmore Mushambi
f1ef3bfd21
Add a sql::Value::into_json() method (#1963) 2023-05-10 08:12:47 -04:00
Finn Bear
1140c36942
Bugfix #1949 - use correct feature flag for wss over rustls. (#1960) 2023-05-09 22:28:08 -04:00
Emmanuel Keller
848be4dafb
Implements analyzer definition (#1705) 2023-05-09 22:08:09 -04:00
Tobie Morgan Hitchcock
19b0920e15
Ensure Idiom paths result in writeable transactions where necessary (#1957) 2023-05-09 18:17:29 -04:00
hchockarprasad
bb94374c78
Trim text before json parsing (#1955) 2023-05-09 16:49:12 -04:00
Finn Bear
ccc16fa9a7
Feature - Expand support for Bytes (#1898) 2023-05-09 16:43:16 -04:00
Finn Bear
73374d4799
Bugfix - Prevent NUL bytes from existing in UTF-8 strings (#1941) 2023-05-09 13:48:14 -04:00
Finn Bear
3d76645908
Bugfix #1946 - allow 4X deeper computation by default, make limit configurable (#1950) 2023-05-09 07:37:07 +01:00
Tobie Morgan Hitchcock
bfbadc6fdd
Ensure user $input is accessible with all Data pattern types (#1945) 2023-05-07 13:33:32 +01:00
Tobie Morgan Hitchcock
f0e5753cd1
Use static str where possible for context param names (#1942) 2023-05-06 21:49:34 +01:00
Tobie Morgan Hitchcock
531e75a5b0
Ensure chained future values have access to current document context (#1939) 2023-05-06 07:29:42 +01:00
Tobie Morgan Hitchcock
53212b23be
Don’t use asynchronous functions when not necessary (#1936) 2023-05-06 01:15:03 +01:00
Tobie Morgan Hitchcock
e725b3e8e6
Add detailed code comments for Value enum variants (#1938) 2023-05-06 00:53:26 +01:00
Rushmore Mushambi
3dd0b6d5e8
Fix building the HTTP feature on Wasm (#1928) 2023-05-05 19:14:36 +01:00
Rushmore Mushambi
fb6f1caa6b
Lift 'static restriction on connect methods (#1926) 2023-05-05 19:14:06 +01:00
Rushmore Mushambi
107e5b5dba
Support switching namespaces and databases separately (#1927) 2023-05-05 19:12:19 +01:00
Tobie Morgan Hitchcock
0c752b43e9
Optimise array::join() SQL function (#1925) 2023-05-05 00:06:49 +01:00
Finn Bear
d0e76e64a9
Testing & Bugfix - Ensure consistency of functions. (#1919) 2023-05-05 00:05:51 +01:00
Jan Tebernum
e9ebecfdd6
Feature: Implementation of array::join (#1920) 2023-05-04 21:38:02 +01:00
Finn Bear
975ea616dd
Bugfix - export new array::slice to JS and fuzzer. (#1915) 2023-05-03 22:48:05 +01:00
Jan Tebernum
1cd00cf3fc
Feature: Add function string::contains (#1906) 2023-05-03 11:40:17 +01:00
Finn Bear
46c5b4d7f1
Testing - Add microbenchmarks for query parsing and execution. (#1878) 2023-05-01 18:15:42 +01:00
Finn Bear
a76910e826
Preparation for #1878 - microbenchmarks. (#1894) 2023-04-30 23:50:33 +01:00
Rushmore Mushambi
357a5320ef
Disable URL-encoding on file paths (#1892) 2023-04-30 19:34:46 +01:00
Tobie Morgan Hitchcock
453d368e69
Add integration tests for the built-in SQL functions (#1893) 2023-04-30 19:34:26 +01:00
Finn Bear
12bf8dea6b
Bugfix #1702 - Unicode escape parser for Strand. (#1888) 2023-04-30 19:33:48 +01:00
Nathaniel Brough
7a86ed3a3d
Adds an executor fuzzer and corresponding dictionaries (#1891) 2023-04-30 08:49:03 +01:00
Tobie Morgan Hitchcock
c7e3b927ac
Optimisation - only loop over document fields when processing PERMISSIONS clauses (#1890) 2023-04-30 00:23:19 +01:00
Rushmore Mushambi
1e8903b699
Derive Serialize implementations for enums (#1887) 2023-04-29 21:50:25 +01:00
Finn Bear
3f3b2248b3
Bugfix - Allow {time, duration}::from::* to be parsed (#1886) 2023-04-29 20:57:10 +01:00
Finn Bear
c295cb0509
Optimization - Zero copy key deserialization. (#1880) 2023-04-29 17:44:09 +01:00
Rushmore Mushambi
59947749e3
Add a missing impl<T> IntoEndpoint for (T, native_tls::TlsConnector) for the any engine (#1885) 2023-04-29 17:21:19 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation (#1881) 2023-04-29 16:58:22 +01:00
Rushmore Mushambi
955aea9409
impl From<sql::Value> for serde_json::Value (#1877) 2023-04-29 09:06:02 +01:00
Rushmore Mushambi
141eb091a6
Bypass deserialisation for sql::Value responses on Surreal methods (#1875) 2023-04-28 12:20:57 +01:00
Finn Bear
eeb46468aa
Bugfix #1856 - ensure futures are evaluated in the course of Value::get. (#1867) 2023-04-25 23:58:50 +01:00
Nathaniel Brough
f04f575283
Add a simple fuzz-testing harness for the sql parser (#1864) 2023-04-25 23:35:39 +01:00
Finn Bear
b3ebd4c6b5
Bugfix - Fix overflow in duration parser (#1865) 2023-04-25 23:00:31 +01:00
Finn Bear
df07bb32f5
Bugfix - make string::slice properly handle UTF-8 and reallocate less. (#1854) 2023-04-25 22:58:53 +01:00
Finn Bear
c7633414b5
Refactor & Optimize - Number and Array (#1868) 2023-04-25 22:52:02 +01:00
Finn Bear
38016a0ee6
Add SQL array::slice function. (#1855) 2023-04-25 22:48:09 +01:00
Rushmore Mushambi
e6b97ff8ff
Refactor the Connection trait and Surreal methods (#1860) 2023-04-25 15:22:34 +01:00
Tobie Morgan Hitchcock
66b105dac0
Add support for stricter typings (#1861)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-04-25 11:13:04 +01:00
Tobie Morgan Hitchcock
3c027e9e2f
Simplify external API and cleanup unused functions (#1857) 2023-04-24 21:51:35 +01:00
Finn Bear
f159187dbe
Store parsed regex::Regex in Value. (#1837) 2023-04-23 12:55:18 +01:00
Rushmore Mushambi
bc7471a6ad
Add support for serialising sql::Kind in the serialiser (#1847) 2023-04-23 12:09:04 +01:00
Rushmore Mushambi
a15c8c3564
Make error messages clearer when required features are not enabled (#1822) 2023-04-23 12:08:21 +01:00
Rushmore Mushambi
cd16d4af5c
Replace tokio::time with wasmtimer for Wasm targets (#1846) 2023-04-23 08:32:27 +01:00
Tobie Morgan Hitchcock
ee24f8d6a0 Ensure array::remove() function works correctly
Closes #1831
2023-04-20 19:23:13 +01:00
Rushmore Mushambi
78625bc7a1
Bypass deserialisation for sql::Values on Response::take (#1834) 2023-04-20 19:20:50 +01:00
Finn Bear
7e5f4388a2
Refactor and reduce allocations in query executor. (#1819) 2023-04-20 13:30:47 +01:00
Finn Bear
46c15cfb8e
Allow exports larger than 10,240 bytes for local engines (#1833) 2023-04-20 11:42:23 +01:00
Rushmore Mushambi
8eac52315b
Fix HTTP string errors deserialization (#1821) 2023-04-19 09:46:37 +01:00
Finn Bear
a35ed83c88
Streamline Makefile compilation and fix a minor typo. (#1832) 2023-04-19 09:27:53 +01:00
Rushmore Mushambi
32352f4bd1
Add more #[must_use] attributes (#1828) 2023-04-19 09:26:22 +01:00
Finn Bear
28bd007f72
Limit the number of concurrent futures run when fetching remote records (#1824) 2023-04-18 22:32:29 +01:00
Finn Bear
c9a9336fdc
Improve performance and security of simple JSON parser (#1813) 2023-04-17 15:39:37 +01:00
Rushmore Mushambi
ed20048358
Improve GitHub Actions CI run time (#1569) 2023-04-17 14:27:32 +01:00
Tobie Morgan Hitchcock
8bf5585080 Simplify parser and improve performance 2023-04-17 13:09:56 +01:00
Tobie Morgan Hitchcock
50c3554242 Ensure edge record deletes do not cascade to related records
Closes #1817
2023-04-16 18:17:50 +01:00
Tobie Morgan Hitchcock
7413e93a48 Don’t pretty print newlines in objects and arrays if empty 2023-04-15 17:00:01 +01:00
Tobie Morgan Hitchcock
c5de4d8ef0 Update 3rd party dependencies 2023-04-14 17:01:31 +01:00
Tobie Morgan Hitchcock
7448cd1305 Ensure custom functions can write data
Closes #1808
2023-04-14 16:51:15 +01:00
Finn Bear
15bfef4866
Refactor - Clean-up and optimize KVs (#1807) 2023-04-14 12:43:25 +01:00
J
5d929041cb
Remove http crate from axum example (#1789) 2023-04-09 16:55:17 +01:00
Rushmore Mushambi
e075be16b8
Fix Display implementation for empty Groups (#1788) 2023-04-09 11:14:07 +01:00
Tobie Morgan Hitchcock
b63c83a4bc Ensure duration addition and subtraction does not panic
Closes #1773
2023-04-06 09:35:01 +01:00
Tobie Morgan Hitchcock
8083eaf751 Allow :: module separators in custom function names
Closes #1775
2023-04-06 09:35:01 +01:00
Tobie Morgan Hitchcock
5eafebd64b Release v1.0.0-beta.9+20230402 2023-04-02 19:57:02 +01:00
Tobie Morgan Hitchcock
b5afc4a3e0 Fix serialization size checking tests 2023-04-02 18:56:45 +01:00
Tobie Morgan Hitchcock
ae13289745 Use larger serialization format while in beta 2023-04-02 17:40:44 +01:00
Tobie Morgan Hitchcock
459da80c89 Don’t build tikv feature for docs.rs 2023-04-02 15:19:06 +01:00
Rushmore Mushambi
65f1957256
Ensure Value::Bytes serialises correctly (#1757) 2023-04-02 13:24:43 +01:00
Tobie Morgan Hitchcock
3b7a3a5a35 Use larger serialization format while in beta 2023-04-02 00:48:56 +01:00
Tobie Morgan Hitchcock
7bb89d5041 Ensure DEFINE and REMOVE statements are serialized with full field information 2023-04-02 00:28:01 +01:00
Tobie Morgan Hitchcock
683c1adbd4 Ensure DEFINE TOKEN ON SCOPE statments are included in database export 2023-04-01 19:28:44 +01:00
Tobie Morgan Hitchcock
da2fd133ec Don’t build kv-fdb feature on docs.rs 2023-04-01 19:21:16 +01:00
Tobie Morgan Hitchcock
64873eb881 Ensure DEFINE FIELD statements deserialize correctly 2023-04-01 19:07:00 +01:00
Tobie Morgan Hitchcock
2895026593 Use custom serialization compaction for DEFINE and REMOVE statements 2023-04-01 18:49:10 +01:00
Tobie Morgan Hitchcock
be42b3e7c9 Ensure strings are parsed last 2023-04-01 18:48:17 +01:00
Tobie Morgan Hitchcock
e629ddf9c5 Update LICENSE link on crates.io 2023-04-01 02:10:55 +01:00
Tobie Morgan Hitchcock
c3773b2e57 Release 1.0.0-beta.9 2023-04-01 02:07:04 +01:00
Tobie Morgan Hitchcock
8a726b794b Add additional database type 2023-03-31 23:49:52 +01:00
Tobie Morgan Hitchcock
45094c76ce Use custom serialization format 2023-03-31 23:49:52 +01:00
Rushmore Mushambi
179878d672
Add compile-time guarantees to make Surreal::delete safer (#1753) 2023-03-31 23:49:29 +01:00
Tobie Morgan Hitchcock
78329abf97 Enable access to input data using $input variable
Closes #1543
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
cfb27e0929 Add Bytes type for binary data
Related to #1652
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
3408004c8c Add initial support for method chaining within an Idiom 2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
0a328d4f0a Add initial support for additional functionality in graph expressions
Related to #1658
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
2e0093c41d Improve SQL Idiom path parsing
Closes #1653
2023-03-31 20:00:21 +01:00
Rushmore Mushambi
6e6621565d
Switch the HTTP engine to a binary protocol (#1751) 2023-03-31 18:15:15 +01:00
teenjuna
c7a2430fad
Fix typo in operator.rs (#1750) 2023-03-31 15:19:16 +01:00
Rushmore Mushambi
4a86af1d1f
Re-activate integration tests for the HTTP engine (#1749) 2023-03-31 13:38:09 +01:00
Tobie Morgan Hitchcock
cd5d452e5b Ensure internal edge record fields can not be modified
Closes #1726
2023-03-30 19:30:49 +01:00
Diptesh Choudhuri
494203d358
Allow exporting to stdout (#1701) 2023-03-30 19:13:26 +01:00
Tobie Morgan Hitchcock
2be25cdcd2 Revert simple serialization of basic types 2023-03-30 16:52:31 +01:00
Tobie Morgan Hitchcock
e41a7f7014 Fix simple serialization of sequences and maps 2023-03-30 16:41:14 +01:00
Tobie Morgan Hitchcock
a1d8494de1 Only parse JavaScript functions beginning with function() 2023-03-30 15:19:18 +01:00
Rushmore Mushambi
3e80aa9914
Implement to_value for sql::Value (#1659)
`sql::Value` is an integral part of `surrealdb`. It's the internal type used by our storage layer. Because of this, we do a lot of converting between this type and native Rust types. Currently this conversion is done through `JSON` using the `serde_json` crate because we do not have our own custom data format implementation. This works because `SQL` is a superset of `JSON`.  This, however, means that this conversion is lossy and can cause surprises in some cases. For example expecting record IDs to be deserialized into a `String` instead of its corresponding Rust native type.

This change implements a custom data format around `sql::Value` and introduces a `to_value` function that facilitates that conversion.
2023-03-30 11:41:44 +01:00
Tobie Morgan Hitchcock
86f768e996 Ensure tests work correctly when no features enabled 2023-03-30 11:10:07 +01:00
Tobie Morgan Hitchcock
33cbe6528f Upgrade 3rd party dependencies 2023-03-30 11:08:36 +01:00
Finn Bear
50ea5c52cb
Fix #1732 - casting string containing decimal to int. (#1734) 2023-03-29 19:23:13 +01:00
Salvador Girones Gil
565717659a
Add functionality for open telemetry tracing (#1727) 2023-03-29 19:16:18 +01:00
Rushmore Mushambi
8a451ac61a
Temporarily disable integration tests for the HTTP engine, take 2 (#1744) 2023-03-29 19:14:40 +01:00
Rushmore Mushambi
108f080280
Temporarily disable integration tests for the HTTP engine (#1741) 2023-03-29 16:41:44 +01:00
Tobie Morgan Hitchcock
6ede630d41 Allow unbounded / untyped record type constraints 2023-03-27 13:42:33 +01:00
Tobie Morgan Hitchcock
3f5347e4b3 Fix code comments 2023-03-26 23:39:45 +01:00
Tobie Morgan Hitchcock
1293d23e59 Add test for multi-aggregate composed grouped maths queries
Closes #1689
2023-03-26 22:35:28 +01:00
Tobie Morgan Hitchcock
13fe68a871 Use custom crate for lexicographical sorting 2023-03-26 22:13:43 +01:00
Tobie Morgan Hitchcock
26a040df85 Update 3rd party dependencies 2023-03-26 22:13:27 +01:00
Tobie Morgan Hitchcock
97bb5a1775 Use any_ascii crate to convert unicode 2023-03-26 19:02:48 +01:00
Tobie Morgan Hitchcock
cad596cdf3 Ensure GROUP BY clauses with multi same-aggregate functions work correctly
Closes #1731
2023-03-26 10:04:18 +01:00
Tobie Morgan Hitchcock
fb2356b17a Add SQL array::add() function for adding unique items
Related to #1690
2023-03-26 08:53:37 +01:00
Tobie Morgan Hitchcock
1102a2c6da Add operator for unique array add
Related to #1690
2023-03-25 23:17:33 +00:00
Tobie Morgan Hitchcock
4dba9fc675 Don’t treat arrays as sets
Closes #1690
2023-03-25 22:38:09 +00:00
Tobie Morgan Hitchcock
b49d58a362 Add additional SQL array functions
Closes #1725
Related to #1690

Add `array::append()`, `array::pop()`, `array::prepend()`, `array::push()`, `array::remove()`, and `array::reverse()` SQL functions
2023-03-25 22:37:47 +00:00
Tobie Morgan Hitchcock
2769033451 Update 3rd party dependencies 2023-03-25 20:49:00 +00:00
Tobie Morgan Hitchcock
715b79c24e Fix warnings in release mode 2023-03-25 20:48:51 +00:00
Tobie Morgan Hitchcock
cdac4f84cd Add support for custom SQL functions
Closes #247
2023-03-25 19:44:03 +00:00
Tobie Morgan Hitchcock
a64ebdb4a2 Ensure sql::Statement is Storeable 2023-03-25 19:42:45 +00:00
Tobie Morgan Hitchcock
f395162830 Simplify Cargo.toml file 2023-03-25 07:56:22 +00:00
Tobie Morgan Hitchcock
9afb3499ae Sort casting functions by name 2023-03-20 15:22:19 +00:00
Rushmore Mushambi
735856e5b3
Add Axum example (#1715) 2023-03-20 15:20:57 +00:00
Tobie Morgan Hitchcock
407a4c3381 Ensure JavaScript function code is parsed correctly
Closes #1482
2023-03-18 14:52:16 +00:00
Tobie Morgan Hitchcock
42725789a0 Upgrade Rust code deprecation warnings 2023-03-18 09:18:40 +00:00
Tobie Morgan Hitchcock
f48de42695 Add suport for flattened query results with VALUE field clauses
Closes #1326
2023-03-17 07:32:31 -04:00
Emmanuel Keller
19c287a011
Implement transaction debug tracing (#1668) 2023-03-16 09:11:30 -04:00
Tobie Morgan Hitchcock
b9df5e64ff Add code and documentation comments 2023-03-16 07:13:47 -04:00
Finn Bear
b0811b263e
Fix #1698 - reduce code duplication in TiKV txn. (#1699) 2023-03-13 22:54:21 -04:00
Emmanuel Keller
f3e605afde
Implements transaction isolation testing (#1674) 2023-03-10 15:24:27 +00:00
Tobie Morgan Hitchcock
d31c6e4fb6 Output milliseconds in SQL Duration strings 2023-03-09 19:32:32 +00:00
Tobie Morgan Hitchcock
cfdbb904a4 Fix build 2023-03-08 10:35:45 +00:00
Tobie Morgan Hitchcock
06d2d88594 Ensure HTTP requests timeout correctly
Closes #1677
2023-03-07 09:54:58 +00:00
Tobie Morgan Hitchcock
fa0ec302ca Add extra tests for nanosecond and millisecond parsing 2023-03-07 09:54:58 +00:00
Tobie Morgan Hitchcock
d8723bf03a Order database keys correctly 2023-03-07 09:54:58 +00:00
Alejandro
d7956ea73b
Add From<Vec<String> implementation to Value (#1688) 2023-03-07 09:52:34 +00:00
Tobie Morgan Hitchcock
5e2236dbfd Add initial implementation for processing LIVE queries 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
ace60e4d1d Enable DIFF option in LIVE SELECT queries 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
0589465095 Ensure current document is passed into block statements 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
c9e98b0a52 Fix pretty printing of block statements 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
ca9e0f4d3a Rename JavaScript string::length() function to string::len() 2023-02-21 17:27:35 +00:00
Tobie Morgan Hitchcock
9c18025cca Use new SQL Block type for <future> expressions 2023-02-21 14:15:19 +00:00
Tobie Morgan Hitchcock
9fcf4c9419 Add a new SQL Block type for multi-line statements and expressions
Closes #225
Closes #1319
Related to #247
2023-02-21 14:15:02 +00:00
Tobie Morgan Hitchcock
70ec7c599e Add pretty-printing support for IF ELSE statements
Related to #247
Related to #225
Related to #1319
2023-02-21 12:29:02 +00:00
Tobie Morgan Hitchcock
223d119b2c Allow SQL subqueries to be ended witrh ; character
Related to #247
Related to #225
Related to #1319
2023-02-20 20:40:05 +00:00
Tobie Morgan Hitchcock
185eb91f22 Allow raw SQL subqueries without surrounding brackets
Related to #247
Related to #225
Related to #1319
2023-02-20 14:24:37 +00:00
Tobie Morgan Hitchcock
275cf18a3a Enable RETURN statements in subqueries
Related to #1319
2023-02-19 19:47:34 +00:00
Tobie Morgan Hitchcock
f7dd73212d Make SQL subquery behaviour understandable and consistent
Closes #1408
Closes #1441
2023-02-19 17:34:18 +00:00
Tobie Morgan Hitchcock
5e2157a0a2 Rename SQL string::length() function to string::len() 2023-02-18 21:07:37 +00:00
Tobie Morgan Hitchcock
132354e199 Fix typo in code comment 2023-02-18 18:30:23 +00:00
Tobie Morgan Hitchcock
ef7955c293 Ensure UTF surrogates are removed within strings
Closes #1661
2023-02-16 12:22:23 +00:00
Tobie Morgan Hitchcock
454612487a Allow sending Table type for LIVE query RPC method 2023-02-14 11:01:31 +00:00
Tobie Morgan Hitchcock
0e8866b4e3 Add blueprint for JavaScript Web APIs 2023-02-13 17:47:09 +00:00
Tobie Morgan Hitchcock
d17b658163 Support us in addition to µs for microsecond durations 2023-02-13 16:06:36 +00:00
Tobie Morgan Hitchcock
1fb147eb5e Ensure custom JavaScript classes are cloneable 2023-02-13 16:03:29 +00:00
Tobie Morgan Hitchcock
838d4371fe Add static .is() function for comparison of custom JavaScript classes 2023-02-12 15:52:10 +00:00
Tobie Morgan Hitchcock
6556de7cd2 Allow function argument overloading on custom JavaScript classes 2023-02-12 15:51:47 +00:00
Tobie Morgan Hitchcock
612cd39b05 Add toJSON() method to custom JavaScript classes 2023-02-12 15:49:53 +00:00
Tobie Morgan Hitchcock
8cfc286beb Add global console object to JavaScript runtime
Closes #1634
2023-02-12 12:23:44 +00:00
Tobie Morgan Hitchcock
a4db20fb05 Add descriptions for all datastore key types 2023-02-12 12:19:26 +00:00
Tobie Morgan Hitchcock
94cdef565f Ensure function arguments are processed concurrently 2023-02-12 12:18:47 +00:00
Tobie Morgan Hitchcock
1e93c0f304 Ensure permissions are not chekced on PERMISSIONS clauses
Closes #1633
2023-02-12 11:48:11 +00:00
Tobie Morgan Hitchcock
ea84f839da Update 3rd party dependencies 2023-02-11 23:00:03 +00:00
Tobie Morgan Hitchcock
d2571a6b29 Ensure UUIDs convert to strings correctly
Closes #1650
2023-02-11 18:21:02 +00:00
Tobie Morgan Hitchcock
ab124a2e21 Ensure SQL http functions decode JSON responses correctly
Closes #1649
2023-02-11 17:22:09 +00:00
Tobie Morgan Hitchcock
d3e7936d5e Temporarily remove sql! parser runtime macro
Closes #1643
2023-02-09 10:53:19 +00:00
Tobie Morgan Hitchcock
48756a0a96 Update 3rd party dependencies
Closes #1642
2023-02-07 08:44:25 +00:00
Tobie Morgan Hitchcock
77da795d24 Ensure CONTAINS works correctly with Uuids and Datetimes
Closes #1636
2023-02-04 08:15:30 +00:00
Tobie Morgan Hitchcock
84b026679f Update clippy linting tests 2023-02-03 11:47:07 +00:00
Tobie Morgan Hitchcock
0a65ecd96d Remove unnecessary code 2023-02-03 09:54:05 +00:00
Tobie Morgan Hitchcock
b0c2fe8f03 Ensure math::fixed() works on Decimal numbers
Closes #1622
2023-01-30 22:25:07 +00:00
Tobie Morgan Hitchcock
3f528ab183 Increase memory size of Model 2023-01-29 12:37:13 +00:00
Tobie Morgan Hitchcock
c16705690b Fix bug with Uuid::new() function when compiling 2023-01-26 19:22:03 +00:00
Tobie Morgan Hitchcock
9282feac1f Allow empty params object from text-based WebSocket clients
Closes #1610
2023-01-20 00:54:33 +00:00
Finn Bear
a1b9201bbd
Add pretty printing for SQL Query, Statement, Value, Array, and Object types (#1420) 2023-01-19 09:53:33 +00:00
Tobie Morgan Hitchcock
79d6107b4e Implement PartialOrd for SQL Geometry type
Originally implemented by @finnbear
2023-01-18 14:45:01 +00:00
Tobie Morgan Hitchcock
55dda013b6 Fix SQL function tests 2023-01-18 00:11:19 +00:00
Tobie Morgan Hitchcock
c37d93bcb9 Ensure edge records are output as RELATE statements in SQL export
Closes #1496
2023-01-17 10:41:34 +00:00
Tobie Morgan Hitchcock
286bbef507 Allow Record IDs for relations in RELATE statements 2023-01-17 10:33:05 +00:00
Tobie Morgan Hitchcock
9fa0a4fbb4 Ensure SQL rand() functions do not hang indefinitely 2023-01-17 10:28:54 +00:00
Tobie Morgan Hitchcock
bb0b10e38a Add functionality to generate different Record IDs
Closes #1353
2023-01-17 09:53:47 +00:00
Tobie Morgan Hitchcock
996b9c1375 Use UUIDv7 as default UUID type 2023-01-17 09:51:58 +00:00
Tobie Morgan Hitchcock
30953bc2a3 Add SQL rand::ulid() function
Related to #1353
2023-01-17 09:02:01 +00:00
Tobie Morgan Hitchcock
3a1294029e Add SQL array::all(), array::any(), array::min(), and array::max() functions
Closes #1588
2023-01-17 09:00:30 +00:00