From 2ef846a3a2a7ea4a8f0990b9099fd1e7b70bdab6 Mon Sep 17 00:00:00 2001 From: Eric Sheppard Date: Tue, 25 Mar 2025 01:29:51 +0000 Subject: [PATCH 1/3] add intosql impls for decimal --- src/tds/numeric.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/tds/numeric.rs b/src/tds/numeric.rs index 4f856beb..60dd17e7 100644 --- a/src/tds/numeric.rs +++ b/src/tds/numeric.rs @@ -263,6 +263,23 @@ mod decimal { Numeric::new_with_scale(value, self_.scale() as u8) }); ); + + #[cfg(feature = "tds73")] + into_sql!(self_, + Decimal: (ColumnData::Numeric, { + let unpacked = self_.unpack(); + + let mut value = (((unpacked.hi as u128) << 64) + + ((unpacked.mid as u128) << 32) + + unpacked.lo as u128) as i128; + + if self_.is_sign_negative() { + value = -value; + } + + Numeric::new_with_scale(value, self_.scale() as u8) + }); + ); } #[cfg(feature = "bigdecimal")] From 8cd63e7ecba237861cf2edd8e0e048716debab87 Mon Sep 17 00:00:00 2001 From: Eric Sheppard Date: Tue, 15 Apr 2025 02:18:49 +0000 Subject: [PATCH 2/3] update cache to v4 --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fec4c17a..13f26a31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,7 +61,7 @@ jobs: - uses: actions-rs/toolchain@v1 - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: path: | ~/.cargo/registry @@ -108,20 +108,20 @@ jobs: - name: Setup PowerShell module cache id: cacher - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{ steps.psmodulecache.outputs.modulepath }} key: ${{ steps.psmodulecache.outputs.keygen }} - name: Setup Chocolatey download cache id: chococache - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey\ key: chocolatey-install - name: Setup Cargo build cache - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | C:\Users\runneradmin\.cargo\registry From 833ee5a9e0600be1d60959e311de977aed4cc5bf Mon Sep 17 00:00:00 2001 From: Eric Sheppard Date: Wed, 19 Nov 2025 15:29:09 +1100 Subject: [PATCH 3/3] remove info log --- src/client/connection.rs | 4 ++-- src/client/tls_stream/native_tls_stream.rs | 2 +- src/client/tls_stream/opentls_tls_stream.rs | 2 +- src/client/tls_stream/rustls_tls_stream.rs | 4 ++-- src/tds/stream/token.rs | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/client/connection.rs b/src/client/connection.rs index c6ce1d66..75866224 100644 --- a/src/client/connection.rs +++ b/src/client/connection.rs @@ -445,7 +445,7 @@ impl Connection { encryption: EncryptionLevel, ) -> crate::Result { if encryption != EncryptionLevel::NotSupported { - event!(Level::INFO, "Performing a TLS handshake"); + event!(Level::DEBUG, "Performing a TLS handshake"); let Self { transport, context, .. @@ -458,7 +458,7 @@ impl Connection { }; stream.get_mut().handshake_complete(); - event!(Level::INFO, "TLS handshake successful"); + event!(Level::DEBUG, "TLS handshake successful"); let transport = Framed::new(MaybeTlsStream::Tls(stream), PacketCodec); diff --git a/src/client/tls_stream/native_tls_stream.rs b/src/client/tls_stream/native_tls_stream.rs index cf5591d8..b3ce1e93 100644 --- a/src/client/tls_stream/native_tls_stream.rs +++ b/src/client/tls_stream/native_tls_stream.rs @@ -52,7 +52,7 @@ pub(crate) async fn create_tls_stream( builder = builder.use_sni(false); } TrustConfig::Default => { - event!(Level::INFO, "Using default trust configuration."); + event!(Level::DEBUG, "Using default trust configuration."); } } diff --git a/src/client/tls_stream/opentls_tls_stream.rs b/src/client/tls_stream/opentls_tls_stream.rs index 1f028669..fa8009a6 100644 --- a/src/client/tls_stream/opentls_tls_stream.rs +++ b/src/client/tls_stream/opentls_tls_stream.rs @@ -52,7 +52,7 @@ pub(crate) async fn create_tls_stream( builder = builder.use_sni(false); } TrustConfig::Default => { - event!(Level::INFO, "Using default trust configuration."); + event!(Level::DEBUG, "Using default trust configuration."); } } diff --git a/src/client/tls_stream/rustls_tls_stream.rs b/src/client/tls_stream/rustls_tls_stream.rs index e417583a..25477e72 100644 --- a/src/client/tls_stream/rustls_tls_stream.rs +++ b/src/client/tls_stream/rustls_tls_stream.rs @@ -72,7 +72,7 @@ fn get_server_name(config: &Config) -> crate::Result { impl TlsStream { pub(super) async fn new(config: &Config, stream: S) -> crate::Result { - event!(Level::INFO, "Performing a TLS handshake"); + event!(Level::DEBUG, "Performing a TLS handshake"); let builder = ClientConfig::builder().with_safe_defaults(); @@ -129,7 +129,7 @@ impl TlsStream { config } TrustConfig::Default => { - event!(Level::INFO, "Using default trust configuration."); + event!(Level::DEBUG, "Using default trust configuration."); builder.with_native_roots().with_no_client_auth() } }; diff --git a/src/tds/stream/token.rs b/src/tds/stream/token.rs index 35ce0658..74ecf8c8 100644 --- a/src/tds/stream/token.rs +++ b/src/tds/stream/token.rs @@ -184,20 +184,20 @@ where _ => (), } - event!(Level::INFO, "{}", change); + event!(Level::DEBUG, "{}", change); Ok(ReceivedToken::EnvChange(change)) } async fn get_info(&mut self) -> crate::Result { let info = TokenInfo::decode(self.conn).await?; - event!(Level::INFO, "{}", info.message); + event!(Level::DEBUG, "{}", info.message); Ok(ReceivedToken::Info(info)) } async fn get_login_ack(&mut self) -> crate::Result { let ack = TokenLoginAck::decode(self.conn).await?; - event!(Level::INFO, "{} version {}", ack.prog_name, ack.version); + event!(Level::DEBUG, "{} version {}", ack.prog_name, ack.version); Ok(ReceivedToken::LoginAck(ack)) }