(ves > 100 or bbbb = 10) AND (bbbb = aaa + 1 OR (aaaa AND caa))
will be converted to dicjuntional form:
ves>100 AND bbbb=10 AND bbbb=aaa+1 OR вес>100 AND bbbb=10 AND aaaa OR ves>100
AND bbbb=10 AND caa
That module is writen in the C++ langguage, how can i connect it to the PostgreSQL sources? In our project we must to compare queries. Beacause of the same query can be writen in different forms, so to compare queries we must to convert them to the same form of presentation.
--
stvalentine
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend
Convert it to C ;-) Seriously, I think this would be a major pain in
the neck to do --- there are various gotchas like the system headers not
being C++-clean. Why don't you just resurrect the qual canonicalization
logic that existed in src/backend/optimizer/prep/prepqual.c not too long
ago?
> In our project we must to compare
> queries. Beacause of the same query can be writen in different forms,
> so to compare queries we must to convert them to the same form of
> presentation.
I find this argument fairly dubious, though, as there are plenty of ways
to write the same query differently. Forcing the condition into CNF or
DNF will fix only some of them.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majo...@postgresql.org so that your
message can get through to the mailing list cleanly