<br><br><div class="gmail_quote">On Tue, Sep 29, 2009 at 6:41 PM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="im">2009/9/29 Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br><br><div class="im"><div class="gmail_quote">2009/9/29 Herbert König <span dir="ltr">&lt;<a href="mailto:herbertkoenig@gmx.net" target="_blank">herbertkoenig@gmx.net</a>&gt;</span><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Hello Mariano Norbert,<br>
<br>
wouldn&#39;t the cheapest way be to just build a special case into<br>
SqueakDBX error handling that could be activated via some option?<br>
<br></blockquote></div><div><br>This, this can be perfectly done (I think). I also have thought in this solution. I will review the code and commit a version so that you can test it. <br> <br>The thing is that I don&#39;t know what happens if you open a connection with this error. What happens with all of the queries you do then ? will them work?<br>

</div></div></div></blockquote><div><br>Can you put a breakpoint in DBXPlatform&gt;&gt;errorCode:handle:<br><br>And then when you have the error &quot;unknown system variable&quot; debug it and tell me the values of  &quot;err&quot; and &quot;description&quot; please ?<br>

<br></div></div></blockquote><div><br><br>Ok, I see two solutions here, but both or them sucks. I hope I could get a better error handling for OpenDBX (I am sending emails with Norbert in openDBX mailing list about this).<br>
<br>&quot;Solution 1&quot;  Change in DBXPlatform&gt;&gt;openConnection:<br><br>this<br><br><br>    self <br>        verifyError: err<br>        handle: aConnection handle.<br><br><br>for this:<br><br>[   self <br>
        verifyError: err<br>
        handle: aConnection handle.]  on: DBXRecoverableError do: [ : ex | &quot;nothing&quot;].<br><br><br>What you do here is to handle ALL of the possible recoverable errors when trying to open a connection and do nothing when they occur.<br>
<br><br>&quot;Solition 2&quot;<br><br>Change the same piece of code for this:<br><br>[   self <br>

        verifyError: err<br>

        handle: aConnection handle.]  on: DBXRecoverableError do: [ : ex | ( ex description = &#39;unknown system variable.....&#39; ) ifTrue: [ &quot;nothing&quot; ]<br>                   ifFalse: [ ex signal ] ].<br>
<br>What you do here is: if the description of the error is that, you do nothing. On other cases, you signal the same exception again.<br><br>If this 2nd solution works, what we can do, at least, is to override the method openConnection in DBXMySQLPlatform and put this change there. This is the idea of having the subclasses. <br>
<br>I am sorry I know this is crap but I think I cannot get an id, number or something from OpenDBX to identify a particular error. I suggest you join OpenDBX mailing list and see my discussion with Norbert.<br><br>Best,<br>
<br>Mariano<br> <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div>Cheers,<br><font color="#888888"><br>
Mariano<br><br> </font></div><div><div></div><div class="h5"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div>
<br></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
It&#39;s a recoverable error after all.<br>
<br>
Same for OpenDBX, couldn&#39;t it just be an option? Me talking about<br>
something I know nothing about.<br>
<br>
And about supporting an extra built I&#39;d say it&#39;s a pain that isn&#39;t<br>
worth it. (Talking about something I know). So it can either be a<br>
parameter in OpenDBX or it can be done in SqueakDBX.<br>
<br></blockquote></div><div><br>ok.<br> </div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As time permits I will try a port to see if I find more problems than<br>
the recoverable connection error.<br>
<br>
I will let you know.<br>
<br></blockquote></div><div><br>Thanks.<br> </div><div><div></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Thanks<br>
<br>
Herbert<br>
MMP&gt; 2009/9/29 Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;<br>
<br>
<br>
MMP&gt; 2009/9/29 Norbert Sendetzky &lt;<a href="mailto:norbert@linuxnetworks.de" target="_blank">norbert@linuxnetworks.de</a>&gt;<br>
<br>
MMP&gt; Hi Mariano, Herbert<br>
<div><br>
&gt;&gt; Ok. Now it is almost working. He is using the MySQL 5 client library to<br>
&gt;&gt;  talk to a MySQL 4.0.15 server. I saw this:<br>
&gt;&gt;<br>
<br>
&gt;&gt; The problem now is that when he is trying to open the connection<br>
&gt;&gt;  (odbx_bind) he gets a &quot;unknown system variable &quot;sql_mode&quot;&quot;.<br>
&gt;&gt; I looked in OpenDBX code and you don&#39;t have &quot;sql_mode&quot; in your source code.<br>
<br>
<br>
</div>MMP&gt; It&#39;s in backends/mysql/mysql_basic.c, line 761 (trunk)<br>
<br>
<br>
<br>
<br>
MMP&gt; Wow....my total commander didn&#39;t find it....weird :(<br>
MMP&gt;  <br>
<br>
MMP&gt; Unfortunately, sql_mode is only supported since 4.1, so it&#39;s not possible to<br>
MMP&gt; connect to a MySQL 4.0 server using the standard OpenDBX source. The only way<br>
MMP&gt; to use the library would be to comment out the call to mysql_priv_setmode() in<br>
MMP&gt; line 197 and recompile but this would require to start the MySQL server in<br>
MMP&gt; ANSI mode (--sql-mode=ANSI) to get the same behaviour.<br>
<br>
<br>
<br>
<br>
<br>
MMP&gt; Thanks for the explanation Norbert. Now I am intrigued why<br>
MMP&gt; OpenDBX needs to set something in that variable. I mean, what<br>
MMP&gt; happens if you remove that call in line 197?<br>
<br>
<br>
<br>
<br>
<br>
<br>
MMP&gt; Herbert if you want, I can compile a new dll with the<br>
MMP&gt; changes Norbert said justto see if it works. Then you can decide<br>
MMP&gt; if you want to use SqueakDBX orthe native driver :(<br>
<br>
MMP&gt; For every new release of OpenDBX I can create a special<br>
MMP&gt; MySQL dll for4.0x MySQL compatibility. I have no problem at all<br>
MMP&gt; doing that. It isjust a couple of minutes.<br>
<br>
MMP&gt; Norbert: if this changes work, what do you think in<br>
MMP&gt; including to the website a MySQL-4.0x special dll for every new<br>
MMP&gt; release?<br>
<br>
MMP&gt; Best,<br>
<br>
MMP&gt; mariano<br>
<br>
MMP&gt;  <br>
MMP&gt; Cheers,<br>
<br>
MMP&gt; Mariano<br>
MMP&gt;  <br>
<br>
MMP&gt; Norbert<br>
MMP&gt; --<br>
MMP&gt; OpenPGP public key<br>
MMP&gt; <a href="http://www.linuxnetworks.de/norbert.pubkey.asc" target="_blank">http://www.linuxnetworks.de/norbert.pubkey.asc</a><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Thanks,<br>
<br>
Herbert                            mailto:<a href="mailto:herbertkoenig@gmx.net" target="_blank">herbertkoenig@gmx.net</a><br>
<br>
</blockquote></div></div></div><br>
</blockquote></div></div></div><br>
</blockquote></div><br>