[INFO] cloning repository https://github.com/maxBogovick/rustmemodb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maxBogovick/rustmemodb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FmaxBogovick%2Frustmemodb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FmaxBogovick%2Frustmemodb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bceac4255bfc9811a74edd21a7198800b7cdbf87 [INFO] testing maxBogovick/rustmemodb against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FmaxBogovick%2Frustmemodb" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/maxBogovick/rustmemodb [INFO] finished tweaking git repo https://github.com/maxBogovick/rustmemodb [INFO] tweaked toml for git repo https://github.com/maxBogovick/rustmemodb written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/maxBogovick/rustmemodb on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/maxBogovick/rustmemodb already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7ba8060efedd7a21e0bfe4efaddcd3e7ba60b350dc684686c317e0d4ec29c5a [INFO] running `Command { std: "docker" "start" "-a" "a7ba8060efedd7a21e0bfe4efaddcd3e7ba60b350dc684686c317e0d4ec29c5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7ba8060efedd7a21e0bfe4efaddcd3e7ba60b350dc684686c317e0d4ec29c5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7ba8060efedd7a21e0bfe4efaddcd3e7ba60b350dc684686c317e0d4ec29c5a", kill_on_drop: false }` [INFO] [stdout] a7ba8060efedd7a21e0bfe4efaddcd3e7ba60b350dc684686c317e0d4ec29c5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10707bc3298885016a5d79275950344ed0b147e0185faf000257cdcfdc36795b [INFO] running `Command { std: "docker" "start" "-a" "10707bc3298885016a5d79275950344ed0b147e0185faf000257cdcfdc36795b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling cc v1.2.47 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling object v0.32.2 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling stacker v0.1.22 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rmp v0.8.14 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling blowfish v0.9.1 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling bcrypt v0.15.1 [INFO] [stderr] Compiling lru v0.16.2 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling ar_archive_writer v0.2.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling recursive-proc-macro-impl v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Compiling psm v0.1.28 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling recursive v0.1.1 [INFO] [stderr] Compiling sqlparser v0.59.0 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling rmp-serde v1.3.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling rustmemodb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_row` and `build_single` are never used [INFO] [stdout] --> src/json/converter.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl InsertStatementBuilder { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn add_row(mut self, row: Vec) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn build_single(self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_multiple` is never used [INFO] [stdout] --> src/json/converter.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl UpdateStatementBuilder { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn set_multiple(mut self, updates: Vec<(String, Value)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FirstDocumentStrategy` is never constructed [INFO] [stdout] --> src/json/schema_inference.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct FirstDocumentStrategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/json/validator.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl QueryValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn with_rules(rules: Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowSorter` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct OrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compare_values` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl OrderBySorter { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn compare_values(&self, a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueComparator` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct ValueComparator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `compare` and `compare_with_op` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 285 | impl ValueComparator { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 286 | /// Сравнить два Value, возвращая Ordering [INFO] [stdout] 287 | pub fn compare(a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn compare_with_op(a: &Value, b: &Value, op: &BinaryOp) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowSorter` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct OrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compare_values` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl OrderBySorter { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn compare_values(&self, a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueComparator` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct ValueComparator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `compare` and `compare_with_op` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 285 | impl ValueComparator { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 286 | /// Сравнить два Value, возвращая Ordering [INFO] [stdout] 287 | pub fn compare(a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn compare_with_op(a: &Value, b: &Value, op: &BinaryOp) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s [INFO] running `Command { std: "docker" "inspect" "10707bc3298885016a5d79275950344ed0b147e0185faf000257cdcfdc36795b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10707bc3298885016a5d79275950344ed0b147e0185faf000257cdcfdc36795b", kill_on_drop: false }` [INFO] [stdout] 10707bc3298885016a5d79275950344ed0b147e0185faf000257cdcfdc36795b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0866fb81c63fc78b23d17048ca5cad817f0580c26fb1bdada8018f1fb375974e [INFO] running `Command { std: "docker" "start" "-a" "0866fb81c63fc78b23d17048ca5cad817f0580c26fb1bdada8018f1fb375974e", kill_on_drop: false }` [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling rustmemodb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_row` and `build_single` are never used [INFO] [stdout] --> src/json/converter.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl InsertStatementBuilder { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn add_row(mut self, row: Vec) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn build_single(self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_multiple` is never used [INFO] [stdout] --> src/json/converter.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl UpdateStatementBuilder { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn set_multiple(mut self, updates: Vec<(String, Value)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FirstDocumentStrategy` is never constructed [INFO] [stdout] --> src/json/schema_inference.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct FirstDocumentStrategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/json/validator.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl QueryValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn with_rules(rules: Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowSorter` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct OrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compare_values` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl OrderBySorter { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn compare_values(&self, a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueComparator` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct ValueComparator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `compare` and `compare_with_op` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 285 | impl ValueComparator { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 286 | /// Сравнить два Value, возвращая Ordering [INFO] [stdout] 287 | pub fn compare(a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn compare_with_op(a: &Value, b: &Value, op: &BinaryOp) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snapshot` [INFO] [stdout] --> src/executor/query.rs:1067:13 [INFO] [stdout] | [INFO] [stdout] 1067 | let snapshot = txn_mgr.get_auto_commit_snapshot().await.unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_multiple` is never used [INFO] [stdout] --> src/json/converter.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl UpdateStatementBuilder { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn set_multiple(mut self, updates: Vec<(String, Value)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/json/validator.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl QueryValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn with_rules(rules: Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 14 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tests/concurrent_access_tests.rs:102:25 [INFO] [stdout] | [INFO] [stdout] 102 | assert!(result.row_count() >= 0, "Reader {} failed", task_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> examples/connection_pooling.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | handle.join().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snapshot` [INFO] [stdout] --> src/executor/query.rs:1067:13 [INFO] [stdout] | [INFO] [stdout] 1067 | let snapshot = txn_mgr.get_auto_commit_snapshot().await.unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 14 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stdout] --> src/facade/database.rs:13:69 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main2` is never used [INFO] [stdout] --> examples/persistence_demo.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | async fn main2() -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | db.enable_persistence(data_dir, Async); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | db.execute("CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = db.execute("CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | db.execute("CREATE TABLE products (id INTEGER, name TEXT, price FLOAT)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 47 | let _ = db.execute("CREATE TABLE products (id INTEGER, name TEXT, price FLOAT)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | db.execute("INSERT INTO users VALUES (1, 'Alice', 30)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = db.execute("INSERT INTO users VALUES (1, 'Alice', 30)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | db.execute("INSERT INTO users VALUES (2, 'Bob', 25)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = db.execute("INSERT INTO users VALUES (2, 'Bob', 25)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | db.execute("INSERT INTO users VALUES (3, 'Charlie', 35)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = db.execute("INSERT INTO users VALUES (3, 'Charlie', 35)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | db.execute("INSERT INTO products VALUES (1, 'Laptop', 999.99)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 56 | let _ = db.execute("INSERT INTO products VALUES (1, 'Laptop', 999.99)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | db.execute("INSERT INTO products VALUES (2, 'Mouse', 29.99)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = db.execute("INSERT INTO products VALUES (2, 'Mouse', 29.99)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | db.checkpoint().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = db.checkpoint().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 85 | let _ = db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | db.execute("INSERT INTO users VALUES (4, 'David', 28)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 108 | let _ = db.execute("INSERT INTO users VALUES (4, 'David', 28)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | db.checkpoint().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 112 | let _ = db.checkpoint().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | db.enable_persistence("./demo_sync", DurabilityMode::Sync).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 124 | let _ = db.enable_persistence("./demo_sync", DurabilityMode::Sync).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | db.enable_persistence("./demo_async", DurabilityMode::Async).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 132 | let _ = db.enable_persistence("./demo_async", DurabilityMode::Async).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | db.enable_persistence("./demo_none", DurabilityMode::None).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 140 | let _ = db.enable_persistence("./demo_none", DurabilityMode::None).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | db.enable_persistence("./demo_checkpoint", DurabilityMode::Async).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 151 | let _ = db.enable_persistence("./demo_checkpoint", DurabilityMode::Async).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | db.execute(&format!("CREATE TABLE t{} (id INTEGER)", i)).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 155 | let _ = db.execute(&format!("CREATE TABLE t{} (id INTEGER)", i)).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | db.checkpoint().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = db.checkpoint().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 179 | let _ = db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | db.execute("CREATE TABLE transactions (id INTEGER, amount FLOAT, status TEXT)").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 182 | let _ = db.execute("CREATE TABLE transactions (id INTEGER, amount FLOAT, status TEXT)").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | db.execute("INSERT INTO transactions VALUES (1, 100.0, 'pending')").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 183 | let _ = db.execute("INSERT INTO transactions VALUES (1, 100.0, 'pending')").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | db.execute("INSERT INTO transactions VALUES (2, 250.0, 'pending')").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 184 | let _ = db.execute("INSERT INTO transactions VALUES (2, 250.0, 'pending')").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | db.execute("INSERT INTO transactions VALUES (3, 75.0, 'pending')").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = db.execute("INSERT INTO transactions VALUES (3, 75.0, 'pending')").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | db.execute("UPDATE transactions SET status = 'completed' WHERE id = 1").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 190 | let _ = db.execute("UPDATE transactions SET status = 'completed' WHERE id = 1").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | db.execute("UPDATE transactions SET amount = 300.0 WHERE id = 2").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 191 | let _ = db.execute("UPDATE transactions SET amount = 300.0 WHERE id = 2").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | db.execute("DELETE FROM transactions WHERE id = 3").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 196 | let _ = db.execute("DELETE FROM transactions WHERE id = 3").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | db.execute("INSERT INTO transactions VALUES (4, 500.0, 'completed')").await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 201 | let _ = db.execute("INSERT INTO transactions VALUES (4, 500.0, 'completed')").await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/persistence_demo.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 220 | let _ = db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_delete` is never read [INFO] [stdout] --> src/storage/table.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | let mut row_to_index_delete = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `row_to_index_add` is never read [INFO] [stdout] --> src/storage/table.rs:71:36 [INFO] [stdout] | [INFO] [stdout] 71 | let mut row_to_index_add = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metadata_lock` is never read [INFO] [stdout] --> src/storage/memory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct InMemoryStorage { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | metadata_lock: RwLock<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `password_hash` is never used [INFO] [stdout] --> src/connection/auth.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl User { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | AlterTable(AlterTableStmt), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - AlterTable(AlterTableStmt), [INFO] [stdout] 13 + AlterTable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `if_not_exists` is never read [INFO] [stdout] --> src/parser/ast.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CreateTableStmt { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct CreateIndexStmt { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 30 | pub index_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub if_not_exists: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub unique: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `operation` are never read [INFO] [stdout] --> src/parser/ast.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct AlterTableStmt { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 40 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 41 | pub operation: AlterTableOperation, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | AddColumn(ColumnDef), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - AddColumn(ColumnDef), [INFO] [stdout] 46 + AddColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/ast.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | DropColumn(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 - DropColumn(String), [INFO] [stdout] 47 + DropColumn(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `old_name` and `new_name` are never read [INFO] [stdout] --> src/parser/ast.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stdout] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RenameTable` is never constructed [INFO] [stdout] --> src/parser/ast.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum AlterTableOperation { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | RenameTable(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `default` is never read [INFO] [stdout] --> src/parser/ast.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct ColumnDef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub default: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `columns` is never read [INFO] [stdout] --> src/parser/ast.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct InsertStmt { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 72 | pub table_name: String, [INFO] [stdout] 73 | pub columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnaryOp` is never constructed [INFO] [stdout] --> src/parser/ast.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 174 | UnaryOp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stdout] --> src/parser/ast.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 244 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 245 | Not, [INFO] [stdout] | ^^^ [INFO] [stdout] 246 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 247 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_expression_converter` is never used [INFO] [stdout] --> src/parser/adapter.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SqlParserAdapter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `projected_columns` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TableScanNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 31 | pub table_name: String, [INFO] [stdout] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `op` is never read [INFO] [stdout] --> src/planner/logical_plan.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct IndexScanInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub op: IndexOp, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stdout] --> src/planner/logical_plan.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl SortNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stdout] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children` is never used [INFO] [stdout] --> src/planner/logical_plan.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 127 | impl LogicalPlan { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transaction_manager` is never read [INFO] [stdout] --> src/executor/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutionContext<'a> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 8 | pub storage: &'a InMemoryStorage, [INFO] [stdout] 9 | pub transaction_manager: &'a Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_transaction_id` is never used [INFO] [stdout] --> src/executor/context.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/executor/executor.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Executor: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 11 | /// Имя executor'а для отладки [INFO] [stdout] 12 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_catalog` is never used [INFO] [stdout] --> src/executor/executor.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExecutorPipeline { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stdout] --> src/executor/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QueryExecutor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorRegistry` is never constructed [INFO] [stdout] --> src/executor/registry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ExecutorRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stdout] --> src/executor/registry.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ExecutorRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_custom_plugins` is never used [INFO] [stdout] --> src/plugins/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ExpressionConverter { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowSorter` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait RowSorter: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct OrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compare_values` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl OrderBySorter { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn compare_values(&self, a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NullOrdering` is never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub enum NullOrdering { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ExtendedOrderByExpr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct ExtendedOrderBySorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 175 | impl ExtendedOrderBySorter { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 176 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn compare_values_with_nulls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn sort_extended( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueComparator` is never constructed [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct ValueComparator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `compare` and `compare_with_op` are never used [INFO] [stdout] --> src/evaluator/plugins/order_by.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 285 | impl ValueComparator { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 286 | /// Сравнить два Value, возвращая Ordering [INFO] [stdout] 287 | pub fn compare(a: &Value, b: &Value) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn compare_with_op(a: &Value, b: &Value, op: &BinaryOp) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> tests/user_management_tests.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 29s [INFO] running `Command { std: "docker" "inspect" "0866fb81c63fc78b23d17048ca5cad817f0580c26fb1bdada8018f1fb375974e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0866fb81c63fc78b23d17048ca5cad817f0580c26fb1bdada8018f1fb375974e", kill_on_drop: false }` [INFO] [stdout] 0866fb81c63fc78b23d17048ca5cad817f0580c26fb1bdada8018f1fb375974e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 80fdc44170dcffac9a8601c311b7c86a479e3529235af1e3e8ea94f5906da512 [INFO] running `Command { std: "docker" "start" "-a" "80fdc44170dcffac9a8601c311b7c86a479e3529235af1e3e8ea94f5906da512", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `AlterTableStmt` and `CreateIndexStmt` [INFO] [stderr] --> src/facade/database.rs:13:69 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::parser::ast::{Statement, CreateTableStmt, DropTableStmt, CreateIndexStmt, AlterTableStmt}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `row_to_index_delete` is never read [INFO] [stderr] --> src/storage/table.rs:70:39 [INFO] [stderr] | [INFO] [stderr] 70 | let mut row_to_index_delete = None; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `row_to_index_add` is never read [INFO] [stderr] --> src/storage/table.rs:71:36 [INFO] [stderr] | [INFO] [stderr] 71 | let mut row_to_index_add = None; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: field `metadata_lock` is never read [INFO] [stderr] --> src/storage/memory.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct InMemoryStorage { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 12 | metadata_lock: RwLock<()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `password_hash` is never used [INFO] [stderr] --> src/connection/auth.rs:50:19 [INFO] [stderr] | [INFO] [stderr] 34 | impl User { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 50 | pub(crate) fn password_hash(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `add_row` and `build_single` are never used [INFO] [stderr] --> src/json/converter.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 140 | impl InsertStatementBuilder { [INFO] [stderr] | --------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn add_row(mut self, row: Vec) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 165 | pub fn build_single(self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `set_multiple` is never used [INFO] [stderr] --> src/json/converter.rs:249:12 [INFO] [stderr] | [INFO] [stderr] 235 | impl UpdateStatementBuilder { [INFO] [stderr] | --------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 249 | pub fn set_multiple(mut self, updates: Vec<(String, Value)>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FirstDocumentStrategy` is never constructed [INFO] [stderr] --> src/json/schema_inference.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct FirstDocumentStrategy; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `with_rules` is never used [INFO] [stderr] --> src/json/validator.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 125 | impl QueryValidator { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 139 | pub fn with_rules(rules: Vec>) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/parser/ast.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | AlterTable(AlterTableStmt), [INFO] [stderr] | ---------- ^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 13 - AlterTable(AlterTableStmt), [INFO] [stderr] 13 + AlterTable(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `if_not_exists` is never read [INFO] [stderr] --> src/parser/ast.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct CreateTableStmt { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 24 | pub if_not_exists: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CreateTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index_name`, `if_not_exists`, and `unique` are never read [INFO] [stderr] --> src/parser/ast.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct CreateIndexStmt { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 30 | pub index_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | pub if_not_exists: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 34 | pub unique: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CreateIndexStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `table_name` and `operation` are never read [INFO] [stderr] --> src/parser/ast.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub struct AlterTableStmt { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 40 | pub table_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 41 | pub operation: AlterTableOperation, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AlterTableStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/parser/ast.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | AddColumn(ColumnDef), [INFO] [stderr] | --------- ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 46 - AddColumn(ColumnDef), [INFO] [stderr] 46 + AddColumn(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/parser/ast.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | DropColumn(String), [INFO] [stderr] | ---------- ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 47 - DropColumn(String), [INFO] [stderr] 47 + DropColumn(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: fields `old_name` and `new_name` are never read [INFO] [stderr] --> src/parser/ast.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | RenameColumn { old_name: String, new_name: String }, [INFO] [stderr] | ------------ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `RenameTable` is never constructed [INFO] [stderr] --> src/parser/ast.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub enum AlterTableOperation { [INFO] [stderr] | ------------------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 49 | RenameTable(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AlterTableOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `default` is never read [INFO] [stderr] --> src/parser/ast.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct ColumnDef { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 64 | pub default: Option, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ColumnDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `columns` is never read [INFO] [stderr] --> src/parser/ast.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 71 | pub struct InsertStmt { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 72 | pub table_name: String, [INFO] [stderr] 73 | pub columns: Option>, // None = all columns [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InsertStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `UnaryOp` is never constructed [INFO] [stderr] --> src/parser/ast.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 156 | pub enum Expr { [INFO] [stderr] | ---- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 174 | UnaryOp { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Not`, `Minus`, and `Plus` are never constructed [INFO] [stderr] --> src/parser/ast.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 244 | pub enum UnaryOp { [INFO] [stderr] | ------- variants in this enum [INFO] [stderr] 245 | Not, [INFO] [stderr] | ^^^ [INFO] [stderr] 246 | Minus, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 247 | Plus, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `with_expression_converter` is never used [INFO] [stderr] --> src/parser/adapter.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl SqlParserAdapter { [INFO] [stderr] | --------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn with_expression_converter(expr_converter: ExpressionConverter) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `projected_columns` is never read [INFO] [stderr] --> src/planner/logical_plan.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 30 | pub struct TableScanNode { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 31 | pub table_name: String, [INFO] [stderr] 32 | pub projected_columns: Option>, // None = all columns [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TableScanNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `op` is never read [INFO] [stderr] --> src/planner/logical_plan.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 38 | pub struct IndexScanInfo { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub op: IndexOp, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `IndexScanInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `from_tuples` and `as_tuples` are never used [INFO] [stderr] --> src/planner/logical_plan.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 71 | impl SortNode { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 72 | /// Создать из tuple формата (для обратной совместимости) [INFO] [stderr] 73 | pub fn from_tuples(input: Box, sort_keys: Vec<(Expr, bool)>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn as_tuples(&self) -> Vec<(&Expr, bool)> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `children` is never used [INFO] [stderr] --> src/planner/logical_plan.rs:142:16 [INFO] [stderr] | [INFO] [stderr] 127 | impl LogicalPlan { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 142 | pub fn children(&self) -> Vec<&LogicalPlan> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `transaction_manager` is never read [INFO] [stderr] --> src/executor/context.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct ExecutionContext<'a> { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] 8 | pub storage: &'a InMemoryStorage, [INFO] [stderr] 9 | pub transaction_manager: &'a Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_transaction_id` is never used [INFO] [stderr] --> src/executor/context.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl<'a> ExecutionContext<'a> { [INFO] [stderr] | ----------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn get_transaction_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `name` is never used [INFO] [stderr] --> src/executor/executor.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub trait Executor: Send + Sync { [INFO] [stderr] | -------- method in this trait [INFO] [stderr] 11 | /// Имя executor'а для отладки [INFO] [stderr] 12 | fn name(&self) -> &'static str; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `update_catalog` is never used [INFO] [stderr] --> src/executor/executor.rs:46:12 [INFO] [stderr] | [INFO] [stderr] 22 | impl ExecutorPipeline { [INFO] [stderr] | --------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn update_catalog(&mut self, _new_catalog: Catalog) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `with_evaluators` and `update_catalog` are never used [INFO] [stderr] --> src/executor/query.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 28 | impl QueryExecutor { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn with_evaluators(catalog: Catalog, evaluator_registry: EvaluatorRegistry) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub fn update_catalog(&mut self, new_catalog: Catalog) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ExecutorRegistry` is never constructed [INFO] [stderr] --> src/executor/registry.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct ExecutorRegistry { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `register`, `with_default_executors`, `execute`, and `list_executors` are never used [INFO] [stderr] --> src/executor/registry.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl ExecutorRegistry { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 12 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | pub fn register(&mut self, executor: Box) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn with_default_executors(catalog: crate::storage::Catalog) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 41 | pub async fn execute(&self, stmt: &Statement, ctx: &ExecutionContext<'_>) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 55 | pub fn list_executors(&self) -> Vec<&str> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `with_custom_plugins` is never used [INFO] [stderr] --> src/plugins/mod.rs:91:12 [INFO] [stderr] | [INFO] [stderr] 84 | impl ExpressionConverter { [INFO] [stderr] | ------------------------ associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 91 | pub fn with_custom_plugins(registry: ExpressionPluginRegistry) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `RowSorter` is never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:13:11 [INFO] [stderr] | [INFO] [stderr] 13 | pub trait RowSorter: Send + Sync { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `OrderBySorter` is never constructed [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub struct OrderBySorter; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `compare_values` are never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 32 | impl OrderBySorter { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 33 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | fn compare_values(&self, a: &Value, b: &Value) -> Ordering { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `NullOrdering` is never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:145:10 [INFO] [stderr] | [INFO] [stderr] 145 | pub enum NullOrdering { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ExtendedOrderByExpr` is never constructed [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:152:12 [INFO] [stderr] | [INFO] [stderr] 152 | pub struct ExtendedOrderByExpr { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ExtendedOrderBySorter` is never constructed [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | pub struct ExtendedOrderBySorter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `compare_values_with_nulls`, and `sort_extended` are never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:176:12 [INFO] [stderr] | [INFO] [stderr] 175 | impl ExtendedOrderBySorter { [INFO] [stderr] | -------------------------- associated items in this implementation [INFO] [stderr] 176 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 181 | fn compare_values_with_nulls( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 215 | pub async fn sort_extended( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ValueComparator` is never constructed [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:283:12 [INFO] [stderr] | [INFO] [stderr] 283 | pub struct ValueComparator; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `compare` and `compare_with_op` are never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:287:12 [INFO] [stderr] | [INFO] [stderr] 285 | impl ValueComparator { [INFO] [stderr] | -------------------- associated functions in this implementation [INFO] [stderr] 286 | /// Сравнить два Value, возвращая Ordering [INFO] [stderr] 287 | pub fn compare(a: &Value, b: &Value) -> Ordering { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 309 | pub fn compare_with_op(a: &Value, b: &Value, op: &BinaryOp) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rustmemodb` (lib) generated 43 warnings (run `cargo fix --lib -p rustmemodb` to apply 1 suggestion) [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> tests/user_management_tests.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `snapshot` [INFO] [stderr] --> src/executor/query.rs:1067:13 [INFO] [stderr] | [INFO] [stderr] 1067 | let snapshot = txn_mgr.get_auto_commit_snapshot().await.unwrap(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `name` is never used [INFO] [stderr] --> src/evaluator/plugins/order_by.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub trait RowSorter: Send + Sync { [INFO] [stderr] | --------- method in this trait [INFO] [stderr] 14 | fn name(&self) -> &'static str; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rustmemodb` (test "user_management_tests") generated 1 warning (run `cargo fix --test "user_management_tests" -p rustmemodb` to apply 1 suggestion) [INFO] [stderr] warning: `rustmemodb` (bin "rustmemodb" test) generated 36 warnings (34 duplicates) (run `cargo fix --bin "rustmemodb" -p rustmemodb --tests` to apply 1 suggestion) [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> examples/connection_pooling.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | handle.join().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> tests/concurrent_access_tests.rs:102:25 [INFO] [stderr] | [INFO] [stderr] 102 | assert!(result.row_count() >= 0, "Reader {} failed", task_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rustmemodb` (example "connection_pooling") generated 1 warning [INFO] [stderr] warning: `rustmemodb` (lib test) generated 38 warnings (38 duplicates) [INFO] [stderr] warning: `rustmemodb` (test "concurrent_access_tests") generated 1 warning [INFO] [stderr] warning: `rustmemodb` (bin "rustmemodb") generated 39 warnings (39 duplicates) [INFO] [stderr] warning: function `main2` is never used [INFO] [stderr] --> examples/persistence_demo.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | async fn main2() -> Result<(), Box> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | db.enable_persistence(data_dir, Async); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 41 | let _ = db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | db.execute("CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 46 | let _ = db.execute("CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | db.execute("CREATE TABLE products (id INTEGER, name TEXT, price FLOAT)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 47 | let _ = db.execute("CREATE TABLE products (id INTEGER, name TEXT, price FLOAT)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | db.execute("INSERT INTO users VALUES (1, 'Alice', 30)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 52 | let _ = db.execute("INSERT INTO users VALUES (1, 'Alice', 30)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | db.execute("INSERT INTO users VALUES (2, 'Bob', 25)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 53 | let _ = db.execute("INSERT INTO users VALUES (2, 'Bob', 25)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | db.execute("INSERT INTO users VALUES (3, 'Charlie', 35)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 54 | let _ = db.execute("INSERT INTO users VALUES (3, 'Charlie', 35)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | db.execute("INSERT INTO products VALUES (1, 'Laptop', 999.99)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 56 | let _ = db.execute("INSERT INTO products VALUES (1, 'Laptop', 999.99)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | db.execute("INSERT INTO products VALUES (2, 'Mouse', 29.99)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 57 | let _ = db.execute("INSERT INTO products VALUES (2, 'Mouse', 29.99)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | db.checkpoint().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 69 | let _ = db.checkpoint().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 85 | let _ = db.enable_persistence(data_dir, DurabilityMode::Async).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | db.execute("INSERT INTO users VALUES (4, 'David', 28)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 108 | let _ = db.execute("INSERT INTO users VALUES (4, 'David', 28)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | db.checkpoint().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 112 | let _ = db.checkpoint().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | db.enable_persistence("./demo_sync", DurabilityMode::Sync).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 124 | let _ = db.enable_persistence("./demo_sync", DurabilityMode::Sync).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | db.enable_persistence("./demo_async", DurabilityMode::Async).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 132 | let _ = db.enable_persistence("./demo_async", DurabilityMode::Async).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | db.enable_persistence("./demo_none", DurabilityMode::None).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 140 | let _ = db.enable_persistence("./demo_none", DurabilityMode::None).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | db.enable_persistence("./demo_checkpoint", DurabilityMode::Async).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 151 | let _ = db.enable_persistence("./demo_checkpoint", DurabilityMode::Async).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | db.execute(&format!("CREATE TABLE t{} (id INTEGER)", i)).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 155 | let _ = db.execute(&format!("CREATE TABLE t{} (id INTEGER)", i)).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | db.checkpoint().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 161 | let _ = db.checkpoint().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:179:9 [INFO] [stderr] | [INFO] [stderr] 179 | db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 179 | let _ = db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | db.execute("CREATE TABLE transactions (id INTEGER, amount FLOAT, status TEXT)").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 182 | let _ = db.execute("CREATE TABLE transactions (id INTEGER, amount FLOAT, status TEXT)").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | db.execute("INSERT INTO transactions VALUES (1, 100.0, 'pending')").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 183 | let _ = db.execute("INSERT INTO transactions VALUES (1, 100.0, 'pending')").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | db.execute("INSERT INTO transactions VALUES (2, 250.0, 'pending')").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 184 | let _ = db.execute("INSERT INTO transactions VALUES (2, 250.0, 'pending')").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | db.execute("INSERT INTO transactions VALUES (3, 75.0, 'pending')").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 185 | let _ = db.execute("INSERT INTO transactions VALUES (3, 75.0, 'pending')").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | db.execute("UPDATE transactions SET status = 'completed' WHERE id = 1").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 190 | let _ = db.execute("UPDATE transactions SET status = 'completed' WHERE id = 1").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | db.execute("UPDATE transactions SET amount = 300.0 WHERE id = 2").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 191 | let _ = db.execute("UPDATE transactions SET amount = 300.0 WHERE id = 2").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | db.execute("DELETE FROM transactions WHERE id = 3").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 196 | let _ = db.execute("DELETE FROM transactions WHERE id = 3").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | db.execute("INSERT INTO transactions VALUES (4, 500.0, 'completed')").await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 201 | let _ = db.execute("INSERT INTO transactions VALUES (4, 500.0, 'completed')").await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/persistence_demo.rs:220:9 [INFO] [stderr] | [INFO] [stderr] 220 | db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 220 | let _ = db.enable_persistence(dml_data_dir, DurabilityMode::Sync).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `rustmemodb` (example "persistence_demo") generated 30 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustmemodb-9ff2d8e0f5ac8831) [INFO] [stdout] [INFO] [stdout] running 106 tests [INFO] [stdout] test connection::auth::tests::test_admin_permission_overrides ... ok [INFO] [stdout] test connection::auth::tests::test_cannot_revoke_last_admin_permission ... ok [INFO] [stdout] test connection::auth::tests::test_cannot_delete_last_admin ... ok [INFO] [stdout] test connection::auth::tests::test_invalid_credentials ... ok [INFO] [stdout] test connection::auth::tests::test_grant_revoke_permission ... ok [INFO] [stdout] test connection::auth::tests::test_default_admin_user ... ok [INFO] [stdout] test connection::auth::tests::test_duplicate_user ... ok [INFO] [stdout] test connection::config::tests::test_builder_pattern ... ok [INFO] [stdout] test connection::config::tests::test_default_config ... ok [INFO] [stdout] test connection::config::tests::test_from_url ... ok [INFO] [stdout] test connection::config::tests::test_from_url_default_port ... ok [INFO] [stdout] test connection::config::tests::test_invalid_url ... ok [INFO] [stdout] test connection::config::tests::test_to_url_hides_password ... ok [INFO] [stdout] test connection::config::tests::test_validate ... ok [INFO] [stdout] test connection::auth::tests::test_user_exists ... ok [INFO] [stdout] test connection::auth::tests::test_validate_username ... ok [INFO] [stdout] test connection::auth::tests::test_list_users ... ok [INFO] [stdout] test connection::auth::tests::test_user_count ... ok [INFO] [stdout] test connection::auth::tests::test_create_user ... ok [INFO] [stdout] test connection::tests::test_connection_close ... ok [INFO] [stdout] test connection::tests::test_connection_creation ... ok [INFO] [stdout] test connection::tests::test_transaction_lifecycle ... ok [INFO] [stdout] test connection::tests::test_transaction_rollback ... ok [INFO] [stdout] test core::value::tests::test_type_compatibility ... ok [INFO] [stdout] test core::value::tests::test_value_equality ... ok [INFO] [stdout] test core::value::tests::test_value_ordering ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_multiple_columns ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_single_column_asc ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_single_column_desc ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_with_nulls ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_value_comparator ... ok [INFO] [stdout] test executor::query::tests::test_between_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_complex_query ... ok [INFO] [stdout] test executor::query::tests::test_filter_execution ... ok [INFO] [stdout] test executor::query::tests::test_get_output_columns ... ok [INFO] [stdout] test executor::query::tests::test_is_null_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_like_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_limit_execution ... ok [INFO] [stdout] test executor::query::tests::test_logical_and ... ok [INFO] [stdout] test executor::query::tests::test_order_by_asc ... ok [INFO] [stdout] test executor::query::tests::test_order_by_desc ... ok [INFO] [stdout] test executor::query::tests::test_order_by_expression ... ok [INFO] [stdout] test executor::query::tests::test_order_by_multiple_columns ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_filter ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_limit ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_nulls ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_value_compare ... ok [INFO] [stdout] test executor::query::tests::test_projection_execution ... ok [INFO] [stdout] test executor::query::tests::test_simple_scan ... ok [INFO] [stdout] test executor::transaction::tests::test_begin_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_begin_fails_in_transaction ... ok [INFO] [stdout] test executor::transaction::tests::test_commit_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_commit_fails_without_transaction ... ok [INFO] [stdout] test executor::transaction::tests::test_rollback_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_rollback_without_transaction_is_noop ... ok [INFO] [stdout] test json::adapter::tests::test_create_collection ... ok [INFO] [stdout] test json::adapter::tests::test_delete_document ... ok [INFO] [stdout] test json::adapter::tests::test_invalid_collection_name ... ok [INFO] [stdout] test json::adapter::tests::test_read_collection ... ok [INFO] [stdout] test json::converter::tests::test_create_table_builder ... ok [INFO] [stdout] test json::converter::tests::test_delete_statement_builder ... ok [INFO] [stdout] test json::converter::tests::test_insert_statement_builder ... ok [INFO] [stdout] test json::converter::tests::test_json_to_value_converter ... ok [INFO] [stdout] test json::converter::tests::test_sql_string_escaping ... ok [INFO] [stdout] test json::converter::tests::test_update_statement_builder ... ok [INFO] [stdout] test json::schema_inference::tests::test_all_documents_strategy ... ok [INFO] [stdout] test json::schema_inference::tests::test_first_document_strategy ... ok [INFO] [stdout] test json::schema_inference::tests::test_most_general_type ... ok [INFO] [stdout] test json::schema_inference::tests::test_type_inference ... ok [INFO] [stdout] test json::validator::tests::test_invalid_collection_names ... ok [INFO] [stdout] test json::validator::tests::test_query_validator_not_select ... ok [INFO] [stdout] test json::validator::tests::test_query_validator_valid ... ok [INFO] [stdout] test json::validator::tests::test_query_validator_wrong_table ... ok [INFO] [stdout] test json::validator::tests::test_sql_injection_detection ... ok [INFO] [stdout] test json::validator::tests::test_valid_collection_names ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_multiple_order_by ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_no_order_by ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_asc ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_desc ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_expression ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_with_limit ... ok [INFO] [stdout] test result::result::tests::test_accessors ... ok [INFO] [stdout] test result::result::tests::test_empty_result ... ok [INFO] [stdout] test result::result::tests::test_new_result ... ok [INFO] [stdout] test storage::persistence::tests::test_checkpoint_clears_wal ... ok [INFO] [stdout] test storage::persistence::tests::test_recovery ... ok [INFO] [stdout] test storage::persistence::tests::test_snapshot_save_and_load ... ok [INFO] [stdout] test storage::persistence::tests::test_wal_append_and_read ... ok [INFO] [stdout] test connection::auth::tests::test_validate_password ... ok [INFO] [stdout] test connection::pool::tests::test_connection_return_to_pool ... ok [INFO] [stdout] test connection::pool::tests::test_get_connection ... ok [INFO] [stdout] test tests::test_client_connect ... ok [INFO] [stdout] test transaction::change::tests::test_change_classification ... ok [INFO] [stdout] test transaction::change::tests::test_change_table_name ... ok [INFO] [stdout] test transaction::state::tests::test_cannot_commit_twice ... ok [INFO] [stdout] test transaction::state::tests::test_cannot_record_change_after_commit ... ok [INFO] [stdout] test transaction::state::tests::test_rollback_clears_changes ... ok [INFO] [stdout] test transaction::state::tests::test_transaction_id_generation ... ok [INFO] [stdout] test transaction::state::tests::test_transaction_lifecycle ... ok [INFO] [stdout] test tests::test_client_from_url ... ok [INFO] [stdout] test tests::test_client_execute ... ok [INFO] [stdout] test connection::pool::tests::test_pool_creation ... ok [INFO] [stdout] test connection::pool::tests::test_max_connections_limit ... ok [INFO] [stdout] test connection::pool::tests::test_pool_stats ... ok [INFO] [stdout] test connection::auth::tests::test_update_password ... ok [INFO] [stdout] test tests::test_client_transaction ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 106 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 54.30s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustmemodb-ccf5539c9ea5a1ed) [INFO] [stdout] [INFO] [stdout] running 84 tests [INFO] [stdout] test connection::auth::tests::test_admin_permission_overrides ... ok [INFO] [stdout] test benchmarks::bench_read_write_different_tables ... ok [INFO] [stdout] test connection::auth::tests::test_cannot_delete_last_admin ... ok [INFO] [stdout] test connection::auth::tests::test_cannot_revoke_last_admin_permission ... ok [INFO] [stdout] test connection::auth::tests::test_duplicate_user ... ok [INFO] [stdout] test connection::auth::tests::test_grant_revoke_permission ... ok [INFO] [stdout] test connection::auth::tests::test_default_admin_user ... ok [INFO] [stdout] test connection::auth::tests::test_invalid_credentials ... ok [INFO] [stdout] test connection::auth::tests::test_user_exists ... ok [INFO] [stdout] test connection::config::tests::test_builder_pattern ... ok [INFO] [stdout] test connection::config::tests::test_default_config ... ok [INFO] [stdout] test connection::config::tests::test_from_url ... ok [INFO] [stdout] test connection::config::tests::test_from_url_default_port ... ok [INFO] [stdout] test connection::config::tests::test_invalid_url ... ok [INFO] [stdout] test connection::config::tests::test_to_url_hides_password ... ok [INFO] [stdout] test connection::config::tests::test_validate ... ok [INFO] [stdout] test connection::auth::tests::test_list_users ... ok [INFO] [stdout] test connection::auth::tests::test_create_user ... ok [INFO] [stdout] test connection::auth::tests::test_validate_username ... ok [INFO] [stdout] test connection::auth::tests::test_user_count ... ok [INFO] [stdout] test connection::auth::tests::test_validate_password ... ok [INFO] [stdout] test connection::tests::test_connection_close ... ok [INFO] [stdout] test connection::tests::test_connection_creation ... ok [INFO] [stdout] test connection::tests::test_transaction_lifecycle ... ok [INFO] [stdout] test connection::tests::test_transaction_rollback ... ok [INFO] [stdout] test core::value::tests::test_type_compatibility ... ok [INFO] [stdout] test core::value::tests::test_value_equality ... ok [INFO] [stdout] test core::value::tests::test_value_ordering ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_multiple_columns ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_single_column_asc ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_by_single_column_desc ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_sort_with_nulls ... ok [INFO] [stdout] test evaluator::plugins::order_by::tests::test_value_comparator ... ok [INFO] [stdout] test executor::query::tests::test_between_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_complex_query ... ok [INFO] [stdout] test executor::query::tests::test_filter_execution ... ok [INFO] [stdout] test executor::query::tests::test_get_output_columns ... ok [INFO] [stdout] test executor::query::tests::test_is_null_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_like_evaluation ... ok [INFO] [stdout] test executor::query::tests::test_limit_execution ... ok [INFO] [stdout] test executor::query::tests::test_logical_and ... ok [INFO] [stdout] test executor::query::tests::test_order_by_asc ... ok [INFO] [stdout] test executor::query::tests::test_order_by_desc ... ok [INFO] [stdout] test executor::query::tests::test_order_by_expression ... ok [INFO] [stdout] test executor::query::tests::test_order_by_multiple_columns ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_filter ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_limit ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_nulls ... ok [INFO] [stdout] test executor::query::tests::test_order_by_with_value_compare ... ok [INFO] [stdout] test executor::query::tests::test_projection_execution ... ok [INFO] [stdout] test executor::query::tests::test_simple_scan ... ok [INFO] [stdout] test executor::transaction::tests::test_begin_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_begin_fails_in_transaction ... ok [INFO] [stdout] test executor::transaction::tests::test_commit_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_commit_fails_without_transaction ... ok [INFO] [stdout] test executor::transaction::tests::test_rollback_executor_can_handle ... ok [INFO] [stdout] test executor::transaction::tests::test_rollback_without_transaction_is_noop ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_multiple_order_by ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_no_order_by ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_asc ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_desc ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_expression ... ok [INFO] [stdout] test parser::adapter::tests::test_parse_order_by_with_limit ... ok [INFO] [stdout] test result::result::tests::test_accessors ... ok [INFO] [stdout] test result::result::tests::test_empty_result ... ok [INFO] [stdout] test result::result::tests::test_new_result ... ok [INFO] [stdout] test storage::persistence::tests::test_checkpoint_clears_wal ... ok [INFO] [stdout] test storage::persistence::tests::test_recovery ... ok [INFO] [stdout] test storage::persistence::tests::test_snapshot_save_and_load ... ok [INFO] [stdout] test storage::persistence::tests::test_wal_append_and_read ... ok [INFO] [stdout] test transaction::change::tests::test_change_classification ... ok [INFO] [stdout] test transaction::change::tests::test_change_table_name ... ok [INFO] [stdout] test transaction::state::tests::test_cannot_commit_twice ... ok [INFO] [stdout] test transaction::state::tests::test_cannot_record_change_after_commit ... ok [INFO] [stdout] test transaction::state::tests::test_rollback_clears_changes ... ok [INFO] [stdout] test transaction::state::tests::test_transaction_id_generation ... ok [INFO] [stdout] test transaction::state::tests::test_transaction_lifecycle ... ok [INFO] [stdout] test benchmarks::bench_concurrent_reads_different_tables ... ok [INFO] [stdout] test connection::pool::tests::test_connection_return_to_pool ... ok [INFO] [stdout] test connection::pool::tests::test_get_connection ... ok [INFO] [stdout] test connection::pool::tests::test_max_connections_limit ... ok [INFO] [stdout] test connection::pool::tests::test_pool_creation ... ok [INFO] [stdout] test connection::pool::tests::test_pool_stats ... ok [INFO] [stdout] test connection::auth::tests::test_update_password ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 50.31s [INFO] [stdout] [INFO] [stderr] Running tests/aggregate_functions_tests.rs (/opt/rustwide/target/debug/deps/aggregate_functions_tests-102168c643e29c68) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test test_count_star ... ok [INFO] [stdout] test test_aggregate_empty_table ... ok [INFO] [stdout] test test_count_with_expression ... ok [INFO] [stdout] test test_aggregate_with_text ... ok [INFO] [stdout] test test_aggregate_with_float ... ok [INFO] [stdout] test test_avg_function ... ok [INFO] [stdout] test test_count_column ... ok [INFO] [stdout] test test_count_with_where ... ok [INFO] [stdout] test test_multiple_aggregates ... ok [INFO] [stdout] test test_max_function ... ok [INFO] [stdout] test test_min_function ... ok [INFO] [stdout] test test_sum_with_nulls ... ok [INFO] [stdout] test test_sum_function ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.36s [INFO] [stdout] [INFO] [stderr] Running tests/client_api_tests.rs (/opt/rustwide/target/debug/deps/client_api_tests-a93d4625e13c4814) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test test_client_complex_query ... ok [INFO] [stdout] test test_client_execute_insert ... ok [INFO] [stdout] test test_client_connection_id ... ok [INFO] [stdout] test test_client_auth_manager_access ... ok [INFO] [stdout] test test_client_connection_state ... ok [INFO] [stdout] test test_client_invalid_credentials ... ok [INFO] [stdout] test test_client_invalid_url ... ok [INFO] [stdout] test test_client_execute_with_limit ... ok [INFO] [stdout] test test_client_execute_create_table ... ok [INFO] [stdout] test test_client_connection_reuse ... ok [INFO] [stdout] test test_client_get_connection ... ok [INFO] [stdout] test test_client_multiple_queries ... ok [INFO] [stdout] test test_client_url_parsing ... ignored [INFO] [stdout] test test_client_execute_with_order_by ... ok [INFO] [stdout] test test_client_execute_with_where ... ok [INFO] [stdout] test test_client_from_url ... ok [INFO] [stdout] test test_client_simple_connect ... ok [INFO] [stdout] test test_client_query ... ok [INFO] [stdout] test test_client_with_config ... ok [INFO] [stdout] test test_client_pool_stats ... ok [INFO] [stderr] Running tests/complex_queries_tests.rs (/opt/rustwide/target/debug/deps/complex_queries_tests-89788aa25e5aa420) [INFO] [stdout] test test_client_timeout_on_pool_exhaustion ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 29.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test test_complex_data_types_mix ... ok [INFO] [stdout] test test_complex_between_and_conditions ... ok [INFO] [stdout] test test_boolean_complex_expression ... ok [INFO] [stdout] test test_complex_boolean_logic ... ok [INFO] [stdout] test test_complex_edge_case_empty_strings ... ok [INFO] [stdout] test test_complex_arithmetic_in_where ... ok [INFO] [stdout] test test_boolean_not_operator ... ok [INFO] [stdout] test test_boolean_with_parentheses ... ok [INFO] [stdout] test test_complex_limit_with_order_by ... ok [INFO] [stdout] test test_complex_like_patterns ... ok [INFO] [stdout] test test_complex_multi_column_order_by ... ok [INFO] [stdout] test test_complex_multi_table_setup ... ok [INFO] [stdout] test test_complex_nested_logic ... ok [INFO] [stdout] test test_complex_null_handling ... ok [INFO] [stdout] test test_complex_large_dataset_query ... ok [INFO] [stdout] test test_complex_or_conditions ... ok [INFO] [stdout] test test_complex_string_patterns ... ok [INFO] [stdout] test test_complex_where_with_multiple_conditions ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 25.19s [INFO] [stdout] [INFO] [stderr] Running tests/concurrent_access_tests.rs (/opt/rustwide/target/debug/deps/concurrent_access_tests-deec7aaebe36a412) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_barrier_synchronized_access ... ok [INFO] [stdout] test test_concurrent_table_creation ... ok [INFO] [stdout] test test_concurrent_complex_queries has been running for over 60 seconds [INFO] [stdout] test test_concurrent_order_by_queries has been running for over 60 seconds [INFO] [stdout] test test_concurrent_queries_different_tables has been running for over 60 seconds [INFO] [stdout] test test_concurrent_read_write_mix has been running for over 60 seconds [INFO] [stdout] test test_concurrent_reads has been running for over 60 seconds [INFO] [stdout] test test_concurrent_stress_test has been running for over 60 seconds [INFO] [stdout] test test_concurrent_transactions ... ok [INFO] [stdout] test test_concurrent_writes ... ok [INFO] [stdout] test test_concurrent_complex_queries ... ok [INFO] [stdout] test test_concurrent_read_write_mix ... ok [INFO] [stdout] test test_pool_exhaustion_recovery ... ok [INFO] [stdout] test test_connection_pool_reuse ... ok [INFO] [stdout] test test_concurrent_stress_test ... ok [INFO] [stdout] test test_connection_state_isolation ... ok [INFO] [stdout] test test_concurrent_order_by_queries ... ok [INFO] [stdout] test test_connection_pool_under_load ... ok [INFO] [stdout] test test_concurrent_reads ... ok [INFO] [stdout] test test_concurrent_queries_different_tables ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 147.04s [INFO] [stdout] [INFO] [stderr] Running tests/constraints_tests.rs (/opt/rustwide/target/debug/deps/constraints_tests-01cd80aecc35680d) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_unique_constraint ... ok [INFO] [stdout] test test_primary_key_constraint ... ok [INFO] [stdout] test test_update_unique_constraint ... ok [INFO] [stdout] test test_constraint_with_index ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/ddl_dml_tests.rs (/opt/rustwide/target/debug/deps/ddl_dml_tests-0e358e7577b01f1f) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test test_drop_table_non_existent ... ok [INFO] [stdout] test test_delete_all_rows ... ok [INFO] [stdout] test test_drop_table ... ok [INFO] [stdout] test test_drop_table_if_exists ... ok [INFO] [stdout] test test_delete_with_where ... ok [INFO] [stdout] test test_update_all_rows ... ok [INFO] [stdout] test test_delete_with_complex_where ... ok [INFO] [stdout] test test_delete_and_select ... ok [INFO] [stdout] test test_update_load_batch ... ok [INFO] [stdout] test test_update_and_select ... ok [INFO] [stdout] test test_update_multiple_columns ... ok [INFO] [stdout] test test_update_load_all_rows ... ok [INFO] [stdout] test test_update_load_mixed_operations ... ok [INFO] [stdout] test test_update_load_complex_where ... ok [INFO] [stdout] test test_update_with_expression ... ok [INFO] [stdout] test test_update_with_where ... ok [INFO] [stdout] test test_update_load_concurrent ... ok [INFO] [stdout] test test_update_load_sequential ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.20s [INFO] [stdout] [INFO] [stderr] Running tests/group_by_tests.rs (/opt/rustwide/target/debug/deps/group_by_tests-ab7f98ae7d0d46ab) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_group_by_having ... ok [INFO] [stdout] test test_group_by_count ... ok [INFO] [stdout] test test_group_by_simple ... ok [INFO] [stdout] [INFO] [stderr] Running tests/indexing_tests.rs (/opt/rustwide/target/debug/deps/indexing_tests-8d3f27548886516f) [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_indexing_backend ... ok [INFO] [stdout] test test_create_index_and_use_it ... ok [INFO] [stdout] test test_index_performance_comparison ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s [INFO] [stdout] [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-6fd92d989e5ebc8b) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test test_error_duplicate_table ... ok [INFO] [stdout] test test_basic_table_creation ... ok [INFO] [stdout] test test_empty_table_query ... ok [INFO] [stdout] test test_error_table_not_found ... ok [INFO] [stdout] test test_between_operator ... ok [INFO] [stdout] test test_insert_and_select ... ok [INFO] [stdout] test test_complex_nested_conditions ... ok [INFO] [stdout] test test_combined_where_order_limit ... ok [INFO] [stdout] test test_boolean_data_type ... ok [INFO] [stdout] test test_arithmetic_expressions ... ok [INFO] [stdout] test test_is_not_null_operator ... ok [INFO] [stdout] test test_is_null_operator ... ok [INFO] [stdout] test test_like_operator ... ok [INFO] [stdout] test test_logical_and_operator ... ok [INFO] [stdout] test test_logical_or_operator ... ok [INFO] [stdout] test test_order_by_ascending ... ok [INFO] [stdout] test test_limit_clause ... ok [INFO] [stdout] test test_projection_specific_columns ... ok [INFO] [stdout] test test_order_by_descending ... ok [INFO] [stdout] test test_where_clause_filtering ... ok [INFO] [stdout] test test_table_stats ... ok [INFO] [stdout] test test_error_invalid_sql ... ok [INFO] [stdout] test test_float_data_type ... ok [INFO] [stdout] test test_multi_column_order_by ... ok [INFO] [stdout] test test_multiple_tables ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/join_tests.rs (/opt/rustwide/target/debug/deps/join_tests-d3682a66f28b264d) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_complex_join_with_where ... ok [INFO] [stdout] test test_left_join ... ok [INFO] [stdout] test test_self_join ... ok [INFO] [stdout] test test_inner_join ... ok [INFO] [stdout] test test_cross_join ... ok [INFO] [stdout] test test_right_join ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/mixed_type_operations_tests.rs (/opt/rustwide/target/debug/deps/mixed_type_operations_tests-54a487f61476dfae) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_boolean_comparison_false ... ok [INFO] [stdout] test test_float_comparison ... ok [INFO] [stdout] test test_boolean_comparison_true ... ok [INFO] [stdout] test test_boolean_literal_insert ... ok [INFO] [stdout] test test_combined_boolean_and_float ... ok [INFO] [stdout] test test_mixed_type_arithmetic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.01s [INFO] [stdout] [INFO] [stderr] Running tests/order_by_integration_tests.rs (/opt/rustwide/target/debug/deps/order_by_integration_tests-d5744319bd67f279) [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test test_order_by_integer_descending ... ok [INFO] [stdout] test test_complex_query_with_everything ... ok [INFO] [stdout] test test_order_by_all_same_values ... ok [INFO] [stdout] test test_order_by_text_ascending ... ok [INFO] [stdout] test test_order_by_multiple_columns ... ok [INFO] [stdout] test test_order_by_integer_ascending ... ok [INFO] [stdout] test test_order_by_single_row ... ok [INFO] [stdout] test test_order_by_empty_result ... ok [INFO] [stdout] test test_order_by_with_where_and_limit ... ok [INFO] [stdout] test test_order_by_three_columns ... ok [INFO] [stdout] test test_order_by_with_limit ... ok [INFO] [stdout] test test_order_by_with_nulls_ascending ... ok [INFO] [stdout] test test_order_by_with_where ... ok [INFO] [stdout] test test_order_by_text_descending ... ok [INFO] [stdout] test test_order_by_with_nulls_descending ... ok [INFO] [stdout] test test_order_by_with_like_and_between ... ok [INFO] [stdout] test test_performance_sort_1000_rows ... ok [INFO] [stdout] test test_performance_reverse_sorted_data ... ok [INFO] [stdout] test test_select_star_with_order_by ... ok [INFO] [stdout] test test_performance_already_sorted_data ... ok [INFO] [stdout] test test_performance_comparison_with_without_order_by ... ok [INFO] [stdout] test test_performance_sort_text_column ... ok [INFO] [stdout] test test_performance_multi_column_sort ... ok [INFO] [stdout] test test_performance_sort_10000_rows ... ok [INFO] [stdout] test test_performance_sort_with_filter ... ok [INFO] [stdout] test test_performance_sort_with_limit ... ok [INFO] [stdout] test test_stress_complex_query_large_dataset ... ok [INFO] [stdout] test test_stress_sort_50000_rows ... ok [INFO] [stdout] test test_stress_sort_100000_rows ... ok [INFO] [stderr] Running tests/performance_indexing_tests.rs (/opt/rustwide/target/debug/deps/performance_indexing_tests-4ab0116832091f13) [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.24s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_index_performance ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.15s [INFO] [stdout] [INFO] [stderr] Running tests/performance_tests.rs (/opt/rustwide/target/debug/deps/performance_tests-1f8d6a31fa44f2d6) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_performance_transaction_overhead ... ok [INFO] [stdout] test test_performance_bulk_select ... ok [INFO] [stdout] test test_performance_order_by ... ok [INFO] [stdout] test test_performance_bulk_insert ... ok [INFO] [stdout] test test_performance_table_scan_sizes ... ok [INFO] [stdout] test test_performance_complex_query ... ok [INFO] [stdout] test test_performance_filtered_select ... ok [INFO] [stdout] test test_performance_connection_pool ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 20.47s [INFO] [stdout] [INFO] [stderr] Running tests/persistence_integration_tests.rs (/opt/rustwide/target/debug/deps/persistence_integration_tests-cbd12a17485cd27e) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test test_cannot_enable_persistence_twice ... ok [INFO] [stdout] test test_durability_mode_none ... ok [INFO] [stdout] test test_durability_mode_async ... ok [INFO] [stdout] test test_disable_persistence ... ok [INFO] [stdout] test test_crash_recovery_after_create_table ... ok [INFO] [stdout] test test_empty_database_checkpoint ... ok [INFO] [stdout] test test_insert_persistence_and_recovery ... ok [INFO] [stdout] test test_dml_with_checkpoint ... ok [INFO] [stdout] test test_delete_persistence_and_recovery ... ok [INFO] [stdout] test test_checkpoint_creates_snapshot ... ok [INFO] [stdout] test test_checkpoint_after_many_operations ... ok [INFO] [stdout] test test_mixed_dml_operations_recovery ... ok [INFO] [stdout] test test_persistence_create_table ... ok [INFO] [stdout] test test_persistence_drop_table ... ok [INFO] [stderr] Running tests/transaction_comprehensive_tests.rs (/opt/rustwide/target/debug/deps/transaction_comprehensive_tests-ae86de52f2819de6) [INFO] [stdout] test test_multiple_create_drop_operations ... ok [INFO] [stdout] test test_update_persistence_and_recovery ... ok [INFO] [stdout] test test_recovery_from_snapshot_and_wal ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test test_transaction_connection_drop_auto_rollback ... ok [INFO] [stdout] test test_transaction_error_commit_without_begin ... ok [INFO] [stdout] test test_transaction_error_nested_transaction ... ok [INFO] [stdout] test test_transaction_bulk_insert_commit ... ok [INFO] [stdout] test test_transaction_bulk_insert_rollback ... ok [INFO] [stdout] test test_transaction_delete_rollback ... ok [INFO] [stdout] test test_transaction_auto_commit_mode ... ok [INFO] [stdout] test test_transaction_delete_multiple_rows ... ok [INFO] [stdout] test test_transaction_delete_commit ... ok [INFO] [stdout] test test_transaction_error_recovery ... ok [INFO] [stdout] test test_transaction_rollback_without_begin_is_noop ... ok [INFO] [stdout] test test_transaction_insert_commit ... ok [INFO] [stdout] test test_transaction_insert_then_update ... ok [INFO] [stdout] test test_transaction_mixed_operations_rollback ... ok [INFO] [stdout] test test_transaction_mixed_operations_commit ... ok [INFO] [stdout] test test_transaction_insert_rollback ... ok [INFO] [stdout] test test_transaction_insert_then_delete ... ok [INFO] [stdout] test test_transaction_multiple_updates_same_row ... ok [INFO] [stdout] test test_transaction_state_tracking_complete ... ok [INFO] [stdout] test test_transaction_with_select_inside ... ok [INFO] [stdout] test test_transaction_sequential_on_same_connection ... ok [INFO] [stdout] test test_transaction_update_rollback ... ok [INFO] [stdout] test test_transaction_update_commit ... ok [INFO] [stdout] test test_transaction_update_multiple_rows ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.00s [INFO] [stdout] [INFO] [stderr] Running tests/transaction_tests.rs (/opt/rustwide/target/debug/deps/transaction_tests-7e08fd5e656e9bb0) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_transaction_error_no_transaction ... ok [INFO] [stdout] test test_transaction_auto_rollback_on_drop ... ok [INFO] [stdout] test test_transaction_error_handling ... ok [INFO] [stdout] test test_transaction_commit_after_rollback_fails ... ok [INFO] [stdout] test test_transaction_error_double_begin ... ok [INFO] [stdout] test test_transaction_begin_rollback ... ok [INFO] [stdout] test test_transaction_state_tracking ... ok [INFO] [stdout] test test_transaction_nested_not_supported ... ok [INFO] [stdout] test test_transaction_isolation_between_connections ... ok [INFO] [stdout] test test_transaction_begin_commit ... ok [INFO] [stdout] test test_transaction_multiple_operations ... ok [INFO] [stdout] test test_transaction_multiple_sequential ... ok [INFO] [stdout] test test_transaction_with_query_in_middle ... ok [INFO] [stderr] Running tests/user_management_tests.rs (/opt/rustwide/target/debug/deps/user_management_tests-3f067fbde486f05b) [INFO] [stdout] test test_transaction_rollback_preserves_previous_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 27.84s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test test_admin_authentication ... ok [INFO] [stdout] test test_cannot_delete_admin ... ok [INFO] [stdout] test test_admin_permission ... ok [INFO] [stdout] test test_default_admin_user ... ok [INFO] [stdout] test test_connection_pool_with_auth ... ok [INFO] [stdout] test test_create_new_user ... ok [INFO] [stdout] test test_connection_url_with_credentials ... ok [INFO] [stdout] test test_invalid_credentials ... ok [INFO] [stdout] test test_duplicate_user_creation ... ok [INFO] [stdout] test test_connection_with_different_users ... ok [INFO] [stdout] test test_delete_user ... ok [INFO] [stdout] test test_new_user_login ... ok [INFO] [stdout] test test_grant_permission ... ok [INFO] [stdout] test test_multiple_users_concurrent_access ... ok [INFO] [stdout] test test_special_characters_in_credentials ... ok [INFO] [stdout] test test_user_info ... ok [INFO] [stdout] test test_user_permissions ... ok [INFO] [stdout] test test_revoke_permission ... ok [INFO] [stdout] test test_update_user_password ... ok [INFO] [stdout] test test_user_with_all_permissions ... ok [INFO] [stdout] test test_revoke_all_permissions has been running for over 60 seconds [INFO] [stdout] test test_username_case_sensitivity ... ok [INFO] [stdout] test test_revoke_all_permissions ... ok [INFO] [stdout] test test_user_permissions_inheritance ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 103.74s [INFO] [stdout] [INFO] [stderr] Doc-tests rustmemodb [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/connection/config.rs - connection::config::ConnectionConfig::from_url (line 120) ... ignored [INFO] [stdout] test src/lib.rs - Client::connect (line 78) ... ok [INFO] [stdout] test src/lib.rs - Client (line 51) ... ok [INFO] [stdout] test src/lib.rs - Client::execute (line 157) ... ok [INFO] [stdout] test src/lib.rs - Client::connect_url (line 117) ... ok [INFO] [stdout] test src/lib.rs - Client::get_connection (line 177) ... ok [INFO] [stdout] test src/lib.rs - Client::connect_with_config (line 95) ... ok [INFO] [stdout] test src/lib.rs - Client::query (line 137) ... ok [INFO] [stdout] test src/lib.rs - Client::auth_manager (line 215) ... ok [INFO] [stdout] test src/lib.rs - Client::stats (line 198) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 25.58s [INFO] [stdout] [INFO] [stdout] all doctests ran in 28.97s; merged doctests compilation took 3.35s [INFO] running `Command { std: "docker" "inspect" "80fdc44170dcffac9a8601c311b7c86a479e3529235af1e3e8ea94f5906da512", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80fdc44170dcffac9a8601c311b7c86a479e3529235af1e3e8ea94f5906da512", kill_on_drop: false }` [INFO] [stdout] 80fdc44170dcffac9a8601c311b7c86a479e3529235af1e3e8ea94f5906da512