Compare commits

..

2 Commits

Author SHA1 Message Date
dependabot[bot]
5e0541668e chore(deps): bump webpki-roots from 0.23.1 to 0.26.7
Bumps [webpki-roots](https://github.com/rustls/webpki-roots) from 0.23.1 to 0.26.7.
- [Release notes](https://github.com/rustls/webpki-roots/releases)
- [Commits](https://github.com/rustls/webpki-roots/compare/v/0.23.1...v/0.26.7)

---
updated-dependencies:
- dependency-name: webpki-roots
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-22 04:30:00 +00:00
Vitalii Tverdokhlib
32f4752daf DOCS: small typo LIMT (Update README.md) (#866) 2024-11-17 06:51:05 -06:00
4 changed files with 47 additions and 35 deletions

22
Cargo.lock generated
View File

@@ -1341,7 +1341,7 @@ checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
dependencies = [ dependencies = [
"log", "log",
"ring", "ring",
"rustls-webpki 0.101.1", "rustls-webpki",
"sct", "sct",
] ]
@@ -1355,14 +1355,10 @@ dependencies = [
] ]
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-pki-types"
version = "0.100.2" version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
dependencies = [
"ring",
"untrusted",
]
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-webpki"
@@ -1525,9 +1521,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]] [[package]]
name = "sqlparser" name = "sqlparser"
version = "0.52.0" version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a875d8cd437cc8a97e9aeaeea352ec9a19aea99c23e9effb17757291de80b08" checksum = "5cc2c25a6c66789625ef164b4c7d2e548d627902280c13710d33da8222169964"
dependencies = [ dependencies = [
"log", "log",
"sqlparser_derive", "sqlparser_derive",
@@ -2038,11 +2034,11 @@ dependencies = [
[[package]] [[package]]
name = "webpki-roots" name = "webpki-roots"
version = "0.23.1" version = "0.26.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"
dependencies = [ dependencies = [
"rustls-webpki 0.100.2", "rustls-pki-types",
] ]
[[package]] [[package]]

View File

@@ -19,7 +19,7 @@ serde_derive = "1"
regex = "1" regex = "1"
num_cpus = "1" num_cpus = "1"
once_cell = "1" once_cell = "1"
sqlparser = { version = "0.52", features = ["visitor"] } sqlparser = { version = "0.41", features = ["visitor"] }
log = "0.4" log = "0.4"
arc-swap = "1" arc-swap = "1"
parking_lot = "0.12.1" parking_lot = "0.12.1"
@@ -41,7 +41,7 @@ atomic_enum = "0.2.0"
postgres-protocol = "0.6.5" postgres-protocol = "0.6.5"
fallible-iterator = "0.2" fallible-iterator = "0.2"
pin-project = "1" pin-project = "1"
webpki-roots = "0.23" webpki-roots = "0.26"
rustls = { version = "0.21", features = ["dangerous_configuration"] } rustls = { version = "0.21", features = ["dangerous_configuration"] }
trust-dns-resolver = "0.22.0" trust-dns-resolver = "0.22.0"
tokio-test = "0.4.2" tokio-test = "0.4.2"

View File

@@ -231,7 +231,7 @@ User.find_by_email("test@example.com")
```sql ```sql
-- Grab a bunch of users from shard 1 -- Grab a bunch of users from shard 1
SET SHARD TO '1'; SET SHARD TO '1';
SELECT * FROM users LIMT 10; SELECT * FROM users LIMIT 10;
-- Find by id -- Find by id
SET SHARDING KEY TO '1234'; SET SHARDING KEY TO '1234';

View File

@@ -504,33 +504,55 @@ impl QueryRouter {
let mut table_names = Vec::new(); let mut table_names = Vec::new();
match q { match q {
Insert(i) => { Insert {
or,
into: _,
table_name,
columns,
overwrite: _,
source,
partitioned,
after_columns,
table: _,
on: _,
returning: _,
ignore: _,
} => {
// Not supported in postgres. // Not supported in postgres.
assert!(i.or.is_none()); assert!(or.is_none());
assert!(i.partitioned.is_none()); assert!(partitioned.is_none());
assert!(i.after_columns.is_empty()); assert!(after_columns.is_empty());
Self::process_table(&i.table_name, &mut table_names); Self::process_table(table_name, &mut table_names);
if let Some(source) = &i.source { if let Some(source) = source {
Self::process_query(source, &mut exprs, &mut table_names, &Some(&i.columns)); Self::process_query(source, &mut exprs, &mut table_names, &Some(columns));
} }
} }
Delete(d) => { Delete {
if let Some(expr) = &d.selection { tables,
from,
using,
selection,
returning: _,
order_by: _,
limit: _,
} => {
if let Some(expr) = selection {
exprs.push(expr.clone()); exprs.push(expr.clone());
} }
// Multi tables delete are not supported in postgres. // Multi tables delete are not supported in postgres.
assert!(d.tables.is_empty()); assert!(tables.is_empty());
if let Some(using_tbl_with_join) = &d.using { Self::process_tables_with_join(from, &mut exprs, &mut table_names);
if let Some(using_tbl_with_join) = using {
Self::process_tables_with_join( Self::process_tables_with_join(
using_tbl_with_join, using_tbl_with_join,
&mut exprs, &mut exprs,
&mut table_names, &mut table_names,
); );
} }
Self::process_selection(&d.selection, &mut exprs); Self::process_selection(selection, &mut exprs);
} }
Update { Update {
table, table,
@@ -800,13 +822,7 @@ impl QueryRouter {
for a in assignments { for a in assignments {
if sharding_key[0].value == "*" if sharding_key[0].value == "*"
&& sharding_key[1].value && sharding_key[1].value == a.id.last().unwrap().value.to_lowercase()
== a.target
.to_string()
.split('.')
.last()
.unwrap()
.to_lowercase()
{ {
return Err(Error::QueryRouterParserError( return Err(Error::QueryRouterParserError(
"Sharding key cannot be updated.".into(), "Sharding key cannot be updated.".into(),