Re: [Oorexx-devel] Rainer are you still around?

2012-06-14 Thread Rainer Tammer
Hello,
any ideas before I start the real AIX builds??

Bye
  Rainer

On 12.06.2012 09:37, Rainer Tammer wrote:
 Hello,
 I just found out, that URL was not correct...

 To be sure that there are no bigger problems with the 4.1.1 release I
 just build a 32 4.1.1 ooRexx and executed the test suite:

 ooTest Framework - Automated Test of the ooRexx Interpreter


 Interpreter: REXX-ooRexx_4.1.1(MT) 6.03 12 Jun 2012
 Addressing Mode: 32
 ooRexxUnit:  2.0.0_3.2.0ooTest: 1.0.0_4.0.0

 Tests ran:   18993
 Assertions:  575871
 Failures:5
 Errors:  0
 Skipped files:   24

 [failure] [20120612 09:30:26.373400]
   svn:r5224   Change date: 2009-09-30 16:17:43 +0200
   Test:   TEST_MANY_CHARS
   Class:  CHAROUT.testGroup
   File:  
 /daten/source/ooRexx_4_1_1/.../4.1.0/ooRexx/base/bif/CHAROUT.testGroup
   Line:   150
   Failed: assertSame
 Expected: [[0], identityHash=100820088]
 Actual:   [[43925504], identityHash=119673482]

 [failure] [20120612 09:30:28.722280]
   svn:r5224   Change date: 2009-09-30 16:17:43 +0200
   Test:   TEST_MANY_CHARS_BIN
   Class:  CHAROUT.testGroup
   File:  
 /daten/source/ooRexx_4_1_1/.../4.1.0/ooRexx/base/bif/CHAROUT.testGroup
   Line:   989
   Failed: assertSame
 Expected: [[0], identityHash=100820088]
 Actual:   [[43925504], identityHash=119678159]

 [failure] [20120612 09:30:32.042544]
   svn:r5224   Change date: 2009-09-30 16:17:43 +0200
   Test:   TEST_MANY_CHARS_NB
   Class:  CHAROUT.testGroup
   File:  
 /daten/source/ooRexx_4_1_1/.../4.1.0/ooRexx/base/bif/CHAROUT.testGroup
   Line:   577
   Failed: assertSame
 Expected: [[0], identityHash=100820088]
 Actual:   [[43925504], identityHash=119279073]

 [failure] [20120612 09:32:34.659518]
   svn:r6418   Change date: 2010-11-30 14:26:10 +0100
   Test:   TEST_9
   Class:  TIME.long.testGroup
   File:  
 /daten/source/ooRexx_4_1_1/test/4.1.0/ooRexx/base/bif/TIME.testGroup
   Line:   1984
   Failed: assertTrue
 Expected: [1]
 Actual:   [[0], identityHash=100801275]
 Message:  cb3a should be greater than or equal to 5, cb3a is: 4.999197

 --- ignore test suite was executed as root -
 [failure] [20120612 09:33:28.795271]
   svn:r4966   Change date: 2009-07-21 01:44:03 +0200
   Test:   TEST_STATE_ERROR
   Class:  Stream.testGroup
   File:  
 /daten/source/ooRexx_4_1_1/.../4.1.0/ooRexx/base/class/Stream.testGroup
   Line:   1113
   Failed: assertNotSame
 Expected: [[0], identityHash=100820088] \== [[0],
 identityHash=118062185]
 Actual:   [[0], identityHash=100820088]  == [[0],
 identityHash=118062185]
 Message:  This test case must not be run as root
 --- ignore test suite was executed as root -

 Interpreter: REXX-ooRexx_4.1.1(MT) 6.03 12 Jun 2012
 Addressing Mode: 32
 ooRexxUnit:  2.0.0_3.2.0ooTest: 1.0.0_4.0.0

 Tests ran:   18993
 Assertions:  575871
 Failures:5
 Errors:  0
 Skipped files:   24

 File search:00:00:12.391469
 Suite construction: 00:00:08.730104
 Test execution: 00:07:32.269283
 Total time: 00:07:58.476396


 Are these known problems??


 Bye
   Rainer

 On 08.06.2012 19:51, Mark Miesfeld wrote:
 Hi Rainer,

 We haven't heard from you in awhile.  Are you still lurking around?

 If so, is it possible for you to build an AIX package for ooRexx 4.1.1?

 If it is not possible, for whatever reason, that's fine.  I'm sure it
 is not a problem with any of the other developers.  We all have real
 lives that we need to attend to.  We'd still like to hear from you.
 Not being able to build a package should not prevent you from posting
 on any of the ooRexx lists.

 --
 Mark Miesfeld




 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and 
 threat landscape has changed and how IT managers can respond. Discussions 
 will include endpoint security, mobile security and the latest in malware 
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Oorexx-devel mailing list
 Oorexx-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/oorexx-devel




