Repository navigation
Weasel 9.27.2
One fix since 9.27.1, and like that release it is a case of the guard existing but not everywhere it needed to.
#525 — a static partition alongside a partition manager is now refused in every order. A partition manager owns the whole partition set, so a statically declared partition sitting next to one is silently ignored: the caller wrote something that cannot do what they meant.
RangePartitioning.AddRange already refused this. ListPartitioning.AddPartition did not, and neither class guarded UsePartitionManager — so even where the refusal existed, it depended on the order the fluent calls happened to be written in:
| Order | Range | List |
|---|---|---|
| manager, then static partition | threw | accepted |
| static partition, then manager | accepted | accepted |
All four now throw. A fluent builder gives the caller no reason to prefer one order, so the guard should not depend on one either.
Two smaller things fall out of the same change: ListPartitioning.UsePartitionManager now null-checks its argument like its range twin (a null manager was accepted and then silently fell back to the static partitions), and UsePartitionManager clearing EnableDefaultPartition — load-bearing rather than incidental, since it is what made the empty enumeration in #520 total rather than merely short — now has a test pinning it.
AddPartitionWithSqlLiterals is deliberately left unguarded and pinned as such: introspection populates a read table's partitions, and a table read back out of the catalog never carries a manager.
Upgrading. If a configuration of yours declared a static partition alongside a manager, it was already being ignored — you now get an exception at configuration time instead of silence. Remove whichever of the two you did not mean.
Full notes: https://weasel.jasperfx.net/release-9-27