Home > Archive > PostgreSQL SQL > April 2005 > btree and is null in a static expression









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author btree and is null in a static expression
KÖPFERL Robert

2005-04-18, 3:23 am

Hi,

I've written a function but I don't understand the the plan, the planner
makes.
If variables are replaced, the function looks like that:

select a,b,c from "Tbl1" where (a='454') or ('454' is null);


a has got an btree-Index.

explain verbose tells me that Postgres wants to do a SEQSCAN
If the last subexpression is omitted like
select a,b,c from "Tbl1" where (a='454') or false;

The planner wants expecedly utilize an index.

How comes that, while it is obvious that the last subexpression evaluates to
false and thus can be omitted or can even be statically evaluated

I read about btree-Indexes and that they can't be used when null comes into
play. But there?


Thanks

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql
.org so that your
message can get through to the mailing list cleanly

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com