--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Fwd: Rainer are you still around?

2012-06-14 Thread Mark Miesfeld
Hi,

I meant this to go to the dev list, not straight to Rainer.

--
Mark Miesfeld


-- Forwarded message --
From: Mark Miesfeld miesf...@gmail.com
Date: Thu, Jun 14, 2012 at 8:10 AM
Subject: Re: [Oorexx-devel] Rainer are you still around?
To: Rainer Tammer tam...@tammer.net


On Wed, Jun 13, 2012 at 11:11 PM, Rainer Tammer tam...@tammer.net wrote:

Hi Rainer,

First off, thanks a lot for doing this when your are so busy.  Please
don't feel any pressure to build the package until you have the time
for it.

 any ideas before I start the real AIX builds??

My idea is that 4.1.1 has been released, so just use the release code
in your build.  If you persistently get errors running the test suite,
you can open a bug.

Having said that, I bet that this test failure is transient:

[failure] [20120612 09:32:34.659518]
 svn:    r6418   Change date: 2010-11-30 14:26:10 +0100
 Test:   TEST_9
 Class:  TIME.long.testGroup
 File:
/daten/source/ooRexx_4_1_1/test/4.1.0/ooRexx/base/bif/TIME.testGroup
 Line:   1984
 Failed: assertTrue
   Expected: [1]
   Actual:   [[0], identityHash=100801275]
   Message:  cb3a should be greater than or equal to 5, cb3a is: 4.999197

In other words if you run the test several times you won't see the
failure every time.  I  don't think it indicates a bug in the
interpreter code.  I think it reflects that you can not expect the
system clock to produce sub-millisecond accuracy in user space.

That leaves the 3 CHAR test failures.  I don't see those failures on
Windows and I didn't see them on the several Linux systems I ran the
test suite on at the time of the release.

Here's Windows with a download of the 4.1.1 release:

ooTest Framework - Automated Test of the ooRexx Interpreter


Interpreter:     REXX-ooRexx_4.1.1(MT) 6.03 16 May 2012
Addressing Mode: 64
ooRexxUnit:      2.0.0_3.2.0    ooTest: 1.0.0_4.0.0

Tests ran:           19257
Assertions:          576586
Failures:            1
Errors:              0
Skipped files:       1

[failure] [20120614 07:40:07.582000]
 svn:    r3541   Change date: 2008-10-14 16:31:57 -0700
 Test:   TEST_READRECORDS05
 Class:  WindowsEventLog.testGroup
 File:   C:\work.ooRexx\...\platform\windows\rxwinsys\WindowsEventLog.testGroup
 Line:   524
 Failed: assertSame
   Expected: [[57413], identityHash=1099388258186]
   Actual:   [[57412], identityHash=1099388258194]

File search:        00:00:13.822000
Suite construction: 00:00:01.95
Test execution:     00:10:05.236000
Total time:         00:10:29.321000

The one failure shows that between the time the record events log was
filled and the time of the second asset, 1 record was added to the
event log.  This is not unusual on a busy system and is perhaps a flaw
in the test case, certainly not a bug in the interpreter or the
extension..

I don't have a Linux system handy to re-test on right now.  But, I
didn't see those failures at the time of the release.

So - I say build the AIX package with the release code.  Open a bug if
the test suite continues to fail on the CHAR tests.

Just be sure you are using the actual release source:

