add more logs and add NO TRANSACTION REQUIRED
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/e5757fd8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/e5757fd8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/e5757fd8 Branch: refs/heads/master Commit: e5757fd8bccca92d9f9bdb6f2420f1188a82b892 Parents: f2c547e Author: Kevin Xu <[email protected]> Authored: Wed Jan 20 17:11:07 2016 +0800 Committer: Kevin Xu <[email protected]> Committed: Wed Jan 20 17:11:07 2016 +0800 ---------------------------------------------------------------------- .../java/org/trafodion/libmgmt/FileMgmt.java | 46 +++++++++++++++++--- .../lib_mgmt/src/main/resources/init_libmgmt.sh | 15 +++++-- 2 files changed, 51 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/e5757fd8/core/sql/lib_mgmt/src/main/java/org/trafodion/libmgmt/FileMgmt.java ---------------------------------------------------------------------- diff --git a/core/sql/lib_mgmt/src/main/java/org/trafodion/libmgmt/FileMgmt.java b/core/sql/lib_mgmt/src/main/java/org/trafodion/libmgmt/FileMgmt.java index aa41412..b317612 100644 --- a/core/sql/lib_mgmt/src/main/java/org/trafodion/libmgmt/FileMgmt.java +++ b/core/sql/lib_mgmt/src/main/java/org/trafodion/libmgmt/FileMgmt.java @@ -120,25 +120,35 @@ public class FileMgmt { checkFileName(fileName); Connection conn = getConn(); Statement st = null; + String sql = ""; try { st = conn.createStatement(); String userPath = getCodeFilePath(conn); - String sql = "create library " + libName + " file '" + userPath + sql = "create library " + libName + " file '" + userPath + fileName + "'"; - if (hostName != null) { + if (hostName != null && !"".equals(hostName.trim())) { sql += " HOST NAME '" + hostName + "'"; } - if (localFile != null) { + if (localFile != null && !"".equals(localFile.trim())) { sql += " LOCAL FILE '" + localFile + "'"; } st.execute(sql); - } finally { + } catch(SQLException e){ + LOG.error(sql,e); + throw e; + }finally { if (st != null) { try { st.close(); } catch (Exception e) { } } + if (conn != null){ + try { + conn.close(); + } catch (Exception e) { + } + } } } @@ -162,18 +172,27 @@ public class FileMgmt { String sql = "alter library " + libName + " FILE '" + userPath + fileName + "'"; - if (hostName != null) { + if (hostName != null && !"".equals(hostName.trim())) { sql += " HOST NAME '" + hostName + "'"; } - if (localFile != null) { + if (localFile != null && !"".equals(localFile.trim())) { sql += " LOCAL FILE '" + localFile + "'"; } try { st = conn.createStatement(); st.execute(sql); + } catch(SQLException e){ + LOG.error(sql,e); + throw e; } finally { if (st != null) st.close(); + if (conn != null){ + try { + conn.close(); + } catch (Exception e) { + } + } } } @@ -199,9 +218,18 @@ public class FileMgmt { sql += " CASCADE"; st.execute(sql); + } catch(SQLException e){ + LOG.error(sql,e); + throw e; } finally { if (st != null) st.close(); + if (con != null){ + try { + con.close(); + } catch (Exception e) { + } + } } } @@ -289,6 +317,9 @@ public class FileMgmt { LOG.info("Download: " + fileName + ", offset:" + offset + ",compressed length:" + fileData[0].length() + ",file length:" + fileLength[0]); } + } catch(IOException e){ + LOG.error(fileName,e); + throw e; } finally { if (rAFile != null) { try { @@ -319,6 +350,7 @@ public class FileMgmt { LOG.info("Remove " + fileName + " successfully!"); return; } else { + LOG.error("No such file[" + fileName + "]"); throw new SQLException("No such file[" + fileName + "]"); } } @@ -479,7 +511,7 @@ public class FileMgmt { Connection conn = null; try { conn = DriverManager.getConnection(url); - LOG.info("Create connection successfully. " + conn); + LOG.info("Create connection successfully. " + conn +", autocommit:"+conn.getAutoCommit()); } catch (Throwable t) { LOG.error("Error encountered while getting connection ", t); throw new SQLException(t.getMessage()); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/e5757fd8/core/sql/lib_mgmt/src/main/resources/init_libmgmt.sh ---------------------------------------------------------------------- diff --git a/core/sql/lib_mgmt/src/main/resources/init_libmgmt.sh b/core/sql/lib_mgmt/src/main/resources/init_libmgmt.sh index f8c2f3c..6811f28 100644 --- a/core/sql/lib_mgmt/src/main/resources/init_libmgmt.sh +++ b/core/sql/lib_mgmt/src/main/resources/init_libmgmt.sh @@ -80,7 +80,8 @@ function createProcedures { EXTERNAL SECURITY DEFINER LANGUAGE JAVA PARAMETER STYLE JAVA - READS SQL DATA + CONTAINS SQL + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE ADDLIB TO ${DB__LIBMGRROLE}; @@ -92,7 +93,8 @@ function createProcedures { LIBRARY ${LIB_NAME} LANGUAGE JAVA PARAMETER STYLE JAVA - READS SQL DATA + CONTAINS SQL + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE DROPLIB TO ${DB__LIBMGRROLE}; @@ -106,7 +108,8 @@ function createProcedures { LIBRARY ${LIB_NAME} LANGUAGE JAVA PARAMETER STYLE JAVA - READS SQL DATA + CONTAINS SQL + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE ALTERLIB TO ${DB__LIBMGRROLE}; @@ -120,6 +123,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE PUT TO ${DB__LIBMGRROLE}; @@ -132,6 +136,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE LS TO ${DB__LIBMGRROLE}; @@ -143,6 +148,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE LSALL TO ${DB__LIBMGRROLE}; @@ -154,6 +160,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE RM TO ${DB__LIBMGRROLE}; @@ -166,6 +173,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE RMREX TO ${DB__LIBMGRROLE}; @@ -180,6 +188,7 @@ function createProcedures { LANGUAGE JAVA PARAMETER STYLE JAVA READS SQL DATA + NO TRANSACTION REQUIRED ; GRANT EXECUTE ON PROCEDURE GETFILE TO ${DB__LIBMGRROLE};
