You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2014/09/25 17:12:00 UTC
git commit: AMBARI-7488. setNullable action for MySQL needs to be
refactored.(vbrodetskyi)
Repository: ambari
Updated Branches:
refs/heads/trunk 0d220839c -> 0833a91d0
AMBARI-7488. setNullable action for MySQL needs to be refactored.(vbrodetskyi)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0833a91d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0833a91d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0833a91d
Branch: refs/heads/trunk
Commit: 0833a91d03a7f8e2fb2e007c1b033450f30a46f4
Parents: 0d22083
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Thu Sep 25 18:10:55 2014 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Thu Sep 25 18:10:55 2014 +0300
----------------------------------------------------------------------
.../main/java/org/apache/ambari/server/orm/DBAccessor.java | 6 +++---
.../java/org/apache/ambari/server/orm/DBAccessorImpl.java | 5 ++---
.../org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java | 7 +++----
.../apache/ambari/server/orm/helpers/dbms/DerbyHelper.java | 4 ++--
.../ambari/server/orm/helpers/dbms/GenericDbmsHelper.java | 7 +++----
.../apache/ambari/server/orm/helpers/dbms/MySqlHelper.java | 5 +++--
.../apache/ambari/server/orm/helpers/dbms/OracleHelper.java | 4 ++--
.../apache/ambari/server/orm/helpers/dbms/PostgresHelper.java | 4 ++--
.../org/apache/ambari/server/upgrade/UpgradeCatalog170.java | 6 +-----
.../java/org/apache/ambari/server/orm/DBAccessorImplTest.java | 6 ++++--
10 files changed, 25 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
index be18970..9eca8c0 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java
@@ -310,14 +310,14 @@ public interface DBAccessor {
*
* @param tableName
* the name of the table (not {@code null}).
- * @param columnName
- * the name of the column to alter (not {@code null}).
+ * @param columnInfo
+ * the column object to get name and type of column (not {@code null}).
* @param nullable
* {@code true} to indicate that the column allows {@code NULL}
* values, {@code false} otherwise.
* @throws SQLException
*/
- public void setNullable(String tableName, String columnName, boolean nullable)
+ public void setNullable(String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable)
throws SQLException;
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
index 8586273..f9407f7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
@@ -587,10 +587,9 @@ public class DBAccessorImpl implements DBAccessor {
}
@Override
- public void setNullable(String tableName, String columnName, boolean nullable)
+ public void setNullable(String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable)
throws SQLException {
- String statement = dbmsHelper.getSetNullableStatement(tableName,
- columnName, nullable);
+ String statement = dbmsHelper.getSetNullableStatement(tableName, columnInfo, nullable);
executeQuery(statement);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
index 52eac62..dcef71c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DbmsHelper.java
@@ -77,13 +77,12 @@ public interface DbmsHelper {
*
* @param tableName
* the table (not {@code null}).
- * @param columnName
- * the column to alert the nullable state of (not {@code null}).
+ * @param columnInfo
+ * the column object to get name and type of column (not {@code null}).
* @param nullable
* {@code true} to indicate that the column allows {@code NULL}
* values, {@code false} otherwise.
* @return the statement (never {@code null}).
*/
- String getSetNullableStatement(String tableName, String columnName,
- boolean nullable);
+ String getSetNullableStatement(String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DerbyHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DerbyHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DerbyHelper.java
index 5f39509..c012a77 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DerbyHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/DerbyHelper.java
@@ -52,8 +52,8 @@ public class DerbyHelper extends GenericDbmsHelper {
@Override
public StringBuilder writeSetNullableString(StringBuilder builder,
- String tableName, String columnName, boolean nullable) {
- builder.append(" ALTER COLUMN ").append(columnName);
+ String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
+ builder.append(" ALTER COLUMN ").append(columnInfo.getName());
String nullStatement = nullable ? " NULL" : " NOT NULL";
builder.append(nullStatement);
return builder;
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
index a273265..0ee2920 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
@@ -69,11 +69,10 @@ public class GenericDbmsHelper implements DbmsHelper {
}
@Override
- public String getSetNullableStatement(String tableName, String columnName,
- boolean nullable) {
+ public String getSetNullableStatement(String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
StringBuilder stringBuilder = new StringBuilder();
writeAlterTableClause(stringBuilder, tableName);
- writeSetNullableString(stringBuilder, tableName, columnName, nullable);
+ writeSetNullableString(stringBuilder, tableName, columnInfo, nullable);
return stringBuilder.toString();
}
@@ -115,7 +114,7 @@ public class GenericDbmsHelper implements DbmsHelper {
}
public StringBuilder writeSetNullableString(StringBuilder builder,
- String tableName, String columnName, boolean nullable) {
+ String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
throw new UnsupportedOperationException(
"Column nullable modification not supported for generic DB");
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
index 841a854..4accda9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/MySqlHelper.java
@@ -54,8 +54,9 @@ public class MySqlHelper extends GenericDbmsHelper {
@Override
public StringBuilder writeSetNullableString(StringBuilder builder,
- String tableName, String columnName, boolean nullable) {
- builder.append(" MODIFY ").append(columnName);
+ String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
+ builder.append(" MODIFY ").append(columnInfo.getName()).append(" ");
+ writeColumnType(builder, columnInfo);
String nullStatement = nullable ? " NULL" : " NOT NULL";
builder.append(nullStatement);
return builder;
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/OracleHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/OracleHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/OracleHelper.java
index 4da8e8f..0059566 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/OracleHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/OracleHelper.java
@@ -46,8 +46,8 @@ public class OracleHelper extends GenericDbmsHelper {
@Override
public StringBuilder writeSetNullableString(StringBuilder builder,
- String tableName, String columnName, boolean nullable) {
- builder.append(" MODIFY ").append(columnName);
+ String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
+ builder.append(" MODIFY ").append(columnInfo.getName());
String nullStatement = nullable ? " NULL" : " NOT NULL";
builder.append(nullStatement);
return builder;
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/PostgresHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/PostgresHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/PostgresHelper.java
index c3ad9c5..9de073a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/PostgresHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/PostgresHelper.java
@@ -46,8 +46,8 @@ public class PostgresHelper extends GenericDbmsHelper {
@Override
public StringBuilder writeSetNullableString(StringBuilder builder,
- String tableName, String columnName, boolean nullable) {
- builder.append(" ALTER COLUMN ").append(columnName);
+ String tableName, DBAccessor.DBColumnInfo columnInfo, boolean nullable) {
+ builder.append(" ALTER COLUMN ").append(columnInfo.getName());
String nullStatement = nullable ? " SET NULL" : " SET NOT NULL";
builder.append(nullStatement);
return builder;
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
index 7e7738c..35e80ff 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java
@@ -366,11 +366,7 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
populateConfigVersions();
- if (Configuration.MYSQL_DB_NAME.equals(dbType)) {
- dbAccessor.executeQuery("ALTER TABLE clusterconfig MODIFY version BIGINT NOT NULL");
- } else {
- dbAccessor.setNullable("clusterconfig", "version", false);
- }
+ dbAccessor.setNullable("clusterconfig", new DBColumnInfo("version", Long.class, null), false);
dbAccessor.executeQuery("ALTER TABLE clusterconfig ADD CONSTRAINT UQ_config_type_tag UNIQUE (cluster_id, type_name, version_tag)", true);
dbAccessor.executeQuery("ALTER TABLE clusterconfig ADD CONSTRAINT UQ_config_type_version UNIQUE (cluster_id, type_name, version)", true);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0833a91d/ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java
index 8abadea..7ad7638 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/DBAccessorImplTest.java
@@ -332,7 +332,8 @@ public class DBAccessorImplTest {
statement.close();
- dbAccessor.setNullable(tableName, "isNullable", false);
+ dbAccessor.setNullable(tableName, new DBColumnInfo("isNullable",
+ String.class, 1000, "test", false), false);
statement = dbAccessor.getConnection().createStatement();
resultSet = statement.executeQuery("SELECT isNullable FROM " + tableName);
rsmd = resultSet.getMetaData();
@@ -340,7 +341,8 @@ public class DBAccessorImplTest {
statement.close();
- dbAccessor.setNullable(tableName, "isNullable", true);
+ dbAccessor.setNullable(tableName, new DBColumnInfo("isNullable",
+ String.class, 1000, "test", false), true);
statement = dbAccessor.getConnection().createStatement();
resultSet = statement.executeQuery("SELECT isNullable FROM " + tableName);
rsmd = resultSet.getMetaData();