Hi Folks,
I'm trying something maybe non standard. I use Squeak 3.8.2 and MySQL 4.0.15.
After installing opendbx 1.4.3 in the Squeak folder and installing OpenDBX-Core-Mariano.230.mcz I started with the connection example.
I verified that the following settings work with the native mySQL driver for Squeak. So:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect.
Here (in connect) I first got an error indicating that libmysqlbackend.dll could not be found. (err1.png). Trying the dlls Mariano sent to this list on September 21st didn't change anything.
So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
This time a Squeak debugger popped up, see debug1.png and continuing this debugger gave conn a handle which was not nil.
So I tried:
conn open
and got debug2.png
Digging in the code there should be some logging to the Transcript but the transcript stays empty. So how to get at the log?
Another suspect might be the authentication method as I believe authentication between mySQL 4 and 5 changed.
If it weren't for the first error with the dll's name I'd say my Squeak and my mySQL are just too old. As they represent a big investment chances to update any of those are very small.
So do you see a chance to get this configuration work? First thing is to verify the proper dlls are loaded. Then I'd like to see what is sent to the database and what mySQL returns.
Any hints are greatly appreciated.
Thanks,
Herbert mailto:herbertkoenig@gmx.net
2009/9/26 Herbert König herbertkoenig@gmx.net
Hi Folks,
I'm trying something maybe non standard. I use Squeak 3.8.2 and MySQL 4.0.15.
Yeah hahaha. As we talked at ESUG, SqueakDBX was not ever tested with Squeak 3.8.2. And we never tested in MySQL 4, but 5. But I will try to help you. I am glad you are giving SqueakDBX a try.
After installing opendbx 1.4.3 in the Squeak folder and installing OpenDBX-Core-Mariano.230.mcz I started with the connection example.
I verified that the following settings work with the native mySQL driver for Squeak. So:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect.
This is wrong. You must do a open first. So, you can do conn open. conn connect. Or use directly conn connectAndOpen. Read here: http://wiki.squeak.org/squeak/6067
Here (in connect) I first got an error indicating that libmysqlbackend.dll could not be found. (err1.png).
I think you are referring to libmysql.dll here, not libmysqlbackend.dll
Trying the dlls Mariano sent to this list on September 21st didn't change anything.
So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
This is weird. libmysqlbackend-1.dll should work. Which Windows are you using ? I will try to reproduce it. But I have libmysqlbackend-1.dll and everything works ok.
This time a Squeak debugger popped up, see debug1.png and continuing this debugger gave conn a handle which was not nil.
This means that opendbx dll cannot find the libmysqlbackend dll They must be findable by the OS What I would do is to let libmysqlbackend-1.dll AND libmysqlbackend.dll in a place where it is findable, not only by Squeak but also for the OS. Because squeak will find opendbx dll but then, this dll will find the libmysqlbackend
So I tried:
conn open
and got debug2.png
Digging in the code there should be some logging to the Transcript but the transcript stays empty. So how to get at the log?
http://wiki.squeak.org/squeak/6099
Another suspect might be the authentication method as I believe authentication between mySQL 4 and 5 changed.
I will ask Norbert (OpenDBX author) to see if he knows something about this.
If it weren't for the first error with the dll's name I'd say my Squeak and my mySQL are just too old. As they represent a big investment chances to update any of those are very small.
So do you see a chance to get this configuration work?
Yes. We will investigate and work together. No panic :)
First thing is to verify the proper dlls are loaded.
Yes. Now I want to understand: You must have:
- libmysqlbackend-1.dll AND libmysqlbackend.dll - libopendbx-1.dll - MySQL client libraries (in my case: C:\MySQL\bin\ )
All of them must be findable by the OS: I won't tell you to put it in c:/windows/system32 or in $PATH, but do something :)
Enable logging.
So, after having all of that, what happens if you evaluate:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect. conn open.
debug2.png ???
Then I'd like to see what is sent to the database and what mySQL returns.
We can do this in a further step. As you said, lets configure the dlls first.
Any hints are greatly appreciated.
Best,
Mariano
Thanks,
Herbert mailto:herbertkoenig@gmx.net _______________________________________________ SqueakDBX mailing list SqueakDBX@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
This is my configuration:
c:\mariano\squeak\SqueakVM-Win32-3.11.2-bin\
This is the folder where I have the SqueakVM and these are the files I have there:
FT2Plugin.dll libmysqlbackend-1.dll libopendbx-1.dll libopendbxplus-1.dll libpgsqlbackend-1.dll libsqlite3backend-1.dll splash.bmp Squeak.exe Squeak.ini SqueakFFIPrims.dll
I installed MySQL client and server in C:\MySQL, so in C:\MySQL\bin\ I have the MySQL client libraries (libmySQL.dll). And that directory is in $PATH
This is the eviorment variable path:
c:\SQLServer;c:\mariano\oracle\instantclient_11_1;c:\MinGW\bin;c:\MinGW\lib;c:\msys\1.0\lib;c:\msys\1.0\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Archivos de programa\QuickTime\QTSystem;C:\Archivos de programa\TortoiseSVN\bin;c:\PostgreSQL\8.3\bin;c:\Archivos de programa\Microsoft SQL Server\90\Tools\binn;%ORACLE_HOME%\bin;C:\MySQL\bin
As you can see I have C:\MySQL\bin
Best
Mariano
On Sat, Sep 26, 2009 at 1:51 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
2009/9/26 Herbert König herbertkoenig@gmx.net
Hi Folks,
I'm trying something maybe non standard. I use Squeak 3.8.2 and MySQL 4.0.15.
Yeah hahaha. As we talked at ESUG, SqueakDBX was not ever tested with Squeak 3.8.2. And we never tested in MySQL 4, but 5. But I will try to help you. I am glad you are giving SqueakDBX a try.
After installing opendbx 1.4.3 in the Squeak folder and installing OpenDBX-Core-Mariano.230.mcz I started with the connection example.
I verified that the following settings work with the native mySQL driver for Squeak. So:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect.
This is wrong. You must do a open first. So, you can do conn open. conn connect. Or use directly conn connectAndOpen. Read here: http://wiki.squeak.org/squeak/6067
Here (in connect) I first got an error indicating that libmysqlbackend.dll could not be found. (err1.png).
I think you are referring to libmysql.dll here, not libmysqlbackend.dll
Trying the dlls Mariano sent to this list on September 21st didn't change anything.
So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
This is weird. libmysqlbackend-1.dll should work. Which Windows are you using ? I will try to reproduce it. But I have libmysqlbackend-1.dll and everything works ok.
This time a Squeak debugger popped up, see debug1.png and continuing this debugger gave conn a handle which was not nil.
This means that opendbx dll cannot find the libmysqlbackend dll They must be findable by the OS What I would do is to let libmysqlbackend-1.dll AND libmysqlbackend.dll in a place where it is findable, not only by Squeak but also for the OS. Because squeak will find opendbx dll but then, this dll will find the libmysqlbackend
So I tried:
conn open
and got debug2.png
Digging in the code there should be some logging to the Transcript but the transcript stays empty. So how to get at the log?
http://wiki.squeak.org/squeak/6099
Another suspect might be the authentication method as I believe authentication between mySQL 4 and 5 changed.
I will ask Norbert (OpenDBX author) to see if he knows something about this.
If it weren't for the first error with the dll's name I'd say my Squeak and my mySQL are just too old. As they represent a big investment chances to update any of those are very small.
So do you see a chance to get this configuration work?
Yes. We will investigate and work together. No panic :)
First thing is to verify the proper dlls are loaded.
Yes. Now I want to understand: You must have:
- libmysqlbackend-1.dll AND libmysqlbackend.dll
- libopendbx-1.dll
- MySQL client libraries (in my case: C:\MySQL\bin\ )
All of them must be findable by the OS: I won't tell you to put it in c:/windows/system32 or in $PATH, but do something :)
Enable logging.
So, after having all of that, what happens if you evaluate:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect. conn open.
debug2.png ???
Then I'd like to see what is sent to the database and what mySQL returns.
We can do this in a further step. As you said, lets configure the dlls first.
Any hints are greatly appreciated.
Best,
Mariano
Thanks,
Herbert mailto:herbertkoenig@gmx.net _______________________________________________ SqueakDBX mailing list SqueakDBX@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
Yes. Now I want to understand: You must have:
- libmysqlbackend-1.dll AND libmysqlbackend.dll
- libopendbx-1.dll
- MySQL client libraries (in my case: C:\MySQL\bin\ )
All of them must be findable by the OS: I won't tell you to put it in c:/windows/system32 or in $PATH, but do something :)
Enable logging.
So, after having all of that, what happens if you evaluate:
connectionSettings := DBXConnectionSettings host: 'ALDI_1' port: '3306' database: 'Pruefzeiten' userName: 'readonly' userPassword: '****'.
conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings.
conn connect. conn open.
debug2.png ???
If this is what you get, please send me the SqueakDebug.log so that I can see all the stacktrace.
cheers,
Mariano
Hi Mariano,
this is long but I'm mostly fine so if you have no time, only read the last three paragraphs.
MMP> Yeah hahaha. As we talked at ESUG, SqueakDBX was not ever MMP> tested with Squeak 3.8.2. And we never tested in MySQL 4, but 5. MMP> But I will try to help you.
:-)) yeah and thanks! I might port the Squeak apps to 3.10 on my own. I guess they should run with nearly no changes. But porting about 20 Delphi 5 Apps where the programmer is no more available is quite a different beast :-)
MMP> MMP> This is wrong. You must do a open first. So, you can do
This is from http://wiki.squeak.org/squeak/6067 and I think this is right. Because open before connect gives me a debugger:
SqueakDBXError: SqueakDBX: You are not connected. Try connecting first.
MMP> I think you are referring to libmysql.dll here, not libmysqlbackend.dll
Doh, Blush!! Thanks for reading my error messages for me.
Ok I downloaded mysql5.0 community edition, unzipped it and got libmysql.dll of that package (after trying several versions I already found on my box).
Now connect works and open gives a recoverable error, see debug3.png.
Continuing sets connected and open of the DBX connection to true. Seems now I'm able to follow your further advice.
MMP> So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
MMP> MMP> This is weird. libmysqlbackend-1.dll should work. Which MMP> Windows are you using ? I will try to reproduce it. MMP> But I have libmysqlbackend-1.dll and everything works ok.
XP Service Pack 3, automatic updates enabled. I believe this is a secondary effect. Let's not spend time on this until the first problem is solved. I already renamed it back.
MMP> MMP> This means that opendbx dll cannot find the libmysqlbackend dll MMP> They must be findable by the OS
I will remember that but before using path or system32 I will try to confine everything to one single folder. Because the Delphi applications will need their versions of libmysql.dll, and my mysqlcc happily uses a third version.
MMP> What I would do is to let libmysqlbackend-1.dll AND MMP> libmysqlbackend.dll in a place where it is findable, not only by MMP> Squeak but also for the OS. MMP> Because squeak will find opendbx dll but then, this dll will find the libmysqlbackend
MMP> MMP> http://wiki.squeak.org/squeak/6099 MMP> thanks. Optimists always put debugging information at the end of the docs. I do so myself as not to scare away interested people :-))
Friendly Transcript is logging now.
MMP> MMP> I will ask Norbert (OpenDBX author) to see if he knows something about this.
Norbert sounds German so if we get stuck, maybe I go to the opendbx list myself.
MMP> So do you see a chance to get this configuration work?
MMP> MMP> Yes. We will investigate and work together. No panic :)
Thanks! and I promise not to panic :-))
MMP> MMP> Yes. Now I want to understand: You must have: I understand and I will follow it exactly if I get stuck again.
MMP> - libmysqlbackend-1.dll AND libmysqlbackend.dll I hope I get away without the rename after I have the new libmysql.dll.
MMP> - libopendbx-1.dll MMP> - MySQL client libraries (in my case: C:\MySQL\bin\ )
MMP> All of them must be findable by the OS: I won't tell you to MMP> put it in c:/windows/system32 or in $PATH, but do something :)
Yes Sir :-)))
MMP> Enable logging.
Yea
MMP> So, after having all of that, what happens if you evaluate:
See debug3. But there are no nasty messages in the Transcript and the mysqladmin sees the incoming connection and the reply from mysql.
And I can do "conn close. conn disconnect." with proper results in the Transcript.
Following the Wiki, after connect and open I sent:
result := conn execute: 'select * from Einzelpruefungen where pruefer = "A. Kreizer"'.
which gave me an DBXResult set and reasonable messages in Transcript.
result columnCount does work, rowsAffected gives a DNU (both from http://wiki.squeak.org/squeak/6070).
result nextRow explore gives a very reasonable DBXRow, see png.
result columnDescriptions explore gives DBXTypeNotSupported (see png) for timestamp and text (see mysqlcc.png).
BTW there was a typo on the Wiki the last "s" in columnDescriptions was missing.
So basically it seems I'm fine, for the next nextRow gives a reasonable next row.
Let me suggest, we only solve the "unknown system variable" problem from debug3.png and maybe find an explanation for DBXTypeNotSupported. Then I'll write up a text on what is needed to run SqueakDBX with mysql4 (I believe there is no 3.8.2 related problem). I go through the Wiki examples and report problems here and correct typos as I encounter them.
From my own job I tend to assume documentation errors if the user blunders (me in not copying libmysql.dll). I never compiled OpenDBX but with your permission I will clarify the single sentence about "installing your client library" in http://wiki.squeak.org/squeak/6129 for end users like me.
And if you don't mind I will also go over the descriptions about Windows because as I said on my system I have one libmysql.dll in my mysql folder (for mysqladmin) and two different ones for SqueakDBX and mysqlcc. Both suggestions (path and system32) give me a headache and I vastly prefer a "could not find libmysql.dll" over the errors occurring if the system finds the wrong dll.
Thanks a lot for your help,
Herbert mailto:herbertkoenig@gmx.net
2009/9/26 Herbert König herbertkoenig@gmx.net
Hi Mariano,
this is long but I'm mostly fine so if you have no time, only read the last three paragraphs.
MMP> Yeah hahaha. As we talked at ESUG, SqueakDBX was not ever MMP> tested with Squeak 3.8.2. And we never tested in MySQL 4, but 5. MMP> But I will try to help you.
:-)) yeah and thanks! I might port the Squeak apps to 3.10 on my own. I guess they should run with nearly no changes. But porting about 20 Delphi 5 Apps where the programmer is no more available is quite a different beast :-)
MMP> MMP> This is wrong. You must do a open first. So, you can do
This is from http://wiki.squeak.org/squeak/6067 and I think this is right. Because open before connect gives me a debugger:
SqueakDBXError: SqueakDBX: You are not connected. Try connecting first.
uffff I am really sorry. I read the other way. You are totally correct.
MMP> I think you are referring to libmysql.dll here, not libmysqlbackend.dll
Doh, Blush!! Thanks for reading my error messages for me.
Ok I downloaded mysql5.0 community edition, unzipped it and got libmysql.dll of that package (after trying several versions I already found on my box).
Now connect works and open gives a recoverable error, see debug3.png.
Continuing sets connected and open of the DBX connection to true. Seems now I'm able to follow your further advice.
Wait a moment....you are using MySQL client libraries form 5.0 to connect to a MySQL 4 server ???
is that possible ? or you also migrate your database to a 5.0 ?
MMP> So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
MMP> MMP> This is weird. libmysqlbackend-1.dll should work. Which MMP> Windows are you using ? I will try to reproduce it. MMP> But I have libmysqlbackend-1.dll and everything works ok.
XP Service Pack 3, automatic updates enabled. I believe this is a secondary effect. Let's not spend time on this until the first problem is solved. I already renamed it back.
ok.
MMP> MMP> This means that opendbx dll cannot find the libmysqlbackend dll MMP> They must be findable by the OS
I will remember that but before using path or system32 I will try to confine everything to one single folder. Because the Delphi applications will need their versions of libmysql.dll, and my mysqlcc happily uses a third version.
ok.
MMP> What I would do is to let libmysqlbackend-1.dll AND MMP> libmysqlbackend.dll in a place where it is findable, not only by MMP> Squeak but also for the OS. MMP> Because squeak will find opendbx dll but then, this dll will find the libmysqlbackend
MMP> MMP> http://wiki.squeak.org/squeak/6099 MMP> thanks. Optimists always put debugging information at the end of the docs. I do so myself as not to scare away interested people :-))
hahahahahahah I
Friendly Transcript is logging now.
Excellent.
MMP>
MMP> I will ask Norbert (OpenDBX author) to see if he knows something about this.
Norbert sounds German so if we get stuck, maybe I go to the opendbx list myself.
Yeah, it would be better if you ask in OpenDBX mailing list. But please, don't talk in German!! I won't understand a single word ;)
MMP> So do you see a chance to get this configuration work?
MMP> MMP> Yes. We will investigate and work together. No panic :)
Thanks! and I promise not to panic :-))
MMP> MMP> Yes. Now I want to understand: You must have: I understand and I will follow it exactly if I get stuck again.
MMP> - libmysqlbackend-1.dll AND libmysqlbackend.dll I hope I get away without the rename after I have the new libmysql.dll.
MMP> - libopendbx-1.dll MMP> - MySQL client libraries (in my case: C:\MySQL\bin\ )
MMP> All of them must be findable by the OS: I won't tell you to MMP> put it in c:/windows/system32 or in $PATH, but do something :)
Yes Sir :-)))
MMP> Enable logging.
Yea
MMP> So, after having all of that, what happens if you evaluate:
See debug3. But there are no nasty messages in the Transcript and the mysqladmin sees the incoming connection and the reply from mysql.
And I can do "conn close. conn disconnect." with proper results in the Transcript.
Following the Wiki, after connect and open I sent:
result := conn execute: 'select * from Einzelpruefungen where pruefer = "A. Kreizer"'.
which gave me an DBXResult set and reasonable messages in Transcript.
result columnCount does work, rowsAffected gives a DNU (both from http://wiki.squeak.org/squeak/6070).
which DNU here ? the one of the sql_mode ?
result nextRow explore gives a very reasonable DBXRow, see png.
result columnDescriptions explore gives DBXTypeNotSupported (see png) for timestamp and text (see mysqlcc.png).
No, sorry :( You cannot use timestamp. You have to use DATETIME :( I am sorry but that's OpenDBX. Read: http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes#Temporal_ty... I hope this not to be a big problem for you.
BTW there was a typo on the Wiki the last "s" in columnDescriptions was missing.
Sorry. I couldn't find it. Where is it ?
So basically it seems I'm fine, for the next nextRow gives a reasonable next row.
Let me suggest, we only solve the "unknown system variable" problem from debug3.png and maybe find an explanation for DBXTypeNotSupported. Then I'll write up a text on what is needed to run SqueakDBX with mysql4 (I believe there is no 3.8.2 related problem). I go through the Wiki examples and report problems here and correct typos as I encounter them.
That would be VERY helpful for us and we will really appreciate that. I will investigate the "unknown system variable".
From my own job I tend to assume documentation errors if the user blunders (me in not copying libmysql.dll). I never compiled OpenDBX but with your permission I will clarify the single sentence about "installing your client library" in http://wiki.squeak.org/squeak/6129 for end users like me.
Are you referring to " In both cases, you must have installed your database client library first. " ??
And if you don't mind I will also go over the descriptions about Windows because as I said on my system I have one libmysql.dll in my mysql folder (for mysqladmin) and two different ones for SqueakDBX and mysqlcc. Both suggestions (path and system32) give me a headache and I vastly prefer a "could not find libmysql.dll" over the errors occurring if the system finds the wrong dll.
Ok. However I already edited the wiki with your comments:
http://squeakdbx.smallworks.com.ar/Compiling%20and%20installing%20OpenDBX
Thanks a lot for your help,
You are welcome.
Herbert mailto:herbertkoenig@gmx.net
SqueakDBX mailing list SqueakDBX@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
Mariano,
MMP> uffff I am really sorry. I read the other way. You are totally correct. MMP> never mind. I'm older so I've made more mistakes than you :-))
MMP> Wait a moment....you are using MySQL client libraries form MMP> 5.0 to connect to a MySQL 4 server ??? Yes. Because mysql didn't start with mysql 5. I was quite sure they would be backwards compatible.
BTW in http://www.linuxnetworks.de/doc/index.php/OpenDBX/Comparison under Environment we see OpenDBX also used this configuration.
MMP> is that possible ? or you also migrate your database to a 5.0 ? No. Nobody would pay for it. And I would not guarantee that each of the old programs would work with mysql 5.
MMP> Yeah, it would be better if you ask in OpenDBX mailing MMP> list. But please, don't talk in German!! I won't understand a MMP> single word ;) I promise ;)
MMP> which DNU here ? the one of the sql_mode ? no. In my case result is a DBXResultSet (because I sent select from) and rowsAffected is implemented in DBXResult. In the wiki result is returned by a delete sql statement which maybe returns a DBXResult.
All is stated correctly on the wiki but I just skimmed the text and only read the example. My bad.
It just felt naturally to ask how big my result set would be before loading it into Squeak with rows. But it is explained nicely in DBXResultSet>>nextRow.
BTW after I first noticed few class comments I am now very pleased by the many detailed method comments! They will help a lot.
MMP> result columnDescriptions explore gives DBXTypeNotSupported (see png) MMP> for timestamp and text (see mysqlcc.png).
MMP> No, sorry :( You cannot use timestamp. You have to use DATETIME :( MMP> I am sorry but that's OpenDBX. Read: MMP> http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes#Temporal_ty... MMP> I hope this not to be a big problem for you. I think it's not a problem because the returned values are correct. SqueakDBX lives happily in the same image as the native driver so I can compare results from both drivers. Maybe I get problems when I change records but as you have noticed by now the databases are kind of holy cows and I will not touch them.
MMP> MMP> BTW there was a typo on the Wiki the last "s" in columnDescriptions MMP> was missing.
MMP> Sorry. I couldn't find it. Where is it ? I had already corrected it.
MMP> So basically it seems I'm fine, for the next nextRow gives a MMP> reasonable next row.
MMP> I go through the MMP> Wiki examples and report problems here and correct typos as I MMP> encounter them.
MMP> That would be VERY helpful for us and we will really appreciate that. My pleasure.
MMP> I will investigate the "unknown system variable". Thanks.
MMP> Are you referring to " In both cases, you must have MMP> installed your database client library first. " ?? MMP> Yes
MMP> Ok. However I already edited the wiki with your comments:
MMP> http://squeakdbx.smallworks.com.ar/Compiling%20and%20installing%20OpenDBX Hey, somehow I completely missed this because you put so much on the Squeak swiki. I always referred to the swiki when I wrote wiki.
Ok now bedtime, 1 hour past midnight here.
Cheers,
Herbert mailto:herbertkoenig@gmx.net
BTW in http://www.linuxnetworks.de/doc/index.php/OpenDBX/Comparison under Environment we see OpenDBX also used this configuration.
You are right. I have just see it. MMP> is that possible ? or you also migrate your database to a 5.0 ?
MMP> which DNU here ? the one of the sql_mode ? no. In my case result is a DBXResultSet (because I sent select from) and rowsAffected is implemented in DBXResult. In the wiki result is returned by a delete sql statement which maybe returns a DBXResult.
If it is a select, it would return a DBXResultSet, other cases like updates, deletes, inserts, create, drop, etc, will return DBXResult
All is stated correctly on the wiki but I just skimmed the text and only read the example. My bad.
perhaps you can do: aResultSet rows size
However, be aware that you are retrieving all the rows in that way. So, you should do something like this:
| rows size | rows := aResultSet rows. size: rows size.
because if not, you loose the rows and you will then have to query again :)
do you understand ?
It just felt naturally to ask how big my result set would be before loading it into Squeak with rows. But it is explained nicely in DBXResultSet>>nextRow.
BTW after I first noticed few class comments I am now very pleased by the many detailed method comments! They will help a lot.
Yes. We have all of the important methods very well explained. Not only for the final user like you, but for us :)
However, we don't have a single class comment :( Of course, if once you get a idea of the class you want to commit comments or whatever, just do it and we will be glad :) But, this is in our too-long to do list ;)
MMP> result columnDescriptions explore gives DBXTypeNotSupported (see png) MMP> for timestamp and text (see mysqlcc.png).
MMP> No, sorry :( You cannot use timestamp. You have to use DATETIME :( MMP> I am sorry but that's OpenDBX. Read: MMP> http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes#Temporal_ty... MMP> I hope this not to be a big problem for you. I think it's not a problem because the returned values are correct. SqueakDBX lives happily in the same image as the native driver so I can compare results from both drivers. Maybe I get problems when I change records but as you have noticed by now the databases are kind of holy cows and I will not touch them.
MMP> MMP> BTW there was a typo on the Wiki the last "s" in columnDescriptions MMP> was missing.
MMP> Sorry. I couldn't find it. Where is it ? I had already corrected it.
Thanks!!! But there is something I didn't tell you hahaha. We don't like swiki. It is nice for the 80s but we wanted a new website. So, we did our own website with Seaside and Pier. We didn't the official ANN because we were waiting for the squeakdbx.org domain. The link right now is: http://squeakdbx.smallworks.com.ar/ The swiki will be deprectaded. So, I would really love if you can fix that again but now in that website. And from now to the future, any correction, change or whatever you do, please do it in that website. I will send you in private the user and password.
MMP> I will investigate the "unknown system variable". Thanks.
This seems to be related to the MySQL version and the client library we are using to connect. I will also ask Norbert as he used MySQL 4 (as you saw in the benchmarks).
What happens if you execute this with a mysql client (not squeakdbx):
SHOW VARIABLES LIKE 'sql_mode'
?
MMP> Are you referring to " In both cases, you must have MMP> installed your database client library first. " ?? MMP> Yes
Done: http://squeakdbx.smallworks.com.ar/Compiling and installing OpenDBX Feel free to change it if you want.
MMP> Ok. However I already edited the wiki with your comments:
MMP> http://squeakdbx.smallworks.com.ar/Compiling%20and%20installing%20OpenDBX Hey, somehow I completely missed this because you put so much on the Squeak swiki. I always referred to the swiki when I wrote wiki.
Yep. Sorry. Forget about http://wiki.squeak.org/squeak/6052. This is deprecated. Now see http://squeakdbx.smallworks.com.ar/
See you.
Mariano
Ok now bedtime, 1 hour past midnight here.
Cheers,
Herbert mailto:herbertkoenig@gmx.net
SqueakDBX mailing list SqueakDBX@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
Hi,
MMP> | rows size | MMP> rows := aResultSet rows. MMP> size: rows size.
I guess I better brush up my sql and learn how to query the database for this size. IIRC it's just select count blah where blahblah. Sometimes it's better not to do everything in Smalltalk :-=
MMP> However, we don't have a single class comment :( Of MMP> course, if once you get a idea of the class you want to commit MMP> comments or whatever, just do it and we will be glad :)
I'll remember that.
MMP> What happens if you execute this with a mysql client (not squeakdbx):
MMP> SHOW VARIABLES LIKE 'sql_mode'
Variable_name Value sql_mode 0
If we can't solve this one I can always change the recoverable error to be silent in this special case.
MMP> Yep. Sorry. Forget about MMP> http://wiki.squeak.org/squeak/6052. This is deprecated. Now see MMP> http://squeakdbx.smallworks.com.ar/ Ok. Maybe a link to "Most current information can be found at http://squeakdbx.smallworks.com.ar/ " on the swiki would help.
Now I will build a small test app which does execute the queries of the production app and compares the results.
Cheers,
Herbert mailto:herbertkoenig@gmx.net
squeakdbx@lists.squeakfoundation.org