Skip to content

Commit

Permalink
0005565: Adding Character Set to Snapshot
Browse files Browse the repository at this point in the history
  • Loading branch information
catherinequamme committed Nov 2, 2022
1 parent e9b9b02 commit 90de112
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 0 deletions.
Expand Up @@ -632,6 +632,11 @@ protected static void writeRuntimeStats(ISymmetricEngine engine, File tmpDir) {
runtimeProperties.setProperty("hostname", AppUtils.getHostName());
runtimeProperties.setProperty("instance.id", engine.getClusterService().getInstanceId());
runtimeProperties.setProperty("server.id", engine.getClusterService().getServerId());
try {
runtimeProperties.setProperty("charset.server", System.getProperty("file.encoding"));
runtimeProperties.setProperty("charset.database", engine.getTargetDialect().getTargetPlatform().getCharSetName());
} catch (Exception e) {
}
try {
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName oName = new ObjectName("java.lang:type=OperatingSystem");
Expand Down
Expand Up @@ -1262,4 +1262,8 @@ public boolean supportsSliceTables() {
public String getSliceTableSql(String columnName, int sliceNum, int totalSlices) {
return "";
}

public String getCharSetName() {
return "";
}
}
Expand Up @@ -240,4 +240,6 @@ public Object[] getObjectValues(BinaryEncoding encoding, String[] values,
public boolean supportsSliceTables();

public String getSliceTableSql(String columnName, int sliceNum, int totalSlices);

public String getCharSetName();
}
Expand Up @@ -39,4 +39,9 @@ public MariaDBDatabasePlatform(DataSource dataSource,
protected MariaDBDdlReader createDdlReader() {
return new MariaDBDdlReader(this);
}

@Override
public String getCharSetName() {
return (String) getSqlTemplate().queryForObject("SELECT CHARSET('a'), @@character_set_connection;", String.class);
}
}
Expand Up @@ -126,4 +126,10 @@ public boolean supportsSliceTables() {
public String getSliceTableSql(String columnName, int sliceNum, int totalSlices) {
return "ascii(substring(" + columnName + ", 1, 1)) % " + totalSlices + " = " + sliceNum;
}

@Override
public String getCharSetName() {
return (String) getSqlTemplate().queryForObject("select collation_name from sys.databases where name =\r\n"
+ "db_name()", String.class);
}
}
Expand Up @@ -331,4 +331,9 @@ public boolean supportsSliceTables() {
public String getSliceTableSql(String columnName, int sliceNum, int totalSlices) {
return "ascii(substring(" + columnName + ", 1, 1)) % " + totalSlices + " = " + sliceNum;
}

@Override
public String getCharSetName() {
return (String) getSqlTemplate().queryForObject("select @@character_set_database", String.class);
}
}
Expand Up @@ -290,4 +290,10 @@ public boolean supportsSliceTables() {
public String getSliceTableSql(String columnName, int sliceNum, int totalSlices) {
return "mod(ora_hash(rowid), " + totalSlices + ") = " + sliceNum;
}

@Override
public String getCharSetName() {
return (String) getSqlTemplate().queryForObject("select value from nls_database_parameters where\r\n"
+ "parameter='NLS_CHARACTERSET'", String.class);
}
}
Expand Up @@ -385,4 +385,10 @@ public boolean canColumnBeUsedInWhereClause(Column column) {
}
return super.canColumnBeUsedInWhereClause(column);
}

@Override
public String getCharSetName() {
return (String) getSqlTemplate().queryForObject("select pg_encoding_to_char(encoding) from pg_database\r\n"
+ "where datname = current_database()", String.class);
}
}

0 comments on commit 90de112

Please sign in to comment.