[INFO] cloning repository https://github.com/gakaki/experiment-lab-oil [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gakaki/experiment-lab-oil" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgakaki%2Fexperiment-lab-oil", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgakaki%2Fexperiment-lab-oil'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8eb5c89d916863a6ffb5a857763b06fb5b96bd64 [INFO] testing gakaki/experiment-lab-oil against 1.79.0 for beta-1.80-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgakaki%2Fexperiment-lab-oil" "/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/gakaki/experiment-lab-oil on toolchain 1.79.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.79.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/gakaki/experiment-lab-oil [INFO] finished tweaking git repo https://github.com/gakaki/experiment-lab-oil [INFO] tweaked toml for git repo https://github.com/gakaki/experiment-lab-oil written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/gakaki/experiment-lab-oil 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" "+1.79.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded salvo_extra v0.63.1 [INFO] [stderr] Downloaded salvo v0.63.1 [INFO] [stderr] Downloaded ulid v1.0.1 [INFO] [stderr] Downloaded uuid-macro-internal v1.3.2 [INFO] [stderr] Downloaded headers-core v0.3.0 [INFO] [stderr] Downloaded rust-embed-impl v6.5.0 [INFO] [stderr] Downloaded salvo-session v0.63.1 [INFO] [stderr] Downloaded color_quant v1.1.0 [INFO] [stderr] Downloaded rend v0.4.1 [INFO] [stderr] Downloaded path-slash v0.2.1 [INFO] [stderr] Downloaded fdeflate v0.3.0 [INFO] [stderr] Downloaded metrics v0.18.1 [INFO] [stderr] Downloaded rustls-pemfile v2.0.0 [INFO] [stderr] Downloaded byte-unit v5.1.2 [INFO] [stderr] Downloaded hound v3.5.0 [INFO] [stderr] Downloaded image v0.24.6 [INFO] [stderr] Downloaded num-rational v0.4.1 [INFO] [stderr] Downloaded web-sys v0.3.62 [INFO] [stderr] Downloaded rust-embed v6.6.1 [INFO] [stderr] Downloaded salvo-oapi-macros v0.63.1 [INFO] [stderr] Downloaded salvo-serve-static v0.63.1 [INFO] [stderr] Downloaded linux-raw-sys v0.3.7 [INFO] [stderr] Downloaded salvo-oapi v0.63.1 [INFO] [stderr] Downloaded png v0.17.8 [INFO] [stderr] Downloaded fallible_collections v0.4.7 [INFO] [stderr] Downloaded rgb v0.8.36 [INFO] [stderr] Downloaded captcha v0.0.9 [INFO] [stderr] Downloaded dark-std v0.2.3 [INFO] [stderr] Downloaded pest v2.6.0 [INFO] [stderr] Downloaded pest_generator v2.6.0 [INFO] [stderr] Downloaded html_parser v0.6.3 [INFO] [stderr] Downloaded rust-format v0.3.4 [INFO] [stderr] Downloaded mobc v0.8.3 [INFO] [stderr] Downloaded rbdc-pool-mobc v4.5.6 [INFO] [stderr] Downloaded rbatis v4.5.6 [INFO] [stderr] Downloaded generic-array v1.0.0 [INFO] [stderr] Downloaded ring v0.17.3 [INFO] [stderr] Downloaded fastdate v0.3.27 [INFO] [stderr] Downloaded rustls-pki-types v1.0.1 [INFO] [stderr] Downloaded webpki-roots v0.26.0 [INFO] [stderr] Downloaded rbdc v4.5.10 [INFO] [stderr] Downloaded num-bigint-dig v0.8.2 [INFO] [stderr] Downloaded signature v2.1.0 [INFO] [stderr] Downloaded rbs v4.5.2 [INFO] [stderr] Downloaded combine v4.6.6 [INFO] [stderr] Downloaded redis v0.23.0 [INFO] [stderr] Downloaded ghost v0.1.9 [INFO] [stderr] Downloaded inventory v0.3.5 [INFO] [stderr] Downloaded rust_decimal v1.32.0 [INFO] [stderr] Downloaded unsafe-libyaml v0.2.8 [INFO] [stderr] Downloaded blake3 v0.3.8 [INFO] [stderr] Downloaded js-sys v0.3.62 [INFO] [stderr] Downloaded wasm-bindgen v0.2.85 [INFO] [stderr] Downloaded h2 v0.4.0 [INFO] [stderr] Downloaded mime-infer v3.0.0 [INFO] [stderr] Downloaded winnow v0.5.19 [INFO] [stderr] Downloaded xml-rs v0.8.16 [INFO] [stderr] Downloaded salvo_core v0.63.1 [INFO] [stderr] Downloaded sysinfo v0.30.1 [INFO] [stderr] Downloaded lodepng v3.7.2 [INFO] [stderr] Downloaded jsonwebtoken v8.3.0 [INFO] [stderr] Downloaded ucd-trie v0.1.5 [INFO] [stderr] Downloaded pest_meta v2.6.0 [INFO] [stderr] Downloaded rbatis-codegen v4.5.5 [INFO] [stderr] Downloaded metrics-macros v0.5.1 [INFO] [stderr] Downloaded bigdecimal v0.4.2 [INFO] [stderr] Downloaded rbdc-mysql v4.5.2 [INFO] [stderr] Downloaded serde_yaml v0.9.21 [INFO] [stderr] Downloaded shellexpand v2.1.2 [INFO] [stderr] Downloaded rust-embed-utils v7.5.0 [INFO] [stderr] Downloaded constant_time_eq v0.1.5 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.85 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.85 [INFO] [stderr] Downloaded crypto-mac v0.11.1 [INFO] [stderr] Downloaded async-session v3.0.0 [INFO] [stderr] Downloaded str-buf v3.0.2 [INFO] [stderr] Downloaded enumflags2 v0.7.7 [INFO] [stderr] Downloaded const-oid v0.9.2 [INFO] [stderr] Downloaded headers v0.4.0 [INFO] [stderr] Downloaded hyper-util v0.1.2 [INFO] [stderr] Downloaded multimap v0.9.0 [INFO] [stderr] Downloaded ntapi v0.4.1 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.85 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.85 [INFO] [stderr] Downloaded etag v4.0.0 [INFO] [stderr] Downloaded multer v3.0.0 [INFO] [stderr] Downloaded simd-adler32 v0.3.5 [INFO] [stderr] Downloaded pest_derive v2.6.0 [INFO] [stderr] Downloaded futures-timer v3.0.2 [INFO] [stderr] Downloaded ctor v0.2.0 [INFO] [stderr] Downloaded hmac v0.11.0 [INFO] [stderr] Downloaded cruet v0.14.0 [INFO] [stderr] Downloaded xxhash-rust v0.8.6 [INFO] [stderr] Downloaded enumflags2_derive v0.7.7 [INFO] [stderr] Downloaded salvo_macros v0.63.1 [INFO] [stderr] Downloaded serde-xml-rs v0.6.0 [INFO] [stderr] Downloaded rbatis-macro-driver v4.5.1 [INFO] [stderr] Downloaded uuid v1.3.2 [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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 12acf29f55ebd2d4e8c0c4bfe60c358e3f1835d8fc7ddee084effc3fe7f31efc [INFO] running `Command { std: "docker" "start" "-a" "12acf29f55ebd2d4e8c0c4bfe60c358e3f1835d8fc7ddee084effc3fe7f31efc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "12acf29f55ebd2d4e8c0c4bfe60c358e3f1835d8fc7ddee084effc3fe7f31efc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12acf29f55ebd2d4e8c0c4bfe60c358e3f1835d8fc7ddee084effc3fe7f31efc", kill_on_drop: false }` [INFO] [stdout] 12acf29f55ebd2d4e8c0c4bfe60c358e3f1835d8fc7ddee084effc3fe7f31efc [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1f0af09bbd4dccb1c6f7c41592e59633c4ff9ced52d89c04d949694130f2ca1d [INFO] running `Command { std: "docker" "start" "-a" "1f0af09bbd4dccb1c6f7c41592e59633c4ff9ced52d89c04d949694130f2ca1d", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.8 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling serde v1.0.163 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling getrandom v0.2.9 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling parking_lot_core v0.9.7 [INFO] [stderr] Compiling cpufeatures v0.2.7 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling tokio v1.28.1 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling const-oid v0.9.2 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling mio v0.8.6 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.15.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling async-trait v0.1.68 [INFO] [stderr] Compiling serde_json v1.0.96 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling time-macros v0.2.9 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling http v1.0.0 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling universal-hash v0.5.0 [INFO] [stderr] Compiling ring v0.17.3 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling winnow v0.5.19 [INFO] [stderr] Compiling ucd-trie v0.1.5 [INFO] [stderr] Compiling io-lifetimes v1.0.10 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.18 [INFO] [stderr] Compiling libc v0.2.150 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling polyval v0.6.0 [INFO] [stderr] Compiling http-body v1.0.0 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling rustix v0.37.19 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling url v2.3.1 [INFO] [stderr] Compiling mime-infer v3.0.0 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling toml_edit v0.20.7 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling aes v0.8.2 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling multer v3.0.0 [INFO] [stderr] Compiling cookie v0.18.0 [INFO] [stderr] Compiling linux-raw-sys v0.3.7 [INFO] [stderr] Compiling aes-gcm v0.10.1 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling headers-core v0.3.0 [INFO] [stderr] Compiling cruet v0.14.0 [INFO] [stderr] Compiling serde_derive v1.0.163 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling tracing-attributes v0.1.24 [INFO] [stderr] Compiling pin-project v1.0.12 [INFO] [stderr] Compiling proc-macro-crate v2.0.0 [INFO] [stderr] Compiling pest v2.6.0 [INFO] [stderr] Compiling enumflags2_derive v0.7.7 [INFO] [stderr] Compiling uuid-macro-internal v1.3.2 [INFO] [stderr] Compiling sha1 v0.10.5 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling base64ct v1.6.0 [INFO] [stderr] Compiling simd-adler32 v0.3.5 [INFO] [stderr] Compiling pest_meta v2.6.0 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling xml-rs v0.8.16 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling rustls v0.21.10 [INFO] [stderr] Compiling headers v0.4.0 [INFO] [stderr] Compiling tempfile v3.5.0 [INFO] [stderr] Compiling enumflags2 v0.7.7 [INFO] [stderr] Compiling pest_generator v2.6.0 [INFO] [stderr] Compiling uuid v1.3.2 [INFO] [stderr] Compiling http-body-util v0.1.0 [INFO] [stderr] Compiling salvo_macros v0.63.1 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling pest_derive v2.6.0 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling sct v0.7.0 [INFO] [stderr] Compiling nix v0.27.1 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling tokio-util v0.7.8 [INFO] [stderr] Compiling bigdecimal v0.4.2 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling rustls-pki-types v1.0.1 [INFO] [stderr] Compiling time v0.3.21 [INFO] [stderr] Compiling serde-xml-rs v0.6.0 [INFO] [stderr] Compiling multimap v0.9.0 [INFO] [stderr] Compiling rbs v4.5.2 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling h2 v0.4.0 [INFO] [stderr] Compiling rust-embed-utils v7.5.0 [INFO] [stderr] Compiling shellexpand v2.1.2 [INFO] [stderr] Compiling der v0.7.8 [INFO] [stderr] Compiling blake3 v0.3.8 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling iana-time-zone v0.1.57 [INFO] [stderr] Compiling rust_decimal v1.32.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling metrics v0.18.1 [INFO] [stderr] Compiling anyhow v1.0.79 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling chrono v0.4.31 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling fastdate v0.3.27 [INFO] [stderr] Compiling flate2 v1.0.26 [INFO] [stderr] Compiling rust-embed-impl v6.5.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling hyper v1.1.0 [INFO] [stderr] Compiling webpki-roots v0.26.0 [INFO] [stderr] Compiling rustls-pemfile v2.0.0 [INFO] [stderr] Compiling serde_bytes v0.11.9 [INFO] [stderr] Compiling metrics-macros v0.5.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling crossbeam-epoch v0.9.17 [INFO] [stderr] Compiling lru v0.12.1 [INFO] [stderr] Compiling crypto-mac v0.11.1 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling num-bigint-dig v0.8.2 [INFO] [stderr] Compiling hyper-util v0.1.2 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling constant_time_eq v0.1.5 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling salvo_core v0.63.1 [INFO] [stderr] Compiling tungstenite v0.21.0 [INFO] [stderr] Compiling async-lock v2.8.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling hmac v0.11.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.4 [INFO] [stderr] Compiling rbdc v4.5.10 [INFO] [stderr] Compiling rust-embed v6.6.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling html_parser v0.6.3 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling fdeflate v0.3.0 [INFO] [stderr] Compiling ghost v0.1.9 [INFO] [stderr] Compiling ctor v0.2.0 [INFO] [stderr] Compiling ulid v1.0.1 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling str-buf v3.0.2 [INFO] [stderr] Compiling futures-timer v3.0.2 [INFO] [stderr] Compiling unsafe-libyaml v0.2.8 [INFO] [stderr] Compiling xxhash-rust v0.8.6 [INFO] [stderr] Compiling etag v4.0.0 [INFO] [stderr] Compiling mobc v0.8.3 [INFO] [stderr] Compiling png v0.17.8 [INFO] [stderr] Compiling fallible_collections v0.4.7 [INFO] [stderr] Compiling rbatis-codegen v4.5.5 [INFO] [stderr] Compiling async-session v3.0.0 [INFO] [stderr] Compiling inventory v0.3.5 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling salvo-oapi-macros v0.63.1 [INFO] [stderr] Compiling serde_yaml v0.9.21 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Compiling tokio-tungstenite v0.21.0 [INFO] [stderr] Compiling rgb v0.8.36 [INFO] [stderr] Compiling futures-executor v0.3.28 [INFO] [stderr] Compiling flume v0.10.14 [INFO] [stderr] Compiling crossbeam v0.8.2 [INFO] [stderr] Compiling signature v2.1.0 [INFO] [stderr] Compiling rust-format v0.3.4 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling path-slash v0.2.1 [INFO] [stderr] Compiling rbatis-macro-driver v4.5.1 [INFO] [stderr] Compiling salvo-serve-static v0.63.1 [INFO] [stderr] Compiling image v0.24.6 [INFO] [stderr] Compiling rsa v0.9.6 [INFO] [stderr] Compiling dark-std v0.2.3 [INFO] [stderr] Compiling futures v0.3.28 [INFO] [stderr] Compiling lodepng v3.7.2 [INFO] [stderr] Compiling salvo_extra v0.63.1 [INFO] [stderr] Compiling rayon v1.8.0 [INFO] [stderr] Compiling rbdc-pool-mobc v4.5.6 [INFO] [stderr] Compiling salvo-session v0.63.1 [INFO] [stderr] Compiling simple_asn1 v0.6.2 [INFO] [stderr] Compiling combine v4.6.6 [INFO] [stderr] Compiling pem v1.1.1 [INFO] [stderr] Compiling sha-1 v0.10.1 [INFO] [stderr] Compiling generic-array v1.0.0 [INFO] [stderr] Compiling utf8-width v0.1.7 [INFO] [stderr] Compiling hound v3.5.0 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling byte-unit v5.1.2 [INFO] [stderr] Compiling sysinfo v0.30.1 [INFO] [stderr] Compiling rbdc-mysql v4.5.2 [INFO] [stderr] Compiling jsonwebtoken v8.3.0 [INFO] [stderr] Compiling captcha v0.0.9 [INFO] [stderr] Compiling rbatis v4.5.6 [INFO] [stderr] Compiling salvo-oapi v0.63.1 [INFO] [stderr] Compiling tokio-stream v0.1.14 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling redis v0.23.0 [INFO] [stderr] Compiling salvo v0.63.1 [INFO] [stderr] Compiling salvo-admin v0.2.1 (/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] [SysCaptcha], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysCaptcha > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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_captcha_by_code(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_column : & str, table_name : & str, code : String,) -> std :: result :: [INFO] [stdout] Result < Vec < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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("code".to_string().into(), rbs :: to_value(code) ?); {} [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(74usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where code = ? limit 1".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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] [SysUser], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUser > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUser > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUser > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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_user_by_up(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_column : & str, table_name : & str, username : String, password : [INFO] [stdout] String,) -> std :: result :: Result < Vec < SysUser > , rbatis :: rbdc :: [INFO] [stdout] Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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("username".to_string().into(), rbs :: to_value(username) [INFO] [stdout] ?); [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(110usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["username"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["password"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where user_name = ? and password = ? limit 1".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_user_page(rb : & mut dyn Executor, page_num : u64, page_size : u64, [INFO] [stdout] user_name : Option < String > , phone_number : Option < String > , status : [INFO] [stdout] Option < String > , begin_time : Option < DateTime > , end_time : Option < [INFO] [stdout] DateTime > , dept_id : Option < i64 >) -> rbatis :: Result < Vec < SysUserList [INFO] [stdout] > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [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("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(484usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su inner join sys_dept sd on su.dept_id = sd.dept_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(404usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.user_name like concat('%', ?, '%')"); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["phone_number"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.phonenumber like concat('%', ?, '%')"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.create_time between ? and ?"); [INFO] [stdout] } if [INFO] [stdout] { [INFO] [stdout] (& arg ["dept_id"]).op_ne(& rbs :: Value :: Null) [INFO] [stdout] }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" AND (su.dept_id = ? OR su.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(?, ancestors) ))"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.del_flag = 0\n limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_user_count(rb : & mut dyn Executor, user_name : Option < String > , [INFO] [stdout] phone_number : Option < String > , status : Option < String > , begin_time : [INFO] [stdout] Option < DateTime > , end_time : Option < DateTime > , dept_id : Option < i64 [INFO] [stdout] >) -> rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(400usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_user su inner join sys_dept sd on su.dept_id = sd.dept_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(316usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.user_name = ?"); [INFO] [stdout] } if { (& arg ["phonenumber"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["phone_number"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.phonenumber = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.create_time between ? and ?"); [INFO] [stdout] } if [INFO] [stdout] { [INFO] [stdout] (& arg ["dept_id"]).op_ne(& rbs :: Value :: Null) [INFO] [stdout] }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" AND (su.dept_id = ? OR su.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(?, ancestors) ))"); [INFO] [stdout] } sql.push_str(" and su.del_flag = 0"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_user_by_id(rb : & mut dyn Executor, user_id : Option < i64 >) [INFO] [stdout] -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(46usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_user"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("user_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] update_user_status_by_id(rb : & mut dyn Executor, status : String, user_id : [INFO] [stdout] i64) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(67usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("update sys_user set status = ? where user_id = ?"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysUserEntity], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUserEntity > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [AddSysUserEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < AddSysUserEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < AddSysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < AddSysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_by_user_id(rb : & mut dyn Executor, id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < SysRole > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} use [INFO] [stdout] rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(122usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select sr.* from sys_role sr\ninner join sys_user_role sur on sr.role_id = sur.role_id\nwhere sur.user_id = ?"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_by_page(rb : & mut dyn Executor, page_num : u64, page_size : u64, [INFO] [stdout] role_name : Option < String > , role_key : Option < String > , status : Option [INFO] [stdout] < String > , begin_time : Option < DateTime > , end_time : Option < DateTime [INFO] [stdout] >) -> rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [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("role_name".to_string().into(), rbs :: [INFO] [stdout] to_value(role_name) ?); [INFO] [stdout] rb_arg_map.insert("role_key".to_string().into(), rbs :: to_value(role_key) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(217usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(193usize); [INFO] [stdout] sql.push_str(" 1 = 1"); if [INFO] [stdout] { (& arg ["role_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and role_name like '%${role_name}%' ".replacen("${role_name}", [INFO] [stdout] & { & arg ["role_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["role_key"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_key"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and role_key = ? "); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ? "); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ? "); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_count(rb : & mut dyn Executor, role_name : Option < String > , [INFO] [stdout] role_key : Option < String > , status : Option < String > , begin_time : [INFO] [stdout] Option < DateTime > , end_time : Option < DateTime >) -> rbatis :: Result < [INFO] [stdout] u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_name".to_string().into(), rbs :: [INFO] [stdout] to_value(role_name) ?); [INFO] [stdout] rb_arg_map.insert("role_key".to_string().into(), rbs :: to_value(role_key) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(191usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_role"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(160usize); [INFO] [stdout] sql.push_str(" 1 = 1"); if [INFO] [stdout] { (& arg ["role_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and role_name like '%${role_name}%' ".replacen("${role_name}", [INFO] [stdout] & { & arg ["role_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["role_key"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_key"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and role_key = ? "); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ? "); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ? "); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] update_role_status_by_id(rb : & mut dyn Executor, role_id : i64, status : [INFO] [stdout] String) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(60usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("update sys_role set status=?"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("role_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_role_by_id(rb : & mut dyn Executor, role_id : String) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(48usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] sql.push_str("role_id in ( ${role_id} )".replacen("${role_id}", & [INFO] [stdout] { & arg ["role_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_role_by_id(rb : & mut dyn Executor, role_id : String) -> [INFO] [stdout] rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(50usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] sql.push_str("role_id in ( ${role_id} )".replacen("${role_id}", & [INFO] [stdout] { & arg ["role_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list(rb : & mut dyn Executor) -> rbatis :: Result < [INFO] [stdout] Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(43usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0"); return [INFO] [stdout] (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list_flag_and_status(rb : & mut dyn Executor) -> [INFO] [stdout] rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(75usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0 and status = 0 and role_id != 1"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list_and_is_flag(rb : & mut dyn Executor) -> rbatis [INFO] [stdout] :: Result < Vec < SysRoleListFlag > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(75usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0 and status = 0 and role_id != 1"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_list_by_auth_id(rb : & mut dyn Executor, user_name : Option < [INFO] [stdout] String > , phone_number : Option < String > , role_id : i64, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(233usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su inner join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(146usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("sur.role_id = ?"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_count_roles_list_by_auth_id(rb : & mut dyn Executor, user_name : Option [INFO] [stdout] < String > , phone_number : Option < String > , role_id : i64) -> rbatis :: [INFO] [stdout] Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(212usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(su.user_id) from sys_user su inner join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(113usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("sur.role_id = ?"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_list_not_in_role_id(rb : & mut dyn Executor, user_name : Option < [INFO] [stdout] String > , phone_number : Option < String > , role_id : i64, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(278usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su left join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(192usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("(sur.role_id != ? or sur.role_id is null) and su.user_id != 1"); [INFO] [stdout] if { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_count_roles_list_not_in_role_id(rb : & mut dyn Executor, user_name : [INFO] [stdout] Option < String > , phone_number : Option < String > , role_id : i64) -> [INFO] [stdout] rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(257usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(su.user_id) from sys_user su left join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(159usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("(sur.role_id != ? or sur.role_id is null) and su.user_id != 1"); [INFO] [stdout] if { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysRole], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysRole > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRole > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRole > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_by_role_id(rb : & mut dyn Executor, is_admin : bool, id : String) [INFO] [stdout] -> rbatis :: Result < Vec < SysMenu > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("is_admin".to_string().into(), rbs :: to_value(is_admin) [INFO] [stdout] ?); rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(127usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select sm.* from sys_menu sm "); if [INFO] [stdout] { (& arg ["is_admin"]).op_ne(& true) }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("inner join sys_role_menu srm on sm.menu_id = srm.menu_id\nwhere srm.role_id in ( ? )"); [INFO] [stdout] } return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_by_user_id(rb : & mut dyn Executor, is_admin : bool, id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < SysMenu > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("is_admin".to_string().into(), rbs :: to_value(is_admin) [INFO] [stdout] ?); rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(188usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select sm.* from sys_menu sm "); if [INFO] [stdout] { (& arg ["is_admin"]).op_ne(& true) }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("inner join sys_role_menu srm on srm.menu_id = sm.menu_id\ninner join sys_user_role sur on sur.role_id = srm.role_id\nwhere sur.user_id = ? "); [INFO] [stdout] } return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_list(rb : & mut dyn Executor, menu_name : Option < String > , [INFO] [stdout] status : Option < String >) -> rbatis :: Result < Vec < SysMenuPage > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("menu_name".to_string().into(), rbs :: [INFO] [stdout] to_value(menu_name) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(94usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(70usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["menu_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and menu_name like '%${menu_name}%'".replacen("${menu_name}", [INFO] [stdout] & { & arg ["menu_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_menus_by_id(rb : & mut dyn Executor, menu_id : i64) -> [INFO] [stdout] rbatis :: Result < Vec < SysMenuPage > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("menu_id".to_string().into(), rbs :: to_value(menu_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(51usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["menu_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and menu_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysMenu], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysMenu > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysMenu > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysMenu > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_by_page(rb : & mut dyn Executor, dict_name : & str, dict_type [INFO] [stdout] : & str, status : & str, begin_time : & str, end_time : & str, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_name".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_name) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(219usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(190usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and dict_name like '%${dict_name}%'".replacen("${dict_name}", [INFO] [stdout] & { & arg ["dict_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ?"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_by_count(rb : & mut dyn Executor, dict_name : & str, [INFO] [stdout] dict_type : & str, status : & str, begin_time : & str, end_time : & str) -> [INFO] [stdout] rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_name".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_name) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(186usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_dict_type"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(150usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_name = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_data_by_type(rb : & mut dyn Executor, dict_type : & str) -> rbatis [INFO] [stdout] :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(56usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_data"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_type = ? "); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_dict_by_id(rb : & mut dyn Executor, dict_id : i64) -> [INFO] [stdout] rbatis :: Result < Option < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_id".to_string().into(), rbs :: to_value(dict_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(52usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(23usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_id = ? "); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_dict_by_id(rb : & mut dyn Executor, arr : Vec < & str >) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("arr".to_string().into(), rbs :: to_value(arr) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(48usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_dict_type "); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(20usize); [INFO] [stdout] sql.push_str("dict_id in "); sql.push_str("("); for (key, item) in [INFO] [stdout] { & arg ["arr"] } [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ item }).unwrap_or_default()); [INFO] [stdout] sql.push_str("?"); sql.push_str(","); [INFO] [stdout] } sql = sql.trim_end_matches(",").to_string(); sql.push_str(")"); [INFO] [stdout] sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_all_dict_type(rb : & mut dyn Executor) -> rbatis :: Result [INFO] [stdout] < Vec < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(29usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_data_by_page(rb : & mut dyn Executor, dict_label : Option < [INFO] [stdout] String > , dict_type : String, status : Option < String > , page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_label".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_label) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(157usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_data"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(129usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_label"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_label"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_label = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_data_by_count(rb : & mut dyn Executor, dict_label : Option < [INFO] [stdout] String > , dict_type : String, status : Option < String >) -> rbatis :: Result [INFO] [stdout] < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_label".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_label) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(132usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_dict_data"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(96usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_label"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_label"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_label = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_dict_data_by_id(rb : & mut dyn Executor, arr : Vec < & str >) [INFO] [stdout] -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("arr".to_string().into(), rbs :: to_value(arr) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(50usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_dict_data "); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] sql.push_str("dict_code in "); sql.push_str("("); for (key, item) [INFO] [stdout] in { & arg ["arr"] } [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ item }).unwrap_or_default()); [INFO] [stdout] sql.push_str("?"); sql.push_str(","); [INFO] [stdout] } sql = sql.trim_end_matches(",").to_string(); sql.push_str(")"); [INFO] [stdout] sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_dict_data_by_id(rb : & mut dyn Executor, dict_code : i64) [INFO] [stdout] -> rbatis :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_code".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_code) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(57usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str(" select * from sys_dict_data "); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(26usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_code = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysDictType], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysDictType > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [SysDictDataEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysDictDataEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictDataEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictDataEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [ModifySysDictType], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < ModifySysDictType [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < ModifySysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < ModifySysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] del_role_menu_by_role_id(rb : & mut dyn Executor, role_id : String) -> rbatis [INFO] [stdout] :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_menu_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(54usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_role_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] sql.push_str("role_id in ( ${role_id} )".replacen("${role_id}", & [INFO] [stdout] { & arg ["role_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_menu_id_by_role_id(rb : & mut dyn Executor, role_id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < SysRoleMenuEntity > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_menu_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(51usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("role_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysRoleMenuEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysRoleMenuEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRoleMenuEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRoleMenuEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_dept_list(rb : & mut dyn Executor, dept_name : Option < String > , status [INFO] [stdout] : Option < String >) -> rbatis :: Result < Vec < DeptList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dept_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dept_name".to_string().into(), rbs :: [INFO] [stdout] to_value(dept_name) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(85usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dept"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(61usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dept_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dept_name = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_dept_tree_by_id(rb : & mut dyn Executor, dept_id : i64) -> [INFO] [stdout] rbatis :: Result < Vec < DeptList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dept_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(320usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select T2.* from (\nselect @R as rid,\n(select @R := parent_id from sys_dept where dept_id = rid) as parent_id,\n@L := @L+1 as LVL\nfrom (select @R := ?,@L :=0) vars,\nsys_dept h where @R>=0)T1\ninner join sys_dept T2 on T1.rid = T2.dept_id\norder by T1.LVL desc"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_dept_by_id(rb : & mut dyn Executor, dept_id : i64) -> rbatis [INFO] [stdout] :: Result < Vec < DeptList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dept_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(46usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dept"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dept_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_dept_list_exclude_id(rb : & mut dyn Executor, dept_id : i64) [INFO] [stdout] -> rbatis :: Result < Vec < DeptList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dept_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(57usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dept"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(33usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dept_id"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dept_id != ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_dept_by_id(rb : & mut dyn Executor, dept_id : String) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dept_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(48usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_dept"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(26usize); [INFO] [stdout] sql.push_str("dept_id = ( ${dept_id} )".replacen("${dept_id}", & [INFO] [stdout] { & arg ["dept_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysDeptEntity], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysDeptEntity > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDeptEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDeptEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_post_page(rb : & mut dyn Executor, page_num : u64, page_size : u64, [INFO] [stdout] post_code : Option < String > , post_name : Option < String > , status : [INFO] [stdout] Option < String >) -> rbatis :: Result < Vec < SysPostList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/post_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [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("post_code".to_string().into(), rbs :: [INFO] [stdout] to_value(post_code) ?); [INFO] [stdout] rb_arg_map.insert("post_name".to_string().into(), rbs :: [INFO] [stdout] to_value(post_name) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(149usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_post"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(125usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["post_code"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["post_code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and post_code = ?"); [INFO] [stdout] } if { (& arg ["post_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["post_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and post_name = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_post_count(rb : & mut dyn Executor, post_code : Option < String > , [INFO] [stdout] post_name : Option < String > , status : Option < String >) -> rbatis :: [INFO] [stdout] Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/post_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("post_code".to_string().into(), rbs :: [INFO] [stdout] to_value(post_code) ?); [INFO] [stdout] rb_arg_map.insert("post_name".to_string().into(), rbs :: [INFO] [stdout] to_value(post_name) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(123usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_post"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(92usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["post_code"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["post_code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and post_code = ?"); [INFO] [stdout] } if { (& arg ["post_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["post_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and post_name = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_post_by_id(rb : & mut dyn Executor, post_id : i64) -> rbatis [INFO] [stdout] :: Result < Vec < SysPostList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/post_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("post_id".to_string().into(), rbs :: to_value(post_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(46usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_post"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["post_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("post_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_post_by_id(rb : & mut dyn Executor, post_id : String) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/post_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("post_id".to_string().into(), rbs :: to_value(post_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(59usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_post"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(37usize); [INFO] [stdout] sql.push_str("1 = 1 and post_id in ( ${post_id} )".replacen("${post_id}", [INFO] [stdout] & { & arg ["post_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_post_list(rb : & mut dyn Executor) -> rbatis :: Result < Vec [INFO] [stdout] < SysPostList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/post_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(24usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_post"); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysPostEntity], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysPostEntity > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysPostEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysPostEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [SysUserRoleEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUserRoleEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserRoleEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserRoleEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_role_id_by_user_id(rb : & mut dyn Executor, user_id : i64) [INFO] [stdout] -> rbatis :: Result < Vec < SysUserRoleEntity > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_role_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(152usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select sur.* from sys_user_role sur inner join sys_role sr on sur.role_id = sr.role_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(64usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("sr.del_flag = 0 and sr.status = 0 and sur.user_id = ?"); [INFO] [stdout] sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] del_by_role_and_user_id(rb : & mut dyn Executor, user_id : i64, role_id : [INFO] [stdout] String) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_role_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(79usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_user_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(52usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("user_id in ( ${user_id} ) and role_id = ?".replacen("${user_id}", [INFO] [stdout] & { & arg ["user_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] del_by_role_and_user_id_more(rb : & mut dyn Executor, user_id : String, [INFO] [stdout] role_id : i64) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_role_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_id".to_string().into(), rbs :: to_value(user_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(79usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_user_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(52usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("user_id in ( ${user_id} ) and role_id = ?".replacen("${user_id}", [INFO] [stdout] & { & arg ["user_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysUserPostEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUserPostEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserPostEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserPostEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_excel_list_by_id(rb : & mut dyn Executor, user_id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < ExcelList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/excel_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(76usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select excel_id,excel_name from tool_excel"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(32usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("1 = 1 and user_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_excel_list(rb : & mut dyn Executor) -> rbatis :: Result < Vec [INFO] [stdout] < ExcelList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/excel_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: [INFO] [stdout] executor :: { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; [INFO] [stdout] use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(50usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select excel_id,excel_name from tool_excel"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(6usize); [INFO] [stdout] sql.push_str("1 = 1"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_excel_detail_by_id(rb : & mut dyn Executor, excel_id : String) -> rbatis [INFO] [stdout] :: Result < Vec < ExcelDetail > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/excel_xml.html"); let mut [INFO] [stdout] rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("excel_id".to_string().into(), rbs :: to_value(excel_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(116usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select excel_id,excel_name,excel_data,create_time,update_time from tool_excel"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(37usize); [INFO] [stdout] sql.push_str(" 1 = 1"); if [INFO] [stdout] { (& arg ["excel_id"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["excel_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and excel_id = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [ToolExcelEntity], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < ToolExcelEntity > [INFO] [stdout] , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < ToolExcelEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < ToolExcelEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8m 48s [INFO] running `Command { std: "docker" "inspect" "1f0af09bbd4dccb1c6f7c41592e59633c4ff9ced52d89c04d949694130f2ca1d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f0af09bbd4dccb1c6f7c41592e59633c4ff9ced52d89c04d949694130f2ca1d", kill_on_drop: false }` [INFO] [stdout] 1f0af09bbd4dccb1c6f7c41592e59633c4ff9ced52d89c04d949694130f2ca1d [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 174c104d554b6c3a288e5aecb17ee410f3a24daa5735f1c3323daeee06b7b5cd [INFO] running `Command { std: "docker" "start" "-a" "174c104d554b6c3a288e5aecb17ee410f3a24daa5735f1c3323daeee06b7b5cd", kill_on_drop: false }` [INFO] [stderr] Compiling salvo-admin v0.2.1 (/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] [SysCaptcha], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysCaptcha > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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_captcha_by_code(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_column : & str, table_name : & str, code : String,) -> std :: result :: [INFO] [stdout] Result < Vec < SysCaptcha > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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("code".to_string().into(), rbs :: to_value(code) ?); {} [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(74usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where code = ? limit 1".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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] [SysUser], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUser > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUser > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUser > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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_user_by_up(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_column : & str, table_name : & str, username : String, password : [INFO] [stdout] String,) -> std :: result :: Result < Vec < SysUser > , rbatis :: rbdc :: [INFO] [stdout] Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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("username".to_string().into(), rbs :: to_value(username) [INFO] [stdout] ?); [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(110usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["username"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["password"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where user_name = ? and password = ? limit 1".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_user_page(rb : & mut dyn Executor, page_num : u64, page_size : u64, [INFO] [stdout] user_name : Option < String > , phone_number : Option < String > , status : [INFO] [stdout] Option < String > , begin_time : Option < DateTime > , end_time : Option < [INFO] [stdout] DateTime > , dept_id : Option < i64 >) -> rbatis :: Result < Vec < SysUserList [INFO] [stdout] > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [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("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(484usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su inner join sys_dept sd on su.dept_id = sd.dept_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(404usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.user_name like concat('%', ?, '%')"); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["phone_number"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.phonenumber like concat('%', ?, '%')"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.create_time between ? and ?"); [INFO] [stdout] } if [INFO] [stdout] { [INFO] [stdout] (& arg ["dept_id"]).op_ne(& rbs :: Value :: Null) [INFO] [stdout] }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" AND (su.dept_id = ? OR su.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(?, ancestors) ))"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.del_flag = 0\n limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] get_user_count(rb : & mut dyn Executor, user_name : Option < String > , [INFO] [stdout] phone_number : Option < String > , status : Option < String > , begin_time : [INFO] [stdout] Option < DateTime > , end_time : Option < DateTime > , dept_id : Option < i64 [INFO] [stdout] >) -> rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("dept_id".to_string().into(), rbs :: to_value(dept_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(400usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_user su inner join sys_dept sd on su.dept_id = sd.dept_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(316usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.user_name = ?"); [INFO] [stdout] } if { (& arg ["phonenumber"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["phone_number"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.phonenumber = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and su.create_time between ? and ?"); [INFO] [stdout] } if [INFO] [stdout] { [INFO] [stdout] (& arg ["dept_id"]).op_ne(& rbs :: Value :: Null) [INFO] [stdout] }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dept_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" AND (su.dept_id = ? OR su.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(?, ancestors) ))"); [INFO] [stdout] } sql.push_str(" and su.del_flag = 0"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_user_by_id(rb : & mut dyn Executor, user_id : Option < i64 >) [INFO] [stdout] -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(46usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_user"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("user_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] update_user_status_by_id(rb : & mut dyn Executor, status : String, user_id : [INFO] [stdout] i64) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/user_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [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] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(67usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["user_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("update sys_user set status = ? where user_id = ?"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysUserEntity], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysUserEntity > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [AddSysUserEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < AddSysUserEntity [INFO] [stdout] > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < AddSysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < AddSysUserEntity > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_by_user_id(rb : & mut dyn Executor, id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < SysRole > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} use [INFO] [stdout] rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(122usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select sr.* from sys_role sr\ninner join sys_user_role sur on sr.role_id = sur.role_id\nwhere sur.user_id = ?"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_by_page(rb : & mut dyn Executor, page_num : u64, page_size : u64, [INFO] [stdout] role_name : Option < String > , role_key : Option < String > , status : Option [INFO] [stdout] < String > , begin_time : Option < DateTime > , end_time : Option < DateTime [INFO] [stdout] >) -> rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [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("role_name".to_string().into(), rbs :: [INFO] [stdout] to_value(role_name) ?); [INFO] [stdout] rb_arg_map.insert("role_key".to_string().into(), rbs :: to_value(role_key) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(217usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(193usize); [INFO] [stdout] sql.push_str(" 1 = 1"); if [INFO] [stdout] { (& arg ["role_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and role_name like '%${role_name}%' ".replacen("${role_name}", [INFO] [stdout] & { & arg ["role_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["role_key"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_key"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and role_key = ? "); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ? "); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ? "); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_count(rb : & mut dyn Executor, role_name : Option < String > , [INFO] [stdout] role_key : Option < String > , status : Option < String > , begin_time : [INFO] [stdout] Option < DateTime > , end_time : Option < DateTime >) -> rbatis :: Result < [INFO] [stdout] u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_name".to_string().into(), rbs :: [INFO] [stdout] to_value(role_name) ?); [INFO] [stdout] rb_arg_map.insert("role_key".to_string().into(), rbs :: to_value(role_key) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(191usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_role"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(160usize); [INFO] [stdout] sql.push_str(" 1 = 1"); if [INFO] [stdout] { (& arg ["role_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and role_name like '%${role_name}%' ".replacen("${role_name}", [INFO] [stdout] & { & arg ["role_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["role_key"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_key"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and role_key = ? "); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ? "); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ? "); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] update_role_status_by_id(rb : & mut dyn Executor, role_id : i64, status : [INFO] [stdout] String) -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(60usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("update sys_role set status=?"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("role_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_role_by_id(rb : & mut dyn Executor, role_id : String) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(48usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] sql.push_str("role_id in ( ${role_id} )".replacen("${role_id}", & [INFO] [stdout] { & arg ["role_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn get_role_by_id(rb : & mut dyn Executor, role_id : String) -> [INFO] [stdout] rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(50usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] sql.push_str("role_id in ( ${role_id} )".replacen("${role_id}", & [INFO] [stdout] { & arg ["role_id"] }.string(), 1).as_str()); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list(rb : & mut dyn Executor) -> rbatis :: Result < [INFO] [stdout] Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(43usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0"); return [INFO] [stdout] (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list_flag_and_status(rb : & mut dyn Executor) -> [INFO] [stdout] rbatis :: Result < Vec < SysRoleList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(75usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0 and status = 0 and role_id != 1"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_roles_list_and_is_flag(rb : & mut dyn Executor) -> rbatis [INFO] [stdout] :: Result < Vec < SysRoleListFlag > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(75usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_role where del_flag = 0 and status = 0 and role_id != 1"); [INFO] [stdout] return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_list_by_auth_id(rb : & mut dyn Executor, user_name : Option < [INFO] [stdout] String > , phone_number : Option < String > , role_id : i64, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(233usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su inner join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(146usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("sur.role_id = ?"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_count_roles_list_by_auth_id(rb : & mut dyn Executor, user_name : Option [INFO] [stdout] < String > , phone_number : Option < String > , role_id : i64) -> rbatis :: [INFO] [stdout] Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(212usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(su.user_id) from sys_user su inner join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(113usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("sur.role_id = ?"); if [INFO] [stdout] { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_roles_list_not_in_role_id(rb : & mut dyn Executor, user_name : Option < [INFO] [stdout] String > , phone_number : Option < String > , role_id : i64, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysUserList > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(278usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select su.* from sys_user su left join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(192usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("(sur.role_id != ? or sur.role_id is null) and su.user_id != 1"); [INFO] [stdout] if { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_count_roles_list_not_in_role_id(rb : & mut dyn Executor, user_name : [INFO] [stdout] Option < String > , phone_number : Option < String > , role_id : i64) -> [INFO] [stdout] rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/role_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("user_name".to_string().into(), rbs :: [INFO] [stdout] to_value(user_name) ?); [INFO] [stdout] rb_arg_map.insert("phone_number".to_string().into(), rbs :: [INFO] [stdout] to_value(phone_number) ?); [INFO] [stdout] rb_arg_map.insert("role_id".to_string().into(), rbs :: to_value(role_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(257usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(su.user_id) from sys_user su left join sys_user_role sur on su.user_id = sur.user_id"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(159usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["role_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("(sur.role_id != ? or sur.role_id is null) and su.user_id != 1"); [INFO] [stdout] if { (& arg ["user_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.user_name like '%${user_name}%'".replacen("${user_name}", [INFO] [stdout] & { & arg ["user_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["phone_number"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and su.phonenumber like '%${phone_number}%'".replacen("${phone_number}", [INFO] [stdout] & { & arg ["phone_number"] }.string(), 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysRole], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysRole > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRole > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysRole > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_by_role_id(rb : & mut dyn Executor, is_admin : bool, id : String) [INFO] [stdout] -> rbatis :: Result < Vec < SysMenu > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("is_admin".to_string().into(), rbs :: to_value(is_admin) [INFO] [stdout] ?); rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(127usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select sm.* from sys_menu sm "); if [INFO] [stdout] { (& arg ["is_admin"]).op_ne(& true) }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("inner join sys_role_menu srm on sm.menu_id = srm.menu_id\nwhere srm.role_id in ( ? )"); [INFO] [stdout] } return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_by_user_id(rb : & mut dyn Executor, is_admin : bool, id : i32) -> [INFO] [stdout] rbatis :: Result < Vec < SysMenu > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("is_admin".to_string().into(), rbs :: to_value(is_admin) [INFO] [stdout] ?); rb_arg_map.insert("id".to_string().into(), rbs :: to_value(id) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(188usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select sm.* from sys_menu sm "); if [INFO] [stdout] { (& arg ["is_admin"]).op_ne(& true) }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ & arg ["id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("inner join sys_role_menu srm on srm.menu_id = sm.menu_id\ninner join sys_user_role sur on sur.role_id = srm.role_id\nwhere sur.user_id = ? "); [INFO] [stdout] } return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_menus_list(rb : & mut dyn Executor, menu_name : Option < String > , [INFO] [stdout] status : Option < String >) -> rbatis :: Result < Vec < SysMenuPage > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("menu_name".to_string().into(), rbs :: [INFO] [stdout] to_value(menu_name) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(94usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(70usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["menu_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and menu_name like '%${menu_name}%'".replacen("${menu_name}", [INFO] [stdout] & { & arg ["menu_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_menus_by_id(rb : & mut dyn Executor, menu_id : i64) -> [INFO] [stdout] rbatis :: Result < Vec < SysMenuPage > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/menu_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("menu_id".to_string().into(), rbs :: to_value(menu_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(51usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_menu"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["menu_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and menu_id = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysMenu], 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 :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysMenu > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysMenu > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysMenu > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; executor.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro py_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_by_page(rb : & mut dyn Executor, dict_name : & str, dict_type [INFO] [stdout] : & str, status : & str, begin_time : & str, end_time : & str, page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_name".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_name) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(219usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(190usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] sql.push_str(" and dict_name like '%${dict_name}%'".replacen("${dict_name}", [INFO] [stdout] & { & arg ["dict_name"] }.string(), 1).as_str()); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ?"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_by_count(rb : & mut dyn Executor, dict_name : & str, [INFO] [stdout] dict_type : & str, status : & str, begin_time : & str, end_time : & str) -> [INFO] [stdout] rbatis :: Result < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_name".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_name) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("begin_time".to_string().into(), rbs :: [INFO] [stdout] to_value(begin_time) ?); [INFO] [stdout] rb_arg_map.insert("end_time".to_string().into(), rbs :: to_value(end_time) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(186usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_dict_type"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(150usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_name"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_name"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_name = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } if { (& arg ["begin_time"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["begin_time"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["end_time"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and create_time between ? and ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_data_by_type(rb : & mut dyn Executor, dict_type : & str) -> rbatis [INFO] [stdout] :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(56usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_data"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(27usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_type = ? "); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_dict_by_id(rb : & mut dyn Executor, dict_id : i64) -> [INFO] [stdout] rbatis :: Result < Option < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_id".to_string().into(), rbs :: to_value(dict_id) [INFO] [stdout] ?); {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(52usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(23usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_id"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_id = ? "); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_dict_by_id(rb : & mut dyn Executor, arr : Vec < & str >) -> [INFO] [stdout] rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("arr".to_string().into(), rbs :: to_value(arr) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(48usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_dict_type "); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(20usize); [INFO] [stdout] sql.push_str("dict_id in "); sql.push_str("("); for (key, item) in [INFO] [stdout] { & arg ["arr"] } [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ item }).unwrap_or_default()); [INFO] [stdout] sql.push_str("?"); sql.push_str(","); [INFO] [stdout] } sql = sql.trim_end_matches(",").to_string(); sql.push_str(")"); [INFO] [stdout] sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_all_dict_type(rb : & mut dyn Executor) -> rbatis :: Result [INFO] [stdout] < Vec < SysDictType > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); {} use rbatis :: executor :: [INFO] [stdout] { RBatisRef }; let driver_type = rb.rb_ref().driver_type() ? ; use rbatis [INFO] [stdout] :: rbatis_codegen; pub fn impl_html_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(29usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_type"); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_data_by_page(rb : & mut dyn Executor, dict_label : Option < [INFO] [stdout] String > , dict_type : String, status : Option < String > , page_num : u64, [INFO] [stdout] page_size : u64) -> rbatis :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_label".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_label) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] rb_arg_map.insert("page_num".to_string().into(), rbs :: to_value(page_num) [INFO] [stdout] ?); [INFO] [stdout] rb_arg_map.insert("page_size".to_string().into(), rbs :: [INFO] [stdout] to_value(page_size) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(157usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select * from sys_dict_data"); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(129usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_label"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_label"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_label = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_num"] }).unwrap_or_default()); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["page_size"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" limit ?,?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] select_dict_type_data_by_count(rb : & mut dyn Executor, dict_label : Option < [INFO] [stdout] String > , dict_type : String, status : Option < String >) -> rbatis :: Result [INFO] [stdout] < u64 > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_label".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_label) ?); [INFO] [stdout] rb_arg_map.insert("dict_type".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_type) ?); [INFO] [stdout] rb_arg_map.insert("status".to_string().into(), rbs :: to_value(status) ?); [INFO] [stdout] {} use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(132usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select count(*) from sys_dict_data"); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(96usize); [INFO] [stdout] sql.push_str("1 = 1"); if [INFO] [stdout] { (& arg ["dict_label"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_label"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_label = ?"); [INFO] [stdout] } if { (& arg ["dict_type"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_type"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and dict_type = ?"); [INFO] [stdout] } if { (& arg ["status"]).op_ne(& "") }.to_owned().into() [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["status"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" and status = ?"); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn del_dict_data_by_id(rb : & mut dyn Executor, arr : Vec < & str >) [INFO] [stdout] -> rbatis :: Result < ExecResult > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("arr".to_string().into(), rbs :: to_value(arr) ?); {} [INFO] [stdout] use rbatis :: executor :: { RBatisRef }; let driver_type = [INFO] [stdout] rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; pub fn [INFO] [stdout] impl_html_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(50usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from sys_dict_data "); sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(22usize); [INFO] [stdout] sql.push_str("dict_code in "); sql.push_str("("); for (key, item) [INFO] [stdout] in { & arg ["arr"] } [INFO] [stdout] { [INFO] [stdout] args.push(rbs :: to_value({ item }).unwrap_or_default()); [INFO] [stdout] sql.push_str("?"); sql.push_str(","); [INFO] [stdout] } sql = sql.trim_end_matches(",").to_string(); sql.push_str(")"); [INFO] [stdout] sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; rb.exec(& sql, rb_args).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn select_dict_data_by_id(rb : & mut dyn Executor, dict_code : i64) [INFO] [stdout] -> rbatis :: Result < Vec < SysDictData > > [INFO] [stdout] { [INFO] [stdout] let _ = include_bytes! [INFO] [stdout] ("/opt/rustwide/workdir/src/mapper/xml/dict_xml.html"); let mut rb_arg_map [INFO] [stdout] = rbs :: value :: map :: ValueMap :: new(); [INFO] [stdout] rb_arg_map.insert("dict_code".to_string().into(), rbs :: [INFO] [stdout] to_value(dict_code) ?); {} use rbatis :: executor :: { RBatisRef }; let [INFO] [stdout] driver_type = rb.rb_ref().driver_type() ? ; use rbatis :: rbatis_codegen; [INFO] [stdout] pub fn impl_html_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(57usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str(" select * from sys_dict_data "); [INFO] [stdout] sql.push_str(" where "); [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: with_capacity(26usize); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["dict_code"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("dict_code = ?"); sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string(); [INFO] [stdout] sql [INFO] [stdout] }); sql.push_str(" "); sql = sql.trim_end().to_string(); sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string(); return (sql, args); [INFO] [stdout] } let (mut sql, rb_args) = [INFO] [stdout] impl_html_sql(& rbs :: Value :: Map(rb_arg_map), '?'); use rbatis :: [INFO] [stdout] executor :: { Executor }; let r = rb.query(& sql, rb_args).await ? ; [INFO] [stdout] rbatis :: decode :: decode(r) [INFO] [stdout] } [INFO] [stdout] ............gen macro html_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] [SysDictType], table_name : & str,) -> std :: result :: Result < rbatis :: [INFO] [stdout] rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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 < SysDictType > , [INFO] [stdout] rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(44usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} ".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} = ?".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 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 < SysDictType > , rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(80usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("select ${table_column} from ${table_name} where ${column} in (".replacen("${table_column}", [INFO] [stdout] & { & arg ["table_column"] }.string(), [INFO] [stdout] 1).replacen("${table_name}", & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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_column_value(executor : & dyn rbatis :: executor :: Executor, [INFO] [stdout] table_name : String, table : & rbs :: Value, column : & str, column_value : [INFO] [stdout] & rbs :: Value,) -> 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 :: new(); [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("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(77usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("update ${table_name} set ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k}=?,".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(",").trim_end_matches(",").to_string(); sql [INFO] [stdout] }); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str(" where ${column} = ?".replacen("${column}", & [INFO] [stdout] { & arg ["column"] }.string(), 1).as_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 }; 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 delete_by_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_value : V,) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] args.push(rbs :: [INFO] [stdout] to_value({ & arg ["column_value"] }).unwrap_or_default()); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} = ?".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_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 }; 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 delete_in_column < V : serde :: Serialize, > [INFO] [stdout] (executor : & dyn rbatis :: executor :: Executor, table_name : String, column [INFO] [stdout] : & str, column_values : & [V],) -> 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 :: new(); [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(63usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("delete from ${table_name} where ${column} in (".replacen("${table_name}", [INFO] [stdout] & { & arg ["table_name"] }.string(), [INFO] [stdout] 1).replacen("${column}", & { & arg ["column"] }.string(), [INFO] [stdout] 1).as_str()); [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 }; 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] [SysDictDataEntity], table_name : & str,) -> std :: result :: Result < rbatis [INFO] [stdout] :: rbdc :: db :: ExecResult, rbatis :: rbdc :: Error > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbs :: value :: map :: ValueMap :: new(); [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(65usize); let mut args = Vec :: with_capacity(20); [INFO] [stdout] sql.push_str("insert into ${table_name} ".replacen("${table_name}", & [INFO] [stdout] { & arg ["table_name"] }.string(), 1).as_str()); [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("${k},".replacen("${k}", & { k }.string(), [INFO] [stdout] 1).as_str()); [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("),"); [WARN] too many lines in the log, truncating it