Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch '3.7' of https://github.com/JumpMind/symmetric-ds.git in…
…to 3.7
  • Loading branch information
mmichalek committed Dec 7, 2015
2 parents 24de68a + e6981a6 commit 57741fb
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 3 deletions.
2 changes: 1 addition & 1 deletion symmetric-client-clib/inc/model/Node.h
Expand Up @@ -23,7 +23,7 @@

#include <stdlib.h>

#define SYM_VERSION "3.7.23"
#define SYM_VERSION "3.7.27"

typedef enum SymNodeStatus {
SYM_NODE_STATUS_DATA_LOAD_NOT_STARTED,
Expand Down
Expand Up @@ -161,7 +161,7 @@ int SymDefaultDatabaseWriter_delete(SymDefaultDatabaseWriter *this, SymCsvData *
this->dmlStatement->destroy(this->dmlStatement);
}
// TODO: pass nullKeyIndiciators
this->dmlStatement = SymDmlStatement_new(NULL, SYM_DML_TYPE_UPDATE, this->targetTable, NULL, &this->platform->databaseInfo);
this->dmlStatement = SymDmlStatement_new(NULL, SYM_DML_TYPE_DELETE, this->targetTable, NULL, &this->platform->databaseInfo);
this->sqlTransaction->prepare(this->sqlTransaction, this->dmlStatement->sql, &error);
this->isError = error != 0;
}
Expand Down
Expand Up @@ -302,11 +302,15 @@ private static boolean isRedshiftDatabase(Connection connection) {
try {
DatabaseMetaData dmd = connection.getMetaData();
dmd.getMaxColumnsInIndex();
if (dmd.getDriverName().toUpperCase().contains("REDSHIFT")) {
isRedshift = true;
}
} catch (SQLException ex) {
if (ex.getSQLState().equals("99999")) {
isRedshift = true;
}
}

return isRedshift;
}

Expand Down
Expand Up @@ -20,11 +20,13 @@
*/
package org.jumpmind.db.platform.redshift;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Map;

import org.jumpmind.db.model.Column;
import org.jumpmind.db.model.Table;
import org.jumpmind.db.model.TypeMap;
import org.jumpmind.db.platform.AbstractJdbcDdlReader;
import org.jumpmind.db.platform.DatabaseMetaDataWrapper;
Expand All @@ -39,6 +41,17 @@ public RedshiftDdlReader(IDatabasePlatform platform) {
setDefaultTablePattern(null);
}

@Override
protected Table readTable(Connection connection, DatabaseMetaDataWrapper metaData, Map<String, Object> values)
throws SQLException {
Table table = super.readTable(connection, metaData, values);

if (table != null) {
determineAutoIncrementFromResultSetMetaData(connection, table, table.getColumns());
}
return table;
}

@Override
protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String,Object> values) throws SQLException {
Column column = super.readColumn(metaData, values);
Expand Down Expand Up @@ -111,6 +124,9 @@ private String extractDelimitedDefaultValue(String defaultValue) {
* Extracts the default value from a default value spec of the form
* "-9000000000000000000::bigint".
*
* Handles sequence evaluations where the end paren is after the ::
* nextval('"sym_data_data_id_seq"'::text)
*
* @param defaultValue The default value spec
*
* @return The default value
Expand All @@ -119,7 +135,16 @@ private String extractUndelimitedDefaultValue(String defaultValue) {
int valueEnd = defaultValue.indexOf("::");

if (valueEnd > 0) {
defaultValue = defaultValue.substring(0, valueEnd);

defaultValue = defaultValue.substring(0, valueEnd);

int startParen = defaultValue.indexOf("(");
int endParen = defaultValue.indexOf(")");

if (startParen > 0 && endParen < 0) {
defaultValue = defaultValue + ")";
}

} else {
if (defaultValue.startsWith("(") && defaultValue.endsWith(")")) {
defaultValue = defaultValue.substring(1, defaultValue.length() - 1);
Expand Down

0 comments on commit 57741fb

Please sign in to comment.