Oleg Bartunov <oleg@sai.msu.su> writes:
> What will happens if we ignore NULLs ?
Same thing that happens with hash:
regression=# create table foo (f1 int);
CREATE
regression=# create index fooi on foo using hash (f1);
CREATE
regression=# insert into foo values(1);
INSERT 292677 1
regression=# insert into foo values(null);
INSERT 292678 1
regression=# vacuum foo;
NOTICE: Index fooi: NUMBER OF INDEX' TUPLES (1) IS NOT THE SAME AS HEAP' (2). Recreate the index.
VACUUM
> We need to provide vacuum some information about numbers of NULL values.
Preferably without hardwiring assumptions about the behavior of
different index types into VACUUM.
That cross-check in VACUUM has really caused way more grief than it's
worth. I'm beginning to wonder if we should just take it out...
regards, tom lane