gqlite 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/ext/gqliterb/Cargo.lock +27 -20
  3. data/ext/gqliterb/Cargo.toml +3 -2
  4. data/ext/gqliterb/src/lib.rs +7 -1
  5. data/ext/gqliterb/vendor/gqlitedb/Cargo.lock +88 -33
  6. data/ext/gqliterb/vendor/gqlitedb/Cargo.toml +7 -1
  7. data/ext/gqliterb/vendor/gqlitedb/release.toml +2 -2
  8. data/ext/gqliterb/vendor/gqlitedb/src/capi.rs +24 -1
  9. data/ext/gqliterb/vendor/gqlitedb/src/compiler/expression_analyser.rs +4 -0
  10. data/ext/gqliterb/vendor/gqlitedb/src/compiler/variables_manager.rs +9 -8
  11. data/ext/gqliterb/vendor/gqlitedb/src/compiler.rs +9 -0
  12. data/ext/gqliterb/vendor/gqlitedb/src/connection.rs +192 -58
  13. data/ext/gqliterb/vendor/gqlitedb/src/error.rs +8 -16
  14. data/ext/gqliterb/vendor/gqlitedb/src/functions/edge.rs +1 -1
  15. data/ext/gqliterb/vendor/gqlitedb/src/functions/math.rs +1 -1
  16. data/ext/gqliterb/vendor/gqlitedb/src/functions/node.rs +1 -1
  17. data/ext/gqliterb/vendor/gqlitedb/src/functions/path.rs +33 -1
  18. data/ext/gqliterb/vendor/gqlitedb/src/functions/scalar.rs +1 -1
  19. data/ext/gqliterb/vendor/gqlitedb/src/functions/string.rs +1 -1
  20. data/ext/gqliterb/vendor/gqlitedb/src/functions/value.rs +1 -1
  21. data/ext/gqliterb/vendor/gqlitedb/src/functions.rs +11 -13
  22. data/ext/gqliterb/vendor/gqlitedb/src/graph.rs +15 -0
  23. data/ext/gqliterb/vendor/gqlitedb/src/interpreter/evaluators.rs +21 -33
  24. data/ext/gqliterb/vendor/gqlitedb/src/interpreter/instructions.rs +6 -1
  25. data/ext/gqliterb/vendor/gqlitedb/src/lib.rs +1 -2
  26. data/ext/gqliterb/vendor/gqlitedb/src/parser/ast.rs +10 -24
  27. data/ext/gqliterb/vendor/gqlitedb/src/parser/gql.pest +8 -3
  28. data/ext/gqliterb/vendor/gqlitedb/src/parser/parser.rs +36 -6
  29. data/ext/gqliterb/vendor/gqlitedb/src/store/redb.rs +36 -24
  30. data/ext/gqliterb/vendor/gqlitedb/src/store/sqlite.rs +50 -18
  31. data/ext/gqliterb/vendor/gqlitedb/src/store.rs +9 -2
  32. data/ext/gqliterb/vendor/gqlitedb/src/tests/evaluators.rs +9 -9
  33. data/ext/gqliterb/vendor/gqlitedb/src/tests/store/redb.rs +12 -5
  34. data/ext/gqliterb/vendor/gqlitedb/src/tests/store/sqlite.rs +12 -5
  35. data/ext/gqliterb/vendor/gqlitedb/src/tests/store.rs +11 -3
  36. data/ext/gqliterb/vendor/gqlitedb/src/value.rs +54 -4
  37. data/ext/gqliterb/vendor/gqlitedb/src/value_table.rs +7 -13
  38. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a66832adf2787c8b76783992b8a44d69aad4f33a19ec5a386113634d5960c29
4
- data.tar.gz: a9a06b53be1c30adeb351a89eb6084076aabefa6159a39f33591d3cfcd114344
3
+ metadata.gz: a4f3b9b41902b916ad1893fce53201a6e98b58f9cc20fa66a1f13849f3e84536
4
+ data.tar.gz: 7dfdb9ac4f71b24332916940e145fbfd513c3be5bcb627575d749825afab88fe
5
5
  SHA512:
