Hello,I'm playing with a MySQL proxy that traps SQL queries and rewrite themor modifies the response on the fly.The proxy works fine with the command line client. But I run throughan error message when I click on a table name in Toad MySQL client.When I click on a table name the following message appears:System.IndexOutOfRangeExceptionIndex was outside the bounds of the array.Stack Trace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller,Delegate method, Object args, Boolean synchronous) at System.Windows.Forms.Control.Invoke(Delegate method, Object args) at Quest.Toad.Util.Global.Invoke(Delegate handler, Object args) at Quest.Toad.Db.ToadDataAdapter.RaiseDone(Object sender, EventArgs args) at Quest.Toad.Db.ToadDataAdapter.InternalFillBackground()The weird thing if that the result set seems fine because the resultof the SHOW COLUMNS request is displayed.Looking at the tcpdump of the proxy and comparing it with the tcpdumpof the original mysql server the only difference I see is that myproxy returns two packets instead of one in the original mysql.Any idea where to look at ?Is there an option to disable the error message popup ( actually thatwould be ok for us) ?Thanks for the great tool !Eriam--Eriam SchaffterService Comptabilité de Gestion, Etudes, Modélisation, Statistiques (SCGEMS)Direction de l’Analyse Médico-EconomiqueHôpitaux Universitaires de GenèveTél : 022.37.26431
HelloThanks for your response.Here is how I have this bug:1. Run toad and connect to the proxy2. Deploy the table list with the +3. Click on a table name.And there goes the bug.The query that triggers the bug is SHOW COLUMNS FROM ACTION_INF_ib FROM dev_ersI noticed that with my proxy Toad run a SHOW COLUMNS and not a SHOW FULL COLUMNS. Maybe that's the issue ? Which make me ask the following question: what would trigger a SHOW COLUMNS rather then a SHOW FULL COLUMNS ? The server version in the handshake ?ThanksEriam
Hello again.Problem solved !The assumption in my previous post was right.Toad uses the server_version of the Handshake Initialization Packet but I specified a custom server_version.It seems then that it messes up Toad when it comes to various requests (in the previous example Toad expected the result from a SHOW FULL COLUMNS but ran a SHOW COLUMNS).I solved the bug by setting the server_version to the same signature as the official mysql server but I can imagine Toad would have to handle other server_version aswell ?Thanks anyway.Eriam
Would you mind posting some steps how to set the server version? I'm not sure where to look for it.