RE: SQL deparser ?

  • From: "Reidy, Ron" <Ron.Reidy@xxxxxxxxxxxxxxxxxx>
  • To: <bpolarsk@xxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 18 May 2006 08:41:58 -0600

Have you looked at this article
http://www.perl.com/pub/a/2006/01/05/parsing.html (especially the SQL
parsing section)?

 

--

Ron Reidy

Lead DBA

Array BioPharma, Inc.

 

 

 

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Bernard Polarski
Sent: Thursday, May 18, 2006 6:51 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: SQL deparser ?

 

Hello lister,

I am wondering if anybody knows a resource for a procedure/program that
will isolate predicates for a given SQL.

I am quite interrested in the work of Dan Tow
(http://www.oreilly.com/catalog/sqltuning/) and SQL diagramming as a
generic approache to tune SQL. However this method requests for an SQL
of 20 tables and 50 joins to generate counts and ratio for each
predicate and it is rapidily over the hundred SQL statement. 

I have made some search on the difficulty to deparse just and SQL in the
oracle syntax (not even considering the SQL ANSI). Taking in account
just Select, but with the inline views, union, aliases and implicit
aliase - inlined views not aliases and right predicate being SQL  -ie
exists (select ... ) - , it is quite a big work. I estimate this to
several weeks in perl and this just to isolate the predicates.

I had a look to perl module SQL::Statement::Syntax but it is quite poor.

Any hint on a resource, would be very appreciated.



B. Polarski
http://www.smenu.org


This electronic message transmission is a PRIVATE communication which contains
information which may be confidential or privileged. The information is 
intended 
to be for the use of the individual or entity named above. If you are not the 
intended recipient, please be aware that any disclosure, copying, distribution 
or use of the contents of this information is prohibited. Please notify the
sender  of the delivery error by replying to this message, or notify us by
telephone (877-633-2436, ext. 0), and then delete it from your system.

Other related posts: