• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

MySQL and RxSQL?

Started by RobertM, 2007.07.25, 02:10:06

Previous topic - Next topic

RobertM

Hi all,

I was wondering if the newest release of MySQL will work with RexxSQL? The early v4/v5 releases wouldn't.

If not, does anyone know if an updated version of RexxSQL is planned?

Thanks,
Robert


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM



|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


Paul Smedley

Quote from: RobertM on 2007.07.30, 03:42:35
Anyone?

I gave Mark some assistance late last year and he was planning a new update... I've downloaded the source for rxsql today and will try take a look at building it

Paul Smedley

Quote from: Paul Smedley on 2007.07.30, 06:20:02
Quote from: RobertM on 2007.07.30, 03:42:35
Anyone?

I gave Mark some assistance late last year and he was planning a new update... I've downloaded the source for rxsql today and will try take a look at building it

I got a binary - if anyone wants to test - please contact me via email - paul at smedley dot id dot au

RobertM

Hey Paul,

As always, thanks yet again! :-) So far, everything looks fine. Yet to do any extensive tests, but working through it. I am currently using the DLLs in the back end of my server stuff, and I dont think I have run into any problems yet.

To everyone else who might be trying it... here are the problem(s) I ran into (Paul, this is nothing on your's or Mark's end)

I couldnt get the DLLs to load (loading the functions into REXX). The cause was three things:


  • I hadn't removed all the old DLLs (including the old MySQLU.dll that came with MySQL v3.23.50)
  • I hadn't made sure that the current MySQL DLL (MySQL50.DLL) was in the path (Note: I am NOT talking about the RexxSQL DLLs - but the MySQL DLL that comes in the MySQL Server package)
  • And finally, (possibly) the case for the function load call seems to have changed. Use the example, case preserved from the instructions (or listed below).

Now, I am not 100% sure about the third one... but I do know the earlier RexxSQL DLLs would not load if the case was wrong. I changed the case the same time I put the MySQL50.DLL in a LibPath directory, so I am not sure (but suspect) both were part of my problem.

The proper call to load the DLL is:

Call RXFuncAdd 'SQLLoadFuncs','rexxsql','SQLLoadFuncs'
Call SqlLoadFuncs


When I had Call SqlLoadFuncs capitalized thusly: Call SQLLoadFuncs it did not load. Again, I am not sure if that is due to the other DLLs not being in the LibPath, or because of that AND the case issue - but the previous version seemed to be picky with the case of those two statements.

You can verify the DLLs are properly loaded by writing a small REXX routine as follows:


/* Load and test RexxSQL DLL properly loaded */
    Call RXFuncAdd 'SQLLoadFuncs','rexxsql','SQLLoadFuncs'
    Call SqlLoadFuncs
    Version = sqlvariable('VERSION')

    Say Version

Return 0


That should output something like "RexxSQL v2.5..." and a little more info

Hope that helps everyone, and thanks again Paul (and Mark).

-Robert



|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM

Hey all (and especially Paul Smedley):

I've done some testing using RexxSQL and MySQL v5...

Doing a load test on reads at 22 queries per second via the following method:

  • Netfinity 7000 M10 Quad 550 XEON 4GB RAM
  • Lotus Domino GoWebserver v4.6.2.8
  • MyDB with 74,000 plus records
  • wGet controlled via REXX script on another machine.

The REXX script reads in from the local MySQL copy all 74,000 records to search (20 different processes each retrieving different subsets of the DB). Each of the 20 processes then uses wGet to call a script on the server with parameters for the query and then writes the response on the workstation. Thus I am doing 20 concurrent calls to Domino Go, which is then running the web script and calling the database 20 times at once to read the results. Since each of the 20 is pulling from different places in the DB (Process 1 is getting record 1, then 2, then 3; while simultaneously process 2 is getting record 1,000 then 1,001 etc) MySQL needs to be jumping back and forth 20 times for each set of simultaneous requests.

Absolutely no problems (with CLASSIC Rexx).

The only issue I have had is that ORexx crashes if I try this (but there are a lot of other issues with ORexx as well - so I am 100% sure the issue is entirely ORexx).

I will do further testing:
- Running 50 queries simultaneously
- Using inserts and updates simultaneously during this test at a later time... but so far so good...


Thanks Paul! Nice job!  :)

-Robert


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|