Re: How to use the SQL parser subsystem

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Ravindra Jaju <list(dot)jaju(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to use the SQL parser subsystem
Date: 2007-01-04 14:47:39
Message-ID: 20070104144739.GB31698@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Jan 04, 2007 at 08:01:17PM +0530, Ravindra Jaju wrote:
> 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.

Note that that's a *backend* header file.

> I have some questions:
> 1] is 'raw_parser' the right function to parse an SQL statement (for mainly
> structural/syntactic analysis)?

I beleive it's the function used y postgres internally, not sure
though.

> 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! :-()

It's inside the server, it's not in a seperate library. To use it you
need to be inside the server.

> 3] If not, what would be a better mechanism to re-use all the work already
> done in postgres for SQL analysis?

No idea.

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ravindra Jaju 2007-01-04 15:03:25 Re: How to use the SQL parser subsystem
Previous Message Ravindra Jaju 2007-01-04 14:31:17 How to use the SQL parser subsystem