Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan
От | Alexander Lakhin |
---|---|
Тема | Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan |
Дата | |
Msg-id | ef0f7c8b-a6fa-362e-6fd6-054950f947ca@gmail.com обсуждение исходный текст |
Ответ на | Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan (Peter Geoghegan <pg@bowt.ie>) |
Ответы |
Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan
|
Список | pgsql-hackers |
Hello Peter, 07.04.2024 20:18, Peter Geoghegan wrote: > On Sun, Apr 7, 2024 at 1:00 PM Alexander Lakhin <exclusion@gmail.com> wrote: >> SELECT * FROM t WHERE a < ANY (ARRAY[1]) AND b < ANY (ARRAY[1]); >> >> TRAP: failed Assert("so->numArrayKeys"), File: "nbtutils.c", Line: 560, PID: 3251267 > I immediately see what's up here. WIll fix this in the next short > while. There is no bug here in builds without assertions, but it's > probably best to keep the assertion, and to just make sure not to call > _bt_preprocess_array_keys_final() unless it has real work to do. Please look at another case, where a similar Assert (but this time in _bt_preprocess_keys()) is triggered: CREATE TABLE t (a text, b text); INSERT INTO t (a, b) SELECT 'a', repeat('b', 100) FROM generate_series(1, 500) g; CREATE INDEX t_idx ON t USING btree(a); BEGIN; DECLARE c CURSOR FOR SELECT a FROM t WHERE a = 'a'; FETCH FROM c; FETCH RELATIVE 0 FROM c; TRAP: failed Assert("so->numArrayKeys"), File: "nbtutils.c", Line: 2582, PID: 1130962 Best regards, Alexander
В списке pgsql-hackers по дате отправления: