Repository navigation
Weasel 9.48.0, and MySqlConnector 2.6.1 with it - #5335
Merged
Merged
Conversation
Wolverine pins all eight Weasel packages, so it has the widest surface of the four consumers, but most of this release lands on paths Wolverine does not take. MySqlConnector moves to 2.6.1 as part of this, and not optionally: Weasel.MySql 9.48.0 declares a floor of 2.6.1, so the restore fails with NU1605 at the 2.4.0 this repo pinned. Weasel took it for GHSA-473q-m89c-ghf8 (weasel#767), so that advisory closes for WolverineFx.MySql here too. weasel#758/#759: the parameter-type catch-all. Wolverine does not call ToParameterType itself; it hands SqlServerProvider.Instance and PostgresqlProvider.Instance to the Weasel base classes, so what it gets is the corrected resolution underneath. On SQL Server, short, byte, float, char, DateOnly and TimeOnly were unmapped and went out as sql_variant, which converts the column once per row, and DateTime resolved to SqlDbType.Date, which dropped the time of day on a bound value. Both are fixed, and the generated datetime COLUMN type is unchanged, so no envelope table produces a schema diff. weasel#766: sp_getapplock's wait was capped by the connection's CommandTimeout. Latent rather than live here: SqlServerMessageStore.DurabilityPass passes lockTimeoutMs 0 and the other SQL Server call sites take the 1000ms default, so none was near the 30 second cap. It matters if DefaultLockTimeoutMilliseconds is ever raised past 30 seconds, which before this release would have had no effect. No Wolverine code changes. Restores and builds clean against the published packages; the JasperFx 2.98.0 floor was already satisfied by #5333. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…9.48.0 Weasel 9.48.0 (weasel#758/#759) now types a DateTime as datetime2 itself, so SqlServerDbCommandBuilder no longer resets it and SqlClient no longer infers datetime. The assertion's point was "not date"; every envelope time column is datetimeoffset, which outranks both datetime and datetime2, so the parameter converts and no column is converted either way. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Weasel 9.48.0, published today. Release notes: https://weasel.jasperfx.net/release-9-48
Nine PRs went into it: the parameter-type catch-all fix (weasel#758/#759 → #760) and the three issues it uncovered (#761, #762, #763), three SQL Server bugs found from Polecat (#764, #765, #766), MySqlConnector 2.6.1 for GHSA-473q-m89c-ghf8 (#767) and JasperFx 2.98.0 (#769).
MySqlConnector 2.6.1 is required, not tidy
Weasel.MySql 9.48.0declares a floor ofMySqlConnector >= 2.6.1, so at the2.4.0this repo pinned the restore fails withNU1605, a package downgrade promoted to an error:Weasel took that bump for GHSA-473q-m89c-ghf8 (weasel#767), so the advisory closes for
WolverineFx.MySqlhere too. That is the one part of this PR that is not a version string.What else reaches Wolverine
Wolverine pins all eight Weasel packages, the widest surface of the four consumers, but most of this release lands on paths it does not take.
ToParameterTypeitself; it handsSqlServerProvider.InstanceandPostgresqlProvider.Instanceto the Weasel base classes, so what it gets is the corrected resolution underneath. On SQL Server,short,byte,float,char,DateOnlyandTimeOnlywere unmapped and went out assql_variant, which outranks every ordinary type in data type precedence and so converts the column once per row; andDateTimeresolved toSqlDbType.Date, which dropped the time of day on a bound value. Both fixed, and the generateddatetimecolumn type is unchanged, so no envelope table produces a schema diff.sp_getapplock's wait was capped by the connection'sCommandTimeout. Latent rather than live here, and I checked each call site:SqlServerMessageStore.DurabilityPasspasseslockTimeoutMs: 0, andSqlServerMessageStoreandSqlServerAdvisoryLocktake the 1000ms default — none anywhere near the 30 second cap. It matters ifSharedLockExtensions.DefaultLockTimeoutMillisecondsis ever raised past 30 seconds, which before this release would have had no effect at all.DateOnly/TimeOnlynow map on MySQL and are refused on Oracle, where ODP.NET has no conversion for either CLR type against anyOracleDbType.Wolverine.MySqlandWolverine.Oraclebind neither, so inert — but it is a newNotSupportedExceptionon a path that previously sent a culture-dependent string.Verification
No Wolverine code changes.
dotnet restoreanddotnet build wolverine.slnxclean against the published packages, 0 errors. The JasperFx 2.98.0 floor was already satisfied by #5333.🤖 Generated with Claude Code