https://oorexx.svn.sourceforge.net/svnroot/oorexx/main/releases/4.1.1/trunk

Thanks again for building the AIX packages Rainer

--
Mark Miesfeld

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] ooSQLite usage

2012-06-14 Thread hakan
As I saw that ooSQLite was updated in incubator, regarding the SQLite backup 
API,I downloaded the source and compiled it under windows 7 64bit. From the 
sample /testing/loadDatabase.rex, I made my own database loading rex.
The program creates a sqlite database in memory, with 6 columns, read and parse 
a 181Mb file and creates SQL insert statements, then inserts the resulting 
records  (101657 records) into the memory database and last step save the in 
memory database  to disc.
This programs elapsed time was around  61-65 seconds( including copy to disc) , 
compared to the previous ~17 MINUTES when using a disc based database only, 
with same data.
Great improvment.
By the way I also downloaded the latest SQLite source 3.7.13 and used that in 
the compile above.
All works very well.
/hex

-
Ursprungligt Meddelande:
Från: hakan hexi...@users.sourceforge.net
Till: Mark Miesfeld miesf...@gmail.com
Kopia: 
Datum: fredag, 08 juni 2012 22:20
Ämne: Re: [Oorexx-devel] ooSQLite usage
Well, tried with BEGIN TRANSACTION. COMMIT and cut the time by around 5 
minutes, so when initial loading is done, it seems that inmemory database is 
much quickier, because of hardisc speed, if a possibility to save the inmemory 
database to harddisc is available.
Looking forward to your implementation of the .backup (.dot ) commands in 
ooSQLite.
Keep up your good work (as a side note I am very satisfied with ooDialog 4.2 
excellent work, I love it, maybe as I now understand how it works (at least to 
some point) and how to use it together with ooRexx, OO is hard for an old 
mainframer :-) )
/hex

 

-
Ursprungligt Meddelande:
Från: Mark Miesfeld miesf...@gmail.com
Till: hexi...@users.sourceforge.net, Open Object Rexx Developer Mailing List 
oorexx-devel@lists.sourceforge.net
Kopia: 
Datum: fredag, 08 juni 2012 21:13
Ämne: Re: [Oorexx-devel] ooSQLite usage
Very cool.

On Fri, Jun 8, 2012 at 11:07 AM, hakan hexi...@users.sourceforge.net wrote:
 After trying the ooSQLite package, I must say I am very impressed (well I am
 not a DB person, so the learning curve is step) but I find it useful for
 some of my ooREXX programs.
 The samples have been very helpful, I am now able to create, load and query
 a database/tables in ooREXX.
 One thing is performance, when creating a new database, I have read/parsed a
 file and then loaded it (92 000 rows) to a database/table , took around 17
 minutes on a i3 2.13Ghz !

