Adding rewrite rule to QueryRewrite
От | Andreas Heinisch |
---|---|
Тема | Adding rewrite rule to QueryRewrite |
Дата | |
Msg-id | 1357136860518-5738481.post@n5.nabble.com обсуждение исходный текст |
Список | pgsql-hackers |
Hi, we are trying to integrate GMDA algorithm into postgresql. The operater decouples grouping from aggregation and we came up with the following syntax: SELECT d, u, COUNT(*b.u <= r.u*) AS ccu, COUNT(*b.d <= r.d*) AS ccd FROM b *GMDJOIN* r GROUP BY d, u This select query should be rewritten to: WITH xi AS ( SELECT d, u SUM(COUNT(*)) OVER (PARTITION BY u) AS ccu, SUM(COUNT(*)) OVER (PARTITION BY d) AS ccd FROMr GROUP BY d, u ), x1 AS ( SELECT b1.u, SUM(ccu) AS ccu FROM (SELECT DISTINCT u FROM xi) b1 LEFT OUTER JOIN (SELECT DISTINCT u, ccu FROMxi) xi1 ON xi1.u = b1.u GROUP BY b1.u ), x2 AS ( SELECT b2.d, SUM(ccd) AS ccd FROM (SELECT DISTINCT d FROM xi) b2 LEFT OUTER JOIN (SELECT DISTINCT d, ccd FROMxi) xi2 ON xi2.d = b2.d GROUP BY b2.d ) SELECT * FROM x1 NATURAL JOIN x2 ORDER BY d,u Now to our question: Can this be integrated into the postresql QueryRewrite function? Should that be integrated into the rewrite stage of the postgresql kernel or should the rewrite action be done somewhere else? Is there any tutorial on rewriting statements? Thank you very much for your time and help, Andi -- View this message in context: http://postgresql.1045698.n5.nabble.com/Adding-rewrite-rule-to-QueryRewrite-tp5738481.html Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.
В списке pgsql-hackers по дате отправления: