OSDN Git Service

20170617
[rapideact/rapideact.git] / com / rapide_act / RapideMetaUnloader.java
index 410d938..d09783d 100644 (file)
@@ -263,8 +263,8 @@ public class RapideMetaUnloader{
                                                }
                                                if (!strSplit[LINE][COL01].equals(tableName)){
                                                        pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
-                                                       pw[DROP].println("DROP TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
-                                                       pw[TRUNCATE].println("TRUNCATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[DROP].print("DROP TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[TRUNCATE].print("TRUNCATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                                        sbTbCnts.append(cp.lineSeparator);
                                                        sbTbCnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
                                                        sbTbCnts.append(cp.lineSeparator);
@@ -343,8 +343,8 @@ public class RapideMetaUnloader{
                                        sbTbCnts.append(" NULL");
                                }
                                pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
-                               pw[DROP].println("DROP TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
-                               pw[TRUNCATE].println("TRUNCATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[DROP].print("DROP TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[TRUNCATE].print("TRUNCATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tableName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                sbTbCnts.append(cp.lineSeparator);
                                sbTbCnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
                                sbTbCnts.append(cp.lineSeparator);
@@ -549,7 +549,7 @@ public class RapideMetaUnloader{
                                strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
                                CmnUtils.debugPrint("'" + strSplit[LINE][COL01] + "'");
                                pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "VIEWS/" + strSplit[LINE][COL01] + ".sql");
-                               pw[DROP].println("DROP VIEW " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[DROP].print("DROP VIEW " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                if (strSplit[LINE].length>1)CmnUtils.debugPrint("'" + strSplit[LINE][COL02] + "'");
                                pw[CONTENTS] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + strSplit[LINE][COL01] + ".sql"))));
                                
@@ -593,12 +593,12 @@ public class RapideMetaUnloader{
                                strContents = alData2.get(0).trim();
                                strSplit[1] = CmnUtils.split(strContents, cp.lineSeparator);
                                for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[CONTENTS].println(strSplit[1][i].replaceAll("\"\"","\"").replaceAll(Pattern.quote(cp.user.toUpperCase() + "."),"").replaceAll(Pattern.quote(cp.user.toLowerCase() + "."),""));
-                               pw[CONTENTS].println(cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[CONTENTS].print(cp.SQL_TERMINATOR[cp.dbType]);
 
-                               if (!strSplit[LINE][COL02].trim().equals(""))pw[CONTENTS].println(commentOnTable(cp, strSplit[LINE][COL01], strSplit[LINE][COL02], cp.TYPE_VIEW));
+                               if (!strSplit[LINE][COL02].trim().equals(""))pw[CONTENTS].print(commentOnTable(cp, strSplit[LINE][COL01], strSplit[LINE][COL02], cp.TYPE_VIEW));
                                for(int i=0;i<alData.size();i++){
                                        if ((i+1) % columnCount == 0){
-                                               if (!alData.get(i).trim().equals(""))pw[CONTENTS].println(commentOnColumn(cp, strSplit[LINE][COL01], alData.get(i-1), alData.get(i), cp.TYPE_VIEW));
+                                               if (!alData.get(i).trim().equals(""))pw[CONTENTS].print(commentOnColumn(cp, strSplit[LINE][COL01], alData.get(i-1), alData.get(i), cp.TYPE_VIEW));
                                        }
                                }
                                pw[CONTENTS].close();
@@ -625,32 +625,67 @@ public class RapideMetaUnloader{
                                strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
                                CmnUtils.debugPrint("'" + strSplit[LINE][COL01] + "'");
                                pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "PROCEDURES/" + strSplit[LINE][COL01] + ".sql");
-                               pw[DROP].println("DROP " + strSplit[LINE][COL02] + " " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[DROP].print("DROP " + strSplit[LINE][COL02] + " " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
                                if (strSplit[LINE].length>1)CmnUtils.debugPrint("'" + strSplit[LINE][COL02] + "'");
                                pw[CONTENTS] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + strSplit[LINE][COL01] + ".sql"))));
                                if (cp.dbType == cp.DB_TYPE_ORACLE){
                                        pw[CONTENTS].println("/* " + strSplit[LINE][COL01] + " */");
                                        pw[CONTENTS].print("CREATE OR REPLACE ");
-                               } else if (cp.dbType == cp.DB_TYPE_MYSQL){
+                               }
+                               if (cp.dbType == cp.DB_TYPE_MYSQL){
                                        if(strSplit[LINE][COL02].equals("TRIGGER")){
-                                               pw[CONTENTS].println("CREATE " + strSplit[LINE][COL02] + " " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType] + " " + strSplit[LINE][COL03] + " " + strSplit[LINE][COL04] + " ON " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL05] + cp.DB_SQL_QUOTEDE[cp.dbType] + " FOR EACH ROW");
-                                       } else {
-                                               pw[CONTENTS].println("CREATE " + strSplit[LINE][COL02] + " " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+                                               stmt = dao.prepareSql("show create trigger " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+                                       } else if (strSplit[LINE][COL02].equals("PROCEDURE")){
+                                               stmt = dao.prepareSql("show create procedure " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+                                       } else if (strSplit[LINE][COL02].equals("FUNCTION")){
+                                               stmt = dao.prepareSql("show create function " + cp.DB_SQL_QUOTEDS[cp.dbType] + strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
                                        }
+                               } else {
+                                       stmt = dao.prepareSql(cp.sql_proc[cp.dbType]);
+                                       stmt.setString(1,strSplit[LINE][COL02]);
+                                       stmt.setString(2,strSplit[LINE][COL01]);
                                }
-                               stmt = dao.prepareSql(cp.sql_proc[cp.dbType]);
-                               stmt.setString(1,strSplit[LINE][COL02]);
-                               stmt.setString(2,strSplit[LINE][COL01]);
                                dao.executeSql();
                                alData = dao.getArrayList();
+                               boolean mysql_s_flag = false;
+                               boolean mysql_e_flag = false;
                                for(int i=0;i<alData.size();i++){
                                        strContents = alData.get(i);
-                                       if(!strContents.equals(""))pw[CONTENTS].println(strContents.replaceAll("\"\"","\"").replaceAll(Pattern.quote(cp.user.toUpperCase() + "."),"").replaceAll(Pattern.quote(cp.user.toLowerCase() + "."),""));
+                                       if (cp.dbType == cp.DB_TYPE_MYSQL){
+                                               if(!mysql_s_flag){
+                                                       String [] spcDiv = CmnUtils.split(strContents," ");
+                                                       if(spcDiv.length >0 && spcDiv[0].toUpperCase().equals("CREATE")){
+                                                               mysql_s_flag = true;
+                                                               for(int j=0;j<spcDiv.length;j++){
+                                                                       if(j==0){
+                                                                               pw[CONTENTS].print(spcDiv[j]);
+                                                                       } else if(j!=1) {
+                                                                               pw[CONTENTS].print(" " + spcDiv[j]);
+                                                                       }
+                                                               }
+                                                       }
+                                               } else if(mysql_s_flag && !mysql_e_flag){
+                                                       String [] spcDiv = CmnUtils.split(strContents," ");
+                                                       if(spcDiv.length >0 && CmnUtils.isCharacterSet(spcDiv[0])){
+                                                               mysql_e_flag = true;
+                                                               pw[CONTENTS].println("");
+                                                       } else {
+                                                               for(int j=0;j<spcDiv.length;j++){
+                                                                       if(j==0){
+                                                                               pw[CONTENTS].print(spcDiv[j]);
+                                                                       } else {
+                                                                               pw[CONTENTS].print(" " + spcDiv[j]);
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                       } else {
+                                               if(!strContents.equals(""))pw[CONTENTS].println(strContents.replaceAll("\"\"","\"").replaceAll(Pattern.quote(cp.user.toUpperCase() + "."),"").replaceAll(Pattern.quote(cp.user.toLowerCase() + "."),""));
+                                       }
                                }
                                
                                if (cp.dbType == cp.DB_TYPE_SQLSERVER){
-                                       pw[CONTENTS].println(cp.SQL_TERMINATOR[cp.dbType]);
-                                       //pw[CONTENTS].println("/");
+                                       pw[CONTENTS].print(cp.SQL_TERMINATOR[cp.dbType]);
                                }
                                pw[CONTENTS].close();
                                pw[CONTENTS] = null;
@@ -707,8 +742,8 @@ public class RapideMetaUnloader{
                                                pw[CREATE].print(" CYCLE");
                                        }
                                }
-                               pw[CREATE].println(cp.SQL_TERMINATOR[cp.dbType]);
-                               pw[DROP].println("DROP SEQUENCE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ seqName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[CREATE].print(cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[DROP].print("DROP SEQUENCE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ seqName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                for(int i=0;i<strSplit[LINE].length;i++)CmnUtils.debugPrint("'" + strSplit[LINE][i] + "'");
                        }
                        for(int i=0;i<pw.length;i++){
@@ -743,8 +778,8 @@ public class RapideMetaUnloader{
                                } else if(cp.dbType == cp.DB_TYPE_SQLSERVER){
                                        pw[CREATE].print(tbName);
                                }
-                               pw[CREATE].println(cp.SQL_TERMINATOR[cp.dbType]);
-                               pw[DROP].println("DROP SYNONYM " + cp.DB_SQL_QUOTEDS[cp.dbType]+ synmName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[CREATE].print(cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[DROP].print("DROP SYNONYM " + cp.DB_SQL_QUOTEDS[cp.dbType]+ synmName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                for(int i=0;i<strSplit[LINE].length;i++)CmnUtils.debugPrint("'" + strSplit[LINE][i] + "'");
                        }
                        for(int i=0;i<pw.length;i++){
@@ -774,11 +809,11 @@ public class RapideMetaUnloader{
                                while((strLine=br[WK_FILE].readLine()) != null){
                                        strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
                                        if(!fkName.equals(strSplit[LINE][COL02]) && !fkName.equals("")){
-                                               pw[CREATE].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOREIGN KEY (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ") REFERENCES " + cp.DB_SQL_QUOTEDS[cp.dbType]+ rtbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ rfkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
+                                               pw[CREATE].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOREIGN KEY (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ") REFERENCES " + cp.DB_SQL_QUOTEDS[cp.dbType]+ rtbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ rfkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
                                                if(cp.dbType == cp.DB_TYPE_MYSQL){
-                                                       pw[DROP].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP FOREIGN KEY " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[DROP].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP FOREIGN KEY " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                                } else {
-                                                       pw[DROP].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[DROP].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                                }
                                                for(int i=0;i<strSplit[LINE].length;i++)CmnUtils.debugPrint("'" + strSplit[LINE][i] + "'");
                                                tbName = strSplit[LINE][COL01];
@@ -809,11 +844,11 @@ public class RapideMetaUnloader{
                                        }
                                        
                                }
-                               pw[CREATE].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOREIGN KEY (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ") REFERENCES " + cp.DB_SQL_QUOTEDS[cp.dbType]+ rtbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ rfkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
+                               pw[CREATE].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOREIGN KEY (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ") REFERENCES " + cp.DB_SQL_QUOTEDS[cp.dbType]+ rtbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " (" + cp.DB_SQL_QUOTEDS[cp.dbType]+ rfkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
                                if(cp.dbType == cp.DB_TYPE_MYSQL){
-                                       pw[DROP].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP FOREIGN KEY " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                                       pw[DROP].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP FOREIGN KEY " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                } else {
-                                       pw[DROP].println("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+                                       pw[DROP].print("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ fkName + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
                                }
                                        for(int i=0;i<pw.length;i++){
                                        if(pw[i]!=null){
@@ -870,9 +905,9 @@ public class RapideMetaUnloader{
                                                pw[W_CREATE_PKEY].print(" BUFFER_POOL " + bufPool + ")");
                                                pw[W_CREATE_PKEY].print(" TABLESPACE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tblSpace + cp.DB_SQL_QUOTEDE[cp.dbType]);
                                                if(logging.equals("NO")){
-                                                       pw[W_CREATE_PKEY].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_PKEY].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
                                                } else {
-                                                       pw[W_CREATE_PKEY].println(cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_PKEY].print(cp.SQL_TERMINATOR[cp.dbType]);
                                                }
                                        } else {
                                                pw[W_CREATE_PKEY].println(strLine);
@@ -906,9 +941,9 @@ public class RapideMetaUnloader{
                                                pw[W_CREATE_UKEY].print(" BUFFER_POOL " + bufPool + ")");
                                                pw[W_CREATE_UKEY].print(" TABLESPACE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tblSpace + cp.DB_SQL_QUOTEDE[cp.dbType]);
                                                if(logging.equals("NO")){
-                                                       pw[W_CREATE_UKEY].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_UKEY].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
                                                } else {
-                                                       pw[W_CREATE_UKEY].println(cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_UKEY].print(cp.SQL_TERMINATOR[cp.dbType]);
                                                }
                                        } else {
                                                pw[W_CREATE_UKEY].println(strLine);
@@ -942,9 +977,9 @@ public class RapideMetaUnloader{
                                                pw[W_CREATE_INDEX].print(" BUFFER_POOL " + bufPool + ")");
                                                pw[W_CREATE_INDEX].print(" TABLESPACE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tblSpace + cp.DB_SQL_QUOTEDE[cp.dbType]);
                                                if(logging.equals("NO")){
-                                                       pw[W_CREATE_INDEX].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_INDEX].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
                                                } else {
-                                                       pw[W_CREATE_INDEX].println(cp.SQL_TERMINATOR[cp.dbType]);
+                                                       pw[W_CREATE_INDEX].print(cp.SQL_TERMINATOR[cp.dbType]);
                                                }
                                        } else {
                                                pw[W_CREATE_INDEX].println(strLine);
@@ -992,7 +1027,7 @@ public class RapideMetaUnloader{
                                        br[WK_FILE] = new BufferedReader(new FileReader(tb));
                                        pw[CONTENTS] = new PrintWriter(new BufferedWriter(new FileWriter(oTb)));
                                        while((strLine=br[WK_FILE].readLine()) != null){
-                                               if(strLine.equals(")" + cp.SQL_TERMINATOR[cp.dbType])){
+                                               if(strLine.equals(");")){
                                                        rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, tbName);
                                                        if (rowNo != -1){
                                                                rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
@@ -1018,12 +1053,12 @@ public class RapideMetaUnloader{
                                                                pw[CONTENTS].print(" BUFFER_POOL " + bufPool + ")");
                                                                pw[CONTENTS].print(" TABLESPACE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ tblSpace + cp.DB_SQL_QUOTEDE[cp.dbType]);
                                                                if(logging.equals("NO")){
-                                                                       pw[CONTENTS].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+                                                                       pw[CONTENTS].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
                                                                } else {
-                                                                       pw[CONTENTS].println(cp.SQL_TERMINATOR[cp.dbType]);
+                                                                       pw[CONTENTS].print(cp.SQL_TERMINATOR[cp.dbType]);
                                                                }
                                                        } else {
-                                                               pw[CONTENTS].println(")" + cp.SQL_TERMINATOR[cp.dbType]);
+                                                               pw[CONTENTS].print(")" + cp.SQL_TERMINATOR[cp.dbType]);
                                                        }
                                                } else {
                                                        pw[CONTENTS].println(strLine);