Skip to content

Commit d7d99d2

Browse files
craig[bot]yuzefovich
andcommitted
Merge #144034
144034: util/bitarray: clean up a couple error messages r=yuzefovich a=yuzefovich This commit removes `GetBitAtIndex` and `SetBitAtIndex` from the errors returned by these functions. It brings them closer to what postgres returns. Epic: None Release note: None Co-authored-by: Yahor Yuzefovich <[email protected]>
2 parents 01bd316 + e15730f commit d7d99d2

File tree

4 files changed

+13
-15
lines changed

4 files changed

+13
-15
lines changed

pkg/cmd/roachtest/testdata/pg_regress/bit.diffs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ diff -U3 --label=/mnt/data1/postgres/src/test/regress/expected/bit.out --label=/
480480

481481
SELECT set_bit(B'0101011000100100', 16, 1); -- fail
482482
-ERROR: bit index 16 out of valid range (0..15)
483-
+ERROR: set_bit(): SetBitAtIndex: bit index 16 out of valid range (0..15)
483+
+ERROR: set_bit(): bit index 16 out of valid range (0..15)
484484
-- Overlay
485485
SELECT overlay(B'0101011100' placing '001' from 2 for 3);
486486
- overlay

pkg/sql/logictest/testdata/logic_test/builtin_function

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2962,10 +2962,10 @@ SELECT get_bit('000000'::varbit, 5) UNION SELECT get_bit('1111111'::varbit, 5)
29622962
1
29632963
0
29642964

2965-
query error get_bit\(\): GetBitAtIndex: bit index 10 out of valid range \(0..4\)
2965+
query error get_bit\(\): bit index 10 out of valid range \(0..4\)
29662966
SELECT get_bit(B'10110', 10)
29672967

2968-
query error get_bit\(\): GetBitAtIndex: bit index 0 out of valid range \(0..-1\)
2968+
query error get_bit\(\): bit index 0 out of valid range \(0..-1\)
29692969
SELECT get_bit(B'', 0);
29702970

29712971
query II
@@ -3020,13 +3020,13 @@ SELECT set_bit('000000'::varbit, 5, 1) UNION SELECT set_bit('111111'::varbit, 5,
30203020
000001
30213021
111110
30223022

3023-
query error set_bit\(\): SetBitAtIndex: bit index 10 out of valid range \(0..6\)
3023+
query error set_bit\(\): bit index 10 out of valid range \(0..6\)
30243024
SELECT set_bit(B'1101010', 10, 1)
30253025

30263026
query error set_bit\(\): new bit must be 0 or 1
30273027
SELECT set_bit(B'1001010', 0, 2)
30283028

3029-
query error set_bit\(\): SetBitAtIndex: bit index 0 out of valid range \(0..-1\)
3029+
query error set_bit\(\): bit index 0 out of valid range \(0..-1\)
30303030
SELECT set_bit(B'', 0, 1)
30313031

30323032
query IT

pkg/util/bitarray/bitarray.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -582,8 +582,7 @@ func Next(d BitArray) BitArray {
582582
func (d BitArray) GetBitAtIndex(index int) (int, error) {
583583
// Check whether index asked is inside BitArray.
584584
if index < 0 || uint(index) >= d.BitLen() {
585-
err := fmt.Errorf("GetBitAtIndex: bit index %d out of valid range (0..%d)", index, int(d.BitLen())-1)
586-
return 0, pgerror.WithCandidateCode(err, pgcode.ArraySubscript)
585+
return 0, pgerror.Newf(pgcode.ArraySubscript, "bit index %d out of valid range (0..%d)", index, int(d.BitLen())-1)
587586
}
588587
// To extract bit at the given index, we have to determine the
589588
// position within words array, i.e. index/numBitsPerWord after
@@ -599,8 +598,7 @@ func (d BitArray) SetBitAtIndex(index, toSet int) (BitArray, error) {
599598
res := d.Clone()
600599
// Check whether index asked is inside BitArray.
601600
if index < 0 || uint(index) >= res.BitLen() {
602-
err := fmt.Errorf("SetBitAtIndex: bit index %d out of valid range (0..%d)", index, int(res.BitLen())-1)
603-
return BitArray{}, pgerror.WithCandidateCode(err, pgcode.ArraySubscript)
601+
return BitArray{}, pgerror.Newf(pgcode.ArraySubscript, "bit index %d out of valid range (0..%d)", index, int(res.BitLen())-1)
604602
}
605603
// To update bit at the given index, we have to determine the
606604
// position within words array, i.e. index/numBitsPerWord after

pkg/util/bitarray/bitarray_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -726,9 +726,9 @@ func TestGetBitAtIndex(t *testing.T) {
726726
{"111111111111110001010101000000", "", 20, 0},
727727
{"111111111111110001011101000000", "", 20, 1},
728728
{"11111111", "", 7, 1},
729-
{"010110", "GetBitAtIndex: bit index -1 out of valid range (0..5)", -1, 0},
730-
{"", "GetBitAtIndex: bit index 0 out of valid range (0..-1)", 0, 0},
731-
{"10100110", "GetBitAtIndex: bit index 8 out of valid range (0..7)", 8, 0},
729+
{"010110", "bit index -1 out of valid range (0..5)", -1, 0},
730+
{"", "bit index 0 out of valid range (0..-1)", 0, 0},
731+
{"10100110", "bit index 8 out of valid range (0..7)", 8, 0},
732732
}
733733
for _, test := range testData {
734734
t.Run(fmt.Sprintf("{%v,%d}", test.bitString, test.index), func(t *testing.T) {
@@ -758,9 +758,9 @@ func TestSetBitAtIndex(t *testing.T) {
758758
{"1010101011", "", "1010101011", 0, 1},
759759
{"1010101011", "", "1010101011", 1, 0},
760760
{"111111111111110001010101000000", "", "111111111111110001011101000000", 20, 1},
761-
{"010110", "SetBitAtIndex: bit index -1 out of valid range (0..5)", "", -1, 0},
762-
{"10100110", "SetBitAtIndex: bit index 8 out of valid range (0..7)", "", 8, 0},
763-
{"", "SetBitAtIndex: bit index 0 out of valid range (0..-1)", "", 0, 0},
761+
{"010110", "bit index -1 out of valid range (0..5)", "", -1, 0},
762+
{"10100110", "bit index 8 out of valid range (0..7)", "", 8, 0},
763+
{"", "bit index 0 out of valid range (0..-1)", "", 0, 0},
764764
}
765765
for _, test := range testData {
766766
t.Run(fmt.Sprintf("{%v,%d,%d}", test.bitString, test.index, test.toSet), func(t *testing.T) {

0 commit comments

Comments
 (0)