embucket-labs
embucket-labs copied to clipboard
Unable to create a table with very big negative number
Embucket current panics with the following query
CREATE TABLE local_db.s.t2 AS VALUES (2, -12345678901234567890123456789012345678);
This is the stack trace:
Error occurred: 000200: 200: Threaded Job error: Panic: Number less than minimum value that can be represented.: 0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: std::backtrace::Backtrace::create
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/backtrace.rs:331:13
3: snafu::backtrace_impl::<impl snafu::GenerateImplicitData for std::backtrace::Backtrace>::generate
at /Users/ramp/.asdf/installs/rust/1.87.0/registry/src/index.crates.io-1949cf8c6b5b557f/snafu-0.8.6/src/backtrace_impl_std.rs:5:9
4: snafu::GenerateImplicitData::generate_with_source
at /Users/ramp/.asdf/installs/rust/1.87.0/registry/src/index.crates.io-1949cf8c6b5b557f/snafu-0.8.6/src/lib.rs:1365:9
5: <core_executor::error::JobSnafu as snafu::IntoError<core_executor::error::Error>>::into_error
at ./crates/core-executor/src/error.rs:13:10
6: <core::result::Result<T,E> as snafu::ResultExt<T,E>>::context
at /Users/ramp/.asdf/installs/rust/1.87.0/registry/src/index.crates.io-1949cf8c6b5b557f/snafu-0.8.6/src/lib.rs:896:31
The rust_decimal crate only supports up to 28 digits(https://docs.rs/rust_decimal/latest/rust_decimal/#comparison-to-other-decimal-implementations) while Snowflake supports up to 38 digits, so I guess we have to look for an alternative.