[INFO] cloning repository https://github.com/ardyffe/kuba
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ardyffe/kuba" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fardyffe%2Fkuba", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fardyffe%2Fkuba'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cc3007a20ae0510b91c64b79aab5a0109b0293db
[INFO] checking ardyffe/kuba against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fardyffe%2Fkuba" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ardyffe/kuba
[INFO] finished tweaking git repo https://github.com/ardyffe/kuba
[INFO] tweaked toml for git repo https://github.com/ardyffe/kuba written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ardyffe/kuba on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ardyffe/kuba 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqlx-sqlite v0.9.0
[INFO] [stderr]   Downloaded etcetera v0.11.0
[INFO] [stderr]   Downloaded sqlx-macros v0.9.0
[INFO] [stderr]   Downloaded sqlx v0.9.0
[INFO] [stderr]   Downloaded sqlx-core v0.9.0
[INFO] [stderr]   Downloaded sqlx-mysql v0.9.0
[INFO] [stderr]   Downloaded sqlx-macros-core v0.9.0
[INFO] [stderr]   Downloaded sqlx-postgres v0.9.0
[INFO] [stderr]   Downloaded hkdf v0.13.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.37.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d
[INFO] running `Command { std: "docker" "start" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]     Checking hybrid-array v0.4.14
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling futures-io v0.3.34
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling event-listener v5.4.2
[INFO] [stderr]    Compiling hashlink v0.11.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.13
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling uuid v1.25.0
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking ipnet v2.12.1
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling hkdf v0.13.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling whoami v2.1.3
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tower-http v0.7.0
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling sqlx-core v0.9.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]    Compiling sqlx-postgres v0.9.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-macros-core v0.9.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]    Compiling sqlx-macros v0.9.0
[INFO] [stderr]     Checking sqlx v0.9.0
[INFO] [stderr]     Checking kuba v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |       let inserted = sqlx::query_scalar!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 62 | |         r#"
[INFO] [stdout] 63 | |         INSERT INTO invoices (id, original_filename, storage_path, mime_type, size_bytes, sha256)
[INFO] [stdout] 64 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         sha256,
[INFO] [stdout] 74 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:79:27
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let existing_id = sqlx::query_scalar!("SELECT id FROM invoices WHERE sha256 = $1", sha256)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if let Err(cleanup) = sqlx::query!("DELETE FROM invoices WHERE id = $1", id)
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |       let inserted = sqlx::query_scalar!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 62 | |         r#"
[INFO] [stdout] 63 | |         INSERT INTO invoices (id, original_filename, storage_path, mime_type, size_bytes, sha256)
[INFO] [stdout] 64 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         sha256,
[INFO] [stdout] 74 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:79:27
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let existing_id = sqlx::query_scalar!("SELECT id FROM invoices WHERE sha256 = $1", sha256)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let invoices = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 118 | |         Invoice,
[INFO] [stdout] 119 | |         r#"
[INFO] [stdout] 120 | |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |         "#
[INFO] [stdout] 126 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/invoices.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if let Err(cleanup) = sqlx::query!("DELETE FROM invoices WHERE id = $1", id)
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |       let invoice = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 152 | |         Invoice,
[INFO] [stdout] 153 | |         r#"
[INFO] [stdout] 154 | |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |         id
[INFO] [stdout] 161 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |       let lines = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 172 | |         InvoiceLineItem,
[INFO] [stdout] 173 | |         r#"
[INFO] [stdout] 174 | |         SELECT id, line_no, raw_text, description, ean, supplier_sku, quantity,
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |         id
[INFO] [stdout] 185 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let requeued = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 205 | |         r#"
[INFO] [stdout] 206 | |         UPDATE invoices
[INFO] [stdout] 207 | |         SET status = 'pending', attempts = 0, error_message = NULL,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | |         id
[INFO] [stdout] 213 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let invoices = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 118 | |         Invoice,
[INFO] [stdout] 119 | |         r#"
[INFO] [stdout] 120 | |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |         "#
[INFO] [stdout] 126 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:233:27
[INFO] [stdout]     |
[INFO] [stdout] 233 |               let current = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 234 | |                 r#"SELECT status as "status: InvoiceStatus" FROM invoices WHERE id = $1"#,
[INFO] [stdout] 235 | |                 id
[INFO] [stdout] 236 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:254:18
[INFO] [stdout]     |
[INFO] [stdout] 254 |       let record = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 255 | |         "SELECT storage_path, original_filename FROM invoices WHERE id = $1",
[INFO] [stdout] 256 | |         id
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |       let invoice = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 152 | |         Invoice,
[INFO] [stdout] 153 | |         r#"
[INFO] [stdout] 154 | |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |         id
[INFO] [stdout] 161 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |       let lines = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 172 | |         InvoiceLineItem,
[INFO] [stdout] 173 | |         r#"
[INFO] [stdout] 174 | |         SELECT id, line_no, raw_text, description, ean, supplier_sku, quantity,
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |         id
[INFO] [stdout] 185 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/products.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |       let products = sqlx::query_as!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 54 | |         ProductSummary,
[INFO] [stdout] 55 | |         r#"
[INFO] [stdout] 56 | |         SELECT id, ean, sku, title, brand, price,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | |         offset,
[INFO] [stdout] 71 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let requeued = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 205 | |         r#"
[INFO] [stdout] 206 | |         UPDATE invoices
[INFO] [stdout] 207 | |         SET status = 'pending', attempts = 0, error_message = NULL,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | |         id
[INFO] [stdout] 213 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:233:27
[INFO] [stdout]     |
[INFO] [stdout] 233 |               let current = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 234 | |                 r#"SELECT status as "status: InvoiceStatus" FROM invoices WHERE id = $1"#,
[INFO] [stdout] 235 | |                 id
[INFO] [stdout] 236 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/invoices.rs:254:18
[INFO] [stdout]     |
[INFO] [stdout] 254 |       let record = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 255 | |         "SELECT storage_path, original_filename FROM invoices WHERE id = $1",
[INFO] [stdout] 256 | |         id
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/products.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let product = sqlx::query_as!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 84 | |         Product,
[INFO] [stdout] 85 | |         r#"
[INFO] [stdout] 86 | |         SELECT id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |         id
[INFO] [stdout] 93 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/products.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 155 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 156 | |         Product,
[INFO] [stdout] 157 | |         r#"
[INFO] [stdout] 158 | |         UPDATE products
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         description,
[INFO] [stdout] 171 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/products.rs:196:19
[INFO] [stdout]     |
[INFO] [stdout] 196 |       let deleted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 197 | |         r#"
[INFO] [stdout] 198 | |         UPDATE products
[INFO] [stdout] 199 | |         SET status = 'deleted', updated_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | |         id
[INFO] [stdout] 204 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/products.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |       let products = sqlx::query_as!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 54 | |         ProductSummary,
[INFO] [stdout] 55 | |         r#"
[INFO] [stdout] 56 | |         SELECT id, ean, sku, title, brand, price,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | |         offset,
[INFO] [stdout] 71 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/routes/products.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let product = sqlx::query_as!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 84 | |         Product,
[INFO] [stdout] 85 | |         r#"
[INFO] [stdout] 86 | |         SELECT id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |         id
[INFO] [stdout] 93 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/products.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 155 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 156 | |         Product,
[INFO] [stdout] 157 | |         r#"
[INFO] [stdout] 158 | |         UPDATE products
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         description,
[INFO] [stdout] 171 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/routes/products.rs:196:19
[INFO] [stdout]     |
[INFO] [stdout] 196 |       let deleted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 197 | |         r#"
[INFO] [stdout] 198 | |         UPDATE products
[INFO] [stdout] 199 | |         SET status = 'deleted', updated_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | |         id
[INFO] [stdout] 204 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |       let requeued = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 171 | |         r#"
[INFO] [stdout] 172 | |         UPDATE invoices
[INFO] [stdout] 173 | |         SET status = 'pending', started_at = NULL
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |         "#
[INFO] [stdout] 177 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |       let requeued = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 171 | |         r#"
[INFO] [stdout] 172 | |         UPDATE invoices
[INFO] [stdout] 173 | |         SET status = 'pending', started_at = NULL
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |         "#
[INFO] [stdout] 177 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let job = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 205 | |         Job,
[INFO] [stdout] 206 | |         r#"
[INFO] [stdout] 207 | |         WITH prossima AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |         "#
[INFO] [stdout] 225 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let job = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 205 | |         Job,
[INFO] [stdout] 206 | |         r#"
[INFO] [stdout] 207 | |         WITH prossima AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |         "#
[INFO] [stdout] 225 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |       let lines = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 340 | |         r#"
[INFO] [stdout] 341 | |         SELECT id, description, raw_text, ean, unit_price, kind as "kind: LineItemKind"
[INFO] [stdout] 342 | |         FROM invoice_line_items
[INFO] [stdout] ...   |
[INFO] [stdout] 346 | |         invoice_id
[INFO] [stdout] 347 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:374:36
[INFO] [stdout]     |
[INFO] [stdout] 374 |                       let existing = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 375 | |                         r#"SELECT id, status as "status: ProductStatus" FROM products WHERE ean = $1"#,
[INFO] [stdout] 376 | |                         ean
[INFO] [stdout] 377 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:395:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | /         sqlx::query!(
[INFO] [stdout] 396 | |             r#"
[INFO] [stdout] 397 | |             UPDATE invoice_line_items
[INFO] [stdout] 398 | |             SET action = $2, status = $3, matched_product_id = $4, error_message = $5
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | |             motivo,
[INFO] [stdout] 406 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |       let lines = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 340 | |         r#"
[INFO] [stdout] 341 | |         SELECT id, description, raw_text, ean, unit_price, kind as "kind: LineItemKind"
[INFO] [stdout] 342 | |         FROM invoice_line_items
[INFO] [stdout] ...   |
[INFO] [stdout] 346 | |         invoice_id
[INFO] [stdout] 347 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:374:36
[INFO] [stdout]     |
[INFO] [stdout] 374 |                       let existing = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 375 | |                         r#"SELECT id, status as "status: ProductStatus" FROM products WHERE ean = $1"#,
[INFO] [stdout] 376 | |                         ean
[INFO] [stdout] 377 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:395:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | /         sqlx::query!(
[INFO] [stdout] 396 | |             r#"
[INFO] [stdout] 397 | |             UPDATE invoice_line_items
[INFO] [stdout] 398 | |             SET action = $2, status = $3, matched_product_id = $4, error_message = $5
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | |             motivo,
[INFO] [stdout] 406 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:498:19
[INFO] [stdout]     |
[INFO] [stdout] 498 |       let created = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 499 | |         r#"
[INFO] [stdout] 500 | |         INSERT INTO products
[INFO] [stdout] 501 | |             (ean, title, description, summary, meta_title, meta_description, slug, brand,
[INFO] [stdout] ...   |
[INFO] [stdout] 518 | |         line.id,
[INFO] [stdout] 519 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:528:28
[INFO] [stdout]     |
[INFO] [stdout] 528 |             let existing = sqlx::query_scalar!("SELECT id FROM products WHERE ean = $1", line.ean)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 535 | /     sqlx::query!(
[INFO] [stdout] 536 | |         r#"
[INFO] [stdout] 537 | |         UPDATE invoice_line_items
[INFO] [stdout] 538 | |         SET status = 'done', action = $2, matched_product_id = $3, error_message = NULL
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         product_id,
[INFO] [stdout] 544 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:553:23
[INFO] [stdout]     |
[INFO] [stdout] 553 |       if let Err(err) = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 554 | |         "UPDATE invoice_line_items SET status = 'failed', error_message = $2 WHERE id = $1",
[INFO] [stdout] 555 | |         line_id,
[INFO] [stdout] 556 | |         message,
[INFO] [stdout] 557 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:498:19
[INFO] [stdout]     |
[INFO] [stdout] 498 |       let created = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 499 | |         r#"
[INFO] [stdout] 500 | |         INSERT INTO products
[INFO] [stdout] 501 | |             (ean, title, description, summary, meta_title, meta_description, slug, brand,
[INFO] [stdout] ...   |
[INFO] [stdout] 518 | |         line.id,
[INFO] [stdout] 519 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:528:28
[INFO] [stdout]     |
[INFO] [stdout] 528 |             let existing = sqlx::query_scalar!("SELECT id FROM products WHERE ean = $1", line.ean)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 535 | /     sqlx::query!(
[INFO] [stdout] 536 | |         r#"
[INFO] [stdout] 537 | |         UPDATE invoice_line_items
[INFO] [stdout] 538 | |         SET status = 'done', action = $2, matched_product_id = $3, error_message = NULL
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         product_id,
[INFO] [stdout] 544 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:553:23
[INFO] [stdout]     |
[INFO] [stdout] 553 |       if let Err(err) = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 554 | |         "UPDATE invoice_line_items SET status = 'failed', error_message = $2 WHERE id = $1",
[INFO] [stdout] 555 | |         line_id,
[INFO] [stdout] 556 | |         message,
[INFO] [stdout] 557 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 588 | /     sqlx::query!(
[INFO] [stdout] 589 | |         r#"
[INFO] [stdout] 590 | |         UPDATE invoices
[INFO] [stdout] 591 | |         SET supplier_name = $2, invoice_number = $3, invoice_date = $4,
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         parse_decimal(extracted.total_amount.as_deref(), "total_amount"),
[INFO] [stdout] 601 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:606:9
[INFO] [stdout]     |
[INFO] [stdout] 606 | /         sqlx::query!(
[INFO] [stdout] 607 | |             r#"
[INFO] [stdout] 608 | |             INSERT INTO invoice_line_items
[INFO] [stdout] 609 | |                 (invoice_id, line_no, raw_text, description, ean, supplier_sku,
[INFO] [stdout] ...   |
[INFO] [stdout] 633 | |             LineItemKind::parse(&line.kind) as LineItemKind,
[INFO] [stdout] 634 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 588 | /     sqlx::query!(
[INFO] [stdout] 589 | |         r#"
[INFO] [stdout] 590 | |         UPDATE invoices
[INFO] [stdout] 591 | |         SET supplier_name = $2, invoice_number = $3, invoice_date = $4,
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         parse_decimal(extracted.total_amount.as_deref(), "total_amount"),
[INFO] [stdout] 601 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:606:9
[INFO] [stdout]     |
[INFO] [stdout] 606 | /         sqlx::query!(
[INFO] [stdout] 607 | |             r#"
[INFO] [stdout] 608 | |             INSERT INTO invoice_line_items
[INFO] [stdout] 609 | |                 (invoice_id, line_no, raw_text, description, ean, supplier_sku,
[INFO] [stdout] ...   |
[INFO] [stdout] 633 | |             LineItemKind::parse(&line.kind) as LineItemKind,
[INFO] [stdout] 634 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:691:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | /     sqlx::query!(
[INFO] [stdout] 692 | |         r#"
[INFO] [stdout] 693 | |         UPDATE invoices
[INFO] [stdout] 694 | |         SET status = 'succeeded', finished_at = now(), error_message = NULL,
[INFO] [stdout] ...   |
[INFO] [stdout] 698 | |         id
[INFO] [stdout] 699 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | /     sqlx::query!(
[INFO] [stdout] 712 | |         r#"
[INFO] [stdout] 713 | |         UPDATE invoices
[INFO] [stdout] 714 | |         SET status = 'pending',
[INFO] [stdout] ...   |
[INFO] [stdout] 722 | |         delay_secs as f64,
[INFO] [stdout] 723 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 730 | /     sqlx::query!(
[INFO] [stdout] 731 | |         r#"
[INFO] [stdout] 732 | |         UPDATE invoices
[INFO] [stdout] 733 | |         SET status = 'failed', finished_at = now(), error_message = $2,
[INFO] [stdout] ...   |
[INFO] [stdout] 738 | |         message
[INFO] [stdout] 739 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:691:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | /     sqlx::query!(
[INFO] [stdout] 692 | |         r#"
[INFO] [stdout] 693 | |         UPDATE invoices
[INFO] [stdout] 694 | |         SET status = 'succeeded', finished_at = now(), error_message = NULL,
[INFO] [stdout] ...   |
[INFO] [stdout] 698 | |         id
[INFO] [stdout] 699 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 | /     sqlx::query!(
[INFO] [stdout] 712 | |         r#"
[INFO] [stdout] 713 | |         UPDATE invoices
[INFO] [stdout] 714 | |         SET status = 'pending',
[INFO] [stdout] ...   |
[INFO] [stdout] 722 | |         delay_secs as f64,
[INFO] [stdout] 723 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/worker.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 730 | /     sqlx::query!(
[INFO] [stdout] 731 | |         r#"
[INFO] [stdout] 732 | |         UPDATE invoices
[INFO] [stdout] 733 | |         SET status = 'failed', finished_at = now(), error_message = $2,
[INFO] [stdout] ...   |
[INFO] [stdout] 738 | |         message
[INFO] [stdout] 739 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LineItemAction`, `LineItemKind`, and `LineItemStatus`
[INFO] [stdout]   --> src/routes/invoices.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::models::line_item::{InvoiceLineItem, LineItemAction, LineItemKind, LineItemStatus};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LineItemAction`, `LineItemKind`, and `LineItemStatus`
[INFO] [stdout]   --> src/routes/invoices.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::models::line_item::{InvoiceLineItem, LineItemAction, LineItemKind, LineItemStatus};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/routes/invoices.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if inserted.is_none() {
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]    = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/routes/invoices.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if inserted.is_none() {
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]    = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_none` found for type `!` in the current scope
[INFO] [stdout]   --> src/routes/invoices.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if inserted.is_none() {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_none` found for type `!` in the current scope
[INFO] [stdout]   --> src/routes/invoices.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if inserted.is_none() {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:166:6
[INFO] [stdout]     |
[INFO] [stdout] 166 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:166:6
[INFO] [stdout]     |
[INFO] [stdout] 166 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:166:6
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let invoice = sqlx::query_as!(
[INFO] [stdout] 152 |         Invoice,
[INFO] [stdout] 153 |         r#"
[INFO] [stdout] 154 |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] 155 |                invoice_date, currency, total_amount,
[INFO] [stdout] 156 |                status as "status: InvoiceStatus", error_message, uploaded_at
[INFO] [stdout] 157 |         FROM invoices
[INFO] [stdout] 158 |         WHERE id = $1
[INFO] [stdout] 159 |         "#,
[INFO] [stdout] 160 |         id
[INFO] [stdout] 161 |     )
[INFO] [stdout] 162 |     .fetch_optional(&state.db)
[INFO] [stdout] 163 |     .await?
[INFO] [stdout] 164 |     // `fetch_optional` dà `Option<Invoice>`: qui trasformiamo il caso `None`
[INFO] [stdout] 165 |     // nel nostro 404. `ok_or` converte un Option in un Result, e il `?` fa il resto.
[INFO] [stdout] 166 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:166:6
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let invoice = sqlx::query_as!(
[INFO] [stdout] 152 |         Invoice,
[INFO] [stdout] 153 |         r#"
[INFO] [stdout] 154 |         SELECT id, original_filename, size_bytes, sha256, supplier_name, invoice_number,
[INFO] [stdout] 155 |                invoice_date, currency, total_amount,
[INFO] [stdout] 156 |                status as "status: InvoiceStatus", error_message, uploaded_at
[INFO] [stdout] 157 |         FROM invoices
[INFO] [stdout] 158 |         WHERE id = $1
[INFO] [stdout] 159 |         "#,
[INFO] [stdout] 160 |         id
[INFO] [stdout] 161 |     )
[INFO] [stdout] 162 |     .fetch_optional(&state.db)
[INFO] [stdout] 163 |     .await?
[INFO] [stdout] 164 |     // `fetch_optional` dà `Option<Invoice>`: qui trasformiamo il caso `None`
[INFO] [stdout] 165 |     // nel nostro 404. `ok_or` converte un Option in un Result, e il `?` fa il resto.
[INFO] [stdout] 166 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |             .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |             .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let current = sqlx::query_scalar!(
[INFO] [stdout] 234 |                 r#"SELECT status as "status: InvoiceStatus" FROM invoices WHERE id = $1"#,
[INFO] [stdout] 235 |                 id
[INFO] [stdout] 236 |             )
[INFO] [stdout] 237 |             .fetch_optional(&state.db)
[INFO] [stdout] 238 |             .await?
[INFO] [stdout] 239 |             .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |              ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let current = sqlx::query_scalar!(
[INFO] [stdout] 234 |                 r#"SELECT status as "status: InvoiceStatus" FROM invoices WHERE id = $1"#,
[INFO] [stdout] 235 |                 id
[INFO] [stdout] 236 |             )
[INFO] [stdout] 237 |             .fetch_optional(&state.db)
[INFO] [stdout] 238 |             .await?
[INFO] [stdout] 239 |             .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |              ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:260:6
[INFO] [stdout]     |
[INFO] [stdout] 260 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/invoices.rs:260:6
[INFO] [stdout]     |
[INFO] [stdout] 260 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:260:6
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let record = sqlx::query!(
[INFO] [stdout] 255 |         "SELECT storage_path, original_filename FROM invoices WHERE id = $1",
[INFO] [stdout] 256 |         id
[INFO] [stdout] 257 |     )
[INFO] [stdout] 258 |     .fetch_optional(&state.db)
[INFO] [stdout] 259 |     .await?
[INFO] [stdout] 260 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/invoices.rs:260:6
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let record = sqlx::query!(
[INFO] [stdout] 255 |         "SELECT storage_path, original_filename FROM invoices WHERE id = $1",
[INFO] [stdout] 256 |         id
[INFO] [stdout] 257 |     )
[INFO] [stdout] 258 |     .fetch_optional(&state.db)
[INFO] [stdout] 259 |     .await?
[INFO] [stdout] 260 |     .ok_or(AppError::NotFound("fattura"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/routes/products.rs:96:6
[INFO] [stdout]    |
[INFO] [stdout] 96 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/routes/products.rs:96:6
[INFO] [stdout]    |
[INFO] [stdout] 96 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]   --> src/routes/products.rs:96:6
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let product = sqlx::query_as!(
[INFO] [stdout] 84 |         Product,
[INFO] [stdout] 85 |         r#"
[INFO] [stdout] 86 |         SELECT id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] 87 |                slug, brand, locale, attributes, categories, unit_cost, price,
[INFO] [stdout] 88 |                status as "status: ProductStatus", created_at, updated_at
[INFO] [stdout] 89 |         FROM products
[INFO] [stdout] 90 |         WHERE id = $1
[INFO] [stdout] 91 |         "#,
[INFO] [stdout] 92 |         id
[INFO] [stdout] 93 |     )
[INFO] [stdout] 94 |     .fetch_optional(&state.db)
[INFO] [stdout] 95 |     .await?
[INFO] [stdout] 96 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]    |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]   --> src/routes/products.rs:96:6
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let product = sqlx::query_as!(
[INFO] [stdout] 84 |         Product,
[INFO] [stdout] 85 |         r#"
[INFO] [stdout] 86 |         SELECT id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] 87 |                slug, brand, locale, attributes, categories, unit_cost, price,
[INFO] [stdout] 88 |                status as "status: ProductStatus", created_at, updated_at
[INFO] [stdout] 89 |         FROM products
[INFO] [stdout] 90 |         WHERE id = $1
[INFO] [stdout] 91 |         "#,
[INFO] [stdout] 92 |         id
[INFO] [stdout] 93 |     )
[INFO] [stdout] 94 |     .fetch_optional(&state.db)
[INFO] [stdout] 95 |     .await?
[INFO] [stdout] 96 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]    |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/products.rs:176:6
[INFO] [stdout]     |
[INFO] [stdout] 176 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/routes/products.rs:176:6
[INFO] [stdout]     |
[INFO] [stdout] 176 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/products.rs:176:6
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let product = sqlx::query_as!(
[INFO] [stdout] 156 |         Product,
[INFO] [stdout] 157 |         r#"
[INFO] [stdout] 158 |         UPDATE products
[INFO] [stdout] 159 |         SET title = COALESCE($2, title),
[INFO] [stdout] 160 |             description = CASE WHEN $3 THEN $4::text ELSE description END,
[INFO] [stdout] 161 |             updated_at = now()
[INFO] [stdout] 162 |         WHERE id = $1 AND status <> 'deleted'
[INFO] [stdout] 163 |         RETURNING id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] 164 |                   slug, brand, locale, attributes, categories, unit_cost, price,
[INFO] [stdout] 165 |                   status as "status: ProductStatus", created_at, updated_at
[INFO] [stdout] 166 |         "#,
[INFO] [stdout] 167 |         id,
[INFO] [stdout] 168 |         title,
[INFO] [stdout] 169 |         description_present,
[INFO] [stdout] 170 |         description,
[INFO] [stdout] 171 |     )
[INFO] [stdout] 172 |     .fetch_optional(&state.db)
[INFO] [stdout] 173 |     .await?
[INFO] [stdout] 174 |     // Nessuna riga aggiornata: o non esiste, o è già stata eliminata. Per chi
[INFO] [stdout] 175 |     // chiama sono lo stesso caso — la risorsa non è modificabile.
[INFO] [stdout] 176 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/routes/products.rs:176:6
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let product = sqlx::query_as!(
[INFO] [stdout] 156 |         Product,
[INFO] [stdout] 157 |         r#"
[INFO] [stdout] 158 |         UPDATE products
[INFO] [stdout] 159 |         SET title = COALESCE($2, title),
[INFO] [stdout] 160 |             description = CASE WHEN $3 THEN $4::text ELSE description END,
[INFO] [stdout] 161 |             updated_at = now()
[INFO] [stdout] 162 |         WHERE id = $1 AND status <> 'deleted'
[INFO] [stdout] 163 |         RETURNING id, ean, sku, title, description, summary, meta_title, meta_description,
[INFO] [stdout] 164 |                   slug, brand, locale, attributes, categories, unit_cost, price,
[INFO] [stdout] 165 |                   status as "status: ProductStatus", created_at, updated_at
[INFO] [stdout] 166 |         "#,
[INFO] [stdout] 167 |         id,
[INFO] [stdout] 168 |         title,
[INFO] [stdout] 169 |         description_present,
[INFO] [stdout] 170 |         description,
[INFO] [stdout] 171 |     )
[INFO] [stdout] 172 |     .fetch_optional(&state.db)
[INFO] [stdout] 173 |     .await?
[INFO] [stdout] 174 |     // Nessuna riga aggiornata: o non esiste, o è già stata eliminata. Per chi
[INFO] [stdout] 175 |     // chiama sono lo stesso caso — la risorsa non è modificabile.
[INFO] [stdout] 176 |     .ok_or(AppError::NotFound("prodotto"))?;
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/worker.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |     if !requeued.is_empty() {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/worker.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |     if !requeued.is_empty() {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/worker.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |     if !requeued.is_empty() {
[INFO] [stdout]     |                  ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/worker.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |     if !requeued.is_empty() {
[INFO] [stdout]     |                  ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/worker.rs:182:41
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tracing::warn!(count = requeued.len(), "lavori interrotti rimessi in coda");
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/worker.rs:182:41
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tracing::warn!(count = requeued.len(), "lavori interrotti rimessi in coda");
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worker.rs:182:41
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tracing::warn!(count = requeued.len(), "lavori interrotti rimessi in coda");
[INFO] [stdout]     |                                -------- ^^^ unreachable call
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worker.rs:182:41
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tracing::warn!(count = requeued.len(), "lavori interrotti rimessi in coda");
[INFO] [stdout]     |                                -------- ^^^ unreachable call
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kuba` (bin "kuba" test) due to 35 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `kuba` (bin "kuba") due to 35 previous errors; 16 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d", kill_on_drop: false }`
[INFO] [stdout] 5d82cbb6c250d2a394206979f72d0442bb0c8ddfe7f80f8e7f8104acc192051d
