Re: TidScan needs handling of a corner cases
От | Tom Lane |
---|---|
Тема | Re: TidScan needs handling of a corner cases |
Дата | |
Msg-id | 22315.1209589438@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | TidScan needs handling of a corner cases ("Gurjeet Singh" <singh.gurjeet@gmail.com>) |
Список | pgsql-hackers |
"Gurjeet Singh" <singh.gurjeet@gmail.com> writes: > postgres=# explain analyze select ctid, * from pg_class where ctid in ( > '(6,1)' ); > ERROR: could not read block 6 of relation 1663/11511/1259: read only 0 of > 8192 bytes I was about to say that throwing an error for this is just fine, but on closer investigation we didn't throw an error before 8.3; the behavioral change is because mdread() now throws an error for out-of-bounds read. So for consistency with historical behavior this probably needs to be fixed. > Also, it is known that 0 is not a valid row-offset in the block, but the > tid input function accepts this value (it rejects -ve values). For the same > setup: Not sure what you think needs to be fixed in this case? Again, backwards compatibility seems a reason not to change it; and I sure don't see why you'd want to throw an error for this case but not the other one. regards, tom lane
В списке pgsql-hackers по дате отправления: