From: | "Ravindra Jaju" <list(dot)jaju(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | How to use the SQL parser subsystem |
Date: | 2007-01-04 14:31:17 |
Message-ID: | d65123830701040631y6bec5a3bh248c676d247b38e4@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi.
Is it possible to use the SQL parser embedded inside the postgres code via
some public API?
I wish to get a parsed SQL query in any format which lends itself to easy
analysis (structural, for example) so as to be able to find similarities
between queries.
I tried peeking around a bit, and tried pulling out src/backend/parser - but
that depends on other parts of the code, making it a bit non-trivial. Plus,
any changes in the base code upstream would not be available to this
pulled-out application over time. Looking further, I noticed on my Fedora
distribution that the pg devel package has a parser/parser.h file which
exposes the function 'raw_parser' which is the function that seemed most
interesting to me while exploring the code too.
I have some questions:
1] is 'raw_parser' the right function to parse an SQL statement (for mainly
structural/syntactic analysis)?
2] If yes, I found that none of the shared library files expose this
function - I could not link a simple C program with this function
successfully. (I tried all the .so files related to postgres! :-()
3] If not, what would be a better mechanism to re-use all the work already
done in postgres for SQL analysis?
regards,
jaju
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2007-01-04 14:47:39 | Re: How to use the SQL parser subsystem |
Previous Message | BigSmoke | 2007-01-04 14:15:46 | Pure PostgreSQL unit tests - test and debug pgsql constraints and procedures/functions |