From my reading (but I'm also not a DB person) this is a problem with
INSERTS with not using an explicit BEGIN TRANSACTION  COMMIT.

As I understand it, for every individual SQL statement executed,
SQLite will implicitly add the BEGIN TRANSACTION / COMMIT if it is not
already within a transaction.  The SQLite engine only does about 4 or
5 inserts a second under this condition.

If you add the explicit BEGIN TRANSACTION before the first insert and
then end with COMMIT the speed should be more normal.  Something like
this:

BEGIN TRANSACTION;
INSERT INTO episodes VALUES(0, NULL, 'Good News Bad News');
INSERT INTO episodes VALUES(1, 1, 'Male Unbonding');
INSERT INTO episodes VALUES(2, 1, 'The Stake Out');
INSERT INTO episodes VALUES(3, 1, 'The Robbery');
...
INSERT INTO food_types VALUES(13, 'Seafood');
INSERT INTO food_types VALUES(14, 'Soup');
INSERT INTO food_types VALUES(15, 'Vegetables');
COMMIT;

I guess it is COMMIT not END TRANSACTION.  I first thought it was END
TRANSACTION.

The above is the raw SQL, I'm assuming you are wrapping the raw SQL in
a prepared statement.


 I then tried to to create a ooSQLite database in memory instead of a file
 (ooSQLite supports this, I used :memory: instead of a filename) then loading
 the same amount of data took around 15-20 seconds,
 but there is one problem I can't save the in memory database to a file with
 ooSQLite, as I understand from SQLite website there exist an backup API that
 let you save an in memory database to disc.
 I have tried it with the ooSQLITE3.exe (cli interface) doing the same as the
 ooRexx program( except backup) above does, by opening a :memory: database
 then create a table, then use .read file with SQL inserts and last use the
 .backup file CLI command. The result is that with the same amont of rows
 (inserts) it took around 30 seconds to have the database copied to disc
 including the SQl inserts.

 So, Question is is it possible to implement the backup api (to be able to
 copy a in memory database to disc) in ooSQLite, maybe also to make inserts
 into a database from a file (like the .read file CLi command). ?
 I may have missed something regarding this!

Yes, both of those things are next on my list.  Or at least very near
the top.  I intend to support the backup API as the next coding I do.

In addition, I've planned from the start to support the dot commands
present in the command line shell in ooSQLite classes.  The most
important ones like .dump, .read, .schema, etc., first.  Maybe not all
of them, I'm 

Re: [Oorexx-devel] ooSQLite usage

2012-06-14 Thread Mark Miesfeld
Good news.

I'm still fooling with the backup object a little, but probably won't
change anything at this point.  I'm working on the doc for the
ooSQLiteBackup object and the functional equivalents.

My plan is to put up a new package this weekend that will have the
online backup complete, along with doc finished for that portion.

I have also updated my source with SQLite 3.7.13, I just haven't
committed it yet.  So, the next package will be based on 3.7.13.

When the ooSQLite package reaches the release stage, my plan is update
the package with the latest SQLite version when they do a release.
Then, I will place the prebuilt binaries on SourceForge.  This will
allow users that are not comfortable with compiling and building to
always have access to the latest SQLite version.  At most, ooSQLite
will lag by one day a new SQLite version.

I'm trying to keep a running list of changes between package versions
put on SourceForge, as I make a change, in the ReleaseNotes file.  You
may want to watch that file to be alerted to changes in the source
that may effect you.

--
Mark Miesfeld

On Thu, Jun 14, 2012 at 12:22 PM, hakan hexi...@users.sourceforge.net wrote:
 As I saw that ooSQLite was updated in incubator, regarding the SQLite backup 
 API,I downloaded the source and compiled it under windows 7 64bit. From the 
 sample /testing/loadDatabase.rex, I made my own database loading rex.
 The program creates a sqlite database in memory, with 6 columns, read and 
 parse a 181Mb file and creates SQL insert statements, then inserts the 
 resulting records  (101657 records) into the memory database and last step 
 save the in memory database  to disc.
 This programs elapsed time was around  61-65 seconds( including copy to disc) 
 , compared to the previous ~17 MINUTES when using a disc based database only, 
 with same data.
 Great improvment.
 By the way I also downloaded the latest SQLite source 3.7.13 and used that in 
 the compile above.
 All works very well.
 /hex

 -
 Ursprungligt Meddelande:
 Från: hakan hexi...@users.sourceforge.net
 Till: Mark Miesfeld miesf...@gmail.com
 Kopia:
 Datum: fredag, 08 juni 2012 22:20
 Ämne: Re: [Oorexx-devel] ooSQLite usage
 Well, tried with BEGIN TRANSACTION. COMMIT and cut the time by around 5 
 minutes, so when initial loading is done, it seems that inmemory database is 
 much quickier, because of hardisc speed, if a possibility to save the 
 inmemory database to harddisc is available.
 Looking forward to your implementation of the .backup (.dot ) commands in 
 ooSQLite.
 Keep up your good work (as a side note I am very satisfied with ooDialog 4.2 
 excellent work, I love it, maybe as I now understand how it works (at least 
 to some point) and how to use it together with ooRexx, OO is hard for an old 
 mainframer :-) )
 /hex



 -
 Ursprungligt Meddelande:
 Från: Mark Miesfeld miesf...@gmail.com
 Till: hexi...@users.sourceforge.net, Open Object Rexx Developer Mailing List 
 oorexx-devel@lists.sourceforge.net
 Kopia:
 Datum: fredag, 08 juni 2012 21:13
 Ämne: Re: [Oorexx-devel] ooSQLite usage
 Very cool.

 On Fri, Jun 8, 2012 at 11:07 AM, hakan hexi...@users.sourceforge.net wrote:
 After trying the ooSQLite package, I must say I am very impressed (well I am
 not a DB person, so the learning curve is step) but I find it useful for
 some of my ooREXX programs.
 The samples have been very helpful, I am now able to create, load and query
 a database/tables in ooREXX.
 One thing is performance, when creating a new database, I have read/parsed a
 file and then loaded it (92 000 rows) to a database/table , took around 17
 minutes on a i3 2.13Ghz !

 From my reading (but I'm also not a DB person) this is a problem with
 INSERTS with not using an explicit BEGIN TRANSACTION  COMMIT.

 As I understand it, for every individual SQL statement executed,
 SQLite will implicitly add the BEGIN TRANSACTION / COMMIT if it is not
 already within a transaction.  The SQLite engine only does about 4 or
 5 inserts a second under this condition.

 If you add the explicit BEGIN TRANSACTION before the first insert and
 then end with COMMIT the speed should be more normal.  Something like
 this:

 BEGIN TRANSACTION;
 INSERT INTO episodes VALUES(0, NULL, 'Good News Bad News');
 INSERT INTO episodes VALUES(1, 1, 'Male Unbonding');
 INSERT INTO episodes VALUES(2, 1, 'The Stake Out');
 INSERT INTO episodes VALUES(3, 1, 'The Robbery');
 ...
 INSERT INTO food_types VALUES(13, 'Seafood');
 INSERT INTO food_types VALUES(14, 'Soup');
 INSERT INTO food_types VALUES(15, 'Vegetables');
 COMMIT;

 I guess it is COMMIT not END TRANSACTION.  I first thought it was END
 TRANSACTION.

 The above is the raw SQL, I'm assuming you are wrapping the raw SQL in
 a prepared statement.


 I then tried to to create a ooSQLite database in memory instead of a file
 (ooSQLite supports this, I used :memory: instead of a filename) then loading
 the same amount of data took around 

Re: [Oorexx-devel] Fwd: Rainer are you still around?

2012-06-14 Thread Jean-Louis Faucher
About the three failures TEST_MANY_CHARS.
I have them under windows, when running the test from an USB drive.
http://sourceforge.net/mailarchive/message.php?msg_id=26103047

Seems 200Mb is too big, and it remains around 42Mb not written... Disk full
?

Jean-Louis

2012/6/14 Mark Miesfeld miesf...@gmail.com

 Hi,

 I meant this to go to the dev list, not straight to Rainer.

 --
 Mark Miesfeld


 -- Forwarded message --
 From: Mark Miesfeld miesf...@gmail.com
 Date: Thu, Jun 14, 2012 at 8:10 AM
 Subject: Re: [Oorexx-devel] Rainer are you still around?
 To: Rainer Tammer tam...@tammer.net


 On Wed, Jun 13, 2012 at 11:11 PM, Rainer Tammer tam...@tammer.net wrote:

 Hi Rainer,

 First off, thanks a lot for doing this when your are so busy.  Please
 don't feel any pressure to build the package until you have the time
 for it.

  any ideas before I start the real AIX builds??

 My idea is that 4.1.1 has been released, so just use the release code
 in your build.  If you persistently get errors running the test suite,
 you can open a bug.

 Having said that, I bet that this test failure is transient:

 [failure] [20120612 09:32:34.659518]
  svn:r6418   Change date: 2010-11-30 14:26:10 +0100
  Test:   TEST_9
  Class:  TIME.long.testGroup
  File:
 /daten/source/ooRexx_4_1_1/test/4.1.0/ooRexx/base/bif/TIME.testGroup
  Line:   1984
  Failed: assertTrue
Expected: [1]
Actual:   [[0], identityHash=100801275]
Message:  cb3a should be greater than or equal to 5, cb3a is: 4.999197

 In other words if you run the test several times you won't see the
 failure every time.  I  don't think it indicates a bug in the
 interpreter code.  I think it reflects that you can not expect the
 system clock to produce sub-millisecond accuracy in user space.

 That leaves the 3 CHAR test failures.  I don't see those failures on
 Windows and I didn't see them on the several Linux systems I ran the
 test suite on at the time of the release.

 Here's Windows with a download of the 4.1.1 release:

 ooTest Framework - Automated Test of the ooRexx Interpreter


 Interpreter: REXX-ooRexx_4.1.1(MT) 6.03 16 May 2012
 Addressing Mode: 64
 ooRexxUnit:  2.0.0_3.2.0ooTest: 1.0.0_4.0.0

 Tests ran:   19257
 Assertions:  576586
 Failures:1
 Errors:  0
 Skipped files:   1

 [failure] [20120614 07:40:07.582000]
  svn:r3541   Change date: 2008-10-14 16:31:57 -0700
  Test:   TEST_READRECORDS05
  Class:  WindowsEventLog.testGroup
  File:
 C:\work.ooRexx\...\platform\windows\rxwinsys\WindowsEventLog.testGroup
  Line:   524
  Failed: assertSame
Expected: [[57413], identityHash=1099388258186]
Actual:   [[57412], identityHash=1099388258194]

 File search:00:00:13.822000
 Suite construction: 00:00:01.95
 Test execution: 00:10:05.236000
 Total time: 00:10:29.321000

 The one failure shows that between the time the record events log was
 filled and the time of the second asset, 1 record was added to the
 event log.  This is not unusual on a busy system and is perhaps a flaw
 in the test case, certainly not a bug in the interpreter or the
 extension..

 I don't have a Linux system handy to re-test on right now.  But, I
 didn't see those failures at the time of the release.

 So - I say build the AIX package with the release code.  Open a bug if
 the test suite continues to fail on the CHAR tests.

 Just be sure you are using the actual release source:

 https://oorexx.svn.sourceforge.net/svnroot/oorexx/main/releases/4.1.1/trunk

 Thanks again for building the AIX packages Rainer

 --
 Mark Miesfeld


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Oorexx-devel mailing list
 Oorexx-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/oorexx-devel

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Sourceforge

2012-06-14 Thread Walter Pachl
Who is master of ooRexx on Sourceforge?

The examples section on it is deplorable
Maybe one could now point at rosettacode.org (as Rick prodused tons of 
examples)

Found this address on sourceforge.
iWeaveRexx@users.sourceforge
Sent a question:
Who are you?
Walter

Back came
_
From: Mail Delivery System [mailto:mailer-dae...@mucimg02.unicreditgroup.eu]
Sent: Thursday, June 14, 2012 9:18 AM
To: PACHL Walter (Ext. - UBIS - UniCredit)
Subject: Undeliverable: Rexx Samples


Delivery has failed to these recipients or distribution lists:

iWeaveRexx@users.sourceforge
A problem occurred during the delivery of this message. Microsoft Exchange 
will not try to redeliver this message for you. Please try resending this 
message later, or provide the following diagnostic text to your system 
administrator.


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] ooSQLite usage

