You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2017/07/07 14:49:24 UTC
[10/29] ambari git commit: AMBARI-21363 ORA-00911 error during Ambari
server schema upgrade due to incorrect syntax of Update statement (dgrinenko)
AMBARI-21363 ORA-00911 error during Ambari server schema upgrade due to incorrect syntax of Update statement (dgrinenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/52980df6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/52980df6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/52980df6
Branch: refs/heads/branch-feature-AMBARI-21348
Commit: 52980df6f7ac8ee22895c2b102f4c5fe6346a12b
Parents: 777434e
Author: Dmytro Grinenko <ha...@apache.org>
Authored: Thu Jun 29 15:15:23 2017 +0300
Committer: Dmytro Grinenko <ha...@apache.org>
Committed: Thu Jun 29 15:15:23 2017 +0300
----------------------------------------------------------------------
.../ambari/server/orm/DBAccessorImpl.java | 43 +++++++++++---------
.../orm/helpers/dbms/GenericDbmsHelper.java | 2 +-
2 files changed, 25 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/52980df6/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 f3250b8..2256d44 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
@@ -204,6 +204,27 @@ public class DBAccessorImpl implements DBAccessor {
return objectName;
}
+ /**
+ * Setting arguments for prepared statement
+ *
+ * @param preparedStatement {@link PreparedStatement} object
+ * @param arguments array of arguments
+ *
+ * @throws SQLException
+ */
+ private void setArgumentsForPreparedStatement(PreparedStatement preparedStatement, Object[] arguments) throws SQLException{
+ for (int i = 0; i < arguments.length; i++) {
+ if (arguments[i] instanceof byte[]) {
+ byte[] binaryData = (byte[]) arguments[i];
+
+ // JDBC drivers supports only this function signature
+ preparedStatement.setBinaryStream(i+1, new ByteArrayInputStream(binaryData), binaryData.length);
+ } else {
+ preparedStatement.setObject(i+1, arguments[i]);
+ }
+ }
+ }
+
@Override
public boolean tableExists(String tableName) throws SQLException {
boolean result = false;
@@ -878,16 +899,8 @@ public class DBAccessorImpl implements DBAccessor {
LOG.info("Executing prepared query: {}", query);
PreparedStatement preparedStatement = getConnection().prepareStatement(query);
+ setArgumentsForPreparedStatement(preparedStatement, arguments);
- for (int i = 0; i < arguments.length; i++) {
- if (arguments[i] instanceof byte[]) {
- byte[] binaryData = (byte[]) arguments[i];
- // JDBC drivers supports only this function signature
- preparedStatement.setBinaryStream(i+1, new ByteArrayInputStream(binaryData), binaryData.length);
- } else {
- preparedStatement.setObject(i+1, arguments[i]);
- }
- }
try {
preparedStatement.execute();
} catch (SQLException e) {
@@ -908,7 +921,7 @@ public class DBAccessorImpl implements DBAccessor {
{@inheritDoc}
*/
public void executePreparedUpdate(String query, Object...arguments) throws SQLException {
- executePreparedQuery(query, false, arguments);
+ executePreparedUpdate(query, false, arguments);
}
/**
@@ -918,16 +931,8 @@ public class DBAccessorImpl implements DBAccessor {
LOG.info("Executing prepared query: {}", query);
PreparedStatement preparedStatement = getConnection().prepareStatement(query);
+ setArgumentsForPreparedStatement(preparedStatement, arguments);
- for (int i = 0; i <= arguments.length; i++) {
- if (arguments[i] instanceof byte[]) {
- byte[] binaryData = (byte[]) arguments[i];
- // JDBC drivers supports only this function signature
- preparedStatement.setBinaryStream(i+1, new ByteArrayInputStream(binaryData), binaryData.length);
- } else {
- preparedStatement.setObject(i+1, arguments[i]);
- }
- }
try {
preparedStatement.executeUpdate();
} catch (SQLException e) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/52980df6/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 4b4ce8d..11cbcf9 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
@@ -280,7 +280,7 @@ public class GenericDbmsHelper implements DbmsHelper {
*/
@Override
public String getColumnUpdateStatementWhereColumnIsNull(String tableName, String setColumnName, String conditionColumnName){
- return "UPDATE " + tableName + " SET " + setColumnName + "=? WHERE " + conditionColumnName + " IS NULL;";
+ return "UPDATE " + tableName + " SET " + setColumnName + "=? WHERE " + conditionColumnName + " IS NULL";
}
/**