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 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/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")] 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)) }