Hi List,
I've got my SQL parser 100% now given the information that I have. It's ~10% slower than the speeds I posted before, but I think those are fast speeds still. Just in case somebody wants to put in a huge chunk of SQL in one of the SQL input boxes, and they don't really care about my parser seeing it, I think we should add a checkbox for them to bypass it if they want to. I see this as being really important if they are using the SQL upload box to run a really large SQL query, so maybe we even disable it automatically if they put in a query larger than a certain size. I'd say possibly all queries larger than 2k should not be parsed, as the odds say that the query is being pasted in from somewhere else.
The funniest thing that, is I have now found two bugs in the parser mechanism of MySQL, and submitted bug reports for them. I haven't seen any reply yet tho.
The main parser function is ready for merging in the source tree, apart from needing to be re-indented to match the rest of the code in PMA. On that note, could somebody make some suggestions as to settings for VIM to indent the sourcecode like we want it.
I'm just tidying up the code of the extractor and the pretty-printer, and once those are all ready, they will be integrated into the source tree all at once. The entirety of my code is running ~900 lines at the moment, so I will put it into a new file, lib/parser.inc.php3.
I've been invited on a short vacation on the 12th and 13th of this month, so I don't know if I will have the extractor ready for our -rc3 point on Sunday.
I'll do my best to have it ready by Sunday, but I probably won't manage.