diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/JdbcSymmetricDialectFactory.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/JdbcSymmetricDialectFactory.java index 70108e7e68..52712b4610 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/JdbcSymmetricDialectFactory.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/JdbcSymmetricDialectFactory.java @@ -66,7 +66,7 @@ import org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect; import org.jumpmind.symmetric.db.redshift.RedshiftSymmetricDialect; import org.jumpmind.symmetric.db.sqlanywhere.SqlAnywhereSymmetricDialect; -import org.jumpmind.symmetric.db.sqlite.SqliteSymmetricDialect; +import org.jumpmind.symmetric.db.sqlite.SqliteJdbcSymmetricDialect; import org.jumpmind.symmetric.service.IParameterService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -149,7 +149,7 @@ public ISymmetricDialect create() { } else if (platform instanceof InterbaseDatabasePlatform) { dialect = new InterbaseSymmetricDialect(parameterService, platform); } else if (platform instanceof SqliteDatabasePlatform) { - dialect = new SqliteSymmetricDialect(parameterService, platform); + dialect = new SqliteJdbcSymmetricDialect(parameterService, platform); } else { throw new DbNotSupportedException(); } diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteJdbcSymmetricDialect.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteJdbcSymmetricDialect.java new file mode 100644 index 0000000000..d1c5f70749 --- /dev/null +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteJdbcSymmetricDialect.java @@ -0,0 +1,38 @@ +package org.jumpmind.symmetric.db.sqlite; + +import java.sql.Connection; +import java.sql.SQLException; + +import org.jumpmind.db.platform.IDatabasePlatform; +import org.jumpmind.db.sql.IConnectionCallback; +import org.jumpmind.db.sql.ISqlTransaction; +import org.jumpmind.db.sql.JdbcSqlTransaction; +import org.jumpmind.symmetric.service.IParameterService; + +public class SqliteJdbcSymmetricDialect extends SqliteSymmetricDialect { + + public SqliteJdbcSymmetricDialect(IParameterService parameterService, IDatabasePlatform platform) { + super(parameterService, platform); + } + + @Override + protected void setSqliteFunctionResult(ISqlTransaction transaction, final String name, final String result){ + JdbcSqlTransaction trans = (JdbcSqlTransaction)transaction; + trans.executeCallback(new IConnectionCallback() { + @Override + public Object execute(Connection con) throws SQLException { + org.sqlite.SQLiteConnection unwrapped = ((org.sqlite.SQLiteConnection)((org.apache.commons.dbcp.DelegatingConnection)con).getInnermostDelegate()); + + org.sqlite.Function.create(unwrapped, name, new org.sqlite.Function() { + @Override + protected void xFunc() throws SQLException { + this.result(result); + } + }); + + return null; + } + }); + } + +} diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteSymmetricDialect.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteSymmetricDialect.java index 8b6d353e0b..a78bb18d8c 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteSymmetricDialect.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/db/sqlite/SqliteSymmetricDialect.java @@ -20,14 +20,9 @@ */ package org.jumpmind.symmetric.db.sqlite; -import java.sql.Connection; -import java.sql.SQLException; - import org.jumpmind.db.model.Table; import org.jumpmind.db.platform.IDatabasePlatform; -import org.jumpmind.db.sql.IConnectionCallback; import org.jumpmind.db.sql.ISqlTransaction; -import org.jumpmind.db.sql.JdbcSqlTransaction; import org.jumpmind.db.sql.SqlException; import org.jumpmind.db.util.BinaryEncoding; import org.jumpmind.symmetric.common.ParameterConstants; @@ -85,25 +80,9 @@ public void dropRequiredDatabaseObjects() { public void cleanDatabase() { } - private void setSqliteFunctionResult(ISqlTransaction transaction, final String name, final String result){ - JdbcSqlTransaction trans = (JdbcSqlTransaction)transaction; - trans.executeCallback(new IConnectionCallback() { - @Override - public Object execute(Connection con) throws SQLException { - org.sqlite.SQLiteConnection unwrapped = ((org.sqlite.SQLiteConnection)((org.apache.commons.dbcp.DelegatingConnection)con).getInnermostDelegate()); - - org.sqlite.Function.create(unwrapped, name, new org.sqlite.Function() { - @Override - protected void xFunc() throws SQLException { - this.result(result); - } - }); - - return null; - } - }); - } - + protected void setSqliteFunctionResult(ISqlTransaction transaction, final String name, final String result) { + + } public void disableSyncTriggers(ISqlTransaction transaction, String nodeId) { if(StringUtils.isNullOrEmpty(sqliteFunctionToOverride)){