[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<Value>) -> 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<Box<dyn ValidationRule>>) -> 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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<Value>) -> 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<Box<dyn ValidationRule>>) -> 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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<Box<dyn ValidationRule>>) -> 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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<dyn std::error::Error>> {
[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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<Value>) -> 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<Box<dyn ValidationRule>>) -> 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<Value>,
[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<Vec<String>>, // 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<Vec<String>>, // 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<LogicalPlan>, 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<TransactionManager>,
[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<TransactionId> {
[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<dyn Executor>) {
[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<QueryResult> {
[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<dyn std::error::Error>> {
[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