6
- metadata.gz: 7a94734fd53cbab213064dc79a007acbefb864c203bbbe9117bb0bbe726fa18f33235382a16339b184e8ed72d2f63338614c825d148f3affcded6f2ce4e963f2
7
- data.tar.gz: 7dbcd12228a3d5a2280fd5f3848fb04dd60c8804c699c058cc6bed3e6bf044760613fcf5b6e09866288d2723bceef5c3b06020ad6c29c593bf291dde764c3a99
6
+ metadata.gz: 6d0258dd0e102cc62c193f0ad44e6fe028576be9b879686d8a5feb03bec6c2baefffc4bc4c2db8de3c43fa82eb48622386010c5b287fbb5efdeb92905578e9b9
7
+ data.tar.gz: f18708c7479c61a90c05b1acb17aa9dc951a608e7225342658c678adb8106a0215b28496a7accb47c58fd78448e5db5b03e735b81b67b83d42653094ffd4b19c
@@ -122,9 +122,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
122
122
 
123
123
  [[package]]
124
124
  name = "ccutils"
125
- version = "0.3.2"
125
+ version = "0.3.5"
126
126
  source = "registry+https://github.com/rust-lang/crates.io-index"
127
- checksum = "de41bba6534d5bcef782943f9c9d27fe69e00fa0530a4426d7aec02300cf454b"
127
+ checksum = "d60887477bbb34ec7cae8d88a4cb21f626acd681949a639adbba4b7662e6edc7"
128
128
  dependencies = [
129
129
  "better_default",
130
130
  "parking_lot",
@@ -272,9 +272,9 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
272
272
 
273
273
  [[package]]
274
274
  name = "gqlitedb"
275
- version = "0.5.2"
275
+ version = "0.5.3"
276
276
  source = "registry+https://github.com/rust-lang/crates.io-index"
277
- checksum = "75b4ccb7da2d88ebd36fd173b4748d7beb584cbd0ef5f9bee9585ae5dfb2cf37"
277
+ checksum = "0976957652a03a818b513b6da9f8b65ef045c0b094696965940c7fb8a4ef8473"
278
278
  dependencies = [
279
279
  "askama",
280
280
  "ccutils",
@@ -293,7 +293,7 @@ dependencies = [
293
293
 
294
294
  [[package]]
295
295
  name = "gqliterb"
296
- version = "0.5.2"
296
+ version = "0.5.3"
297
297
  dependencies = [
298
298
  "gqlitedb",
299
299
  "magnus",
@@ -387,7 +387,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
387
387
  checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
388
388
  dependencies = [
389
389
  "cfg-if",
390
- "windows-targets 0.53.2",
390
+ "windows-targets 0.53.3",
391
391
  ]
392
392
 
393
393
  [[package]]
@@ -581,9 +581,9 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
581
581
 
582
582
  [[package]]
583
583
  name = "rand"
584
- version = "0.9.1"
584
+ version = "0.9.2"
585
585
  source = "registry+https://github.com/rust-lang/crates.io-index"
586
- checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
586
+ checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
587
587
  dependencies = [
588
588
  "rand_chacha",
589
589
  "rand_core",
@@ -610,18 +610,18 @@ dependencies = [
610
610
 
611
611
  [[package]]
612
612
  name = "rb-sys"
613
- version = "0.9.116"
613
+ version = "0.9.117"
614
614
  source = "registry+https://github.com/rust-lang/crates.io-index"
615
- checksum = "7059846f68396df83155779c75336ca24567741cb95256e6308c9fcc370e8dad"
615
+ checksum = "f900d1ce4629a2ebffaf5de74bd8f9c1188d4c5ed406df02f97e22f77a006f44"
616
616
  dependencies = [
617
617
  "rb-sys-build",
618
618
  ]
619
619
 
620
620
  [[package]]
621
621
  name = "rb-sys-build"
622
- version = "0.9.116"
622
+ version = "0.9.117"
623
623
  source = "registry+https://github.com/rust-lang/crates.io-index"
624
- checksum = "ac217510df41b9ffc041573e68d7a02aaff770c49943c7494441c4b224b0ecd0"
624
+ checksum = "ef1e9c857028f631056bcd6d88cec390c751e343ce2223ddb26d23eb4a151d59"
625
625
  dependencies = [
626
626
  "bindgen",
627
627
  "lazy_static",
@@ -646,18 +646,18 @@ checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
646
646
 
647
647
  [[package]]
648
648
  name = "redb"
649
- version = "2.6.0"
649
+ version = "2.6.2"
650
650
  source = "registry+https://github.com/rust-lang/crates.io-index"
651
- checksum = "cef6a6d3a65ea334d6cdfb31fa2525c20184b7aa7bd1ad1e2e37502610d4609f"
651
+ checksum = "59b38b05028f398f08bea4691640503ec25fcb60b82fb61ce1f8fd1f4fccd3f7"
652
652
  dependencies = [
653
653
  "libc",
654
654
  ]
655
655
 
656
656
  [[package]]
657
657
  name = "redox_syscall"
658
- version = "0.5.13"
658
+ version = "0.5.17"
659
659
  source = "registry+https://github.com/rust-lang/crates.io-index"
660
- checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
660
+ checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
661
661
  dependencies = [
662
662
  "bitflags",
663
663
  ]
@@ -764,9 +764,9 @@ dependencies = [
764
764
 
765
765
  [[package]]
766
766
  name = "serde_json"
767
- version = "1.0.140"
767
+ version = "1.0.142"
768
768
  source = "registry+https://github.com/rust-lang/crates.io-index"
769
- checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
769
+ checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
770
770
  dependencies = [
771
771
  "itoa",
772
772
  "memchr",
@@ -942,6 +942,12 @@ dependencies = [
942
942
  "unicode-ident",
943
943
  ]
944
944
 
945
+ [[package]]
946
+ name = "windows-link"
947
+ version = "0.1.3"
948
+ source = "registry+https://github.com/rust-lang/crates.io-index"
949
+ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
950
+
945
951
  [[package]]
946
952
  name = "windows-targets"
947
953
  version = "0.52.6"
@@ -960,10 +966,11 @@ dependencies = [
960
966
 
961
967
  [[package]]
962
968
  name = "windows-targets"
963
- version = "0.53.2"
969
+ version = "0.53.3"
964
970
  source = "registry+https://github.com/rust-lang/crates.io-index"
965
- checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
971
+ checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
966
972
  dependencies = [
973
+ "windows-link",
967
974
  "windows_aarch64_gnullvm 0.53.0",
968
975
  "windows_aarch64_msvc 0.53.0",
969
976
  "windows_i686_gnu 0.53.0",
@@ -12,7 +12,7 @@
12
12
  [package]
13
13
  edition = "2021"
14
14
  name = "gqliterb"
15
- version = "0.5.2"
15
+ version = "0.5.3"
16
16
  build = false
17
17
  autolib = false
18
18
  autobins = false
@@ -34,7 +34,8 @@ crate-type = ["cdylib"]
34
34
  path = "src/lib.rs"
35
35
 
36
36
  [dependencies.gqlitedb]
37
- version = "0.5.2"
37
+ version = "0.5.3"
38
+ features = []
38
39
 
39
40
  [dependencies.magnus]
40
41
  version = "0.7"
@@ -206,7 +206,13 @@ impl Connection
206
206
  .to_owned()
207
207
  .try_into(),
208
208
  )?;
209
- let dbhandle = map_err(ruby, gqlitedb::Connection::open(filename, options))?;
209
+ let dbhandle = map_err(
210
+ ruby,
211
+ gqlitedb::Connection::builder()
212
+ .options(options)
213
+ .path(filename)
214
+ .create(),
215
+ )?;
210
216
  Ok(Self { dbhandle })
211
217
  }
212
218
  fn execute_oc_query(
@@ -186,28 +186,28 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
186
186
 
187
187
  [[package]]
188
188
  name = "cargo_toml"
189
- version = "0.22.1"
189
+ version = "0.22.3"
190
190
  source = "registry+https://github.com/rust-lang/crates.io-index"
191
- checksum = "02260d489095346e5cafd04dea8e8cb54d1d74fcd759022a9b72986ebe9a1257"
191
+ checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77"
192
192
  dependencies = [
193
193
  "serde",
194
- "toml",
194
+ "toml 0.9.4",
195
195
  ]
196
196
 
197
197
  [[package]]
198
198
  name = "cc"
199
- version = "1.2.29"
199
+ version = "1.2.31"
200
200
  source = "registry+https://github.com/rust-lang/crates.io-index"
201
- checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
201
+ checksum = "c3a42d84bb6b69d3a8b3eaacf0d88f179e1929695e1ad012b6cf64d9caaa5fd2"
202
202
  dependencies = [
203
203
  "shlex",
204
204
  ]
205
205
 
206
206
  [[package]]
207
207
  name = "ccutils"
208
- version = "0.3.2"
208
+ version = "0.3.5"
209
209
  source = "registry+https://github.com/rust-lang/crates.io-index"
210
- checksum = "de41bba6534d5bcef782943f9c9d27fe69e00fa0530a4426d7aec02300cf454b"
210
+ checksum = "d60887477bbb34ec7cae8d88a4cb21f626acd681949a639adbba4b7662e6edc7"
211
211
  dependencies = [
212
212
  "better_default",
213
213
  "log",
@@ -280,18 +280,18 @@ dependencies = [
280
280
 
281
281
  [[package]]
282
282
  name = "clap"
283
- version = "4.5.41"
283
+ version = "4.5.42"
284
284
  source = "registry+https://github.com/rust-lang/crates.io-index"
285
- checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
285
+ checksum = "ed87a9d530bb41a67537289bafcac159cb3ee28460e0a4571123d2a778a6a882"
286
286
  dependencies = [
287
287
  "clap_builder",
288
288
  ]
289
289
 
290
290
  [[package]]
291
291
  name = "clap_builder"
292
- version = "4.5.41"
292
+ version = "4.5.42"
293
293
  source = "registry+https://github.com/rust-lang/crates.io-index"
294
- checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
294
+ checksum = "64f4f3f3c77c94aff3c7e9aac9a2ca1974a5adf392a8bb751e827d6d127ab966"
295
295
  dependencies = [
296
296
  "anstyle",
297
297
  "clap_lex",
@@ -549,7 +549,7 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
549
549
 
550
550
  [[package]]
551
551
  name = "gqlitedb"
552
- version = "0.5.2"
552
+ version = "0.5.3"
553
553
  dependencies = [
554
554
  "askama",
555
555
  "ccutils",
@@ -642,9 +642,9 @@ dependencies = [
642
642
 
643
643
  [[package]]
644
644
  name = "iai-callgrind"
645
- version = "0.16.0"
645
+ version = "0.16.1"
646
646
  source = "registry+https://github.com/rust-lang/crates.io-index"
647
- checksum = "6c358f67cf086a3a890a72c390dadc371e9151129b1e9b75acc705d30a77197f"
647
+ checksum = "0b1e4910d3a9137442723dfb772c32dc10674c4181ca078d2fd227cd5dce9db0"
648
648
  dependencies = [
649
649
  "bincode",
650
650
  "derive_more",
@@ -669,9 +669,9 @@ dependencies = [
669
669
 
670
670
  [[package]]
671
671
  name = "iai-callgrind-runner"
672
- version = "0.16.0"
672
+ version = "0.16.1"
673
673
  source = "registry+https://github.com/rust-lang/crates.io-index"
674
- checksum = "6248b44a281f0c22ba57fe41b56f718a8c2cc682a99f270f667503819d758004"
674
+ checksum = "b74c9743c00c3bca4aaffc69c87cae56837796cd362438daf354a3f785788c68"
675
675
  dependencies = [
676
676
  "serde",
677
677
  ]
@@ -863,7 +863,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
863
863
  checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
864
864
  dependencies = [
865
865
  "cfg-if",
866
- "windows-targets 0.53.2",
866
+ "windows-targets 0.53.3",
867
867
  ]
868
868
 
869
869
  [[package]]
@@ -1108,7 +1108,7 @@ dependencies = [
1108
1108
  "serde",
1109
1109
  "serde_json",
1110
1110
  "thiserror",
1111
- "toml",
1111
+ "toml 0.8.23",
1112
1112
  "url",
1113
1113
  "winapi",
1114
1114
  ]
@@ -1222,9 +1222,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
1222
1222
 
1223
1223
  [[package]]
1224
1224
  name = "rand"
1225
- version = "0.9.1"
1225
+ version = "0.9.2"
1226
1226
  source = "registry+https://github.com/rust-lang/crates.io-index"
1227
- checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
1227
+ checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
1228
1228
  dependencies = [
1229
1229
  "rand_chacha",
1230
1230
  "rand_core",
@@ -1251,18 +1251,18 @@ dependencies = [
1251
1251
 
1252
1252
  [[package]]
1253
1253
  name = "redb"
1254
- version = "2.6.0"
1254
+ version = "2.6.2"
1255
1255
  source = "registry+https://github.com/rust-lang/crates.io-index"
1256
- checksum = "cef6a6d3a65ea334d6cdfb31fa2525c20184b7aa7bd1ad1e2e37502610d4609f"
1256
+ checksum = "59b38b05028f398f08bea4691640503ec25fcb60b82fb61ce1f8fd1f4fccd3f7"
1257
1257
  dependencies = [
1258
1258
  "libc",
1259
1259
  ]
1260
1260
 
1261
1261
  [[package]]
1262
1262
  name = "redox_syscall"
1263
- version = "0.5.13"
1263
+ version = "0.5.17"
1264
1264
  source = "registry+https://github.com/rust-lang/crates.io-index"
1265
- checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
1265
+ checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
1266
1266
  dependencies = [
1267
1267
  "bitflags",
1268
1268
  ]
@@ -1416,9 +1416,9 @@ dependencies = [
1416
1416
 
1417
1417
  [[package]]
1418
1418
  name = "serde_json"
1419
- version = "1.0.140"
1419
+ version = "1.0.142"
1420
1420
  source = "registry+https://github.com/rust-lang/crates.io-index"
1421
- checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
1421
+ checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
1422
1422
  dependencies = [
1423
1423
  "itoa",
1424
1424
  "memchr",
@@ -1435,6 +1435,15 @@ dependencies = [
1435
1435
  "serde",
1436
1436
  ]
1437
1437
 
1438
+ [[package]]
1439
+ name = "serde_spanned"
1440
+ version = "1.0.0"
1441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1442
+ checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83"
1443
+ dependencies = [
1444
+ "serde",
1445
+ ]
1446
+
1438
1447
  [[package]]
1439
1448
  name = "sha2"
1440
1449
  version = "0.10.9"
@@ -1564,11 +1573,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1564
1573
  checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
1565
1574
  dependencies = [
1566
1575
  "serde",
1567
- "serde_spanned",
1568
- "toml_datetime",
1576
+ "serde_spanned 0.6.9",
1577
+ "toml_datetime 0.6.11",
1569
1578
  "toml_edit",
1570
1579
  ]
1571
1580
 
1581
+ [[package]]
1582
+ name = "toml"
1583
+ version = "0.9.4"
1584
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1585
+ checksum = "41ae868b5a0f67631c14589f7e250c1ea2c574ee5ba21c6c8dd4b1485705a5a1"
1586
+ dependencies = [
1587
+ "indexmap",
1588
+ "serde",
1589
+ "serde_spanned 1.0.0",
1590
+ "toml_datetime 0.7.0",
1591
+ "toml_parser",
1592
+ "toml_writer",
1593
+ "winnow",
1594
+ ]
1595
+
1572
1596
  [[package]]
1573
1597
  name = "toml_datetime"
1574
1598
  version = "0.6.11"
@@ -1578,6 +1602,15 @@ dependencies = [
1578
1602
  "serde",
1579
1603
  ]
1580
1604
 
1605
+ [[package]]
1606
+ name = "toml_datetime"
1607
+ version = "0.7.0"
1608
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1609
+ checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3"
1610
+ dependencies = [
1611
+ "serde",
1612
+ ]
1613
+
1581
1614
  [[package]]
1582
1615
  name = "toml_edit"
1583
1616
  version = "0.22.27"
@@ -1586,18 +1619,33 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
1586
1619
  dependencies = [
1587
1620
  "indexmap",
1588
1621
  "serde",
1589
- "serde_spanned",
1590
- "toml_datetime",
1622
+ "serde_spanned 0.6.9",
1623
+ "toml_datetime 0.6.11",
1591
1624
  "toml_write",
1592
1625
  "winnow",
1593
1626
  ]
1594
1627
 
1628
+ [[package]]
1629
+ name = "toml_parser"
1630
+ version = "1.0.1"
1631
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1632
+ checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30"
1633
+ dependencies = [
1634
+ "winnow",
1635
+ ]
1636
+
1595
1637
  [[package]]
1596
1638
  name = "toml_write"
1597
1639
  version = "0.1.2"
1598
1640
  source = "registry+https://github.com/rust-lang/crates.io-index"
1599
1641
  checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
1600
1642
 
1643
+ [[package]]
1644
+ name = "toml_writer"
1645
+ version = "1.0.2"
1646
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1647
+ checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64"
1648
+
1601
1649
  [[package]]
1602
1650
  name = "typenum"
1603
1651
  version = "1.18.0"
@@ -1782,6 +1830,12 @@ version = "0.4.0"
1782
1830
  source = "registry+https://github.com/rust-lang/crates.io-index"
1783
1831
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1784
1832
 
1833
+ [[package]]
1834
+ name = "windows-link"
1835
+ version = "0.1.3"
1836
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1837
+ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
1838
+
1785
1839
  [[package]]
1786
1840
  name = "windows-sys"
1787
1841
  version = "0.59.0"
@@ -1797,7 +1851,7 @@ version = "0.60.2"
1797
1851
  source = "registry+https://github.com/rust-lang/crates.io-index"
1798
1852
  checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
1799
1853
  dependencies = [
1800
- "windows-targets 0.53.2",
1854
+ "windows-targets 0.53.3",
1801
1855
  ]
1802
1856
 
1803
1857
  [[package]]
@@ -1818,10 +1872,11 @@ dependencies = [
1818
1872
 
1819
1873
  [[package]]
1820
1874
  name = "windows-targets"
1821
- version = "0.53.2"
1875
+ version = "0.53.3"
1822
1876
  source = "registry+https://github.com/rust-lang/crates.io-index"
1823
- checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
1877
+ checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
1824
1878
  dependencies = [
1879
+ "windows-link",
1825
1880
  "windows_aarch64_gnullvm 0.53.0",
1826
1881
  "windows_aarch64_msvc 0.53.0",
1827
1882
  "windows_i686_gnu 0.53.0",
@@ -12,7 +12,7 @@
12
12
  [package]
13
13
  edition = "2021"
14
14
  name = "gqlitedb"
15
- version = "0.5.2"
15
+ version = "0.5.3"
16
16
  build = false
17
17
  autolib = false
18
18
  autobins = false
@@ -33,6 +33,7 @@ _pg15 = ["pgrx/pg15"]
33
33
  _pg16 = ["pgrx/pg16"]
34
34
  _pg17 = ["pgrx/pg17"]
35
35
  _pgql = ["dep:pgrx"]
36
+ _value_private = []
36
37
  capi = []
37
38
  default = [
38
39
  "redb",
@@ -104,6 +105,7 @@ features = [
104
105
  "uuid",
105
106
  ]
106
107
  optional = true
108
+ package = "rusqlite"
107
109
 
108
110
  [dependencies.serde]
109
111
  version = "1"
@@ -130,3 +132,7 @@ version = "0.16"
130
132
 
131
133
  [dev-dependencies.regex]
132
134
  version = "1"
135
+
136
+ [target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
137
+ version = "1"
138
+ features = ["js"]
@@ -1,7 +1,7 @@
1
1
  pre-release-replacements = [
2
2
  { file = "../../CHANGELOG.md", search = "Unreleased", replace = "{{version}}" },
3
- { file = "../../CHANGELOG.md", search = "\\.\\.\\.dev/2", replace = "...{{tag_name}}", exactly = 1 },
3
+ { file = "../../CHANGELOG.md", search = "\\.\\.\\.dev/1", replace = "...{{tag_name}}", exactly = 1 },
4
4
  { file = "../../CHANGELOG.md", search = "ReleaseDate", replace = "{{date}}" },
5
5
  { file = "../../CHANGELOG.md", search = "<!-- next-header -->", replace = "<!-- next-header -->\n\n## [Unreleased] - ReleaseDate", exactly = 1 },
6
- { file = "../../CHANGELOG.md", search = "<!-- next-url -->", replace = "<!-- next-url -->\n[Unreleased]: https://gitlab.com/gqlite/gqlite/compare/{{tag_name}}...dev/2", exactly = 1 },
6
+ { file = "../../CHANGELOG.md", search = "<!-- next-url -->", replace = "<!-- next-url -->\n[Unreleased]: https://gitlab.com/gqlite/gqlite/compare/{{tag_name}}...dev/1", exactly = 1 },
7
7
  ]
@@ -114,9 +114,16 @@ pub extern "C" fn gqlite_connection_create_from_file(
114
114
  check_error(context);
115
115
  let options = get_value(options);
116
116
  let path = unsafe { std::ffi::CStr::from_ptr(filename) };
117
+
117
118
  if let Ok(path) = handle_error(context, path.to_str())
118
119
  {
119
- if let Ok(c) = handle_error(context, crate::Connection::open(path, options.into_map()))
120
+ if let Ok(c) = handle_error(
121
+ context,
122
+ crate::Connection::builder()
123
+ .options(options.into_map())
124
+ .path(path)
125
+ .create(),
126
+ )
120
127
  {
121
128
  return Box::into_raw(Box::new(GqliteConnectionT { connection: c }));
122
129
  }
@@ -124,6 +131,22 @@ pub extern "C" fn gqlite_connection_create_from_file(
124
131
  std::ptr::null::<GqliteConnectionT>() as *mut GqliteConnectionT
125
132
  }
126
133
 
134
+ #[no_mangle]
135
+ pub extern "C" fn gqlite_connection_create(
136
+ context: *mut GqliteApiContextT,
137
+ options: *mut GqliteValueT,
138
+ ) -> *mut GqliteConnectionT
139
+ {
140
+ check_error(context);
141
+ let options = get_value(options);
142
+
143
+ if let Ok(c) = handle_error(context, crate::Connection::create(options.into_map()))
144
+ {
145
+ return Box::into_raw(Box::new(GqliteConnectionT { connection: c }));
146
+ }
147
+ std::ptr::null::<GqliteConnectionT>() as *mut GqliteConnectionT
148
+ }
149
+
127
150
  #[no_mangle]
128
151
  pub extern "C" fn gqlite_connection_destroy(
129
152
  _context: *mut GqliteApiContextT,
@@ -349,6 +349,10 @@ impl<'b> Analyser<'b>
349
349
  ExpressionType::Variant,
350
350
  ([&ri.left, &ri.right].into_iter(), validators::any).analyse(self)?,
351
351
  )),
352
+ ast::Expression::Exponent(ri) => Ok(ExpressionInfo::new_type(
353
+ ExpressionType::Variant,
354
+ ([&ri.left, &ri.right].into_iter(), validators::any).analyse(self)?,
355
+ )),
352
356
  ast::Expression::Map(map) => Ok(ExpressionInfo::new_type(
353
357
  ExpressionType::Map,
354
358
  (map.map.iter().map(|(_, v)| v), validators::any).analyse(self)?,
@@ -558,12 +558,13 @@ impl VariablesManager
558
558
  .into(),
559
559
  );
560
560
  }
561
- #[allow(unused_variables)]
562
561
  match statement
563
562
  {
564
- ast::Statement::CreateGraph(create_graph) =>
563
+ ast::Statement::CreateGraph(..) =>
565
564
  {}
566
- ast::Statement::UseGraph(use_graph) =>
565
+ ast::Statement::DropGraph(..) =>
566
+ {}
567
+ ast::Statement::UseGraph(..) =>
567
568
  {}
568
569
  ast::Statement::Create(create) =>
569
570
  {
@@ -596,11 +597,11 @@ impl VariablesManager
596
597
  self.analyse_pattern(pattern, false)?;
597
598
  }
598
599
  }
599
- ast::Statement::Return(return_statement) =>
600
+ ast::Statement::Return(..) =>
600
601
  {}
601
- ast::Statement::Call(call) =>
602
+ ast::Statement::Call(..) =>
602
603
  {}
603
- ast::Statement::With(with) =>
604
+ ast::Statement::With(..) =>
604
605
  {}
605
606
  ast::Statement::Unwind(unwind) =>
606
607
  {
@@ -610,9 +611,9 @@ impl VariablesManager
610
611
  )?;
611
612
  self.mark_variables_as_set(&unwind.identifier)?;
612
613
  }
613
- ast::Statement::Delete(delete) =>
614
+ ast::Statement::Delete(..) =>
614
615
  {}
615
- ast::Statement::Update(update) =>
616
+ ast::Statement::Update(..) =>
616
617
  {}
617
618
  }
618
619
  Ok(())
@@ -261,6 +261,11 @@ impl Compiler
261
261
  compile_binary_op!(self, modulo, instructions, aggregations);
262
262
  Instruction::ModuloBinaryOperator
263
263
  }
264
+ ast::Expression::Exponent(exponent) =>
265
+ {
266
+ compile_binary_op!(self, exponent, instructions, aggregations);
267
+ Instruction::ExponentBinaryOperator
268
+ }
264
269
  ast::Expression::Negation(logical_negation) =>
265
270
  {
266
271
  self.compile_expression(&logical_negation.value, instructions, aggregations)?;
@@ -935,6 +940,10 @@ pub(crate) fn compile(
935
940
  ast::Statement::CreateGraph(create_graph) => Ok(Block::CreateGraph {
936
941
  name: create_graph.name.to_owned(),
937
942
  }),
943
+ ast::Statement::DropGraph(drop_graph) => Ok(Block::DropGraph {
944
+ name: drop_graph.name.to_owned(),
945
+ if_exists: drop_graph.if_exists,
946
+ }),
938
947
  ast::Statement::UseGraph(use_graph) => Ok(Block::UseGraph {
939
948
  name: use_graph.name.to_owned(),
940
949
  }),