2012-06-14 Thread hakan
Found one strange thing
The program creates an array of SQL insert statements, after parse of the 
source file. 
This array is then used to do the actuall insert in the memory database (the 
array is also saved to a file)

memDB = .ooSQLiteConnection~new(:memory:)

discDB = .ooSQLiteBackup~new(memDB, fileDB)
..
do sql over mycmds
   stmt = .ooSQLiteStmt~new(memDB, sql)
   stmt~step
   stmt~finalize 
end
and then
/* here we do the backup to disc */
  ret = discdb~step(-1)
  if ret == discDB~DONE then do
say 'Back up finished with no error:'  --discDB~lastErrCode 
discDB~lastErrMsg
  end
  memDB~close  

What's happening is that one empty record is inserted in the database !

creating an in memory database with ooSQlLite3 ( ooSQLite :memory:)
and create table and then loading the table with .read mycmds.txt will not 
create an empy row in memory database

the last 2 record of input file (array) is
INSERT INTO LIDS (lid, uid, empid, Name, privileges) VALUES('x', 
yyy   ', '  z', 'name', privileges'); -- can't show 
real values   
--empty line -- (just empty x'0D0A' )

file is created with
f =.stream~new(mycmds.txt)
do line over mycmds/* Write the lines */
 f~lineout(line)
