[INFO] cloning repository https://github.com/ricson-hoo/rustnq
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ricson-hoo/rustnq" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fricson-hoo%2Frustnq", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fricson-hoo%2Frustnq'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 440d623eaced0a0cd7888b63cd148ccf5fcb3997
[INFO] checking ricson-hoo/rustnq against 4d7c0cd298ace72490220301fa543d63a154f8ce for pr-164789
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fricson-hoo%2Frustnq" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ricson-hoo/rustnq
[INFO] finished tweaking git repo https://github.com/ricson-hoo/rustnq
[INFO] tweaked toml for git repo https://github.com/ricson-hoo/rustnq written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ricson-hoo/rustnq on toolchain 4d7c0cd298ace72490220301fa543d63a154f8ce
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ricson-hoo/rustnq 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" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d
[INFO] running `Command { std: "docker" "start" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling mio v1.2.4
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling futures-io v0.3.34
[INFO] [stderr]    Compiling spin v0.9.9
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling event-listener v5.4.2
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling crossbeam-queue v0.3.13
[INFO] [stderr]    Compiling uuid v1.25.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking num-iter v0.1.46
[INFO] [stderr]    Compiling sha1 v0.10.7
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking block-modes v0.8.1
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking sqlx-mysql v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking rustnq v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `fmt::write` and `result`
[INFO] [stdout]  --> src/query/builder.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, fmt::write, format, result};
[INFO] [stdout]   |                ^^^^^^^^^^          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/query/builder.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Char` and `Tinytext`
[INFO] [stdout]  --> src/query/builder.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::mapping::column_types::{Boolean, Bigint, Char, Tinytext, Varchar, Date, Decimal, Timestamp, Int, Datetime, Enum, Time, Tin...
[INFO] [stdout]   |                                                     ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/query/builder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> src/query/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/query/builder.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Number`
[INFO] [stdout]   --> src/query/builder.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde_json::{json, Number};
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]   --> src/query/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveTime`
[INFO] [stdout]   --> src/query/builder.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use chrono::{DateTime, NaiveTime, Utc};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Database`
[INFO] [stdout]   --> src/query/builder.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use sqlx::Database;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update_By_PrimaryKey` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |     Select,Insert, Update_By_PrimaryKey,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateByPrimaryKey`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update_By_Condition` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Update_By_Condition,Insert_Or_Update,Delete
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateByCondition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Insert_Or_Update` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:199:25
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Update_By_Condition,Insert_Or_Update,Delete
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InsertOrUpdate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1040:7
[INFO] [stdout]      |
[INFO] [stdout] 1040 |     if(!insert_fields.contains(&wrapped_name)){
[INFO] [stdout]      |       ^                                      ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1040 -     if(!insert_fields.contains(&wrapped_name)){
[INFO] [stdout] 1040 +     if !insert_fields.contains(&wrapped_name) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1280:31
[INFO] [stdout]      |
[INFO] [stdout] 1280 | ...                   if(str_value.is_empty()) {
[INFO] [stdout]      |                         ^                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1280 -                             if(str_value.is_empty()) {
[INFO] [stdout] 1280 +                             if str_value.is_empty() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1302:31
[INFO] [stdout]      |
[INFO] [stdout] 1302 | ...                   if(str_value.is_empty()) {
[INFO] [stdout]      |                         ^                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1302 -                             if(str_value.is_empty()) {
[INFO] [stdout] 1302 +                             if str_value.is_empty() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> src/query/builder.rs:1904:21
[INFO] [stdout]      |
[INFO] [stdout] 1904 |         }else if let(Some(ref limit)) = data_query_builder.limit{
[INFO] [stdout]      |                     ^               ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1904 -         }else if let(Some(ref limit)) = data_query_builder.limit{
[INFO] [stdout] 1904 +         }else if let Some(ref limit) = data_query_builder.limit{
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> src/query/builder.rs:1968:21
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         }else if let(Some(ref limit)) = query_builder.limit{
[INFO] [stdout]      |                     ^               ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1968 -         }else if let(Some(ref limit)) = query_builder.limit{
[INFO] [stdout] 1968 +         }else if let Some(ref limit) = query_builder.limit{
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/query/statement.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::uuid`
[INFO] [stdout]  --> src/query/statement.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/query/statement.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PROCESSORS` and `get_processors`
[INFO] [stdout]   --> src/query/statement.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::configuration::{get_processors, PROCESSORS};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/mapping/description.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/mapping/description.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::encode::IsNull`
[INFO] [stdout]  --> src/mapping/description.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::encode::IsNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/mapping/description.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::query::builder::{Field, SelectField};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bool` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     bool,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `Bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i8` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     i8,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `I8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i16` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     i16,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I16`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i32` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     i32,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     i64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `u64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     u64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `U64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     f64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f32` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     f32,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `u8` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     u8,//byte
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `U8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoNaiveDate` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     chronoNaiveDate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoNaiveDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoNaiveTime` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     chronoNaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoNaiveTime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoDateTimeLocal` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     chronoDateTimeLocal,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoDateTimeLocal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SqlColumn`
[INFO] [stdout]  --> src/mapping/column_types.rs:1:64
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mapping::description::{Holding, Column, MappedEnum, SqlColumn};
[INFO] [stdout]   |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/mapping/column_types.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize,Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/mapping/column_types.rs:332:11
[INFO] [stdout]     |
[INFO] [stdout] 332 |         if(alias.is_some()){
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 332 -         if(alias.is_some()){
[INFO] [stdout] 332 +         if alias.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/codegen/entity.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> src/codegen/entity.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/codegen/entity.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/codegen/entity.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::query::builder::Condition`
[INFO] [stdout]   --> src/codegen/entity.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::query::builder::Condition;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/codegen/mapping.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/codegen/mapping.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Datetime`, `Enum`, `Int`, `Set`, and `Varchar`
[INFO] [stdout]   --> src/codegen/mapping.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::mapping::column_types::{Datetime, Enum, Int, Set, Varchar};
[INFO] [stdout]    |                                    ^^^^^^^^  ^^^^  ^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Condition` and `QueryBuilder`
[INFO] [stdout]   --> src/codegen/mapping.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::query::builder::{Condition, QueryBuilder};
[INFO] [stdout]    |                             ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/codegen/mapping.rs:61:110
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub async fn generate_mappings(conn: &impl TableIntrospector, db_name:&str, config: MappingGenerateConfig) { ///*mappings_out_dir:&str, name_of_crate_holds_enums: String, boolean_columns: &HashMap<String, HashSet<String>>, trait_for_enum_types: &HashMap<&str, &str>*/
[INFO] [stdout]    |                                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     let mappings_out_dir = config.output_dir.clone();
[INFO] [stdout]    |     ------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::char::ToUppercase`
[INFO] [stdout]  --> src/utils/stringUtils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::char::ToUppercase;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encode`
[INFO] [stdout]  --> src/configuration/aes_enc_dec.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use hex::{decode, encode};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]  --> src/configuration/aes_enc_dec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hex_literal::hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::write` and `result`
[INFO] [stdout]  --> src/query/builder.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt, fmt::write, format, result};
[INFO] [stdout]   |                ^^^^^^^^^^          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/query/builder.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Char` and `Tinytext`
[INFO] [stdout]  --> src/query/builder.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::mapping::column_types::{Boolean, Bigint, Char, Tinytext, Varchar, Date, Decimal, Timestamp, Int, Datetime, Enum, Time, Tin...
[INFO] [stdout]   |                                                     ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/query/builder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> src/query/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/query/builder.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Number`
[INFO] [stdout]   --> src/query/builder.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde_json::{json, Number};
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]   --> src/query/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveTime`
[INFO] [stdout]   --> src/query/builder.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use chrono::{DateTime, NaiveTime, Utc};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Database`
[INFO] [stdout]   --> src/query/builder.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use sqlx::Database;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update_By_PrimaryKey` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |     Select,Insert, Update_By_PrimaryKey,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateByPrimaryKey`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update_By_Condition` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Update_By_Condition,Insert_Or_Update,Delete
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateByCondition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Insert_Or_Update` should have an upper camel case name
[INFO] [stdout]    --> src/query/builder.rs:199:25
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Update_By_Condition,Insert_Or_Update,Delete
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InsertOrUpdate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1040:7
[INFO] [stdout]      |
[INFO] [stdout] 1040 |     if(!insert_fields.contains(&wrapped_name)){
[INFO] [stdout]      |       ^                                      ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1040 -     if(!insert_fields.contains(&wrapped_name)){
[INFO] [stdout] 1040 +     if !insert_fields.contains(&wrapped_name) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1280:31
[INFO] [stdout]      |
[INFO] [stdout] 1280 | ...                   if(str_value.is_empty()) {
[INFO] [stdout]      |                         ^                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1280 -                             if(str_value.is_empty()) {
[INFO] [stdout] 1280 +                             if str_value.is_empty() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/query/builder.rs:1302:31
[INFO] [stdout]      |
[INFO] [stdout] 1302 | ...                   if(str_value.is_empty()) {
[INFO] [stdout]      |                         ^                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1302 -                             if(str_value.is_empty()) {
[INFO] [stdout] 1302 +                             if str_value.is_empty() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> src/query/builder.rs:1904:21
[INFO] [stdout]      |
[INFO] [stdout] 1904 |         }else if let(Some(ref limit)) = data_query_builder.limit{
[INFO] [stdout]      |                     ^               ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1904 -         }else if let(Some(ref limit)) = data_query_builder.limit{
[INFO] [stdout] 1904 +         }else if let Some(ref limit) = data_query_builder.limit{
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> src/query/builder.rs:1968:21
[INFO] [stdout]      |
[INFO] [stdout] 1968 |         }else if let(Some(ref limit)) = query_builder.limit{
[INFO] [stdout]      |                     ^               ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1968 -         }else if let(Some(ref limit)) = query_builder.limit{
[INFO] [stdout] 1968 +         }else if let Some(ref limit) = query_builder.limit{
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/query/statement.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::uuid`
[INFO] [stdout]  --> src/query/statement.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/query/statement.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PROCESSORS` and `get_processors`
[INFO] [stdout]   --> src/query/statement.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::configuration::{get_processors, PROCESSORS};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/mapping/description.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/mapping/description.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::encode::IsNull`
[INFO] [stdout]  --> src/mapping/description.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::encode::IsNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/mapping/description.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::query::builder::{Field, SelectField};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bool` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     bool,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `Bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i8` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     i8,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `I8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i16` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     i16,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I16`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i32` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     i32,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     i64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `u64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     u64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `U64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f64` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     f64,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f32` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     f32,
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `u8` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     u8,//byte
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `U8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoNaiveDate` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     chronoNaiveDate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoNaiveDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoNaiveTime` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     chronoNaiveTime,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoNaiveTime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `chronoDateTimeLocal` should have an upper camel case name
[INFO] [stdout]    --> src/mapping/description.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     chronoDateTimeLocal,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChronoDateTimeLocal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SqlColumn`
[INFO] [stdout]  --> src/mapping/column_types.rs:1:64
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mapping::description::{Holding, Column, MappedEnum, SqlColumn};
[INFO] [stdout]   |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/mapping/column_types.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize,Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/mapping/column_types.rs:332:11
[INFO] [stdout]     |
[INFO] [stdout] 332 |         if(alias.is_some()){
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 332 -         if(alias.is_some()){
[INFO] [stdout] 332 +         if alias.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/codegen/entity.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> src/codegen/entity.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/codegen/entity.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/codegen/entity.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::query::builder::Condition`
[INFO] [stdout]   --> src/codegen/entity.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::query::builder::Condition;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/codegen/mapping.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/codegen/mapping.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Datetime`, `Enum`, `Int`, `Set`, and `Varchar`
[INFO] [stdout]   --> src/codegen/mapping.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::mapping::column_types::{Datetime, Enum, Int, Set, Varchar};
[INFO] [stdout]    |                                    ^^^^^^^^  ^^^^  ^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Condition` and `QueryBuilder`
[INFO] [stdout]   --> src/codegen/mapping.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::query::builder::{Condition, QueryBuilder};
[INFO] [stdout]    |                             ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/codegen/mapping.rs:61:110
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub async fn generate_mappings(conn: &impl TableIntrospector, db_name:&str, config: MappingGenerateConfig) { ///*mappings_out_dir:&str, name_of_crate_holds_enums: String, boolean_columns: &HashMap<String, HashSet<String>>, trait_for_enum_types: &HashMap<&str, &str>*/
[INFO] [stdout]    |                                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     let mappings_out_dir = config.output_dir.clone();
[INFO] [stdout]    |     ------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::char::ToUppercase`
[INFO] [stdout]  --> src/utils/stringUtils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::char::ToUppercase;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encode`
[INFO] [stdout]  --> src/configuration/aes_enc_dec.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use hex::{decode, encode};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]  --> src/configuration/aes_enc_dec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hex_literal::hex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]   --> src/configuration/aes_enc_dec.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let encrypted_base64 = base64::encode(&encrypted_data);
[INFO] [stdout]    |                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]   --> src/configuration/aes_enc_dec.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let encrypted_base64 = base64::encode(&encrypted_data);
[INFO] [stdout]    |                                        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/query/builder.rs:1841:13
[INFO] [stdout]      |
[INFO] [stdout] 1841 |             _ => Ok(None),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/query/builder.rs:1841:13
[INFO] [stdout]      |
[INFO] [stdout] 1789 |             DbDialect::Postgres => {
[INFO] [stdout]      |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1798 |             DbDialect::MySql => {
[INFO] [stdout]      |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1841 |             _ => Ok(None),
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/query/builder.rs:1841:13
[INFO] [stdout]      |
[INFO] [stdout] 1841 |             _ => Ok(None),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/query/builder.rs:1841:13
[INFO] [stdout]      |
[INFO] [stdout] 1789 |             DbDialect::Postgres => {
[INFO] [stdout]      |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1798 |             DbDialect::MySql => {
[INFO] [stdout]      |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1841 |             _ => Ok(None),
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1993:13
[INFO] [stdout]      |
[INFO] [stdout] 1993 |         let mut limit = query_builder.limit.clone().unwrap().limit;
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1993:13
[INFO] [stdout]      |
[INFO] [stdout] 1993 |         let mut limit = query_builder.limit.clone().unwrap().limit;
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codegen/entity.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut trait_for_enum_types = config.trait_for_enum_types.clone();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/entity.rs:213:25
[INFO] [stdout]     |
[INFO] [stdout] 213 | ...   let mut struct_field_definition = format!("#[serde(rename = \"{}\")] pub {}_:{},",&it.name, &it.name,field_type_qualified_name);
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/entity.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...   let mut struct_field_definition = format!("pub {}:{},", format_name(&it.name, field_naming_convention), field_type_qualified_...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codegen/entity.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut trait_for_enum_types = config.trait_for_enum_types.clone();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/entity.rs:213:25
[INFO] [stdout]     |
[INFO] [stdout] 213 | ...   let mut struct_field_definition = format!("#[serde(rename = \"{}\")] pub {}_:{},",&it.name, &it.name,field_type_qualified_name);
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/entity.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...   let mut struct_field_definition = format!("pub {}:{},", format_name(&it.name, field_naming_convention), field_type_qualified_...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]     --> src/mapping/column_types.rs:3388:68
[INFO] [stdout]      |
[INFO] [stdout] 3388 |         let timestamp_begin = NaiveDateTime::new(input, NaiveTime::from_hms(0, 0, 0));
[INFO] [stdout]      |                                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]     --> src/mapping/column_types.rs:3390:66
[INFO] [stdout]      |
[INFO] [stdout] 3390 |         let timestamp_end = NaiveDateTime::new(input, NaiveTime::from_hms(23, 59, 59));
[INFO] [stdout]      |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/query/builder.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::{Column as MysqlColumn, Error, Row, TypeInfo, Value, ValueRef};
[INFO] [stdout]   |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/query/builder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Executor`
[INFO] [stdout]   --> src/query/builder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use sqlx::Executor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Column`
[INFO] [stdout]  --> src/codegen/mapping.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::mapping::description::{Column, TableFieldConstructInfo, MysqlColumnDefinition, SqlColumn};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MappedEnum`
[INFO] [stdout]  --> src/mapping/column_types.rs:1:52
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mapping::description::{Holding, Column, MappedEnum, SqlColumn};
[INFO] [stdout]   |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]     --> src/mapping/column_types.rs:3388:68
[INFO] [stdout]      |
[INFO] [stdout] 3388 |         let timestamp_begin = NaiveDateTime::new(input, NaiveTime::from_hms(0, 0, 0));
[INFO] [stdout]      |                                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]     --> src/mapping/column_types.rs:3390:66
[INFO] [stdout]      |
[INFO] [stdout] 3390 |         let timestamp_end = NaiveDateTime::new(input, NaiveTime::from_hms(23, 59, 59));
[INFO] [stdout]      |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `select_all`
[INFO] [stdout]     --> src/query/builder.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |         if let Some(select_all) = self.is_select_all {
[INFO] [stdout]      |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_select_all`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1540:21
[INFO] [stdout]      |
[INFO] [stdout] 1540 |     pub fn as_table(mut self, table: &str) -> InnerTable {
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1579:16
[INFO] [stdout]      |
[INFO] [stdout] 1579 |     pub fn cte(mut self, name: &str) -> InnerTable {
[INFO] [stdout]      |                ----^^^^
[INFO] [stdout]      |                |
[INFO] [stdout]      |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1762:21
[INFO] [stdout]      |
[INFO] [stdout] 1762 |     pub fn asVachar(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1766:16
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     pub fn as_(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |                ----^^^^
[INFO] [stdout]      |                |
[INFO] [stdout]      |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]     --> src/query/builder.rs:1955:25
[INFO] [stdout]      |
[INFO] [stdout] 1955 |         let mut count = 0;
[INFO] [stdout]      |                         ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1960 |             count = self._db_fetch_count(&pool, &query_string).await?;
[INFO] [stdout]      |             --------------------------------------------------------- `count` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/query/builder.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::{Column as MysqlColumn, Error, Row, TypeInfo, Value, ValueRef};
[INFO] [stdout]   |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/query/builder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Executor`
[INFO] [stdout]   --> src/query/builder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use sqlx::Executor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Column`
[INFO] [stdout]  --> src/codegen/mapping.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::mapping::description::{Column, TableFieldConstructInfo, MysqlColumnDefinition, SqlColumn};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MappedEnum`
[INFO] [stdout]  --> src/mapping/column_types.rs:1:52
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mapping::description::{Holding, Column, MappedEnum, SqlColumn};
[INFO] [stdout]   |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_detail`
[INFO] [stdout]     --> src/query/builder.rs:2121:13
[INFO] [stdout]      |
[INFO] [stdout] 2121 |         let type_detail = type_info_detail;
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_detail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_name`
[INFO] [stdout]     --> src/query/builder.rs:2689:22
[INFO] [stdout]      |
[INFO] [stdout] 2689 |         if let Some((col_name, type_name)) = col_info {
[INFO] [stdout]      |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/query/builder.rs:2896:9
[INFO] [stdout]      |
[INFO] [stdout] 2896 |         _ => {
[INFO] [stdout]      |         ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/query/builder.rs:2896:9
[INFO] [stdout]      |
[INFO] [stdout] 2715 |         Operation::Select => {
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2784 |         Operation::Insert => {
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2801 |         Operation::Update_By_PrimaryKey => {
[INFO] [stdout]      |         ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2829 |         Operation::Update_By_Condition => {
[INFO] [stdout]      |         ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2896 |         _ => {
[INFO] [stdout]      |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/query/builder.rs:2750:18
[INFO] [stdout]      |
[INFO] [stdout] 2750 |             for (i, join) in self.joins.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `queryString` is never read
[INFO] [stdout]     --> src/query/builder.rs:2713:31
[INFO] [stdout]      |
[INFO] [stdout] 2713 |         let mut queryString = "".to_string();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2720 |                 queryString = format!("select {}",self.populate_select_fields_as_string());//self.select_fields.join(", ")
[INFO] [stdout]      |                 ----------- `queryString` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `primary_key`
[INFO] [stdout]     --> src/query/builder.rs:2948:38
[INFO] [stdout]      |
[INFO] [stdout] 2948 |     fn update_primary_key(&mut self, primary_key: Vec<SqlColumn>) -> () {
[INFO] [stdout]      |                                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_primary_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_table`
[INFO] [stdout]    --> src/query/statement.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let target_table:TargetTable = TargetTable::new(table_with_value);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `select_all`
[INFO] [stdout]     --> src/query/builder.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |         if let Some(select_all) = self.is_select_all {
[INFO] [stdout]      |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_select_all`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1540:21
[INFO] [stdout]      |
[INFO] [stdout] 1540 |     pub fn as_table(mut self, table: &str) -> InnerTable {
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1579:16
[INFO] [stdout]      |
[INFO] [stdout] 1579 |     pub fn cte(mut self, name: &str) -> InnerTable {
[INFO] [stdout]      |                ----^^^^
[INFO] [stdout]      |                |
[INFO] [stdout]      |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1762:21
[INFO] [stdout]      |
[INFO] [stdout] 1762 |     pub fn asVachar(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |                     ----^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/query/builder.rs:1766:16
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     pub fn as_(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |                ----^^^^
[INFO] [stdout]      |                |
[INFO] [stdout]      |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]     --> src/query/builder.rs:1955:25
[INFO] [stdout]      |
[INFO] [stdout] 1955 |         let mut count = 0;
[INFO] [stdout]      |                         ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1960 |             count = self._db_fetch_count(&pool, &query_string).await?;
[INFO] [stdout]      |             --------------------------------------------------------- `count` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_detail`
[INFO] [stdout]     --> src/query/builder.rs:2121:13
[INFO] [stdout]      |
[INFO] [stdout] 2121 |         let type_detail = type_info_detail;
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_detail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_name`
[INFO] [stdout]     --> src/query/builder.rs:2689:22
[INFO] [stdout]      |
[INFO] [stdout] 2689 |         if let Some((col_name, type_name)) = col_info {
[INFO] [stdout]      |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/query/builder.rs:2896:9
[INFO] [stdout]      |
[INFO] [stdout] 2896 |         _ => {
[INFO] [stdout]      |         ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/query/builder.rs:2896:9
[INFO] [stdout]      |
[INFO] [stdout] 2715 |         Operation::Select => {
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2784 |         Operation::Insert => {
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2801 |         Operation::Update_By_PrimaryKey => {
[INFO] [stdout]      |         ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2829 |         Operation::Update_By_Condition => {
[INFO] [stdout]      |         ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2896 |         _ => {
[INFO] [stdout]      |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/query/builder.rs:2750:18
[INFO] [stdout]      |
[INFO] [stdout] 2750 |             for (i, join) in self.joins.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `queryString` is never read
[INFO] [stdout]     --> src/query/builder.rs:2713:31
[INFO] [stdout]      |
[INFO] [stdout] 2713 |         let mut queryString = "".to_string();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2720 |                 queryString = format!("select {}",self.populate_select_fields_as_string());//self.select_fields.join(", ")
[INFO] [stdout]      |                 ----------- `queryString` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `primary_key`
[INFO] [stdout]     --> src/query/builder.rs:2948:38
[INFO] [stdout]      |
[INFO] [stdout] 2948 |     fn update_primary_key(&mut self, primary_key: Vec<SqlColumn>) -> () {
[INFO] [stdout]      |                                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_primary_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]     --> src/mapping/column_types.rs:1466:17
[INFO] [stdout]      |
[INFO] [stdout] 1466 |             Err(err) => {
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_table`
[INFO] [stdout]    --> src/query/statement.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let target_table:TargetTable = TargetTable::new(table_with_value);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_name`
[INFO] [stdout]   --> src/codegen/entity.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...&impl TableIntrospector, db_name:&str, config:EntityGenerateConfig) {/*entity_out_dir:&str, boolean_columns: &HashMap<String, Has...
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/codegen/entity.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 |     for (pattern, enum_trait) in trait_for_enum_types{
[INFO] [stdout]     |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nullable`
[INFO] [stdout]    --> src/codegen/entity.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let nullable = it.nullable;
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nullable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_primary_key`
[INFO] [stdout]    --> src/codegen/entity.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 let is_primary_key = it.is_primary_key;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_primary_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prop`
[INFO] [stdout]    --> src/codegen/entity.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |                         let prop = mysql_data_type_prop.clone();
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unsupported_char_in_enum_key`
[INFO] [stdout]    --> src/codegen/entity.rs:618:45
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn get_qualified_enum_key(enum_value: &str, unsupported_char_in_enum_key: &HashSet<&str>) -> String {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unsupported_char_in_enum_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trt`
[INFO] [stdout]    --> src/codegen/entity.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         for (trt,import_str) in traits_to_be_implemented.clone(){
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_trt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/codegen/entity.rs:709:10
[INFO] [stdout]     |
[INFO] [stdout] 709 |     for (index, item) in enum_items.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `import_str`
[INFO] [stdout]    --> src/codegen/entity.rs:750:18
[INFO] [stdout]     |
[INFO] [stdout] 750 |         for (trt,import_str) in traits_to_be_implemented {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_import_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/codegen/entity.rs:758:10
[INFO] [stdout]     |
[INFO] [stdout] 758 |     for (index, item) in enum_items.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_name`
[INFO] [stdout]   --> src/codegen/mapping.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 | ...&impl TableIntrospector, db_name:&str, config: MappingGenerateConfig) { ///*mappings_out_dir:&str, name_of_crate_holds_enums: Str...
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]     --> src/mapping/column_types.rs:1466:17
[INFO] [stdout]      |
[INFO] [stdout] 1466 |             Err(err) => {
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `column_type_name` is never read
[INFO] [stdout]    --> src/codegen/mapping.rs:330:32
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut column_type_name = "".to_string();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 331 |     if !col_definition.contains("("){
[INFO] [stdout] 332 |         column_type_name = stringUtils::begin_with_upper_case(&stringUtils::to_camel_case(&col_definition.replace(" ", "_")));
[INFO] [stdout]     |         ---------------- `column_type_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TargetTable` is more private than the item `TableJoin::new`
[INFO] [stdout]    --> src/query/builder.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn new(target_table: TargetTable, join_type:JoinType, condition:Option<Condition>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TableJoin::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TargetTable` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/query/builder.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub(crate) struct TargetTable{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TargetTable` is more private than the item `builder::QueryBuilder::target_table`
[INFO] [stdout]    --> src/query/builder.rs:998:5
[INFO] [stdout]     |
[INFO] [stdout] 998 |     pub target_table: Option<TargetTable>,//Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `builder::QueryBuilder::target_table` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TargetTable` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/query/builder.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub(crate) struct TargetTable{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `count_all` is never read
[INFO] [stdout]    --> src/query/builder.rs:997:5
[INFO] [stdout]     |
[INFO] [stdout] 993 | pub struct QueryBuilder {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 997 |     count_all:Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryBuilder` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target` and `sub_query` are never read
[INFO] [stdout]    --> src/mapping/column_types.rs:677:5
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub struct Char{
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 677 |     target:Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 678 |     value: Option<String>,
[INFO] [stdout] 679 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Char` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target` and `sub_query` are never read
[INFO] [stdout]    --> src/mapping/column_types.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 830 | pub struct Tinytext{
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 834 |     target:Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 835 |     value: Option<String>,
[INFO] [stdout] 836 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tinytext` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sub_query` is never read
[INFO] [stdout]     --> src/mapping/column_types.rs:1055:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | pub struct Mediumtext{
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1055 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Mediumtext` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:1544:5
[INFO] [stdout]      |
[INFO] [stdout] 1538 | pub struct Year{
[INFO] [stdout]      |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1544 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1545 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Year` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_name` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2180:8
[INFO] [stdout]      |
[INFO] [stdout] 2179 | impl crate::mapping::column_types::Smallint {
[INFO] [stdout]      | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 2180 |     fn with_name(name: String) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2384:5
[INFO] [stdout]      |
[INFO] [stdout] 2378 | pub struct BigintUnsigned{
[INFO] [stdout]      |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2384 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2385 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BigintUnsigned` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2558:5
[INFO] [stdout]      |
[INFO] [stdout] 2552 | pub struct Float{
[INFO] [stdout]      |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2558 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2559 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Float` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2568:8
[INFO] [stdout]      |
[INFO] [stdout] 2563 | impl crate::mapping::column_types::Float {
[INFO] [stdout]      | ---------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2568 |     fn with_value(value: Option<f32>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2633:5
[INFO] [stdout]      |
[INFO] [stdout] 2627 | pub struct Double{
[INFO] [stdout]      |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2633 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2634 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Double` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2643:8
[INFO] [stdout]      |
[INFO] [stdout] 2638 | impl crate::mapping::column_types::Double {
[INFO] [stdout]      | ----------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2643 |     fn with_value(value: Option<f64>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:3234:8
[INFO] [stdout]      |
[INFO] [stdout] 3229 | impl crate::mapping::column_types::Datetime {
[INFO] [stdout]      | ------------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3234 |     fn with_value(value: Option<chrono::DateTime<Local>>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sub_query` is never read
[INFO] [stdout]     --> src/mapping/column_types.rs:3497:5
[INFO] [stdout]      |
[INFO] [stdout] 3491 | pub struct Json{
[INFO] [stdout]      |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 3497 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Json` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:3585:5
[INFO] [stdout]      |
[INFO] [stdout] 3579 | pub struct Blob{
[INFO] [stdout]      |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 3585 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 3586 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Blob` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_name` and `with_value` are never used
[INFO] [stdout]     --> src/mapping/column_types.rs:3591:8
[INFO] [stdout]      |
[INFO] [stdout] 3590 | impl crate::mapping::column_types::Blob {
[INFO] [stdout]      | --------------------------------------- associated functions in this implementation
[INFO] [stdout] 3591 |     fn with_name(name: String) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3595 |     fn with_value(value: Option<Vec<u8>>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_primitive_type` is never read
[INFO] [stdout]   --> src/codegen/entity.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct StructFieldType {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 16 |     qualified_name: String,
[INFO] [stdout] 17 |     is_primitive_type: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nullable`, `is_primary_key`, and `enum_type_name` are never read
[INFO] [stdout]   --> src/codegen/utils.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TableFullFieldRow {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) nullable:bool,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) is_primary_key:bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     // enum/set 列的枚举命名来源：M...
[INFO] [stdout] 50 |     pub(crate) enum_type_name: String,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableFullFieldRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_simple_name` is never used
[INFO] [stdout]    --> src/codegen/utils.rs:430:15
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub(crate) fn get_simple_name(qualified_name: &str) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `applyCondition` should have a snake case name
[INFO] [stdout]    --> src/query/builder.rs:251:12
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn applyCondition(&mut self, condition: Condition) -> TableJoin {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_condition`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `asVachar` should have a snake case name
[INFO] [stdout]     --> src/query/builder.rs:1762:12
[INFO] [stdout]      |
[INFO] [stdout] 1762 |     pub fn asVachar(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |            ^^^^^^^^ help: convert the identifier to snake case: `as_vachar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queryString` should have a snake case name
[INFO] [stdout]     --> src/query/builder.rs:2713:17
[INFO] [stdout]      |
[INFO] [stdout] 2713 |         let mut queryString = "".to_string();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `query_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `typeName` should have a snake case name
[INFO] [stdout]    --> src/mapping/description.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let typeName = stringUtils::begin_with_upper_case(&stringUtils::to_camel_case(&mysql_col_type.replace(" ", "_")));
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `type_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `asFields` should have a snake case name
[INFO] [stdout]    --> src/mapping/description.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn asFields(&self) -> Vec<SelectField>;
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `as_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_name`
[INFO] [stdout]   --> src/codegen/entity.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...&impl TableIntrospector, db_name:&str, config:EntityGenerateConfig) {/*entity_out_dir:&str, boolean_columns: &HashMap<String, Has...
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/codegen/entity.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 |     for (pattern, enum_trait) in trait_for_enum_types{
[INFO] [stdout]     |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nullable`
[INFO] [stdout]    --> src/codegen/entity.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let nullable = it.nullable;
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nullable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_primary_key`
[INFO] [stdout]    --> src/codegen/entity.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 let is_primary_key = it.is_primary_key;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_primary_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `containerType` should have a snake case name
[INFO] [stdout]    --> src/codegen/entity.rs:319:43
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn resolve_qualified_type_name(&self, containerType:Option<RustDataType>, enumName:Option<&str>) -> String {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^ help: convert the identifier to snake case: `container_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumName` should have a snake case name
[INFO] [stdout]    --> src/codegen/entity.rs:319:79
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn resolve_qualified_type_name(&self, containerType:Option<RustDataType>, enumName:Option<&str>) -> String {
[INFO] [stdout]     |                                                                               ^^^^^^^^ help: convert the identifier to snake case: `enum_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:756:5
[INFO] [stdout]     |
[INFO] [stdout] 756 |     writeln!(buf_writer,"    pub fn values() -> Vec<{}> {{",enum_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 756 |     let _ = writeln!(buf_writer,"    pub fn values() -> Vec<{}> {{",enum_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |     write!(buf_writer,"        vec![");
[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] 757 |     let _ = write!(buf_writer,"        vec![");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 |         write!(buf_writer,"{}::{},",enum_name,item);
[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] 759 |         let _ = write!(buf_writer,"{}::{},",enum_name,item);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:761:5
[INFO] [stdout]     |
[INFO] [stdout] 761 |     write!(buf_writer,"]\n");
[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] 761 |     let _ = write!(buf_writer,"]\n");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     writeln!(buf_writer,"    }}");
[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] 762 |     let _ = writeln!(buf_writer,"    }}");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:763:5
[INFO] [stdout]     |
[INFO] [stdout] 763 |     writeln!(buf_writer,"}}");
[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] 763 |     let _ = writeln!(buf_writer,"}}");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `columnConstructInfo` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 | ...   let columnConstructInfo:TableFieldConstructInfo = get_construct_info_from_column_definition(&table.name,mysql_cloumn_definiti...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `column_construct_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumType` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 |                     let mut enumType = format!("{}",&short_enum_name);
[INFO] [stdout]     |                             ^^^^^^^^ help: convert the identifier to snake case: `enum_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumType` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |                     let mut enumType = format!("{}",&short_enum_name);
[INFO] [stdout]     |                             ^^^^^^^^ help: convert the identifier to snake case: `enum_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     async fn get_tables(&self) -> Result<Vec<TableRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 324 -     async fn get_tables(&self) -> Result<Vec<TableRow>, sqlx::Error>;
[INFO] [stdout] 324 +     fn get_tables(&self) -> impl std::future::Future<Output = Result<Vec<TableRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     async fn get_table_fields(&self, table_name: &str) -> Result<Vec<TableFieldRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 325 -     async fn get_table_fields(&self, table_name: &str) -> Result<Vec<TableFieldRow>, sqlx::Error>;
[INFO] [stdout] 325 +     fn get_table_fields(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableFieldRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 326 |     async fn get_table_full_fields(&self, table_name: &str) -> Result<Vec<TableFullFieldRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 326 -     async fn get_table_full_fields(&self, table_name: &str) -> Result<Vec<TableFullFieldRow>, sqlx::Error>;
[INFO] [stdout] 326 +     fn get_table_full_fields(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableFullFieldRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     async fn get_table_indexes(&self, table_name: &str) -> Result<Vec<TableIndexRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 327 -     async fn get_table_indexes(&self, table_name: &str) -> Result<Vec<TableIndexRow>, sqlx::Error>;
[INFO] [stdout] 327 +     fn get_table_indexes(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableIndexRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `stringUtils` should have a snake case name
[INFO] [stdout]  --> src/utils/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) mod stringUtils;
[INFO] [stdout]   |                ^^^^^^^^^^^ help: convert the identifier to snake case: `string_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/configuration/processor.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     PROCESSORS.set(config);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let _unused = PROCESSORS.set(config);
[INFO] [stdout]    |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prop`
[INFO] [stdout]    --> src/codegen/entity.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |                         let prop = mysql_data_type_prop.clone();
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unsupported_char_in_enum_key`
[INFO] [stdout]    --> src/codegen/entity.rs:618:45
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn get_qualified_enum_key(enum_value: &str, unsupported_char_in_enum_key: &HashSet<&str>) -> String {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unsupported_char_in_enum_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trt`
[INFO] [stdout]    --> src/codegen/entity.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         for (trt,import_str) in traits_to_be_implemented.clone(){
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_trt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/codegen/entity.rs:709:10
[INFO] [stdout]     |
[INFO] [stdout] 709 |     for (index, item) in enum_items.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `import_str`
[INFO] [stdout]    --> src/codegen/entity.rs:750:18
[INFO] [stdout]     |
[INFO] [stdout] 750 |         for (trt,import_str) in traits_to_be_implemented {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_import_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/codegen/entity.rs:758:10
[INFO] [stdout]     |
[INFO] [stdout] 758 |     for (index, item) in enum_items.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_name`
[INFO] [stdout]   --> src/codegen/mapping.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 | ...&impl TableIntrospector, db_name:&str, config: MappingGenerateConfig) { ///*mappings_out_dir:&str, name_of_crate_holds_enums: Str...
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `column_type_name` is never read
[INFO] [stdout]    --> src/codegen/mapping.rs:330:32
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut column_type_name = "".to_string();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 331 |     if !col_definition.contains("("){
[INFO] [stdout] 332 |         column_type_name = stringUtils::begin_with_upper_case(&stringUtils::to_camel_case(&col_definition.replace(" ", "_")));
[INFO] [stdout]     |         ---------------- `column_type_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TargetTable` is more private than the item `TableJoin::new`
[INFO] [stdout]    --> src/query/builder.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn new(target_table: TargetTable, join_type:JoinType, condition:Option<Condition>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TableJoin::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TargetTable` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/query/builder.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub(crate) struct TargetTable{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TargetTable` is more private than the item `builder::QueryBuilder::target_table`
[INFO] [stdout]    --> src/query/builder.rs:998:5
[INFO] [stdout]     |
[INFO] [stdout] 998 |     pub target_table: Option<TargetTable>,//Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `builder::QueryBuilder::target_table` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TargetTable` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/query/builder.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub(crate) struct TargetTable{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `count_all` is never read
[INFO] [stdout]    --> src/query/builder.rs:997:5
[INFO] [stdout]     |
[INFO] [stdout] 993 | pub struct QueryBuilder {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 997 |     count_all:Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryBuilder` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target` and `sub_query` are never read
[INFO] [stdout]    --> src/mapping/column_types.rs:677:5
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub struct Char{
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 677 |     target:Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 678 |     value: Option<String>,
[INFO] [stdout] 679 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Char` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target` and `sub_query` are never read
[INFO] [stdout]    --> src/mapping/column_types.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 830 | pub struct Tinytext{
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 834 |     target:Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 835 |     value: Option<String>,
[INFO] [stdout] 836 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tinytext` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sub_query` is never read
[INFO] [stdout]     --> src/mapping/column_types.rs:1055:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | pub struct Mediumtext{
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1055 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Mediumtext` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:1544:5
[INFO] [stdout]      |
[INFO] [stdout] 1538 | pub struct Year{
[INFO] [stdout]      |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1544 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1545 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Year` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_name` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2180:8
[INFO] [stdout]      |
[INFO] [stdout] 2179 | impl crate::mapping::column_types::Smallint {
[INFO] [stdout]      | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 2180 |     fn with_name(name: String) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2384:5
[INFO] [stdout]      |
[INFO] [stdout] 2378 | pub struct BigintUnsigned{
[INFO] [stdout]      |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2384 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2385 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BigintUnsigned` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2558:5
[INFO] [stdout]      |
[INFO] [stdout] 2552 | pub struct Float{
[INFO] [stdout]      |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2558 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2559 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Float` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2568:8
[INFO] [stdout]      |
[INFO] [stdout] 2563 | impl crate::mapping::column_types::Float {
[INFO] [stdout]      | ---------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2568 |     fn with_value(value: Option<f32>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:2633:5
[INFO] [stdout]      |
[INFO] [stdout] 2627 | pub struct Double{
[INFO] [stdout]      |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2633 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2634 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Double` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:2643:8
[INFO] [stdout]      |
[INFO] [stdout] 2638 | impl crate::mapping::column_types::Double {
[INFO] [stdout]      | ----------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2643 |     fn with_value(value: Option<f64>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_value` is never used
[INFO] [stdout]     --> src/mapping/column_types.rs:3234:8
[INFO] [stdout]      |
[INFO] [stdout] 3229 | impl crate::mapping::column_types::Datetime {
[INFO] [stdout]      | ------------------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3234 |     fn with_value(value: Option<chrono::DateTime<Local>>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sub_query` is never read
[INFO] [stdout]     --> src/mapping/column_types.rs:3497:5
[INFO] [stdout]      |
[INFO] [stdout] 3491 | pub struct Json{
[INFO] [stdout]      |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 3497 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Json` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sub_query` and `holding` are never read
[INFO] [stdout]     --> src/mapping/column_types.rs:3585:5
[INFO] [stdout]      |
[INFO] [stdout] 3579 | pub struct Blob{
[INFO] [stdout]      |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 3585 |     sub_query: Option<QueryBuilder>,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 3586 |     holding: Holding,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Blob` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_name` and `with_value` are never used
[INFO] [stdout]     --> src/mapping/column_types.rs:3591:8
[INFO] [stdout]      |
[INFO] [stdout] 3590 | impl crate::mapping::column_types::Blob {
[INFO] [stdout]      | --------------------------------------- associated functions in this implementation
[INFO] [stdout] 3591 |     fn with_name(name: String) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3595 |     fn with_value(value: Option<Vec<u8>>) -> Self {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_primitive_type` is never read
[INFO] [stdout]   --> src/codegen/entity.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct StructFieldType {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 16 |     qualified_name: String,
[INFO] [stdout] 17 |     is_primitive_type: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nullable`, `is_primary_key`, and `enum_type_name` are never read
[INFO] [stdout]   --> src/codegen/utils.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TableFullFieldRow {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) nullable:bool,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 48 |     pub(crate) is_primary_key:bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     // enum/set 列的枚举命名来源：M...
[INFO] [stdout] 50 |     pub(crate) enum_type_name: String,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableFullFieldRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_simple_name` is never used
[INFO] [stdout]    --> src/codegen/utils.rs:430:15
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub(crate) fn get_simple_name(qualified_name: &str) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `applyCondition` should have a snake case name
[INFO] [stdout]    --> src/query/builder.rs:251:12
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn applyCondition(&mut self, condition: Condition) -> TableJoin {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_condition`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `asVachar` should have a snake case name
[INFO] [stdout]     --> src/query/builder.rs:1762:12
[INFO] [stdout]      |
[INFO] [stdout] 1762 |     pub fn asVachar(mut self, name: &str) -> Varchar {
[INFO] [stdout]      |            ^^^^^^^^ help: convert the identifier to snake case: `as_vachar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queryString` should have a snake case name
[INFO] [stdout]     --> src/query/builder.rs:2713:17
[INFO] [stdout]      |
[INFO] [stdout] 2713 |         let mut queryString = "".to_string();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `query_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `typeName` should have a snake case name
[INFO] [stdout]    --> src/mapping/description.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let typeName = stringUtils::begin_with_upper_case(&stringUtils::to_camel_case(&mysql_col_type.replace(" ", "_")));
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `type_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `asFields` should have a snake case name
[INFO] [stdout]    --> src/mapping/description.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn asFields(&self) -> Vec<SelectField>;
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `as_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `containerType` should have a snake case name
[INFO] [stdout]    --> src/codegen/entity.rs:319:43
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn resolve_qualified_type_name(&self, containerType:Option<RustDataType>, enumName:Option<&str>) -> String {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^ help: convert the identifier to snake case: `container_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumName` should have a snake case name
[INFO] [stdout]    --> src/codegen/entity.rs:319:79
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn resolve_qualified_type_name(&self, containerType:Option<RustDataType>, enumName:Option<&str>) -> String {
[INFO] [stdout]     |                                                                               ^^^^^^^^ help: convert the identifier to snake case: `enum_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:756:5
[INFO] [stdout]     |
[INFO] [stdout] 756 |     writeln!(buf_writer,"    pub fn values() -> Vec<{}> {{",enum_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 756 |     let _ = writeln!(buf_writer,"    pub fn values() -> Vec<{}> {{",enum_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |     write!(buf_writer,"        vec![");
[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] 757 |     let _ = write!(buf_writer,"        vec![");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 |         write!(buf_writer,"{}::{},",enum_name,item);
[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] 759 |         let _ = write!(buf_writer,"{}::{},",enum_name,item);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:761:5
[INFO] [stdout]     |
[INFO] [stdout] 761 |     write!(buf_writer,"]\n");
[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] 761 |     let _ = write!(buf_writer,"]\n");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     writeln!(buf_writer,"    }}");
[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] 762 |     let _ = writeln!(buf_writer,"    }}");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/codegen/entity.rs:763:5
[INFO] [stdout]     |
[INFO] [stdout] 763 |     writeln!(buf_writer,"}}");
[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] 763 |     let _ = writeln!(buf_writer,"}}");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `columnConstructInfo` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 | ...   let columnConstructInfo:TableFieldConstructInfo = get_construct_info_from_column_definition(&table.name,mysql_cloumn_definiti...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `column_construct_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumType` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 |                     let mut enumType = format!("{}",&short_enum_name);
[INFO] [stdout]     |                             ^^^^^^^^ help: convert the identifier to snake case: `enum_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `enumType` should have a snake case name
[INFO] [stdout]    --> src/codegen/mapping.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |                     let mut enumType = format!("{}",&short_enum_name);
[INFO] [stdout]     |                             ^^^^^^^^ help: convert the identifier to snake case: `enum_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     async fn get_tables(&self) -> Result<Vec<TableRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 324 -     async fn get_tables(&self) -> Result<Vec<TableRow>, sqlx::Error>;
[INFO] [stdout] 324 +     fn get_tables(&self) -> impl std::future::Future<Output = Result<Vec<TableRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     async fn get_table_fields(&self, table_name: &str) -> Result<Vec<TableFieldRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 325 -     async fn get_table_fields(&self, table_name: &str) -> Result<Vec<TableFieldRow>, sqlx::Error>;
[INFO] [stdout] 325 +     fn get_table_fields(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableFieldRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 326 |     async fn get_table_full_fields(&self, table_name: &str) -> Result<Vec<TableFullFieldRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 326 -     async fn get_table_full_fields(&self, table_name: &str) -> Result<Vec<TableFullFieldRow>, sqlx::Error>;
[INFO] [stdout] 326 +     fn get_table_full_fields(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableFullFieldRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/codegen/utils.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     async fn get_table_indexes(&self, table_name: &str) -> Result<Vec<TableIndexRow>, sqlx::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 327 -     async fn get_table_indexes(&self, table_name: &str) -> Result<Vec<TableIndexRow>, sqlx::Error>;
[INFO] [stdout] 327 +     fn get_table_indexes(&self, table_name: &str) -> impl std::future::Future<Output = Result<Vec<TableIndexRow>, sqlx::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `stringUtils` should have a snake case name
[INFO] [stdout]  --> src/utils/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) mod stringUtils;
[INFO] [stdout]   |                ^^^^^^^^^^^ help: convert the identifier to snake case: `string_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/configuration/processor.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     PROCESSORS.set(config);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let _unused = PROCESSORS.set(config);
[INFO] [stdout]    |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.55s
[INFO] running `Command { std: "docker" "inspect" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d", kill_on_drop: false }`
[INFO] [stdout] b64e28fabbbebb0e991d2bf136b39f05e05d06f556ea2938d819731a4eeeb85d
