OSDN Git Service

SQLiteJDBC 3.6.0
authorleo <leo@ae02f08e-27ec-0310-ae8c-8ba02fe2eafd>
Thu, 17 Jul 2008 03:23:00 +0000 (03:23 +0000)
committerleo <leo@ae02f08e-27ec-0310-ae8c-8ba02fe2eafd>
Thu, 17 Jul 2008 03:23:00 +0000 (03:23 +0000)
git-svn-id: http://www.xerial.org/svn/project/XerialJ/trunk/sqlite-jdbc@2334 ae02f08e-27ec-0310-ae8c-8ba02fe2eafd

.classpath
src/main/java/org/xerial/db/sql/sqlite/SQLiteJDBCLoader.java
src/main/resources/native/SunOS/sparcv9/libsqlitejdbc.so [deleted file]
src/test/java/org/xerial/db/sql/sqlite/SQLitePureJavaTest.java [new file with mode: 0644]

index 188e0da..ab2b07d 100644 (file)
@@ -1,15 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
 <classpath>\r
-  <classpathentry kind="src" path="src/main/java"/>\r
-  <classpathentry kind="src" path="src/main/resources" including="native/**|org/**" excluding="**/*.java"/>\r
-  <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>\r
-  <classpathentry kind="output" path="target/classes"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/jdbc-api/1.4/jdbc-api-1.4.jar"/>\r
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
-  <classpathentry kind="var" path="M2_REPO/junit/junit/4.1/junit-4.1.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/xerial/xerial-core/0.8.0/xerial-core-0.8.0.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.1-b1/stringtemplate-3.1-b1.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/nestedvm/1.0/nestedvm-1.0.jar"/>\r
-  <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/sqlitejdbc-nested/3.5.9/sqlitejdbc-nested-3.5.9.jar"/>\r
-</classpath>
\ No newline at end of file
+       <classpathentry kind="src" path="src/main/java"/>\r
+       <classpathentry excluding="**/*.java" including="native/**|org/**" kind="src" path="src/main/resources"/>\r
+       <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/jdbc-api/1.4/jdbc-api-1.4.jar"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="var" path="M2_REPO/junit/junit/4.1/junit-4.1.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/xerial/xerial-core/0.8.0/xerial-core-0.8.0.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.1-b1/stringtemplate-3.1-b1.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/nestedvm/1.0/nestedvm-1.0.jar"/>\r
+       <classpathentry kind="var" path="M2_REPO/org/xerial/thirdparty/sqlitejdbc-nested/3.6.0/sqlitejdbc-nested-3.6.0.jar"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
index f2b917c..77551bf 100644 (file)
@@ -108,7 +108,7 @@ public class SQLiteJDBCLoader
             String targetFolder)\r
     {\r
         String nativeLibraryFilePath = libFolderForCurrentOS + "/" + libraryFileName;\r
-        final String prefix = "sqlite-3.5.9-";\r
+        final String prefix = "sqlite-3.6.0-";\r
 \r
         String extractedLibFileName = prefix + libraryFileName;\r
         File extractedLibFile = new File(targetFolder, extractedLibFileName);\r
diff --git a/src/main/resources/native/SunOS/sparcv9/libsqlitejdbc.so b/src/main/resources/native/SunOS/sparcv9/libsqlitejdbc.so
deleted file mode 100755 (executable)
index aec1c86..0000000
Binary files a/src/main/resources/native/SunOS/sparcv9/libsqlitejdbc.so and /dev/null differ
diff --git a/src/test/java/org/xerial/db/sql/sqlite/SQLitePureJavaTest.java b/src/test/java/org/xerial/db/sql/sqlite/SQLitePureJavaTest.java
new file mode 100644 (file)
index 0000000..dfe7e43
--- /dev/null
@@ -0,0 +1,100 @@
+//--------------------------------------
+// sqlite-jdbc Project
+//
+// SQLiteNestedTest.java
+// Since: Jul 17, 2008
+//
+// $URL$ 
+// $Author$
+//--------------------------------------
+package org.xerial.db.sql.sqlite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.sqlite.Function;
+import org.xerial.util.log.Logger;
+
+public class SQLitePureJavaTest
+{
+    private static Logger _logger = Logger.getLogger(SQLitePureJavaTest.class);
+
+    private Connection connection = null;
+
+    @Before
+    public void setUp() throws Exception
+    {
+        System.setProperty("sqlite.purejava", "true");
+        connection = null;
+        Class.forName("org.sqlite.JDBC");
+        // create a database connection
+        connection = DriverManager.getConnection("jdbc:sqlite::memory:");
+    }
+
+    @After
+    public void tearDown() throws Exception
+    {
+        if (connection != null)
+            connection.close();
+    }
+
+    @Test
+    public void query() throws ClassNotFoundException
+    {
+        _logger.debug(String.format("running in %s mode", SQLiteJDBCLoader.isNativeMode() ? "native" : "nested"));
+
+        try
+        {
+            Statement statement = connection.createStatement();
+            statement.setQueryTimeout(30); // set timeout to 30 sec.
+
+            statement.executeUpdate("create table person ( id integer, name string)");
+            statement.executeUpdate("insert into person values(1, 'leo')");
+            statement.executeUpdate("insert into person values(2, 'yui')");
+
+            ResultSet rs = statement.executeQuery("select * from person order by id");
+            while (rs.next())
+            {
+                // read the result set
+                int id = rs.getInt(1);
+                String name = rs.getString(2);
+            }
+        }
+        catch (SQLException e)
+        {
+            // if e.getMessage() is "out of memory", it probably means no
+            // database file is found
+            fail(e.getMessage());
+        }
+    }
+
+    @Test
+    public void function() throws SQLException
+    {
+        Function.create(connection, "total", new Function() {
+            @Override
+            protected void xFunc() throws SQLException
+            {
+                int sum = 0;
+                for (int i = 0; i < args(); i++)
+                    sum += value_int(i);
+                result(sum);
+            }
+        });
+
+        ResultSet rs = connection.createStatement().executeQuery("select total(1, 2, 3, 4, 5)");
+        assertTrue(rs.next());
+        assertEquals(rs.getInt(1), 1 + 2 + 3 + 4 + 5);
+    }
+
+}