Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
82691: storage: add range key support for `MVCCIncrementalIterator` r=erikgrinaker a=erikgrinaker **storage: minor `MVCCIncrementalIterator` cleanup** This patch makes some minor, mechanical cleanups of `MVCCIncrementalIterator`: * `checkValidAndSaveErr` was renamed `updateValid`. * `initMetaAndCheckForIntentOrInlineError` was renamed `updateMeta`. * `NextKeyIgnoringTime` was removed, as it was never used. * `Key()` and `Value()` were removed, as they are not part of the `SimpleMVCCIterator` interface. * Method comments that were copies of interface method comments were replaced with "implements SimpleMVCCIterator" variants. Release note: None **storage: add range key support for `MVCCIncrementalIterator`** This patch adds range key support for `MVCCIncrementalIterator`, filtering them by the time bounds and exposing them via the usual `SimpleMVCCIterator` interface. This comes with a moderate performance penalty in the no-range-key case, mostly due to additional `HasPointAndRange()` checks. This, and the range key paths, will be optimized later. For now, correctness is sufficient, in order to unblock higher-level work. ``` name old time/op new time/op delta MVCCIncrementalIterator/ts=5-24 11.7ms ± 9% 12.1ms ± 3% ~ (p=0.065 n=9+10) MVCCIncrementalIterator/ts=480-24 442µs ± 1% 444µs ± 1% ~ (p=0.094 n=9+9) MVCCIncrementalIteratorForOldData/valueSize=100-24 1.41ms ± 1% 1.49ms ± 1% +5.59% (p=0.000 n=10+10) MVCCIncrementalIteratorForOldData/valueSize=500-24 1.89ms ± 2% 1.98ms ± 2% +4.61% (p=0.000 n=10+10) MVCCIncrementalIteratorForOldData/valueSize=1000-24 2.59ms ± 2% 2.68ms ± 1% +3.33% (p=0.000 n=10+10) MVCCIncrementalIteratorForOldData/valueSize=2000-24 4.15ms ± 2% 4.12ms ± 3% ~ (p=0.481 n=10+10) ``` Release note: None 82754: sql: fix DECLARE with pgwire placeholders r=jordanlewis a=jordanlewis Closes cockroachdb#82565 Closes cockroachdb#77067 Previously, it was not possible to prepare a DECLARE statement via pgwire if it included placeholders. That limitation is now lifted. cc `@dvarrazzo` Release note (bug fix): add missing support for preparing a DECLARE cursor statement with placeholders. Co-authored-by: Erik Grinaker <[email protected]> Co-authored-by: Jordan Lewis <[email protected]>
- Loading branch information