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.