end
f~close
-
Ursprungligt Meddelande:
Från: hakan hexi...@users.sourceforge.net
Till: oorexx-devel@lists.sourceforge.net
Kopia: 
Datum: torsdag, 14 juni 2012 21:22
Ämne: Re: [Oorexx-devel] ooSQLite usage
As I saw that ooSQLite was updated in incubator, regarding the SQLite backup 
API,I downloaded the source and compiled it under windows 7 64bit. From the 
sample /testing/loadDatabase.rex, I made my own database loading rex.
The program creates a sqlite database in memory, with 6 columns, read and parse 
a 181Mb file and creates SQL insert statements, then inserts the resulting 
records  (101657 records) into the memory database and last step save the in 
memory database  to disc.
This programs elapsed time was around  61-65 seconds( including copy to disc) , 
compared to the previous ~17 MINUTES when using a disc based database only, 
with same data.
Great improvment.
By the way I also downloaded the latest SQLite source 3.7.13 and used that in 
the compile above.
All works very well.
/hex

-
Ursprungligt Meddelande:
Från: hakan hexi...@users.sourceforge.net
Till: Mark Miesfeld miesf...@gmail.com
Kopia: 
Datum: fredag, 08 juni 2012 22:20
Ämne: Re: [Oorexx-devel] ooSQLite usage
Well, tried with BEGIN TRANSACTION. COMMIT and cut the time by around 5 
minutes, so when initial loading is done, it seems that inmemory database is 
much quickier, because of hardisc speed, if a possibility to save the inmemory 
database to harddisc is available.
Looking forward to your implementation of the .backup (.dot ) commands in 
ooSQLite.
Keep up your good work (as a side note I am very satisfied with ooDialog 4.2 
excellent work, I love it, maybe as I now understand how it works (at least to 
some point) and how to use it together with ooRexx, OO is hard for an old 
mainframer :-) )
/hex

 

