Przemyslaw Hugh Kaznowski
c6f6ca8062
Improve bootstrapping for finding invalid data from beta versions. ( #2700 )
...
Co-authored-by: Raphael Darley <raphael@raphaeldarley.com>
2023-10-04 13:06:58 +00:00
Mees Delzenne
d9fa31f745
Fix clippy warnings in tests and clippy check tests in CI ( #2779 )
2023-10-04 09:51:34 +00:00
Jan S
74ad693709
Fix typos ( #2764 )
2023-09-28 09:17:29 +00:00
Raphael Darley
db5fb6df63
Switch transaction to enum from bool ( #2743 )
2023-09-26 13:02:53 +00:00
Micha de Vries
a0072cf133
Improve type::is::record()
method ( #2736 )
2023-09-22 19:44:28 +00:00
Emmanuel Keller
0772a8c592
Feature: Vector Search: mtree index + knn operator ( #2546 )
...
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-09-12 21:26:03 +01:00
Yusuke Kuoka
c51912ab81
Record table (re)definitions into change feeds ( #2671 )
...
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
2023-09-12 16:55:07 +01:00
Emmanuel Keller
e4c6d817c4
Feature: Support of range queries in the query planner ( #2656 )
2023-09-12 16:43:32 +01:00
Yusuke Kuoka
3ab03b00a8
Fix change feeds enabled at the database-level ( #2688 )
...
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
2023-09-12 14:57:27 +00:00
Rushmore Mushambi
3c48558ca2
Fix decimal deserialisation ( #2687 )
2023-09-12 15:34:58 +01:00
Yusuke Kuoka
5446666e7d
Fix panic on commit when defining db and tb in strict mode ( #2684 )
...
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
Co-authored-by: Mees Delzenne <mees.delzenne@gmail.com>
2023-09-12 15:33:24 +01:00
Micha de Vries
5bfe598a96
Process scripting functions before "type::*" functions ( #2681 )
...
Co-authored-by: Mees Delzenne <mees.delzenne@gmail.com>
2023-09-12 11:14:09 +01:00
Tobie Morgan Hitchcock
28368d83c9
Add live queries to INFO FOR TB
statement ( #2673 )
2023-09-11 20:35:32 +01:00
Tobie Morgan Hitchcock
592a1b7c7e
Add $before
and $after
params to RETURN
clauses ( #2665 )
2023-09-10 19:22:41 +01:00
Tobie Morgan Hitchcock
c3acab4614
Support FOR
statements inside code blocks ( #2664 )
2023-09-10 12:30:30 +01:00
Mees Delzenne
b02567d233
Improved error messages ( #2566 )
2023-09-08 11:28:36 +00:00
Emmanuel Keller
fe78ca3c32
Feature: Add fallback reason to the explanation ( #2647 )
2023-09-07 23:36:39 +00:00
Tobie Morgan Hitchcock
e316498e96
Add ONLY
keyword for single result outputs ( #2624 )
2023-09-05 16:22:13 +01:00
Tobie Morgan Hitchcock
e008745a54
Allow any value to be used for error type in THROW
statement ( #2618 )
2023-09-05 16:21:34 +01:00
Tobie Morgan Hitchcock
abb5ce00db
Ensure incorrect data causes error ( #2559 )
2023-09-04 18:54:17 +01:00
Micha de Vries
22c36b80c8
move is::*
-> string::is::*
, add new type::is::*
fncs ( #2603 )
2023-09-04 16:10:18 +00:00
Mees Delzenne
48a2bb52ac
Provide existing context to functions called from scripting functions ( #2605 )
2023-09-04 12:12:24 +00:00
Tobie Morgan Hitchcock
fc7f5cb0b0
Support variable field projection with type::field()
and type::fields()
( #2552 )
2023-08-31 13:06:10 +01: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
Mees Delzenne
daf6743c4e
Miscellaneous parser improvements ( #2515 )
2023-08-29 11:50:00 +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
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
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
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
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
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
Tobie Morgan Hitchcock
44dabfa9d2
Improve DEFINE
and REMOVE
statements code ( #2455 )
2023-08-18 14:21:02 +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
ef75fc2a66
Add test for delete with live query predicates ( #2430 )
2023-08-11 23:22:53 +00:00
Rushmore Mushambi
61f4580ba8
Switch to std::sync::OnceLock
and fix Surreal::clone
( #2370 )
2023-08-10 06:33:38 +00:00
Aly
7221d8cae9
Fix setting id using arbitrary record IDs ( #2367 )
2023-08-01 18:47:08 +00:00
Emmanuel Keller
ecba885eb8
Feat: btree serialisation + generic read/write tree cache ( #2362 )
2023-08-01 09:57:05 +00:00
Emmanuel Keller
b485d9cc3d
Feat: Support of (un)flattened fields in indexing ( #2327 )
2023-08-01 07:30:13 +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
Yusuke Kuoka
860796ba86
Add Change Feeds GC ( #2339 )
2023-07-29 08:51:30 +00:00
Mees Delzenne
278e27db87
Implement support for running queries in script functions. ( #2331 )
2023-07-26 07:54:07 +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
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
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
hchockarprasad
88bcc87d39
Add array::at function ( #2294 )
2023-07-20 08:27:04 +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
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
Tobie Morgan Hitchcock
a12348db8e
Path processing improvements ( #2250 )
2023-07-15 07:08:26 +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
Emmanuel Keller
1e30eb4aa1
feat: Implements SELECT/EXPLAIN FULL ( #2258 )
2023-07-14 12:22:37 +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
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
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
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
Emmanuel Keller
73a4e54ad5
Bugfix - matches operator returns results on non-matching terms ( #2185 )
2023-06-26 18:23:05 +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
Emmanuel Keller
8e64750a60
Feature - Search highlighting ( #2132 )
2023-06-21 19:31:15 +01:00
Finn Bear
41e119a5f5
Feature - unary operators ( #2139 )
2023-06-21 00:31:23 +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
Emmanuel Keller
668d3fd8fb
Introduce query planner and indexing ( #1899 )
2023-06-19 19:41:13 +01:00
Rushmore Mushambi
6f79f1556a
Test FoundationDB ( #1889 )
2023-06-13 20:55:38 +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
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
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
Emmanuel Keller
8e48604e20
Add initial full-text search indexer implementation ( #1779 )
2023-05-29 12:46:41 +01:00
Rushmore Mushambi
9cd25566ac
Fix deserialising HTTP query responses ( #2045 )
2023-05-26 11:36:37 +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
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
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
Finn Bear
ccc16fa9a7
Feature - Expand support for Bytes
( #1898 )
2023-05-09 16:43:16 -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
Rushmore Mushambi
107e5b5dba
Support switching namespaces and databases separately ( #1927 )
2023-05-05 19:12:19 +01:00
Jan Tebernum
e9ebecfdd6
Feature: Implementation of array::join
( #1920 )
2023-05-04 21:38:02 +01:00
Jan Tebernum
1cd00cf3fc
Feature: Add function string::contains
( #1906 )
2023-05-03 11:40:17 +01:00
Tobie Morgan Hitchcock
453d368e69
Add integration tests for the built-in SQL functions ( #1893 )
2023-04-30 19:34:26 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation ( #1881 )
2023-04-29 16:58:22 +01:00
Rushmore Mushambi
141eb091a6
Bypass deserialisation for sql::Value
responses on Surreal
methods ( #1875 )
2023-04-28 12:20:57 +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
ee24f8d6a0
Ensure array::remove()
function works correctly
...
Closes #1831
2023-04-20 19:23:13 +01:00
Rushmore Mushambi
8eac52315b
Fix HTTP string errors deserialization ( #1821 )
2023-04-19 09:46:37 +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
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
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
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
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
1293d23e59
Add test for multi-aggregate composed grouped maths queries
...
Closes #1689
2023-03-26 22:35:28 +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
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
cdac4f84cd
Add support for custom SQL functions
...
Closes #247
2023-03-25 19:44:03 +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
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
f7dd73212d
Make SQL subquery behaviour understandable and consistent
...
Closes #1408
Closes #1441
2023-02-19 17:34:18 +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
55dda013b6
Fix SQL function tests
2023-01-18 00:11:19 +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
Tobie Morgan Hitchcock
7fabf54593
Add ability to define global parameters on database
...
Closes #133
2023-01-09 15:49:47 +00:00
Tobie Morgan Hitchcock
23be3353be
Check expressions for SPLIT ON, GROUP BY, and ORDER BY clauses
...
Closes #1229
Closes #1230
Closes #1457
Closes #1233
2023-01-08 17:38:51 +00:00
Tobie Morgan Hitchcock
9c5178ef0a
Add tests for SQL array::group()
function
2023-01-07 20:02:49 +00:00