[INFO] cloning repository https://github.com/danggui2008/jq2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/danggui2008/jq2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanggui2008%2Fjq2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanggui2008%2Fjq2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1111887a47066efc71581cee4e684df2730deef1
[INFO] testing danggui2008/jq2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanggui2008%2Fjq2" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/danggui2008/jq2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/danggui2008/jq2
[INFO] finished tweaking git repo https://github.com/danggui2008/jq2
[INFO] tweaked toml for git repo https://github.com/danggui2008/jq2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/danggui2008/jq2 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fast_pool v0.2.0
[INFO] [stderr]   Downloaded dark-std v0.2.10
[INFO] [stderr]   Downloaded rbdc-pool-fast v4.5.8
[INFO] [stderr]   Downloaded rbatis-macro-driver v4.5.3
[INFO] [stderr]   Downloaded rbatis v4.5.13
[INFO] [stderr]   Downloaded fast_log v1.6.12
[INFO] [stderr]   Downloaded rbatis-codegen v4.5.8
[INFO] [stderr]   Downloaded fastdate v0.3.28
[INFO] [stderr]   Downloaded rbdc v4.5.26
[INFO] [stderr]   Downloaded rbdc-mysql v4.5.5
[INFO] [stderr]   Downloaded rbs v4.5.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 681b3596ead026374b3e27e5309dcdf7ebe489fbdcfa1af39cab7f305190392a
[INFO] running `Command { std: "docker" "start" "-a" "681b3596ead026374b3e27e5309dcdf7ebe489fbdcfa1af39cab7f305190392a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "681b3596ead026374b3e27e5309dcdf7ebe489fbdcfa1af39cab7f305190392a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "681b3596ead026374b3e27e5309dcdf7ebe489fbdcfa1af39cab7f305190392a", kill_on_drop: false }`
[INFO] [stdout] 681b3596ead026374b3e27e5309dcdf7ebe489fbdcfa1af39cab7f305190392a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f956268e23a179089da98c2dd87f4fdcc57c36e0c2861f7f0ce7afe3cb46ab55
[INFO] running `Command { std: "docker" "start" "-a" "f956268e23a179089da98c2dd87f4fdcc57c36e0c2861f7f0ce7afe3cb46ab55", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling zeroize v1.7.0
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling allocator-api2 v0.2.16
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling rustls-pki-types v1.2.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling time-macros v0.2.17
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling pkg-config v0.3.29
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling rustls v0.22.2
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling http v0.2.11
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]    Compiling bigdecimal v0.4.2
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling der v0.7.8
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling zstd-safe v7.0.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling indexmap v2.2.3
[INFO] [stderr]    Compiling lru v0.12.2
[INFO] [stderr]    Compiling uuid v1.7.0
[INFO] [stderr]    Compiling rustls-pemfile v2.0.0
[INFO] [stderr]    Compiling webpki-roots v0.26.1
[INFO] [stderr]    Compiling ring v0.17.7
[INFO] [stderr]    Compiling zstd-sys v2.0.9+zstd.1.5.5
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]    Compiling brotli-decompressor v2.5.1
[INFO] [stderr]    Compiling actix-service v2.0.2
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-iter v0.1.44
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling crossbeam-channel v0.5.11
[INFO] [stderr]    Compiling encoding_rs v0.8.33
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling regex-automata v0.4.5
[INFO] [stderr]    Compiling brotli v3.4.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rust-format v0.3.4
[INFO] [stderr]    Compiling sha-1 v0.10.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling generic-array v1.0.0
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling rsa v0.9.6
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]    Compiling tokio v1.36.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling pest v2.7.7
[INFO] [stderr]    Compiling pest_meta v2.7.7
[INFO] [stderr]    Compiling pest_generator v2.7.7
[INFO] [stderr]    Compiling rustls-webpki v0.102.2
[INFO] [stderr]    Compiling zstd v0.13.0
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling pest_derive v2.7.7
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling actix-rt v2.9.0
[INFO] [stderr]    Compiling fast_pool v0.2.0
[INFO] [stderr]    Compiling actix-server v2.3.0
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling rbs v4.5.3
[INFO] [stderr]    Compiling serde_bytes v0.11.14
[INFO] [stderr]    Compiling dark-std v0.2.10
[INFO] [stderr]    Compiling actix-router v0.5.2
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.24
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-rustls v0.25.0
[INFO] [stderr]    Compiling serde_yaml v0.9.31
[INFO] [stderr]    Compiling chrono v0.4.34
[INFO] [stderr]    Compiling html_parser v0.6.3
[INFO] [stderr]    Compiling time v0.3.34
[INFO] [stderr]    Compiling actix-web-codegen v4.2.2
[INFO] [stderr]    Compiling rbatis-codegen v4.5.8
[INFO] [stderr]    Compiling fastdate v0.3.28
[INFO] [stderr]    Compiling rbdc v4.5.26
[INFO] [stderr]    Compiling fast_log v1.6.12
[INFO] [stderr]    Compiling rbatis-macro-driver v4.5.3
[INFO] [stderr]    Compiling rbdc-pool-fast v4.5.8
[INFO] [stderr]    Compiling rbdc-mysql v4.5.5
[INFO] [stderr]    Compiling actix-http v3.6.0
[INFO] [stderr]    Compiling rbatis v4.5.13
[INFO] [stderr]    Compiling actix-web v4.5.1
[INFO] [stderr]    Compiling jq2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [Activity], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < Activity > ,
[INFO] [stdout] rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [UserToken], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_token(executor : & dyn rbatis :: executor :: Executor, table_column :
[INFO] [stdout] & str, table_name : & str, token : & str,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("token".to_string().into(), rbs :: to_value(token) ?);
[INFO] [stdout]     {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1076usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["token"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where token = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < User > , rbatis
[INFO] [stdout] :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [User], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc :: db
[INFO] [stdout] :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str,) -> std ::
[INFO] [stdout] result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1086usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name_password(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str, password :
[INFO] [stdout] & str,) -> std :: result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?);
[INFO] [stdout]     rb_arg_map.insert("password".to_string().into(), rbs :: to_value(password)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1117usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["password"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? and password_md5 = ? limit 1",
[INFO] [stdout]         & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] list_page(executor : & dyn rbatis :: executor :: Executor, do_count : bool,
[INFO] [stdout] table_column : & str, table_name : & str, page_no : u64, page_size : u64,
[INFO] [stdout] page_offset : u64, limit_sql : & str,) -> std :: result :: Result < rbs ::
[INFO] [stdout] Value, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(7usize);
[INFO] [stdout]     rb_arg_map.insert("do_count".to_string().into(), rbs :: to_value(do_count)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("page_no".to_string().into(), rbs :: to_value(page_no)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("page_size".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_size) ?);
[INFO] [stdout]     rb_arg_map.insert("page_offset".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_offset) ?);
[INFO] [stdout]     rb_arg_map.insert("limit_sql".to_string().into(), rbs ::
[INFO] [stdout]     to_value(limit_sql) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1104usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str("select "); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["table_column"] }.string()));
[INFO] [stdout]         } if { (& arg ["do_count"]).op_eq(& true) }.to_owned().into()
[INFO] [stdout]         { sql.push_str("count(1) as count"); }
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" from {}  order by create_time", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["limit_sql"] }.string()));
[INFO] [stdout]         } return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_locked_inner(rb : & dyn Executor, ids : & [i64], locked_flae : i8,) ->
[INFO] [stdout] std :: result :: Result < ExecResult, Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("ids".to_string().into(), rbs :: to_value(ids) ?);
[INFO] [stdout]     rb_arg_map.insert("locked_flae".to_string().into(), rbs ::
[INFO] [stdout]     to_value(locked_flae) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen;
[INFO] [stdout]     pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1098usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["locked_flae"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str("update user set locked_flag = ?  where is_deleted =0");
[INFO] [stdout]         if { ! & arg ["ids"].is_empty() }.to_owned().into() {}
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" and user_id in{}", & { & arg ["ids"].sql() }.string())); return
[INFO] [stdout]         (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; rb.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] warning: unused import: `web::Payload`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:137
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...ansform}, error::ErrorInternalServerError, http::StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResponseError`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:184
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...:StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_page` is never used
[INFO] [stdout]   --> src/service/user_service.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl UserService {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> Result<Page<User>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_page` is never used
[INFO] [stdout]   --> src/dao/user_dao.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl UserDao {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> result::Result<Page<User>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `success_with_message` is never used
[INFO] [stdout]   --> src/response/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Serialize> Response<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn success_with_message(message: &str, data: T) -> result::Response {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAIL_MESSAGE` is never used
[INFO] [stdout]  --> src/common/constant.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const FAIL_MESSAGE: &str = "FAIL";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_NO` is never used
[INFO] [stdout]  --> src/common/constant.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const PAGE_NO: u64 = 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_SIZE` is never used
[INFO] [stdout]  --> src/common/constant.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const PAGE_SIZE: u64 = 10;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOT_LOCK` is never used
[INFO] [stdout]  --> src/common/constant.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const NOT_LOCK: i8 = 0;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_NOT_EXIST` is never used
[INFO] [stdout]   --> src/common/constant.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const DATA_NOT_EXIST: &str = "未查询到记录！";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.84s
[INFO] running `Command { std: "docker" "inspect" "f956268e23a179089da98c2dd87f4fdcc57c36e0c2861f7f0ce7afe3cb46ab55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f956268e23a179089da98c2dd87f4fdcc57c36e0c2861f7f0ce7afe3cb46ab55", kill_on_drop: false }`
[INFO] [stdout] f956268e23a179089da98c2dd87f4fdcc57c36e0c2861f7f0ce7afe3cb46ab55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5162f5011f723b90468e784272a1caaa3ff11a80e14ec9e734249b9366a8991
[INFO] running `Command { std: "docker" "start" "-a" "d5162f5011f723b90468e784272a1caaa3ff11a80e14ec9e734249b9366a8991", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.36.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling async-stream v0.3.5
[INFO] [stderr]    Compiling tokio-rustls v0.25.0
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling actix-rt v2.9.0
[INFO] [stderr]    Compiling fast_pool v0.2.0
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling rbdc v4.5.26
[INFO] [stderr]    Compiling actix-server v2.3.0
[INFO] [stderr]    Compiling h2 v0.3.24
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling tokio-test v0.4.3
[INFO] [stderr]    Compiling rbdc-pool-fast v4.5.8
[INFO] [stderr]    Compiling rbdc-mysql v4.5.5
[INFO] [stderr]    Compiling rbatis v4.5.13
[INFO] [stderr]    Compiling actix-http v3.6.0
[INFO] [stderr]    Compiling actix-web v4.5.1
[INFO] [stderr]    Compiling jq2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [Activity], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < Activity > ,
[INFO] [stdout] rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [UserToken], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_token(executor : & dyn rbatis :: executor :: Executor, table_column :
[INFO] [stdout] & str, table_name : & str, token : & str,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("token".to_string().into(), rbs :: to_value(token) ?);
[INFO] [stdout]     {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1076usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["token"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where token = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < User > , rbatis
[INFO] [stdout] :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [Activity], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < Activity > ,
[INFO] [stdout] rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [User], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc :: db
[INFO] [stdout] :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < Activity > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [UserToken], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc
[INFO] [stdout] :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str,) -> std ::
[INFO] [stdout] result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1086usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name_password(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str, password :
[INFO] [stdout] & str,) -> std :: result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?);
[INFO] [stdout]     rb_arg_map.insert("password".to_string().into(), rbs :: to_value(password)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1117usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["password"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? and password_md5 = ? limit 1",
[INFO] [stdout]         & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] list_page(executor : & dyn rbatis :: executor :: Executor, do_count : bool,
[INFO] [stdout] table_column : & str, table_name : & str, page_no : u64, page_size : u64,
[INFO] [stdout] page_offset : u64, limit_sql : & str,) -> std :: result :: Result < rbs ::
[INFO] [stdout] Value, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(7usize);
[INFO] [stdout]     rb_arg_map.insert("do_count".to_string().into(), rbs :: to_value(do_count)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("page_no".to_string().into(), rbs :: to_value(page_no)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("page_size".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_size) ?);
[INFO] [stdout]     rb_arg_map.insert("page_offset".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_offset) ?);
[INFO] [stdout]     rb_arg_map.insert("limit_sql".to_string().into(), rbs ::
[INFO] [stdout]     to_value(limit_sql) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1104usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str("select "); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["table_column"] }.string()));
[INFO] [stdout]         } if { (& arg ["do_count"]).op_eq(& true) }.to_owned().into()
[INFO] [stdout]         { sql.push_str("count(1) as count"); }
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" from {}  order by create_time", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["limit_sql"] }.string()));
[INFO] [stdout]         } return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_token(executor : & dyn rbatis :: executor :: Executor, table_column :
[INFO] [stdout] & str, table_name : & str, token : & str,) -> std :: result :: Result < Vec <
[INFO] [stdout] UserToken > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("token".to_string().into(), rbs :: to_value(token) ?);
[INFO] [stdout]     {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1076usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["token"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where token = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_locked_inner(rb : & dyn Executor, ids : & [i64], locked_flae : i8,) ->
[INFO] [stdout] std :: result :: Result < ExecResult, Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("ids".to_string().into(), rbs :: to_value(ids) ?);
[INFO] [stdout]     rb_arg_map.insert("locked_flae".to_string().into(), rbs ::
[INFO] [stdout]     to_value(locked_flae) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen;
[INFO] [stdout]     pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1098usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["locked_flae"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str("update user set locked_flag = ?  where is_deleted =0");
[INFO] [stdout]         if { ! & arg ["ids"].is_empty() }.to_owned().into() {}
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" and user_id in{}", & { & arg ["ids"].sql() }.string())); return
[INFO] [stdout]         (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; rb.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] warning: unused import: `web::Payload`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:137
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...ansform}, error::ErrorInternalServerError, http::StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] select_all(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str,) -> std :: result :: Result < Vec < User > , rbatis
[INFO] [stdout] :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1044usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} ", & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_by_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_value : V,) -> std :: result ::
[INFO] [stdout] Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_value".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_value) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["column_value"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} = ?", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn select_in_column < V : serde :: Serialize, >
[INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_column : & str,
[INFO] [stdout] table_name : & str, column : & str, column_values : & [V],) -> std :: result
[INFO] [stdout] :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("column".to_string().into(), rbs :: to_value(column) ?);
[INFO] [stdout]     rb_arg_map.insert("column_values".to_string().into(), rbs ::
[INFO] [stdout]     to_value(column_values) ?); {} use rbatis :: executor :: { RBatisRef };
[INFO] [stdout]     let driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {}  where {} in (", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string(), & { & arg ["column"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(10usize); for (_, item) in
[INFO] [stdout]             { & arg ["column_values"] }
[INFO] [stdout]             {
[INFO] [stdout]                 args.push(rbs :: to_value({ item }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str("?,");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); sql.push_str(")"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] insert_batch(executor : & dyn rbatis :: executor :: Executor, tables : &
[INFO] [stdout] [User], table_name : & str,) -> std :: result :: Result < rbatis :: rbdc :: db
[INFO] [stdout] :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("tables".to_string().into(), rbs :: to_value(tables) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1065usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("insert into {} ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(35usize); for (idx, table)
[INFO] [stdout]             in { & arg ["tables"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if { (idx).op_eq(& 0i64) }.to_owned().into()
[INFO] [stdout]                 {
[INFO] [stdout]                     sql.push_str("(");
[INFO] [stdout]                     sql.push_str(&
[INFO] [stdout]                     {
[INFO] [stdout]                         let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                         { table }
[INFO] [stdout]                         {
[INFO] [stdout]                             if
[INFO] [stdout]                             {
[INFO] [stdout]                                 bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                                 op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                             }.to_owned().into() { continue }
[INFO] [stdout]                             sql.push_str(& format! ("{},", & { k }.string()));
[INFO] [stdout]                         } sql =
[INFO] [stdout]                         sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                         sql
[INFO] [stdout]                     }); sql.push_str(") VALUES ");
[INFO] [stdout]                 } sql.push_str("(");
[INFO] [stdout]                 sql.push_str(&
[INFO] [stdout]                 {
[INFO] [stdout]                     let mut sql = String :: with_capacity(7usize); for (k, v) in
[INFO] [stdout]                     { table }
[INFO] [stdout]                     {
[INFO] [stdout]                         if
[INFO] [stdout]                         {
[INFO] [stdout]                             bool :: op_from((k).op_eq(& "id")) && bool ::
[INFO] [stdout]                             op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                         }.to_owned().into() { continue }
[INFO] [stdout]                         args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                         sql.push_str("?,");
[INFO] [stdout]                     } sql =
[INFO] [stdout]                     sql.trim_start_matches(",").trim_end_matches(",").to_string();
[INFO] [stdout]                     sql
[INFO] [stdout]                 }); sql.push_str("),");
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         }); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] delete_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, user_id : i64,) -> std :: result :: Result < rbatis :: rbdc :: db ::
[INFO] [stdout] ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1056usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("delete from {} where user_id = ?", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] warning: unused import: `ResponseError`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:184
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...:StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_by_id(executor : & dyn rbatis :: executor :: Executor, table_name :
[INFO] [stdout] String, table : & rbs :: Value, user_id : i64,) -> std :: result :: Result <
[INFO] [stdout] rbatis :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("table".to_string().into(), rbs :: to_value(table) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1070usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("update {} set ", & { & arg ["table_name"] }.string()));
[INFO] [stdout]         sql.push_str(&
[INFO] [stdout]         {
[INFO] [stdout]             let mut sql = String :: with_capacity(12usize); for (k, v) in
[INFO] [stdout]             { & arg ["table"] }
[INFO] [stdout]             {
[INFO] [stdout]                 if
[INFO] [stdout]                 {
[INFO] [stdout]                     bool :: op_from((k).op_eq(& & arg ["column"])) || bool ::
[INFO] [stdout]                     op_from((v).op_eq(& rbs :: Value :: Null))
[INFO] [stdout]                 }.to_owned().into() { continue }
[INFO] [stdout]                 args.push(rbs :: to_value({ v }).unwrap_or_default());
[INFO] [stdout]                 sql.push_str(& format! ("{}=?,", & { k }.string()));
[INFO] [stdout]             } sql =
[INFO] [stdout]             sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql
[INFO] [stdout]         });
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(" where user_id = ?"); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; executor.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_id(executor : & dyn rbatis :: executor :: Executor, table_column : &
[INFO] [stdout] str, table_name : & str, user_id : i64,) -> std :: result :: Result < Vec <
[INFO] [stdout] User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1080usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where user_id = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] warning: method `list_page` is never used
[INFO] [stdout]   --> src/service/user_service.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl UserService {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> Result<Page<User>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_page` is never used
[INFO] [stdout]   --> src/dao/user_dao.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl UserDao {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> result::Result<Page<User>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `success_with_message` is never used
[INFO] [stdout]   --> src/response/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Serialize> Response<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn success_with_message(message: &str, data: T) -> result::Response {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAIL_MESSAGE` is never used
[INFO] [stdout]  --> src/common/constant.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const FAIL_MESSAGE: &str = "FAIL";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_NO` is never used
[INFO] [stdout]  --> src/common/constant.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const PAGE_NO: u64 = 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_SIZE` is never used
[INFO] [stdout]  --> src/common/constant.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const PAGE_SIZE: u64 = 10;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOT_LOCK` is never used
[INFO] [stdout]  --> src/common/constant.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const NOT_LOCK: i8 = 0;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_NOT_EXIST` is never used
[INFO] [stdout]   --> src/common/constant.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const DATA_NOT_EXIST: &str = "未查询到记录！";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str,) -> std ::
[INFO] [stdout] result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(3usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1086usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? limit 1", &
[INFO] [stdout]         { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] find_by_login_name_password(executor : & dyn rbatis :: executor :: Executor,
[INFO] [stdout] table_column : & str, table_name : & str, login_name : & str, password :
[INFO] [stdout] & str,) -> std :: result :: Result < Vec < User > , rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(4usize);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("login_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(login_name) ?);
[INFO] [stdout]     rb_arg_map.insert("password".to_string().into(), rbs :: to_value(password)
[INFO] [stdout]     ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type =
[INFO] [stdout]     executor.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn
[INFO] [stdout]     do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1117usize); let mut args = Vec :: with_capacity(2usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["login_name"] }).unwrap_or_default());
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["password"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         ("select {} from {} where login_name = ? and password_md5 = ? limit 1",
[INFO] [stdout]         & { & arg ["table_column"] }.string(), &
[INFO] [stdout]         { & arg ["table_name"] }.string())); return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] list_page(executor : & dyn rbatis :: executor :: Executor, do_count : bool,
[INFO] [stdout] table_column : & str, table_name : & str, page_no : u64, page_size : u64,
[INFO] [stdout] page_offset : u64, limit_sql : & str,) -> std :: result :: Result < rbs ::
[INFO] [stdout] Value, rbatis :: rbdc :: Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(7usize);
[INFO] [stdout]     rb_arg_map.insert("do_count".to_string().into(), rbs :: to_value(do_count)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("table_column".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_column) ?);
[INFO] [stdout]     rb_arg_map.insert("table_name".to_string().into(), rbs ::
[INFO] [stdout]     to_value(table_name) ?);
[INFO] [stdout]     rb_arg_map.insert("page_no".to_string().into(), rbs :: to_value(page_no)
[INFO] [stdout]     ?);
[INFO] [stdout]     rb_arg_map.insert("page_size".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_size) ?);
[INFO] [stdout]     rb_arg_map.insert("page_offset".to_string().into(), rbs ::
[INFO] [stdout]     to_value(page_offset) ?);
[INFO] [stdout]     rb_arg_map.insert("limit_sql".to_string().into(), rbs ::
[INFO] [stdout]     to_value(limit_sql) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = executor.rb_ref().driver_type() ? ; use rbatis ::
[INFO] [stdout]     rbatis_codegen; pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1104usize); let mut args = Vec :: with_capacity(0usize);
[INFO] [stdout]         sql.push_str("select "); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["table_column"] }.string()));
[INFO] [stdout]         } if { (& arg ["do_count"]).op_eq(& true) }.to_owned().into()
[INFO] [stdout]         { sql.push_str("count(1) as count"); }
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" from {}  order by create_time", &
[INFO] [stdout]         { & arg ["table_name"] }.string())); if
[INFO] [stdout]         { (& arg ["do_count"]).op_eq(& false) }.to_owned().into()
[INFO] [stdout]         {
[INFO] [stdout]             sql.push_str(& format!
[INFO] [stdout]             ("{}", & { & arg ["limit_sql"] }.string()));
[INFO] [stdout]         } return (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; let r = executor.query(& sql, rb_args).await ? ; rbatis
[INFO] [stdout]     :: decode :: decode(r)
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] ............gen macro py_sql :
[INFO] [stdout]  pub async fn
[INFO] [stdout] update_locked_inner(rb : & dyn Executor, ids : & [i64], locked_flae : i8,) ->
[INFO] [stdout] std :: result :: Result < ExecResult, Error >
[INFO] [stdout] {
[INFO] [stdout]     let mut rb_arg_map = rbs :: value :: map :: ValueMap ::
[INFO] [stdout]     with_capacity(2usize);
[INFO] [stdout]     rb_arg_map.insert("ids".to_string().into(), rbs :: to_value(ids) ?);
[INFO] [stdout]     rb_arg_map.insert("locked_flae".to_string().into(), rbs ::
[INFO] [stdout]     to_value(locked_flae) ?); {} use rbatis :: executor :: { RBatisRef }; let
[INFO] [stdout]     driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen;
[INFO] [stdout]     pub fn do_py_sql(arg : & rbs :: Value, _tag : char) ->
[INFO] [stdout]     (String, Vec < rbs :: Value >)
[INFO] [stdout]     {
[INFO] [stdout]         use rbatis_codegen :: ops :: * ; let mut sql = String ::
[INFO] [stdout]         with_capacity(1098usize); let mut args = Vec :: with_capacity(1usize);
[INFO] [stdout]         args.push(rbs ::
[INFO] [stdout]         to_value({ & arg ["locked_flae"] }).unwrap_or_default());
[INFO] [stdout]         sql.push_str("update user set locked_flag = ?  where is_deleted =0");
[INFO] [stdout]         if { ! & arg ["ids"].is_empty() }.to_owned().into() {}
[INFO] [stdout]         sql.push_str(& format!
[INFO] [stdout]         (" and user_id in{}", & { & arg ["ids"].sql() }.string())); return
[INFO] [stdout]         (sql, args);
[INFO] [stdout]     } let (mut sql, rb_args) =
[INFO] [stdout]     do_py_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: executor
[INFO] [stdout]     :: { Executor }; rb.exec(& sql, rb_args).await
[INFO] [stdout] }
[INFO] [stdout] ............gen macro py_sql end............
[INFO] [stdout] warning: unused import: `DB`
[INFO] [stdout]   --> src/config/config.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     use crate::dao::{self, DB};
[INFO] [stdout]    |                            ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web::Payload`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:137
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...ansform}, error::ErrorInternalServerError, http::StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResponseError`
[INFO] [stdout]  --> src/middleware/auth/user_auth.rs:7:184
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...:StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/config/config.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let config = Config::load("config/config.yml").unwrap();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_page` is never used
[INFO] [stdout]   --> src/service/user_service.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl UserService {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> Result<Page<User>> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `success_with_message` is never used
[INFO] [stdout]   --> src/response/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Serialize> Response<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn success_with_message(message: &str, data: T) -> result::Response {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAIL_MESSAGE` is never used
[INFO] [stdout]  --> src/common/constant.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const FAIL_MESSAGE: &str = "FAIL";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_NO` is never used
[INFO] [stdout]  --> src/common/constant.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const PAGE_NO: u64 = 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_SIZE` is never used
[INFO] [stdout]  --> src/common/constant.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const PAGE_SIZE: u64 = 10;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOT_LOCK` is never used
[INFO] [stdout]  --> src/common/constant.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const NOT_LOCK: i8 = 0;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_NOT_EXIST` is never used
[INFO] [stdout]   --> src/common/constant.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const DATA_NOT_EXIST: &str = "未查询到记录！";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.30s
[INFO] running `Command { std: "docker" "inspect" "d5162f5011f723b90468e784272a1caaa3ff11a80e14ec9e734249b9366a8991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5162f5011f723b90468e784272a1caaa3ff11a80e14ec9e734249b9366a8991", kill_on_drop: false }`
[INFO] [stdout] d5162f5011f723b90468e784272a1caaa3ff11a80e14ec9e734249b9366a8991
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 568523d2882cb50dbd0034250fe51b83a08d3d78e192124026662e9fe5692017
[INFO] running `Command { std: "docker" "start" "-a" "568523d2882cb50dbd0034250fe51b83a08d3d78e192124026662e9fe5692017", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `web::Payload`
[INFO] [stderr]  --> src/middleware/auth/user_auth.rs:7:137
[INFO] [stderr]   |
[INFO] [stderr] 7 | ...ansform}, error::ErrorInternalServerError, http::StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ResponseError`
[INFO] [stderr]  --> src/middleware/auth/user_auth.rs:7:184
[INFO] [stderr]   |
[INFO] [stderr] 7 | ...:StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stderr]   |                                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `list_page` is never used
[INFO] [stderr]   --> src/service/user_service.rs:79:18
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl UserService {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> Result<Page<User>> {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `list_page` is never used
[INFO] [stderr]   --> src/dao/user_dao.rs:68:18
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl UserDao {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub async fn list_page(&self, page_no: u64, page_size: u64) -> result::Result<Page<User>> {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `success_with_message` is never used
[INFO] [stderr]   --> src/response/mod.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl<T: Serialize> Response<T> {
[INFO] [stderr]    | ------------------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn success_with_message(message: &str, data: T) -> result::Response {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FAIL_MESSAGE` is never used
[INFO] [stderr]  --> src/common/constant.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub const FAIL_MESSAGE: &str = "FAIL";
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAGE_NO` is never used
[INFO] [stderr]  --> src/common/constant.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const PAGE_NO: u64 = 1;
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAGE_SIZE` is never used
[INFO] [stderr]  --> src/common/constant.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const PAGE_SIZE: u64 = 10;
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NOT_LOCK` is never used
[INFO] [stderr]  --> src/common/constant.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const NOT_LOCK: i8 = 0;
[INFO] [stderr]   |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DATA_NOT_EXIST` is never used
[INFO] [stderr]   --> src/common/constant.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const DATA_NOT_EXIST: &str = "未查询到记录！";
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `jq2` (lib) generated 10 warnings (run `cargo fix --lib -p jq2` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `DB`
[INFO] [stderr]   --> src/config/config.rs:35:28
[INFO] [stderr]    |
[INFO] [stderr] 35 |     use crate::dao::{self, DB};
[INFO] [stderr]    |                            ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `web::Payload`
[INFO] [stderr]  --> src/middleware/auth/user_auth.rs:7:137
[INFO] [stderr]   |
[INFO] [stderr] 7 | ...ansform}, error::ErrorInternalServerError, http::StatusCode, web::Payload, Error, FromRequest, HttpMessage, ResponseError
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> src/config/config.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let config = Config::load("config/config.yml").unwrap();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `jq2` (lib test) generated 11 warnings (8 duplicates) (run `cargo fix --lib -p jq2 --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jq2-48a1ca7706cdfa7e)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test config::config::tests::confog_load ... ok
[INFO] [stdout] test service::user_service::tests::test_user_lock ... FAILED
[INFO] [stdout] test service::user_service::tests::test_modify_user ... FAILED
[INFO] [stdout] test service::user_service::tests::test_list_page ... FAILED
[INFO] [stdout] test service::user_service::tests::test_login ... FAILED
[INFO] [stdout] test service::user_service::tests::test_register ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- service::user_service::tests::test_user_lock stdout ----
[INFO] [stdout] thread 'service::user_service::tests::test_user_lock' panicked at src/service/user_service.rs:159:71:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: code:500,msg:Connection refused (os error 111)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558106782be5 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x558106782be5 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558106782be5 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x558106782be5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5581067ada3b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5581067ada3b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55810677f93f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5581067829be - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5581067829be - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5581067843e9 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5581067840ae - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55810635dbca - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55810635dbca - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5581067849eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5581067849eb - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x558106784764 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5581067830a9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x558106784497 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55810618b0b3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55810618b646 - core::result::unwrap_failed::h382691b96ca8c13a
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1654:5
[INFO] [stdout]   20:     0x5581061c805b - core::result::Result<T,E>::unwrap::he85623d74af4b6d8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5581061c805b - jq2::service::user_service::tests::test_user_lock::hd1e370641d26819f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:159:22
[INFO] [stdout]   22:     0x5581061c7f17 - jq2::service::user_service::tests::test_user_lock::{{closure}}::h38c6ee2f8ecc3722
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:155:24
[INFO] [stdout]   23:     0x5581061a7f26 - core::ops::function::FnOnce::call_once::h076a98ed046a586f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5581063625ab - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5581063625ab - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x558106361cb1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x558106361cb1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x558106361cb1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x558106361cb1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x558106361cb1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x558106361cb1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x558106361cb1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x55810632a674 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x55810632a674 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x55810632f0a2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55810632f0a2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x55810632f0a2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x55810632f0a2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x55810632f0a2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x55810678917b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f8787f2bac3 - <unknown>
[INFO] [stdout]   46:     0x7f8787fbca04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- service::user_service::tests::test_modify_user stdout ----
[INFO] [stdout] thread 'service::user_service::tests::test_modify_user' panicked at src/service/user_service.rs:135:78:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: code:500,msg:Connection refused (os error 111)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558106782be5 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x558106782be5 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558106782be5 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x558106782be5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5581067ada3b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5581067ada3b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55810677f93f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5581067829be - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5581067829be - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5581067843e9 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5581067840ae - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55810635dbca - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55810635dbca - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5581067849eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5581067849eb - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x558106784764 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5581067830a9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x558106784497 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55810618b0b3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55810618b646 - core::result::unwrap_failed::h382691b96ca8c13a
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1654:5
[INFO] [stdout]   20:     0x5581061c7a0f - core::result::Result<T,E>::unwrap::h9ce904e67719728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5581061c7a0f - jq2::service::user_service::tests::test_modify_user::hd129c62ac7d4c0d7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:135:24
[INFO] [stdout]   22:     0x5581061c7897 - jq2::service::user_service::tests::test_modify_user::{{closure}}::haf2c0c1bcda10992
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:129:26
[INFO] [stdout]   23:     0x5581061a80f6 - core::ops::function::FnOnce::call_once::ha3c0397d26064cf5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5581063625ab - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5581063625ab - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x558106361cb1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x558106361cb1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x558106361cb1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x558106361cb1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x558106361cb1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x558106361cb1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x558106361cb1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x55810632a674 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x55810632a674 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x55810632f0a2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55810632f0a2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x55810632f0a2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x55810632f0a2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x55810632f0a2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x55810678917b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f8787f2bac3 - <unknown>
[INFO] [stdout]   46:     0x7f8787fbca04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- service::user_service::tests::test_list_page stdout ----
[INFO] [stdout] thread 'service::user_service::tests::test_list_page' panicked at src/service/user_service.rs:150:86:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: code:500,msg:Connection refused (os error 111)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558106782be5 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x558106782be5 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558106782be5 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x558106782be5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5581067ada3b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5581067ada3b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55810677f93f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5581067829be - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5581067829be - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5581067843e9 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5581067840ae - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55810635dbca - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55810635dbca - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5581067849eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5581067849eb - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x558106784764 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5581067830a9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x558106784497 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55810618b0b3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55810618b646 - core::result::unwrap_failed::h382691b96ca8c13a
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1654:5
[INFO] [stdout]   20:     0x5581061c7d98 - core::result::Result<T,E>::unwrap::hde393b75a7230bd9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5581061c7d98 - jq2::service::user_service::tests::test_list_page::hc74c482232751573
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:150:22
[INFO] [stdout]   22:     0x5581061c7cc7 - jq2::service::user_service::tests::test_list_page::{{closure}}::h334bead8a88c1ad0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:146:24
[INFO] [stdout]   23:     0x5581061a8236 - core::ops::function::FnOnce::call_once::hd0453c03a5e3f490
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5581063625ab - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5581063625ab - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x558106361cb1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x558106361cb1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x558106361cb1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x558106361cb1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x558106361cb1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x558106361cb1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x558106361cb1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x55810632a674 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x55810632a674 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x55810632f0a2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55810632f0a2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x55810632f0a2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x55810632f0a2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x55810632f0a2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x55810678917b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f8787f2bac3 - <unknown>
[INFO] [stdout]   46:     0x7f8787fbca04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- service::user_service::tests::test_login stdout ----
[INFO] [stdout] thread 'service::user_service::tests::test_login' panicked at src/service/user_service.rs:123:80:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: code:500,msg:Connection refused (os error 111)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558106782be5 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x558106782be5 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558106782be5 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x558106782be5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5581067ada3b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5581067ada3b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55810677f93f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5581067829be - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5581067829be - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5581067843e9 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5581067840ae - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55810635dbca - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55810635dbca - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5581067849eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5581067849eb - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x558106784764 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5581067830a9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x558106784497 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55810618b0b3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55810618b646 - core::result::unwrap_failed::h382691b96ca8c13a
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1654:5
[INFO] [stdout]   20:     0x5581061c769e - core::result::Result<T,E>::unwrap::hf66f4316e211a4f6
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5581061c769e - jq2::service::user_service::tests::test_login::haeb280f25d8f6472
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:123:22
[INFO] [stdout]   22:     0x5581061c7527 - jq2::service::user_service::tests::test_login::{{closure}}::h388c70039d35140f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:119:20
[INFO] [stdout]   23:     0x5581061a8326 - core::ops::function::FnOnce::call_once::hecee06cb91913e82
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5581063625ab - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5581063625ab - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x558106361cb1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x558106361cb1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x558106361cb1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x558106361cb1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x558106361cb1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x558106361cb1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x558106361cb1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x55810632a674 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x55810632a674 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x55810632f0a2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55810632f0a2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x55810632f0a2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x55810632f0a2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x55810632f0a2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x55810678917b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f8787f2bac3 - <unknown>
[INFO] [stdout]   46:     0x7f8787fbca04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- service::user_service::tests::test_register stdout ----
[INFO] [stdout] thread 'service::user_service::tests::test_register' panicked at src/service/user_service.rs:115:9:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558106782be5 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x558106782be5 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558106782be5 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x558106782be5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5581067ada3b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5581067ada3b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55810677f93f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5581067829be - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5581067829be - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5581067843e9 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5581067840ae - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55810635dbca - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55810635dbca - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5581067849eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5581067849eb - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55810678472b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x5581067830a9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x558106784497 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55810618b0b3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55810618b15c - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x5581061c74a4 - jq2::service::user_service::tests::test_register::h6f8ad8ab79f1cd2f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:115:9
[INFO] [stdout]   21:     0x5581061c71e7 - jq2::service::user_service::tests::test_register::{{closure}}::h0082f58bf5b2fbb5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/service/user_service.rs:101:23
[INFO] [stdout]   22:     0x5581061a7f96 - core::ops::function::FnOnce::call_once::h39f948e7696e236b
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5581063625ab - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5581063625ab - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x558106361cb1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x558106361cb1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x558106361cb1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x558106361cb1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x558106361cb1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x558106361cb1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x558106361cb1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55810632a674 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55810632a674 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55810632f0a2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55810632f0a2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55810632f0a2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55810632f0a2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55810632f0a2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55810632f0a2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55810678917b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55810678917b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f8787f2bac3 - <unknown>
[INFO] [stdout]   45:     0x7f8787fbca04 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     service::user_service::tests::test_list_page
[INFO] [stdout]     service::user_service::tests::test_login
[INFO] [stdout]     service::user_service::tests::test_modify_user
[INFO] [stdout]     service::user_service::tests::test_register
[INFO] [stdout]     service::user_service::tests::test_user_lock
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "568523d2882cb50dbd0034250fe51b83a08d3d78e192124026662e9fe5692017", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "568523d2882cb50dbd0034250fe51b83a08d3d78e192124026662e9fe5692017", kill_on_drop: false }`
[INFO] [stdout] 568523d2882cb50dbd0034250fe51b83a08d3d78e192124026662e9fe5692017