-
Ursprungligt Meddelande:
Från: Mark Miesfeld miesf...@gmail.com
Till: hexi...@users.sourceforge.net, Open Object Rexx Developer Mailing List 
oorexx-devel@lists.sourceforge.net
Kopia: 
Datum: fredag, 08 juni 2012 21:13
Ämne: Re: [Oorexx-devel] ooSQLite usage
Very cool.

On Fri, Jun 8, 2012 at 11:07 AM, hakan hexi...@users.sourceforge.net wrote:
 After trying the ooSQLite package, I must say I am very impressed (well I am
 not a DB person, so the learning curve is step) but I find it useful for
 some of my ooREXX programs.
 The samples have been very helpful, I am now able to create, load and query
 a database/tables in ooREXX.
 One thing is performance, when creating a new database, I have read/parsed a
 file and then loaded it (92 000 rows) to a database/table , took around 17
 minutes on a i3 2.13Ghz !

From my reading (but I'm also not a DB person) this is a problem with
INSERTS with not using an explicit BEGIN TRANSACTION  COMMIT.

As I understand it, for every individual SQL statement executed,
SQLite will implicitly add the BEGIN TRANSACTION / COMMIT if it is not
already within a transaction.  The SQLite engine only does about 4 or
5 inserts a second under this condition.

If you add the explicit BEGIN TRANSACTION before the first insert and
then end with COMMIT the speed should be more normal.  Something like
this:

BEGIN TRANSACTION;
INSERT INTO episodes VALUES(0, NULL, 'Good News Bad News');
INSERT INTO episodes VALUES(1, 1, 'Male Unbonding');
INSERT INTO episodes VALUES(2, 1, 'The Stake Out');
INSERT INTO episodes VALUES(3, 1, 'The Robbery');
...
INSERT INTO food_types VALUES(13, 'Seafood');
INSERT INTO food_types VALUES(14, 'Soup');
INSERT INTO food_types VALUES(15, 'Vegetables');
COMMIT;

I guess it is COMMIT not END TRANSACTION.  I first thought it was END
TRANSACTION.

The above is the raw SQL, I'm assuming 

Re: [Oorexx-devel] ooSQLite usage

2012-06-14 Thread Mark Miesfeld
On Thu, Jun 14, 2012 at 1:11 PM, hakan hexi...@users.sourceforge.net wrote:
 Found one strange thing
 The program creates an array of SQL insert statements, after parse of the 
 source file.
 This array is then used to do the actuall insert in the memory database (the 
 array is also saved to a file)

 memDB = .ooSQLiteConnection~new(:memory:)
 
 discDB = .ooSQLiteBackup~new(memDB, fileDB)
 ..
 do sql over mycmds
   stmt = .ooSQLiteStmt~new(memDB, sql)
   stmt~step
   stmt~finalize
 end
 and then
 /* here we do the backup to disc */
  ret = discdb~step(-1)
  if ret == discDB~DONE then do
    say 'Back up finished with no error:'  --discDB~lastErrCode 
 discDB~lastErrMsg
  end
  memDB~close

 What's happening is that one empty record is inserted in the database !

 creating an in memory database with ooSQlLite3 ( ooSQLite :memory:)
 and create table and then loading the table with .read mycmds.txt will not 
 create an empy row in memory database

 the last 2 record of input file (array) is
 INSERT INTO LIDS (lid, uid, empid, Name, privileges) VALUES('x', 
 yyy       ', '  z', 'name', privileges');             -- can't 
 show real values
 --empty line -- (just empty x'0D0A' )

Not sure I understand what is happening.  Does the empty line get passed into:

stmt = .ooSQLiteStmt~new(memDB, sql)


If you use the same file but load the records the way you first did,
not using an in-memory database, do you still get an empty record?

If you take the same file and chop it down to, say just the last 10
lines in file, do you still get the empty record?

--
Mark Miesfeld

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] ooSQLite usage

