SQLLoader Release 0.1
Many thanks to Ciaran Mahon and David Hardel for their help
in getting this project up and running.
Oracle 8i on Solaris and NT
MySQL 3.21 on NT
freemarker.jar Vesion 1.5.3
jakarta-oro-2.0.3.jar
jakarta-regexp-1.2.jar
log4j.jar
mysql_comp.jar MySQL JDBC Driver
set the env variable SQLLOADER_HOME to where you unzipped SQLLoader to
SQLLoader uses the class sqlloader.config.Config to retrieve
configuration properities. This class expects the System Property
SQLLoaderDir to be set to the base dir of SQLLoader.
It then loads properties located in the file
SQLLoaderDir/etc/SQLLoader.properties
To run any file with a main just run
java -DSQLLoaderDir=%SQLLoader_HOME% class
Example class
java -DSQLLoaderDir=%SQLLoader_HOME% examples.sqlloader.complete.Main
set the env variable SQLLOADER_HOME to where you unzipped SQLLoader to
run ant from the SQLLOADER_HOME directory
-NULL Values not handled
This is the main problem with SQLLoader in its current state.
-DATE Values not handled
-Anything else probably will come out after people review the code and test it.
Possible solution is to provide a number setXXX methods on the substitution List class where XXX is Int, Long, Date, Timestamp, DateTime, Null etc....
-RI Implementation independent of Freemarker
This is already done but the code is temporily unaccessible
-JUnit Tests
These are half written.
-Provide Proper Performance Testing against Statements and Prepared Statements
-Provide SQLLoader as a binary release to allow plugin to applications more easily
-Provide better support for configuration from multiple sources ,XML, passed in properities etc....
Performance
The package examples.sqlloader.performance.compare
contains tests for comparing inserts into the COFFEES table
for Statements , Prepared statements and SQLLoader
The results shown below are for 10,000 inserts for each type of test.
All times are in milliseconds.
The test was done using JSDK 1.4 and MySQL 3.21 on a Windows 2000 machine.
I presume Oracle and other comerical RDBMS will provide better results for
prepared statements.
Result for Prep Stmt FASTER
Aver Min Max
8.0 0 481
Result for Prep Stmt Tester
Aver Min Max
7.0 0 321
Result for Slow Stmt Tester
Aver Min Max
1.0 0 80
Result for Fast Stmt Tester
Aver Min Max
1.0 0 170
Result for SQLLoader Tester
Aver Min Max
2.0 0 81
Result for SQLLoader Faster
Aver Min Max
2.0 0 121
Result for SQLLoader DEBUG
Aver Min Max
2.0 0 121
mailto:jugglefest@sourceforge.net