2012-06-14 Thread hakan
False alarm, 
After rereading my program code I found out that I had a return statement 
missing. 
After writing the array of commands to a file, there was an item, which was an 
empty SQL INSERT statement, added to the array of commands.
Sorry for the confusion.
/hex

-
Ursprungligt Meddelande:
Från: Mark Miesfeld miesf...@gmail.com
Till: hexi...@users.sourceforge.net, Open Object Rexx Developer Mailing List 
oorexx-devel@lists.sourceforge.net
Kopia: 
Datum: fredag, 15 juni 2012 01:26
Ämne: Re: [Oorexx-devel] ooSQLite usage
On Thu, Jun 14, 2012 at 1:11 PM, hakan hexi...@users.sourceforge.net wrote:
 Found one strange thing
 The program creates an array of SQL insert statements, after parse of the 
 source file.
 This array is then used to do the actuall insert in the memory database (the 
 array is also saved to a file)

 memDB = .ooSQLiteConnection~new(:memory:)
 
 discDB = .ooSQLiteBackup~new(memDB, fileDB)
 ..
 do sql over mycmds
   stmt = .ooSQLiteStmt~new(memDB, sql)
   stmt~step
   stmt~finalize
 end
 and then
 /* here we do the backup to disc */
  ret = discdb~step(-1)
  if ret == discDB~DONE then do
    say 'Back up finished with no error:'  --discDB~lastErrCode 
 discDB~lastErrMsg
  end
  memDB~close

 What's happening is that one empty record is inserted in the database !

 creating an in memory database with ooSQlLite3 ( ooSQLite :memory:)
 and create table and then loading the table with .read mycmds.txt will not 
 create an empy row in memory database

 the last 2 record of input file (array) is
 INSERT INTO LIDS (lid, uid, empid, Name, privileges) VALUES('x', 
 yyy       ', '  z', 'name', privileges');             -- can't 
 show real values
 --empty line -- (just empty x'0D0A' )

Not sure I understand what is happening.  Does the empty line get passed into:

stmt = .ooSQLiteStmt~new(memDB, sql)


If you use the same file but load the records the way you first did,
not using an in-memory database, do you still get an empty record?

If you take the same file and chop it down to, say just the last 10
lines in file, do you still get the empty record?

--
Mark Miesfeld

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel