public class RapideMetaUnloader{
- private static final int DB_TYPE_ORACLE = 0;
- private static final int DB_TYPE_SQLSERVER = 1;
- private static final int DB_TYPE_MYSQL = 2;
- private static final int DB_TYPE_DB2 = 3;
- private static final int DB_TYPE_POSTGRESQL = 4;
- private static final int DB_TYPE_HIRDB = 5;
- private static final int DB_TYPE_UNKNOWN = -1;
- private static final int TYPE_TABLE = 0;
- private static final int TYPE_INDEX = 1;
- private static final int TYPE_VIEW = 2;
- private static final int TYPE_PROCEDURE = 3;
- private static final int TYPE_SEQ = 4;
- private static final int TYPE_SYNONYM = 5;
- private static final int TYPE_OBJ = 6;
- private static final int TYPE_FK = 7;
- private static final String [] FILE_NAME = {
- "TABLEDEF",
- "INDEXDEF",
- "VIEWDEF",
- "PROCDEF",
- "SEQDEF",
- "SYNMDEF",
- "OBJDEF",
- "FKDEF"
- };
- private static final String lineSeparator = System.getProperty("line.separator");
- protected static final String [] DB_SQL_QUOTED_S = {"\"", "[", "`", "\"", "\"", "\""};
- protected static final String [] DB_SQL_QUOTED_E = {"\"", "]", "`", "\"", "\"", "\""};
- private static final String [] DROP_OPTION = {" CASCADE CONSTRAINT PURGE", "", "", "", "", ""};
-// private static final String [] cp.SQL_TERMINATOR = {";", lineSeparator + "GO", ";", ";", ";", ";"};
-// private static final String [] cp.SQL_PREFIX = {"@", ":r ", "", "", "", ""};
- private static final String [][] sql = {
- { //ORACLE
- "select "
- + "a.table_name as table_name,"
- + "replace(replace(b.comments, chr(13), ''), chr(10), '') as table_comments,"
- + "c.column_name as column_name, "
- + "replace(replace(d.comments, chr(13), ''), chr(10), '') as column_comments, "
- + "decode(c.data_type, 'TIMESTAMP(6)', 'TIMESTAMP',c.data_type) as data_type, "
- + "c.data_length as data_length,"
- + "c.data_precision as data_precision,"
- + "c.data_scale as data_scale,"
- + "decode(c.nullable, 'N', '\81\9b', null) as nullable,"
- + "c.data_default as data_default "
- + "from user_tables a "
- + "inner join user_tab_comments b "
- + "on a.table_name = b.table_name "
- + "inner join user_tab_columns c "
- + "on a.table_name = c.table_name "
- + "inner join user_col_comments d "
- + "on c.table_name = d.table_name "
- + " and c.column_name = d.column_name "
- + "order by a.table_name,c.column_id",
- "select "
- + " a.table_name,"
- + " a.index_name,"
- + " a.index_type,"
- + " c.constraint_type,"
- + " b.column_name,"
- + " b.column_position "
- + " from"
- + " user_indexes a,"
- + " user_ind_columns b,"
- + " user_constraints c "
- + " where"
- + " a.table_name = b.table_name and"
- + " a.index_name = b.index_name and"
- + " a.table_name = c.table_name(+) and"
- + " a.index_name = c.constraint_name(+) "
- + " order by"
- + " a.table_name,"
- + " a.index_name,"
- + " b.column_position",
- "select "
- + " a.view_name, "
- + " replace(replace(c.comments, chr(13), ''), chr(10), '') as comments "
- + " from"
- + " user_views a, "
- + " user_tab_comments c "
- + " where"
- + " a.view_name = c.table_name(+) "
- + " order by"
- + " a.view_name",
- "select "
- + " object_name, "
- + " object_type "
- + "from"
- + " user_objects"
- + " where object_type in('PACKAGE BODY','PROCEDURE','FUNCTION','TRIGGER','TYPE')"
- + " group by object_name,object_type"
- + " order by object_name,object_type",
- "select "
- + " sequence_name,"
- + " to_char(min_value) as min_value,"
- + " to_char(max_value) as max_value,"
- + " to_char(increment_by) as increment_by,"
- + " cycle_flag,"
- + " order_flag,"
- + " to_char(cache_size) as cache_size,"
- + " to_char(last_number) as last_number "
- + " from user_sequences "
- + " order by sequence_name",
- "select "
- + " synonym_name,"
- + " table_owner,"
- + " table_name,"
- + " db_link "
- + "from user_synonyms "
- + "order by synonym_name,table_owner,table_name",
- "select "
- + " a.table_name,"
- + " a.object_name,"
- + " a.object_type,"
- + " a.pct_free,"
- + " a.pct_used,"
- + " a.ini_trans,"
- + " a.freelists,"
- + " a.freelist_groups,"
- + " a.buffer_pool,"
- + " a.tablespace_name, "
- + " a.logging, "
- + " b.bytes "
- + "from "
- + "(select "
- + " table_name,"
- + " table_name as object_name,"
- + " 'TABLE' as object_type,"
- + " pct_free,"
- + " pct_used,"
- + " ini_trans,"
- + " freelists,"
- + " freelist_groups,"
- + " buffer_pool,"
- + " tablespace_name, "
- + " logging "
- + "from "
- + " user_tables "
- + " union select "
- + " table_name,"
- + " index_name as object_name,"
- + " 'INDEX' as object_type,"
- + " pct_free,"
- + " null as pct_used,"
- + " ini_trans,"
- + " freelists,"
- + " freelist_groups,"
- + " buffer_pool,"
- + " tablespace_name, "
- + " logging "
- + " from "
- + " user_indexes "
- + ") a, "
- + "(select "
- + " segment_name,"
- + " segment_type,"
- + " bytes "
- + " from "
- + " user_segments "
- + ") b "
- + " where a.object_name = b.segment_name "
- + " and a.object_type = b.segment_type "
- + " order by"
- + " a.table_name,"
- + " a.object_name",
- "select "
- + " a.table_name as table_name, "
- + " a.constraint_name as constraint_name, "
- + " b.column_name as column_name, "
- + " b.position as position,"
- + " c.table_name as r_table_name, "
- + " c.constraint_name as r_constraint_name, "
- + " d.column_name as r_column_name, "
- + " d.position as r_position "
- + " from "
- + " user_constraints a, "
- + " user_cons_columns b,"
- + " user_constraints c, "
- + " user_cons_columns d "
- + " where "
- + " a.constraint_type = 'R'"
- + " and a.owner = b.owner"
- + " and a.table_name = b.table_name"
- + " and a.constraint_name = b.constraint_name"
- + " and c.constraint_type in('P','U')"
- + " and c.owner = b.owner"
- + " and c.table_name = d.table_name"
- + " and c.constraint_name = d.constraint_name"
- + " and a.r_owner = c.owner"
- + " and a.r_constraint_name = c.constraint_name"
- + " order by"
- + " a.table_name,a.constraint_name,b.position,d.position"
- },
- { //SQL SERVER
- "select "
- + "a.name as table_name, "
- + "replace(replace(cast(b.value as varchar(4000)), char(13), ''), char(10), '') as table_comments, "
- + "c.name as column_name, "
- + "replace(replace(cast(d.value as varchar(4000)), char(13), ''), char(10), '') as column_comments, "
- + "e.name as data_type, "
- + "c.max_length as data_length, "
- + "c.precision as data_precision, "
- + "c.scale as data_scale, "
- + "case c.is_nullable"
- + " when '0' then '\81Z'"
- + " else null "
- + "end as nullable,"
- + "g.definition as data_default "
- + "from "
- + "sys.tables as a "
- + "left outer join sys.extended_properties as b "
- + "on a.object_id = b.major_id and b.minor_id = 0 "
- + "inner join sys.columns as c "
- + "on a.object_id = c.object_id "
- + "left outer join sys.extended_properties as d "
- + "on a.object_id = d.major_id and c.column_id = d.minor_id "
- + "inner join sys.types as e "
- + "on c.system_type_id = e.system_type_id and c.user_type_id = e.user_type_id "
- + "left outer join sys.sysconstraints f "
- + "on c.object_id = f.id "
- + "and c.column_id = f.colid "
- + "and (f.status & 2069) = 2069 "
- + "left outer join sys.default_constraints g "
- + "on f.constid = g.object_id "
- + "and a.schema_id = g.schema_id "
- + "order by a.name,c.column_id ",
- "select "
- + "d.name as table_name, "
- + "a.name as index_name, "
- + "a.type as index_type, "
- + "case a.is_unique "
- + " when 1 then "
- + " case a.is_primary_key "
- + " when 1 then 'P' "
- + " else "
- + " case a.is_unique_constraint "
- + " when 1 then 'U' "
- + " else '' "
- + " end "
- + " end "
- + " else '' "
- + "end as constraint_type, "
- + "c.name as column_name, "
- + "b.key_ordinal as column_position "
- + "from "
- + " sys.indexes as a "
- + " inner join sys.index_columns as b "
- + " on a.object_id = b.object_id and a.index_id = b.index_id "
- + " inner join sys.columns as c "
- + " on c.column_id = b.column_id "
- + " and c.object_id = b.object_id "
- + " inner join sys.objects as d "
- + " on a.object_id = d.object_id and d.type = 'U' "
- + "order by d.name, a.name,b.key_ordinal",
- "select "
- + " a.name as view_name, "
- + " replace(replace(cast(b.value as varchar(4000)), char(13), ''), char(10), '') as comments "
- + "from "
- + " sys.views a "
- + " left outer join sys.extended_properties as b "
- + " on a.object_id = b.major_id and b.minor_id = 0 "
- + "order by "
- + " a.name",
- "select "
- + " name as object_name, 'PROCEDURE' as object_type from sys.procedures"
- + " union select "
- + " name as object_name, 'FUNCTION' as object_type from sys.objects where type in('FN', 'FS', 'FT', 'IF', 'TF') "
- + " union select "
- + " name as object_name, 'TRIGGER' as object_type from sys.triggers "
- + " order by object_name,object_type ",
- "select "
- + " name as sequence_name,"
- + " cast(minimum_value as varchar(20)) as min_value,"
- + " cast(maximum_value as varchar(20)) as max_value,"
- + " cast(increment as varchar(20)) as increment_by,"
- + " is_cycling as cycle_flag,"
- + " is_cached as order_flag,"
- + " cast(cache_size as varchar(20)) as cache_size,"
- + " cast(start_value as varchar(20)) as last_number "
- + " from sys.sequences "
- + " order by name",
- "select "
- + " name as synonym_name,"
- + " schema_id as table_owner,"
- + " base_object_name as table_name,"
- + " '' as db_link "
- + "from sys.synonyms "
- + "order by synonym_name,table_owner,table_name",
- "select "
- + " c.name as table_name, "
- + " b.index_id, "
- + " d.name as index_name , "
- + " a.type_desc as allocation_type, "
- + " a.data_pages, "
- + " partition_number "
- + "from "
- + " sys.allocation_units as a "
- + " inner join sys.partitions as b "
- + " on a.container_id = b.partition_id "
- + " inner join sys.objects as c "
- + " on b.object_id = c.object_id and c.type = 'U' "
- + " inner join sys.indexes as d "
- + " on b.index_id = d.index_id and d.object_id = b.object_id "
- + "order by c.name, b.index_id",
- "select "
- + " c.name as table_name, "
- + " a.name as constraint_name, "
- + " d.name as column_name, "
- + " b.constraint_column_id as position, "
- + " e.name as r_table_name, "
- + " g.name as r_constraint_name, "
- + " f.name as r_column_name ,"
- + " f.column_id as r_position "
- + "from sys.foreign_keys as a "
- + " inner join sys.foreign_key_columns as b "
- + " on a.object_id = b.constraint_object_id "
- + " inner join sys.tables as c "
- + " on b.parent_object_id = c.object_id "
- + " inner join sys.columns as d "
- + " on b.parent_object_id = d.object_id and "
- + " b.parent_column_id = d.column_id "
- + " inner join sys.tables as e "
- + " on b.referenced_object_id = e.object_id "
- + " inner join sys.columns as f "
- + " on b.referenced_object_id = f.object_id and "
- + " b.referenced_column_id = f.column_id "
- + " inner join sys.key_constraints as g "
- + " on a.referenced_object_id = g.parent_object_id "
- + "order by table_name,constraint_name, position"
- }
- };
- private static String sql_view_text[] = {
- "select text from user_views where view_name = ?",
- "select c.definition "
- + "from sys.views a "
- + "inner join sys.objects b "
- + "on b.object_id = a.object_id "
- + "inner join sys.sql_modules c "
- + "on c.object_id = b.object_id "
- + "where a.name = ?"
- };
- private static String sql_view_column_and_comment[] = {
- "select "
- + " b.column_name,"
- + " replace(replace(d.comments, chr(13), ''), chr(10), '') as comments "
- + " from"
- + " user_tab_columns b,"
- + " user_col_comments d "
- + " where"
- + " b.table_name = ? and"
- + " b.table_name = d.table_name(+) and"
- + " b.column_name = d.column_name(+) "
- + " order by"
- + " b.column_id",
- " select "
- + " b.name as column_name, "
- + " '' as comments "
- + " from "
- + " sys.objects a "
- + " inner join sys.columns b on a.object_id = b.object_id and a.name = ? "
- + " inner join sys.types c on b.system_type_id = c.system_type_id "
- + " where a.type = 'V' "
- + " and c.user_type_id <> 256 "
- + " order by b.column_id"
- };
- private static String sql_proc[] = {
- "select text from user_source where type = ? and name = ? order by line",
- "select d.definition "
- + "from "
- + " (select a.name,'PROCEDURE' as type,c.definition "
- + "from sys.procedures a "
- + "inner join sys.objects b "
- + "on b.object_id = a.object_id "
- + "inner join sys.sql_modules c "
- + "on c.object_id = b.object_id "
- + "union select "
- + " a.name,'FUNCTION' as type,c.definition "
- + "from sys.objects a "
- + "inner join sys.objects b "
- + "on b.object_id = a.object_id "
- + "inner join sys.sql_modules c "
- + "on c.object_id = b.object_id and a.type in('FN', 'FS', 'FT', 'IF', 'TF') "
- + "union select "
- + "a.name,'TRIGGER' as type,c.definition "
- + "from sys.triggers a "
- + "inner join sys.objects b "
- + "on b.object_id = a.object_id "
- + "inner join sys.sql_modules c "
- + "on c.object_id = b.object_id) d "
- + "where d.type = ? and d.name = ?"
- };
+ private static final int CONTENTS = 0;
+ private static final int CREATE = 1;
+ private static final int DROP = 2;
+ private static final int TRUNCATE = 3;
+
+ private static final int WK_FILE = 0;
+ private static final int R_CREATE_PKEY = 1;
+ private static final int R_CREATE_UKEY = 2;
+ private static final int R_CREATE_INDEX = 3;
+ private static final int W_CREATE_PKEY = 0;
+ private static final int W_CREATE_UKEY = 1;
+ private static final int W_CREATE_INDEX = 2;
+ private static final int W_DROP_PKEY = 3;
+ private static final int W_DROP_UKEY = 4;
+ private static final int W_DROP_INDEX = 5;
+
+ private static final int LINE = 0;
+ private static final int TBL_CONTENTS = 1;
+ private static final int TBL_COMMENTS = 2;
+ private static final int IDX_CONTENTS_1 = 1;
+ private static final int IDX_CONTENTS_2 = 2;
+ private static final int IDX_CONTENTS_3 = 3;
+
+ private static final int COL01 = 0;
+ private static final int COL02 = 1;
+ private static final int COL03 = 2;
+ private static final int COL04 = 3;
+ private static final int COL05 = 4;
+ private static final int COL06 = 5;
+ private static final int COL07 = 6;
+ private static final int COL08 = 7;
+ private static final int COL09 = 8;
+ private static final int COL10 = 9;
+ private static final int COL11 = 10;
+ private static final int COL12 = 11;
private String database = null;
private String phyfileExtension = "phy";
cp = new CmnProps();
cp.setProperty(database);
- if (cp.dbType > cp.DB_TYPE_SQLSERVER || cp.dbType <0){
+ if (cp.dbType > cp.DB_TYPE_MYSQL || cp.dbType <0){
throw new Exception("\83f\81[\83^\83x\81[\83X\82ª\91Î\8fÛ\8aO\82Å\82·\81B[" + cp.DB_TYPE_NAME[cp.dbType] + "]");
}
if(cp.outFolder != null){
folder = new File(cp.outFolder);
} else {
if(database != null){
- folder = new File(cp.DEFAULT_OUT_FOLDER + "/DDL_" + database.toUpperCase() + "_" + CmnUtils.getYmdhm());
+ folder = new File(cp.DEFAULT_OUT_FOLDER + "/" + cp.metaFolder + "_" + database.toUpperCase() + "_" + CmnUtils.getYmdhm());
} else {
- folder = new File(cp.DEFAULT_OUT_FOLDER + "/DDL_" + cp.DB_TYPE_NAME[cp.dbType].toUpperCase() + "_" + CmnUtils.getYmdhm());
+ folder = new File(cp.DEFAULT_OUT_FOLDER + "/" + cp.metaFolder + "_" + cp.DB_TYPE_NAME[cp.dbType].toUpperCase() + "_" + CmnUtils.getYmdhm());
}
folder.mkdir();
}
dao = new CmnAccessObjects(cp);
conn = dao.connect();
// Def tsv Writing start
- for(int i=0;i<sql[cp.dbType].length;i++){
- dao.select(sql[cp.dbType][i]);
- CmnUtils.writeSeparator(folder + "/" + FILE_NAME[i] + "_" + database +"." + cp.fileExtension, dao.getColumnCount(), dao.getArrayList(), cp.delimiter);
+ for(int i=0;i<cp.meta_sql[cp.dbType].length;i++){
+ if(!cp.meta_sql[cp.dbType][i].equals("")){
+ dao.select(cp.meta_sql[cp.dbType][i]);
+ CmnUtils.writeSeparator(folder + "/" + cp.WK_FILE_NAME[i] + "_" + database +"." + cp.fileExtension, dao.getColumnCount(), dao.getArrayList(), cp.delimiter);
+ } else {
+ CmnUtils.emptyFile(folder + "/" + cp.WK_FILE_NAME[i] + "_" + database +"." + cp.fileExtension);
+ }
}
// Def tsv Writing end
// Table Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_TABLE] + "_" + database + "." + cp.fileExtension));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_TABLE] + "_" + database + "." + cp.fileExtension));
subFolder = new File(folder + "/TABLES");
subFolder.mkdir();
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_TABLE]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_TABLE]))));
- pw[3] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.TRUNCATE_TABLE]))));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_TABLE]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_TABLE]))));
+ pw[TRUNCATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.TRUNCATE_TABLE]))));
tableName = "";
tableCmnt = "";
StringBuffer sbTbCnts = new StringBuffer();
StringBuffer sbTbCmnt = new StringBuffer();
- while((strLine=br[0].readLine()) != null){
+ while((strLine=br[WK_FILE].readLine()) != null){
if(!strLine.equals("")){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
if (!tableName.equals("")){
- sbTbCnts.append(" " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbTbCnts.append(" " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
sbTbCnts.append(" " + colType);
- if(!colCmnt.equals(""))sbTbCmnt.append(commentOnColumn(cp, tableName, colName, colCmnt, TYPE_TABLE));
- if(!colCmnt.equals(""))sbTbCmnt.append(lineSeparator);
+ if(!colCmnt.equals(""))sbTbCmnt.append(commentOnColumn(cp, tableName, colName, colCmnt, cp.TYPE_TABLE));
+ if(!colCmnt.equals(""))sbTbCmnt.append(cp.lineSeparator);
if(CmnUtils.isColPrec(colType, colPrec)){
sbTbCnts.append("(" + colPrec);
- if (!colScale.equals("") && !colScale.equals("0"))sbTbCnts.append("," + colScale);
+ if (!CmnUtils.isEmpty(colScale) && !colScale.equals("0"))sbTbCnts.append("," + colScale);
sbTbCnts.append(")");
} else if (CmnUtils.isColLength(colType)){
if(colLen.equals("-1")){
sbTbCnts.append("(" + CmnUtils.getColLength(colType, colLen) + ")");
}
}
- if (!colDflt.equals(""))sbTbCnts.append(" DEFAULT " + colDflt.trim());
- if (!colNoN.equals("")){
+ if (!CmnUtils.isEmpty(colDflt)){
+ if(CmnUtils.split(strLine, cp.SQL_COMMENT_MARK[cp.dbType]).length > 0){
+ String [] colDfltAry = CmnUtils.split(colDflt, cp.SQL_COMMENT_MARK[cp.dbType]);
+ if (cp.dbType == cp.DB_TYPE_MYSQL && !CmnUtils.isReserved(colDfltAry[0].trim())){
+ sbTbCnts.append(" DEFAULT '" + colDfltAry[0].trim() + "'");
+ } else {
+ sbTbCnts.append(" DEFAULT " + colDfltAry[0].trim());
+ }
+ } else {
+ if (cp.dbType == cp.DB_TYPE_MYSQL && !CmnUtils.isReserved(colDflt.trim())){
+ sbTbCnts.append(" DEFAULT " + colDflt.trim() + "'");
+ } else {
+ sbTbCnts.append(" DEFAULT " + colDflt.trim());
+ }
+ }
+ }
+ if (!CmnUtils.isEmpty(colNoN)){
sbTbCnts.append(" NOT NULL");
} else {
sbTbCnts.append(" NULL");
}
- if (!strSplit[0][0].equals(tableName)){
- pw[1].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
- pw[2].println("DROP TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tableName + DB_SQL_QUOTED_E[cp.dbType]+ DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
- pw[3].println("TRUNCATE TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tableName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- sbTbCnts.append(lineSeparator);
+ if (!strSplit[LINE][COL01].equals(tableName)){
+ pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
+ 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(lineSeparator);
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + tableName + ".sql"))));
- strSplit[1] = CmnUtils.split(sbTbCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[0].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbTbCmnt.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[0].println(strSplit[2][i]);
- pw[0].close();
- pw[0] = null;
+ sbTbCnts.append(cp.lineSeparator);
+ pw[CONTENTS] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + tableName + ".sql"))));
+ strSplit[TBL_CONTENTS] = CmnUtils.split(sbTbCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[TBL_CONTENTS].length;i++)if(!strSplit[TBL_CONTENTS][i].trim().equals(""))pw[CONTENTS].println(strSplit[TBL_CONTENTS][i]);
+ strSplit[TBL_COMMENTS] = CmnUtils.split(sbTbCmnt.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[TBL_COMMENTS].length;i++)if(!strSplit[TBL_COMMENTS][i].trim().equals(""))pw[CONTENTS].println(strSplit[TBL_COMMENTS][i]);
+ pw[CONTENTS].close();
+ pw[CONTENTS] = null;
CmnUtils.infoPrint(String.format("%1$-30s",tableName) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
sbTbCnts = new StringBuffer();
sbTbCmnt = new StringBuffer();
- sbTbCnts.append("CREATE TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]);
- sbTbCnts.append(lineSeparator);
+ sbTbCnts.append("CREATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ sbTbCnts.append(cp.lineSeparator);
sbTbCnts.append("(");
- sbTbCnts.append(lineSeparator);
- if(!strSplit[0][1].equals(""))sbTbCmnt.append(commentOnTable(cp, strSplit[0][0], strSplit[0][1], TYPE_TABLE));
- if(!strSplit[0][1].equals(""))sbTbCmnt.append(lineSeparator);
+ sbTbCnts.append(cp.lineSeparator);
+ if(!CmnUtils.isEmpty(strSplit[LINE][COL02]))sbTbCmnt.append(commentOnTable(cp, strSplit[LINE][COL01], strSplit[LINE][COL02], cp.TYPE_TABLE));
+ if(!CmnUtils.isEmpty(strSplit[LINE][COL02]))sbTbCmnt.append(cp.lineSeparator);
} else {
sbTbCnts.append(",");
- sbTbCnts.append(lineSeparator);
+ sbTbCnts.append(cp.lineSeparator);
}
}
else {
- sbTbCnts.append("CREATE TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]);
- sbTbCnts.append(lineSeparator);
+ sbTbCnts.append("CREATE TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ sbTbCnts.append(cp.lineSeparator);
sbTbCnts.append("(");
- sbTbCnts.append(lineSeparator);
- if(!strSplit[0][1].equals(""))sbTbCmnt.append(commentOnTable(cp, strSplit[0][0], strSplit[0][1], TYPE_TABLE));
- if(!strSplit[0][1].equals(""))sbTbCmnt.append(lineSeparator);
+ sbTbCnts.append(cp.lineSeparator);
+ if(!CmnUtils.isEmpty(strSplit[LINE][COL02]))sbTbCmnt.append(commentOnTable(cp, strSplit[LINE][COL01], strSplit[LINE][COL02], cp.TYPE_TABLE));
+ if(!CmnUtils.isEmpty(strSplit[LINE][COL02]))sbTbCmnt.append(cp.lineSeparator);
}
- for(int i=0;i<strSplit[0].length;i++)CmnUtils.debugPrint("'" + strSplit[0][i] + "'");
+ for(int i=0;i<strSplit[LINE].length;i++)CmnUtils.debugPrint("'" + strSplit[LINE][i] + "'");
- tableName = strSplit[0][0];
- tableCmnt = strSplit[0][1];
- colName = strSplit[0][2];
- colCmnt = strSplit[0][3];
- colType = strSplit[0][4];
- colLen = strSplit[0][5];
- colPrec = strSplit[0][6];
- colScale = strSplit[0][7];
- colNoN = strSplit[0][8];
- colDflt = strSplit[0][9];
+ tableName = strSplit[LINE][COL01];
+ tableCmnt = strSplit[LINE][COL02];
+ colName = strSplit[LINE][COL03];
+ colCmnt = strSplit[LINE][COL04];
+ colType = strSplit[LINE][COL05];
+ colLen = strSplit[LINE][COL06];
+ colPrec = strSplit[LINE][COL07];
+ colScale = strSplit[LINE][COL08];
+ colNoN = strSplit[LINE][COL09];
+ colDflt = strSplit[LINE][COL10];
}
}
if (!tableName.equals("")){
- sbTbCnts.append(" " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbTbCnts.append(" " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
sbTbCnts.append(" " + colType);
- if(!colCmnt.equals(""))sbTbCmnt.append(commentOnColumn(cp, tableName, colName, colCmnt, TYPE_TABLE));
- if(!colCmnt.equals(""))sbTbCmnt.append(lineSeparator);
+ if(!colCmnt.equals("")){
+ sbTbCmnt.append(commentOnColumn(cp, tableName, colName, colCmnt, cp.TYPE_TABLE));
+ sbTbCmnt.append(cp.lineSeparator);
+ }
if(CmnUtils.isColPrec(colType, colPrec)){
sbTbCnts.append("(" + colPrec);
- if (!colScale.equals("") && !colScale.equals("0"))sbTbCnts.append("," + colScale);
+ if (!CmnUtils.isEmpty(colScale) && !CmnUtils.isEmpty(colScale))sbTbCnts.append("," + colScale);
sbTbCnts.append(")");
} else if (CmnUtils.isColLength(colType)){
if(colLen.equals("-1")){
sbTbCnts.append("(" + CmnUtils.getColLength(colType, colLen) + ")");
}
}
- if (!colDflt.equals(""))sbTbCnts.append(" DEFAULT " + colDflt.trim());
- if (!colNoN.equals("")){
+ if (!CmnUtils.isEmpty(colDflt)){
+ if (cp.dbType == cp.DB_TYPE_MYSQL && !CmnUtils.isReserved(colDflt.trim())){
+ sbTbCnts.append(" DEFAULT '" + colDflt.trim() + "'");
+ } else {
+ sbTbCnts.append(" DEFAULT " + colDflt.trim());
+ }
+ }
+ if (!CmnUtils.isEmpty(colNoN)){
sbTbCnts.append(" NOT NULL");
} else {
sbTbCnts.append(" NULL");
}
- pw[1].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
- pw[2].println("DROP TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tableName + DB_SQL_QUOTED_E[cp.dbType]+ DROP_OPTION[cp.dbType] + cp.SQL_TERMINATOR[cp.dbType]);
- pw[3].println("TRUNCATE TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tableName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- sbTbCnts.append(lineSeparator);
+ pw[CREATE].println(cp.SQL_PREFIX[cp.dbType] + "TABLES/" + tableName + ".sql");
+ 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(lineSeparator);
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + tableName + ".sql"))));
- strSplit[1] = CmnUtils.split(sbTbCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[0].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbTbCmnt.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[0].println(strSplit[2][i]);
- pw[0].close();
- pw[0] = null;
+ sbTbCnts.append(cp.lineSeparator);
+ pw[CONTENTS] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + tableName + ".sql"))));
+ strSplit[TBL_CONTENTS] = CmnUtils.split(sbTbCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[TBL_CONTENTS].length;i++)if(!strSplit[TBL_CONTENTS][i].trim().equals(""))pw[CONTENTS].println(strSplit[TBL_CONTENTS][i]);
+ strSplit[TBL_COMMENTS] = CmnUtils.split(sbTbCmnt.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[TBL_COMMENTS].length;i++)if(!strSplit[TBL_COMMENTS][i].trim().equals(""))pw[CONTENTS].println(strSplit[TBL_COMMENTS][i]);
+ pw[CONTENTS].close();
+ pw[CONTENTS] = null;
CmnUtils.infoPrint(String.format("%1$-30s",tableName) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
}
- for(int i=1;i<4;i++)pw[i].close();
- for(int i=1;i<4;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ for(int i=0;i<pw.length;i++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
+ }
+ }
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// Table Contents end
// Index Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_INDEX] + "_" + database + "." + cp.fileExtension));
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]))));
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]))));
- pw[3] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PKEY]))));
- pw[4] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_UKEY]))));
- pw[5] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_INDEX]))));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_INDEX] + "_" + database + "." + cp.fileExtension));
+ pw[W_CREATE_PKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]))));
+ pw[W_CREATE_UKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]))));
+ pw[W_CREATE_INDEX] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]))));
+ pw[W_DROP_PKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PKEY]))));
+ pw[W_DROP_UKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_UKEY]))));
+ pw[W_DROP_INDEX] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_INDEX]))));
//Initial Process
tableName = "";
StringBuffer sbIx3Cnts = new StringBuffer();
//Loop Process
- while((strLine=br[0].readLine()) != null){
+ while((strLine=br[WK_FILE].readLine()) != null){
if(!strLine.equals("")){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
//Not 1st Line Process
if (!indexName.equals("")){
- if (!strSplit[0][1].equals(indexName)){
+ if (!strSplit[LINE][COL02].equals(indexName) || !strSplit[LINE][COL01].equals(tableName)){
//Post Process
if (colPos.equals("1")){
- sbIxCnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
} else {
- sbIxCnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
}
sbIxCnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
- sbIxCnts.append(lineSeparator);
+ sbIxCnts.append(cp.lineSeparator);
if (constraintType.equals("U"))sbIx2Cnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
- sbIx2Cnts.append(lineSeparator);
- sbIx3Cnts.append(lineSeparator);
+ sbIx2Cnts.append(cp.lineSeparator);
+ sbIx3Cnts.append(cp.lineSeparator);
//Write Buffer
if (constraintType.equals("P")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[0].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbIx2Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[3].println(strSplit[2][i]);
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_PKEY].println(strSplit[IDX_CONTENTS_1][i]);
+ strSplit[IDX_CONTENTS_2] = CmnUtils.split(sbIx2Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_2].length;i++)if(!strSplit[IDX_CONTENTS_2][i].trim().equals(""))pw[W_DROP_PKEY].println(strSplit[IDX_CONTENTS_2][i]);
} else if (constraintType.equals("U")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[1].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbIx2Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[4].println(strSplit[2][i]);
- } else if (constraintType.equals("")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[2].println(strSplit[1][i]);
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_UKEY].println(strSplit[IDX_CONTENTS_1][i]);
+ strSplit[IDX_CONTENTS_2] = CmnUtils.split(sbIx2Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_2].length;i++)if(!strSplit[IDX_CONTENTS_2][i].trim().equals(""))pw[W_DROP_UKEY].println(strSplit[IDX_CONTENTS_2][i]);
+ } else {
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_INDEX].println(strSplit[IDX_CONTENTS_1][i]);
}
- strSplit[3] = CmnUtils.split(sbIx3Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[3].length;i++)if(!strSplit[3][i].trim().equals(""))pw[5].println(strSplit[3][i]);
+ strSplit[IDX_CONTENTS_3] = CmnUtils.split(sbIx3Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_3].length;i++)if(!strSplit[IDX_CONTENTS_3][i].trim().equals(""))pw[W_DROP_INDEX].println(strSplit[IDX_CONTENTS_3][i]);
//Initial Process
sbIxCnts = new StringBuffer();
sbIx3Cnts = new StringBuffer();
//Index Changed Process
- if (strSplit[0][3].equals("P")){
- sbIxCnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " PRIMARY KEY(");
- sbIx2Cnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " DROP CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- } else if (strSplit[0][3].equals("U")){
- sbIxCnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " UNIQUE(");
- sbIx2Cnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " DROP UNIQUE(");
- } else if (strSplit[0][3].equals("")){
- sbIxCnts.append("CREATE INDEX " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " ON " + strSplit[0][0] + "(");
+ if (strSplit[LINE][COL04].equals("P")){
+ if (cp.dbType == cp.DB_TYPE_MYSQL){
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT PRIMARY KEY(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP PRIMARY KEY" + cp.SQL_TERMINATOR[cp.dbType]);
+ } else {
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " PRIMARY KEY(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+ }
+ } else if (strSplit[LINE][COL04].equals("U")){
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " UNIQUE(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP UNIQUE(");
+ } else {
+ if (cp.dbType == cp.DB_TYPE_MYSQL && !strSplit[LINE][COL03].equals("") && !strSplit[LINE][COL03].equals("BTREE")){
+ sbIxCnts.append("CREATE " + strSplit[LINE][COL03] + " INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ON " + strSplit[LINE][COL01] + "(");
+ } else {
+ sbIxCnts.append("CREATE INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ON " + strSplit[LINE][COL01] + "(");
+ }
}
- sbIx3Cnts.append("DROP INDEX " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- } else if (strSplit[0][1].equals(indexName)){
+ sbIx3Cnts.append("DROP INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+ } else if (strSplit[LINE][COL02].equals(indexName) && strSplit[LINE][COL01].equals(tableName)){
if (colPos.equals("1")){
- sbIxCnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
} else {
- sbIxCnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
}
}
}
//1st Line Process
else {
- if (strSplit[0][3].equals("P")){
- sbIxCnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " PRIMARY KEY(");
- sbIx2Cnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " DROP CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- } else if (strSplit[0][3].equals("U")){
- sbIxCnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " UNIQUE(");
- sbIx2Cnts.append("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ " DROP UNIQUE(");
- } else if (strSplit[0][3].equals("")){
- sbIxCnts.append("CREATE INDEX " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ " ON " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ "(");
+ if (strSplit[LINE][COL04].equals("P")){
+ if (cp.dbType == cp.DB_TYPE_MYSQL){
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT PRIMARY KEY(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP PRIMARY KEY" + cp.SQL_TERMINATOR[cp.dbType]);
+ } else {
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " PRIMARY KEY(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+ }
+ } else if (strSplit[LINE][COL04].equals("U")){
+ sbIxCnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ADD CONSTRAINT " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " UNIQUE(");
+ sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP UNIQUE(");
+ } else {
+ if (cp.dbType == cp.DB_TYPE_MYSQL && !strSplit[LINE][COL03].equals("") && !strSplit[LINE][COL03].equals("BTREE")){
+ sbIxCnts.append("CREATE " + strSplit[LINE][COL03] + " INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ON " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ "(");
+ } else {
+ sbIxCnts.append("CREATE INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " ON " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ "(");
+ }
}
- sbIx3Cnts.append("DROP INDEX " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][1] + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
+ sbIx3Cnts.append("DROP INDEX " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL02] + cp.DB_SQL_QUOTEDE[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
}
- for(int i=0;i<strSplit[0].length;i++)CmnUtils.debugPrint("'" + strSplit[0][i] + "'");
+ for(int i=0;i<strSplit[LINE].length;i++)CmnUtils.debugPrint("'" + strSplit[LINE][i] + "'");
- tableName = strSplit[0][0];
- indexName = strSplit[0][1];
- indexType = strSplit[0][2];
- constraintType = strSplit[0][3];
- colName = strSplit[0][4];
- colPos = strSplit[0][5];
+ tableName = strSplit[LINE][COL01];
+ indexName = strSplit[LINE][COL02];
+ indexType = strSplit[LINE][COL03];
+ constraintType = strSplit[LINE][COL04];
+ colName = strSplit[LINE][COL05];
+ colPos = strSplit[LINE][COL06];
}
}
if (!indexName.equals("")){
//Post Process
if (colPos.equals("1")){
- sbIxCnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
} else {
- sbIxCnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
- if (constraintType.equals("U"))sbIx2Cnts.append(", " + DB_SQL_QUOTED_S[cp.dbType]+ colName + DB_SQL_QUOTED_E[cp.dbType]);
+ sbIxCnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ if (constraintType.equals("U"))sbIx2Cnts.append(", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ colName + cp.DB_SQL_QUOTEDE[cp.dbType]);
}
sbIxCnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
- sbIxCnts.append(lineSeparator);
+ sbIxCnts.append(cp.lineSeparator);
if (constraintType.equals("U"))sbIx2Cnts.append(")" + cp.SQL_TERMINATOR[cp.dbType]);
- sbIx2Cnts.append(lineSeparator);
- sbIx3Cnts.append(lineSeparator);
+ sbIx2Cnts.append(cp.lineSeparator);
+ sbIx3Cnts.append(cp.lineSeparator);
//Write Buffer
if (constraintType.equals("P")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[0].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbIx2Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[3].println(strSplit[2][i]);
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_PKEY].println(strSplit[IDX_CONTENTS_1][i]);
+ strSplit[IDX_CONTENTS_2] = CmnUtils.split(sbIx2Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_2].length;i++)if(!strSplit[IDX_CONTENTS_2][i].trim().equals(""))pw[W_DROP_PKEY].println(strSplit[IDX_CONTENTS_2][i]);
} else if (constraintType.equals("U")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[1].println(strSplit[1][i]);
- strSplit[2] = CmnUtils.split(sbIx2Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[2].length;i++)if(!strSplit[2][i].trim().equals(""))pw[4].println(strSplit[2][i]);
- } else if (constraintType.equals("")){
- strSplit[1] = CmnUtils.split(sbIxCnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[2].println(strSplit[1][i]);
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_UKEY].println(strSplit[IDX_CONTENTS_1][i]);
+ strSplit[IDX_CONTENTS_2] = CmnUtils.split(sbIx2Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_2].length;i++)if(!strSplit[IDX_CONTENTS_2][i].trim().equals(""))pw[W_DROP_UKEY].println(strSplit[IDX_CONTENTS_2][i]);
+ } else {
+ strSplit[IDX_CONTENTS_1] = CmnUtils.split(sbIxCnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_1].length;i++)if(!strSplit[IDX_CONTENTS_1][i].trim().equals(""))pw[W_CREATE_INDEX].println(strSplit[IDX_CONTENTS_1][i]);
}
- strSplit[3] = CmnUtils.split(sbIx3Cnts.toString(), lineSeparator);
- for(int i=0;i<strSplit[3].length;i++)if(!strSplit[3][i].trim().equals(""))pw[5].println(strSplit[3][i]);
+ strSplit[IDX_CONTENTS_3] = CmnUtils.split(sbIx3Cnts.toString(), cp.lineSeparator);
+ for(int i=0;i<strSplit[IDX_CONTENTS_3].length;i++)if(!strSplit[IDX_CONTENTS_3][i].trim().equals(""))pw[W_DROP_INDEX].println(strSplit[IDX_CONTENTS_3][i]);
}
//Close Buffer
- for(int i=0;i<6;i++)pw[i].close();
- for(int i=0;i<6;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ for(int i=0;i<pw.length;i++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
+ }
+ }
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// Index Contents end
// View Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_VIEW] + "_" + database + "." + cp.fileExtension));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_VIEW] + "_" + database + "." + cp.fileExtension));
subFolder = new File(folder + "/VIEWS");
subFolder.mkdir();
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_VIEW]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_VIEW]))));
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- CmnUtils.debugPrint("'" + strSplit[0][0] + "'");
- pw[1].println(cp.SQL_PREFIX[cp.dbType] + "VIEWS/" + strSplit[0][0] + ".sql");
- pw[2].println("DROP VIEW " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- if (strSplit[0].length>1)CmnUtils.debugPrint("'" + strSplit[0][1] + "'");
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + strSplit[0][0] + ".sql"))));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_VIEW]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_VIEW]))));
+ while((strLine=br[WK_FILE].readLine()) != null){
+ 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].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"))));
- stmt = dao.prepareSql(sql_view_column_and_comment[cp.dbType]);
- stmt.setString(1,strSplit[0][0]);
+ stmt = dao.prepareSql(cp.sql_view_column_and_comment[cp.dbType]);
+ stmt.setString(1,strSplit[LINE][COL01]);
dao.executeSql();
alData = dao.getArrayList();
columnCount = dao.getColumnCount();
- if (cp.dbType == cp.DB_TYPE_ORACLE){
- pw[0].println("/* " + strSplit[0][0] + " */");
- pw[0].println("CREATE OR REPLACE VIEW " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][0] + DB_SQL_QUOTED_E[cp.dbType]);
- pw[0].println("(");
+ if (cp.dbType == cp.DB_TYPE_ORACLE || cp.dbType == cp.DB_TYPE_MYSQL){
+ pw[CONTENTS].println("/* " + strSplit[LINE][COL01] + " */");
+ if (cp.dbType == cp.DB_TYPE_ORACLE){
+ pw[CONTENTS].println("CREATE OR REPLACE VIEW " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ } else {
+ pw[CONTENTS].println("CREATE VIEW " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ }
+ pw[CONTENTS].println("(");
for(int i=0;i<alData.size();i++){
if ((i+1) % columnCount == 1){
if (i == 0){
if (!alData.get(i+1).trim().equals("")){
- pw[0].println(" " + DB_SQL_QUOTED_S[cp.dbType]+ alData.get(i) + DB_SQL_QUOTED_E[cp.dbType]+ " -- " + alData.get(i+1));
+ pw[CONTENTS].println(" " + cp.DB_SQL_QUOTEDS[cp.dbType]+ alData.get(i) + cp.DB_SQL_QUOTEDE[cp.dbType]+ " -- " + alData.get(i+1));
} else {
- pw[0].println(" " + DB_SQL_QUOTED_S[cp.dbType]+ alData.get(i) + DB_SQL_QUOTED_E[cp.dbType]);
+ pw[CONTENTS].println(" " + cp.DB_SQL_QUOTEDS[cp.dbType]+ alData.get(i) + cp.DB_SQL_QUOTEDE[cp.dbType]);
}
} else {
if (!alData.get(i+1).trim().equals("")){
- pw[0].println(" ," + DB_SQL_QUOTED_S[cp.dbType]+ alData.get(i) + DB_SQL_QUOTED_E[cp.dbType]+ " -- " + alData.get(i+1));
+ pw[CONTENTS].println(" ," + cp.DB_SQL_QUOTEDS[cp.dbType]+ alData.get(i) + cp.DB_SQL_QUOTEDE[cp.dbType]+ " -- " + alData.get(i+1));
} else {
- pw[0].println(" ," + DB_SQL_QUOTED_S[cp.dbType]+ alData.get(i) + DB_SQL_QUOTED_E[cp.dbType]);
+ pw[CONTENTS].println(" ," + cp.DB_SQL_QUOTEDS[cp.dbType]+ alData.get(i) + cp.DB_SQL_QUOTEDE[cp.dbType]);
}
}
}
}
- pw[0].println(")");
- pw[0].println("AS");
+ pw[CONTENTS].println(")");
+ pw[CONTENTS].println("AS");
}
- stmt = dao.prepareSql(sql_view_text[cp.dbType]);
- stmt.setString(1,strSplit[0][0]);
+ stmt = dao.prepareSql(cp.sql_view_text[cp.dbType]);
+ stmt.setString(1,strSplit[LINE][COL01]);
dao.executeSql();
alData2 = dao.getArrayList();
strContents = alData2.get(0).trim();
- strSplit[1] = CmnUtils.split(strContents, lineSeparator);
- for(int i=0;i<strSplit[1].length;i++)if(!strSplit[1][i].trim().equals(""))pw[0].println(strSplit[1][i].replaceAll("\"\"","\"").replaceAll(Pattern.quote(cp.user.toUpperCase() + "."),"").replaceAll(Pattern.quote(cp.user.toLowerCase() + "."),""));
- pw[0].println(cp.SQL_TERMINATOR[cp.dbType]);
+ 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].print(cp.SQL_TERMINATOR[cp.dbType]);
- if (!strSplit[0][1].trim().equals(""))pw[0].println(commentOnTable(cp, strSplit[0][0], strSplit[0][1], 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[0].println(commentOnColumn(cp, strSplit[0][0], alData.get(i-1), alData.get(i), 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[0].close();
- pw[0] = null;
- CmnUtils.infoPrint(String.format("%1$-30s",strSplit[0][0]) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
+ pw[CONTENTS].close();
+ pw[CONTENTS] = null;
+ CmnUtils.infoPrint(String.format("%1$-30s",strSplit[LINE][COL01]) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
+ }
+ for(int i=0;i<pw.length;i++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
+ }
}
- for(int i=1;i<3;i++)pw[i].close();
- for(int i=1;i<3;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// View Contents end
// Procedure Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_PROCEDURE] + "_" + database + "." + cp.fileExtension));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_PROCEDURE] + "_" + database + "." + cp.fileExtension));
subFolder = new File(folder + "/PROCEDURES");
subFolder.mkdir();
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PROCEDURE]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PROCEDURE]))));
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- CmnUtils.debugPrint("'" + strSplit[0][0] + "'");
- pw[1].println(cp.SQL_PREFIX[cp.dbType] + "PROCEDURES/" + strSplit[0][0] + ".sql");
- pw[2].println("DROP " + strSplit[0][1] + " " + strSplit[0][0] + cp.SQL_TERMINATOR[cp.dbType]);
- if (strSplit[0].length>1)CmnUtils.debugPrint("'" + strSplit[0][1] + "'");
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(new File(subFolder + "/" + strSplit[0][0] + ".sql"))));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PROCEDURE]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_PROCEDURE]))));
+ while((strLine=br[WK_FILE].readLine()) != null){
+ 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].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[0].println("/* " + strSplit[0][0] + " */");
- pw[0].print("CREATE OR REPLACE ");
+ pw[CONTENTS].println("/* " + strSplit[LINE][COL01] + " */");
+ pw[CONTENTS].print("CREATE OR REPLACE ");
+ }
+ if (cp.dbType == cp.DB_TYPE_MYSQL){
+ if(strSplit[LINE][COL02].equals("TRIGGER")){
+ 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(sql_proc[cp.dbType]);
- stmt.setString(1,strSplit[0][1]);
- stmt.setString(2,strSplit[0][0]);
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[0].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[0].println(cp.SQL_TERMINATOR[cp.dbType]);
- //pw[0].println("/");
+ pw[CONTENTS].print(cp.SQL_TERMINATOR[cp.dbType]);
+ }
+ pw[CONTENTS].close();
+ pw[CONTENTS] = null;
+ CmnUtils.infoPrint(String.format("%1$-30s",strSplit[LINE][COL01]) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
+ }
+ for(int i=0;i<pw.length;i++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
}
- pw[0].close();
- pw[0] = null;
- CmnUtils.infoPrint(String.format("%1$-30s",strSplit[0][0]) + " \83\81\83^\83f\81[\83^\82ª\83A\83\93\83\8d\81[\83h\82³\82ê\82Ü\82µ\82½\81B");
}
- for(int i=1;i<3;i++)pw[i].close();
- for(int i=1;i<3;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// Procedure Contents end
// Sequence Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_SEQ] + "_" + database + "." + cp.fileExtension));
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SEQUENCE]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SEQUENCE]))));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_SEQ] + "_" + database + "." + cp.fileExtension));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SEQUENCE]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SEQUENCE]))));
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- seqName = strSplit[0][0];
- minVal = strSplit[0][1];
- maxVal = strSplit[0][2];
- incSz = strSplit[0][3];
- cycFg = strSplit[0][4];
- odFg = strSplit[0][5];
- cacheSz = strSplit[0][6];
+ while((strLine=br[WK_FILE].readLine()) != null){
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
+ seqName = strSplit[LINE][COL01];
+ minVal = strSplit[LINE][COL02];
+ maxVal = strSplit[LINE][COL03];
+ incSz = strSplit[LINE][COL04];
+ cycFg = strSplit[LINE][COL05];
+ odFg = strSplit[LINE][COL06];
+ cacheSz = strSplit[LINE][COL07];
if(cacheSz.equals("0"))cacheSz="10";
- lstNo = strSplit[0][7];
- pw[1].print("CREATE SEQUENCE " + DB_SQL_QUOTED_S[cp.dbType]+ seqName + DB_SQL_QUOTED_E[cp.dbType]+ " MINVALUE " + minVal + " MAXVALUE " + maxVal + " INCREMENT BY " + incSz + " START WITH " + lstNo + " CACHE " + cacheSz);
- if (odFg.equals("N")){
- pw[1].print(" NOORDER");
- } else {
- pw[1].print(" ORDER");
+ lstNo = strSplit[LINE][COL08];
+ pw[CREATE].print("CREATE SEQUENCE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ seqName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " MINVALUE " + minVal + " MAXVALUE " + maxVal + " INCREMENT BY " + incSz + " START WITH " + lstNo);
+ if (cp.dbType == cp.DB_TYPE_ORACLE){
+ pw[CREATE].print(" CACHE " + cacheSz);
+ if (odFg.equals("N")){
+ pw[CREATE].print(" NOORDER");
+ } else {
+ pw[CREATE].print(" ORDER");
+ }
+ if (cycFg.equals("N")){
+ pw[CREATE].print(" NOCYCLE");
+ } else {
+ pw[CREATE].print(" CYCLE");
+ }
+ } else if (cp.dbType == cp.DB_TYPE_SQLSERVER){
+ if (cacheSz.equals("")){
+ pw[CREATE].print(" NO CACHE");
+ } else {
+ pw[CREATE].print(" CACHE " + cacheSz);
+ }
+ if (cycFg.equals("N")){
+ pw[CREATE].print(" NO CYCLE");
+ } else {
+ pw[CREATE].print(" CYCLE");
+ }
}
- if (cycFg.equals("N")){
- pw[1].print(" NOCYCLE");
- } else {
- pw[1].print(" CYCLE");
+ 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++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
}
- pw[1].println(cp.SQL_TERMINATOR[cp.dbType]);
- pw[2].println("DROP SEQUENCE " + DB_SQL_QUOTED_S[cp.dbType]+ seqName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- for(int i=0;i<strSplit[0].length;i++)CmnUtils.debugPrint("'" + strSplit[0][i] + "'");
}
- for(int i=1;i<3;i++)pw[i].close();
- for(int i=1;i<3;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// Sequence Contents end
// Synonym Contents start
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_SYNONYM] + "_" + database + "." + cp.fileExtension));
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SYNONYM]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SYNONYM]))));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_SYNONYM] + "_" + database + "." + cp.fileExtension));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_SYNONYM]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_SYNONYM]))));
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- synmName = strSplit[0][0];
- tbOwner = strSplit[0][1];
- tbName = strSplit[0][2];
- dbLnk = strSplit[0][3];
+ while((strLine=br[WK_FILE].readLine()) != null){
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
+ synmName = strSplit[LINE][COL01];
+ tbOwner = strSplit[LINE][COL02];
+ tbName = strSplit[LINE][COL03];
+ dbLnk = strSplit[LINE][COL04];
- pw[1].print("CREATE SYNONYM " + DB_SQL_QUOTED_S[cp.dbType]+ synmName + DB_SQL_QUOTED_E[cp.dbType]+ " FOR ");
- if(dbLnk.equals("")){
- pw[1].print(DB_SQL_QUOTED_S[cp.dbType]+ tbOwner + DB_SQL_QUOTED_E[cp.dbType]+ "." + DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]);
- } else {
- pw[1].print(DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]+ "@" + DB_SQL_QUOTED_S[cp.dbType]+ dbLnk + DB_SQL_QUOTED_S[cp.dbType]);
+ pw[CREATE].print("CREATE SYNONYM " + cp.DB_SQL_QUOTEDS[cp.dbType]+ synmName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOR ");
+ if(cp.dbType == cp.DB_TYPE_ORACLE){
+ if(!dbLnk.equals("")){
+ pw[CREATE].print(cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]+ "@" + cp.DB_SQL_QUOTEDS[cp.dbType]+ dbLnk + cp.DB_SQL_QUOTEDS[cp.dbType]);
+ } else {
+ pw[CREATE].print(cp.DB_SQL_QUOTEDS[cp.dbType]+ tbOwner + cp.DB_SQL_QUOTEDE[cp.dbType]+ "." + cp.DB_SQL_QUOTEDS[cp.dbType]+ tbName + cp.DB_SQL_QUOTEDE[cp.dbType]);
+ }
+ } else if(cp.dbType == cp.DB_TYPE_SQLSERVER){
+ pw[CREATE].print(tbName);
+ }
+ 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++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
}
- pw[1].println(cp.SQL_TERMINATOR[cp.dbType]);
- pw[2].println("DROP SYNONYM " + DB_SQL_QUOTED_S[cp.dbType]+ synmName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- for(int i=0;i<strSplit[0].length;i++)CmnUtils.debugPrint("'" + strSplit[0][i] + "'");
}
- for(int i=1;i<3;i++)pw[i].close();
- for(int i=1;i<3;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
// Synonym Contents end
// Fk Contents start
- File tsvFile = new File(folder + "/" + FILE_NAME[TYPE_FK] + "_" + database + "." + cp.fileExtension);
+ File tsvFile = new File(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_FK] + "_" + database + "." + cp.fileExtension);
if (tsvFile.length() > 0) {
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_FK] + "_" + database + "." + cp.fileExtension));
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_FK]))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_FK]))));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_FK] + "_" + database + "." + cp.fileExtension));
+ pw[CREATE] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_FK]))));
+ pw[DROP] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.DROP_FK]))));
tbName = "";
fkName = "";
fkCol = "";
fkColPos = "";
rtbName = "";
- rfkName = "";
rfkCol = "";
rfkColPos = "";
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- if(!fkName.equals(strSplit[0][1]) && !fkName.equals("")){
- pw[1].println("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ fkName + DB_SQL_QUOTED_E[cp.dbType]+ " FOREIGN KEY (" + DB_SQL_QUOTED_S[cp.dbType]+ fkCol + DB_SQL_QUOTED_E[cp.dbType]+ ") REFERENCES " + DB_SQL_QUOTED_S[cp.dbType]+ rtbName + DB_SQL_QUOTED_E[cp.dbType]+ " (" + DB_SQL_QUOTED_S[cp.dbType]+ rfkCol + DB_SQL_QUOTED_E[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
- pw[2].println("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]+ " DROP CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ fkName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- for(int i=0;i<strSplit[0].length;i++)CmnUtils.debugPrint("'" + strSplit[0][i] + "'");
- tbName = strSplit[0][0];
- fkName = strSplit[0][1];
- fkCol = strSplit[0][2];
- fkColPos = strSplit[0][3];
- rtbName = strSplit[0][4];
- rfkName = strSplit[0][5];
- rfkCol = strSplit[0][6];
- rfkColPos = strSplit[0][7];
+ while((strLine=br[WK_FILE].readLine()) != null){
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
+ if(!fkName.equals(strSplit[LINE][COL02]) && !fkName.equals("")){
+ 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].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].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];
+ fkName = strSplit[LINE][COL02];
+ fkCol = strSplit[LINE][COL03];
+ fkColPos = strSplit[LINE][COL04];
+ rtbName = strSplit[LINE][COL05];
+ rfkCol = strSplit[LINE][COL06];
+ rfkColPos = strSplit[LINE][COL07];
} else {
if(fkName.equals("")){
- tbName = strSplit[0][0];
- fkName = strSplit[0][1];
- fkCol = strSplit[0][2];
- fkColPos = strSplit[0][3];
- rtbName = strSplit[0][4];
- rfkName = strSplit[0][5];
- rfkCol = strSplit[0][6];
- rfkColPos = strSplit[0][7];
+ tbName = strSplit[LINE][COL01];
+ fkName = strSplit[LINE][COL02];
+ fkCol = strSplit[LINE][COL03];
+ fkColPos = strSplit[LINE][COL04];
+ rtbName = strSplit[LINE][COL05];
+ rfkCol = strSplit[LINE][COL06];
+ rfkColPos = strSplit[LINE][COL07];
} else {
- if (strSplit[0][3].equals(strSplit[0][7])) {
- fkCol = fkCol + DB_SQL_QUOTED_E[cp.dbType]+ ", " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][2];
- rfkCol = rfkCol + DB_SQL_QUOTED_E[cp.dbType]+ ", " + DB_SQL_QUOTED_S[cp.dbType]+ strSplit[0][6];
+ if (
+ (cp.dbType == cp.DB_TYPE_ORACLE && strSplit[LINE][COL04].equals(strSplit[LINE][COL07])) ||
+ cp.dbType != cp.DB_TYPE_ORACLE
+ ) {
+ fkCol = fkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL03];
+ rfkCol = rfkCol + cp.DB_SQL_QUOTEDE[cp.dbType]+ ", " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL06];
}
}
}
}
- pw[1].println("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]+ " ADD CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ fkName + DB_SQL_QUOTED_E[cp.dbType]+ " FOREIGN KEY (" + DB_SQL_QUOTED_S[cp.dbType]+ fkCol + DB_SQL_QUOTED_E[cp.dbType]+ ") REFERENCES " + DB_SQL_QUOTED_S[cp.dbType]+ rtbName + DB_SQL_QUOTED_E[cp.dbType]+ " (" + DB_SQL_QUOTED_S[cp.dbType]+ rfkCol + DB_SQL_QUOTED_E[cp.dbType]+ ")" + cp.SQL_TERMINATOR[cp.dbType]);
- pw[2].println("ALTER TABLE " + DB_SQL_QUOTED_S[cp.dbType]+ tbName + DB_SQL_QUOTED_E[cp.dbType]+ " DROP CONSTRAINT " + DB_SQL_QUOTED_S[cp.dbType]+ fkName + DB_SQL_QUOTED_E[cp.dbType]+ cp.SQL_TERMINATOR[cp.dbType]);
- for(int i=1;i<3;i++)pw[i].close();
- for(int i=1;i<3;i++)pw[i]=null;
- br[0].close();
- br[0] = null;
+ 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].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].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){
+ pw[i].close();
+ pw[i]=null;
+ }
+ }
+ br[WK_FILE].close();
+ br[WK_FILE] = null;
}
// Fk Contents end
// Rhysical Contents start
- if(cp.isPhysical){
+ if(cp.isPhysical && cp.dbType == cp.DB_TYPE_ORACLE){
// physical index setting
- br[0] = new BufferedReader(new FileReader(folder + "/" + FILE_NAME[TYPE_OBJ] + "_" + database + "." + cp.fileExtension));
- br[1] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]));
- br[2] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]));
- br[3] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]));
- pw[1] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY] + "." + phyfileExtension))));
- pw[2] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY] + "." + phyfileExtension))));
- pw[3] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX] + "." + phyfileExtension))));
+ br[WK_FILE] = new BufferedReader(new FileReader(folder + "/" + cp.WK_FILE_NAME[cp.TYPE_OBJ] + "_" + database + "." + cp.fileExtension));
+ br[R_CREATE_PKEY] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]));
+ br[R_CREATE_UKEY] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]));
+ br[R_CREATE_INDEX] = new BufferedReader(new FileReader(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]));
+ pw[W_CREATE_PKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY] + "." + phyfileExtension))));
+ pw[W_CREATE_UKEY] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY] + "." + phyfileExtension))));
+ pw[W_CREATE_INDEX] = new PrintWriter(new BufferedWriter(new FileWriter(new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX] + "." + phyfileExtension))));
alData = new ArrayList<String>();
int rowNo;
String [] rowData;
- while((strLine=br[0].readLine()) != null){
- strSplit[0] = CmnUtils.split(strLine, cp.delimiter);
- for(int i=0;i<strSplit[0].length;i++)alData.add(strSplit[0][i]);
+ while((strLine=br[WK_FILE].readLine()) != null){
+ strSplit[LINE] = CmnUtils.split(strLine, cp.delimiter);
+ for(int i=0;i<strSplit[LINE].length;i++)alData.add(strSplit[LINE][i]);
}
- while((strLine=br[1].readLine()) != null){
- strSplit[0] = CmnUtils.splitSpace(strLine);
- rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[0][5].replaceAll("\"",""));
+ while((strLine=br[R_CREATE_PKEY].readLine()) != null){
+ strSplit[LINE] = CmnUtils.splitSpace(strLine);
+ rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[LINE][COL06].replaceAll("\"",""));
if (rowNo != -1){
- rowData = rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
- CmnUtils.debugPrint(strSplit[0][5] + ":" + rowNo);
+ rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
+ CmnUtils.debugPrint(strSplit[LINE][COL06] + ":" + rowNo);
for(int i=0;i<rowData.length;i++)CmnUtils.debugPrint(rowData[i]);
- tbName = rowData[0];
- objName = rowData[1];
- objTyp = rowData[2];
- pctFree = rowData[3];
- pctUsed = rowData[4];
- iniTrns = rowData[5];
- freeLst = rowData[6];
- flstGrp = rowData[7];
- bufPool = rowData[8];
- tblSpace = rowData[9];
- logging = rowData[10];
- segByts = rowData[11];
- pw[1].print(strLine.replace(';',' '));
- pw[1].print("USING INDEX PCTFREE " + pctFree);
- pw[1].print(" INITRANS " + iniTrns + " STORAGE(");
- if(!freeLst.equals(""))pw[1].print(" FREELISTS " + freeLst);
- if(!flstGrp.equals(""))pw[1].print(" FREELIST GROUPS " + flstGrp);
- pw[1].print(" BUFFER_POOL " + bufPool + ")");
- pw[1].print(" TABLESPACE " + DB_SQL_QUOTED_S[cp.dbType]+ tblSpace + DB_SQL_QUOTED_E[cp.dbType]);
+ tbName = rowData[COL01];
+ objName = rowData[COL02];
+ objTyp = rowData[COL03];
+ pctFree = rowData[COL04];
+ pctUsed = rowData[COL05];
+ iniTrns = rowData[COL06];
+ freeLst = rowData[COL07];
+ flstGrp = rowData[COL08];
+ bufPool = rowData[COL09];
+ tblSpace = rowData[COL10];
+ logging = rowData[COL11];
+ segByts = rowData[COL12];
+ pw[W_CREATE_PKEY].print(strLine.replace(';',' '));
+ pw[W_CREATE_PKEY].print("USING INDEX PCTFREE " + pctFree);
+ pw[W_CREATE_PKEY].print(" INITRANS " + iniTrns + " STORAGE(");
+ if(!freeLst.equals(""))pw[W_CREATE_PKEY].print(" FREELISTS " + freeLst);
+ if(!flstGrp.equals(""))pw[W_CREATE_PKEY].print(" FREELIST GROUPS " + flstGrp);
+ 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[1].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_PKEY].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
} else {
- pw[1].println(cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_PKEY].print(cp.SQL_TERMINATOR[cp.dbType]);
}
} else {
- pw[1].println(strLine);
- CmnUtils.errorPrint(strSplit[0][5] + ",UNUSABLE INDEX");
+ pw[W_CREATE_PKEY].println(strLine);
+ CmnUtils.errorPrint(strSplit[LINE][COL06] + ",UNUSABLE INDEX");
}
}
- while((strLine=br[2].readLine()) != null){
- strSplit[0] = CmnUtils.splitSpace(strLine);
- rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[0][5].replaceAll("\"",""));
+ while((strLine=br[R_CREATE_UKEY].readLine()) != null){
+ strSplit[LINE] = CmnUtils.splitSpace(strLine);
+ rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[LINE][COL06].replaceAll("\"",""));
if (rowNo != -1){
rowData = rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
- CmnUtils.debugPrint(strSplit[0][5] + ":" + rowNo);
+ CmnUtils.debugPrint(strSplit[LINE][COL06] + ":" + rowNo);
for(int i=0;i<rowData.length;i++)CmnUtils.debugPrint(rowData[i]);
- tbName = rowData[0];
- objName = rowData[1];
- objTyp = rowData[2];
- pctFree = rowData[3];
- pctUsed = rowData[4];
- iniTrns = rowData[5];
- freeLst = rowData[6];
- flstGrp = rowData[7];
- bufPool = rowData[8];
- tblSpace = rowData[9];
- logging = rowData[10];
- segByts = rowData[11];
- pw[2].print(strLine.replace(';',' '));
- pw[2].print("USING INDEX PCTFREE " + pctFree);
- pw[2].print(" INITRANS " + iniTrns + " STORAGE(");
- if(!freeLst.equals(""))pw[2].print(" FREELISTS " + freeLst);
- if(!flstGrp.equals(""))pw[2].print(" FREELIST GROUPS " + flstGrp);
- pw[2].print(" BUFFER_POOL " + bufPool + ")");
- pw[2].print(" TABLESPACE " + DB_SQL_QUOTED_S[cp.dbType]+ tblSpace + DB_SQL_QUOTED_E[cp.dbType]);
+ tbName = rowData[COL01];
+ objName = rowData[COL02];
+ objTyp = rowData[COL03];
+ pctFree = rowData[COL04];
+ pctUsed = rowData[COL05];
+ iniTrns = rowData[COL06];
+ freeLst = rowData[COL07];
+ flstGrp = rowData[COL08];
+ bufPool = rowData[COL09];
+ tblSpace = rowData[COL10];
+ logging = rowData[COL11];
+ segByts = rowData[COL12];
+ pw[W_CREATE_UKEY].print(strLine.replace(';',' '));
+ pw[W_CREATE_UKEY].print("USING INDEX PCTFREE " + pctFree);
+ pw[W_CREATE_UKEY].print(" INITRANS " + iniTrns + " STORAGE(");
+ if(!freeLst.equals(""))pw[W_CREATE_UKEY].print(" FREELISTS " + freeLst);
+ if(!flstGrp.equals(""))pw[W_CREATE_UKEY].print(" FREELIST GROUPS " + flstGrp);
+ 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[2].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_UKEY].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
} else {
- pw[2].println(cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_UKEY].print(cp.SQL_TERMINATOR[cp.dbType]);
}
} else {
- pw[2].println(strLine);
- CmnUtils.errorPrint(strSplit[0][5] + ",UNUSABLE INDEX");
+ pw[W_CREATE_UKEY].println(strLine);
+ CmnUtils.errorPrint(strSplit[LINE][COL06] + ",UNUSABLE INDEX");
}
}
- while((strLine=br[3].readLine()) != null){
- strSplit[0] = CmnUtils.splitSpace(strLine);
- rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[0][2].replaceAll("\"",""));
+ while((strLine=br[R_CREATE_INDEX].readLine()) != null){
+ strSplit[LINE] = CmnUtils.splitSpace(strLine);
+ rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, strSplit[LINE][COL03].replaceAll("\"",""));
CmnUtils.debugPrint("rowNo=" + rowNo);
if (rowNo != -1){
rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
for(int i=0;i<rowData.length;i++)CmnUtils.debugPrint(rowData[i]);
- tbName = rowData[0];
- objName = rowData[1];
- objTyp = rowData[2];
- pctFree = rowData[3];
- pctUsed = rowData[4];
- iniTrns = rowData[5];
- freeLst = rowData[6];
- flstGrp = rowData[7];
- bufPool = rowData[8];
- tblSpace = rowData[9];
- logging = rowData[10];
- segByts = rowData[11];
- pw[3].print(strLine.replace(';',' '));
- pw[3].print("PCTFREE " + pctFree);
- pw[3].print(" INITRANS " + iniTrns + " STORAGE(");
- if(!freeLst.equals(""))pw[3].print(" FREELISTS " + freeLst);
- if(!flstGrp.equals(""))pw[3].print(" FREELIST GROUPS " + flstGrp);
- pw[3].print(" BUFFER_POOL " + bufPool + ")");
- pw[3].print(" TABLESPACE " + DB_SQL_QUOTED_S[cp.dbType]+ tblSpace + DB_SQL_QUOTED_E[cp.dbType]);
+ tbName = rowData[COL01];
+ objName = rowData[COL02];
+ objTyp = rowData[COL03];
+ pctFree = rowData[COL04];
+ pctUsed = rowData[COL05];
+ iniTrns = rowData[COL06];
+ freeLst = rowData[COL07];
+ flstGrp = rowData[COL08];
+ bufPool = rowData[COL09];
+ tblSpace = rowData[COL10];
+ logging = rowData[COL11];
+ segByts = rowData[COL12];
+ pw[W_CREATE_INDEX].print(strLine.replace(';',' '));
+ pw[W_CREATE_INDEX].print("PCTFREE " + pctFree);
+ pw[W_CREATE_INDEX].print(" INITRANS " + iniTrns + " STORAGE(");
+ if(!freeLst.equals(""))pw[W_CREATE_INDEX].print(" FREELISTS " + freeLst);
+ if(!flstGrp.equals(""))pw[W_CREATE_INDEX].print(" FREELIST GROUPS " + flstGrp);
+ 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[3].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_INDEX].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
} else {
- pw[3].println(cp.SQL_TERMINATOR[cp.dbType]);
+ pw[W_CREATE_INDEX].print(cp.SQL_TERMINATOR[cp.dbType]);
}
} else {
- pw[3].println(strLine);
- CmnUtils.errorPrint(strSplit[0][2] + ",UNUSABLE INDEX");
+ pw[W_CREATE_INDEX].println(strLine);
+ CmnUtils.errorPrint(strSplit[LINE][COL03] + ",UNUSABLE INDEX");
+ }
+ }
+ for(int i=0;i<pw.length;i++){
+ if(pw[i]!=null){
+ pw[i].close();
+ pw[i]=null;
+ }
+ }
+ for(int i=0;i<br.length;i++){
+ if(br[i]!=null){
+ br[i].close();
+ br[i]=null;
}
}
- for(int i=1;i<4;i++)pw[i].close();
- for(int i=1;i<4;i++)pw[i]=null;
- for(int i=0;i<4;i++)br[i].close();
- for(int i=0;i<4;i++)br[i]=null;
- File [] fmFl = new File[6];
- File [] toFl = new File[6];
+ File [] fmFl = new File[3];
+ File [] toFl = new File[3];
- fmFl[0] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY] + "." + phyfileExtension);
- fmFl[1] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY] + "." + phyfileExtension);
- fmFl[2] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX] + "." + phyfileExtension);
- toFl[0] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]);
- toFl[1] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]);
- toFl[2] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]);
- for(int i=0;i<3;i++){
+ fmFl[W_CREATE_PKEY] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY] + "." + phyfileExtension);
+ fmFl[W_CREATE_UKEY] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY] + "." + phyfileExtension);
+ fmFl[W_CREATE_INDEX] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX] + "." + phyfileExtension);
+ toFl[W_CREATE_PKEY] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_PKEY]);
+ toFl[W_CREATE_UKEY] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_UKEY]);
+ toFl[W_CREATE_INDEX] = new File(folder + "/" + cp.SQL_FILE_NAME[cp.CREATE_INDEX]);
+ for(int i=0;i<toFl.length;i++){
CmnUtils.debugPrint(fmFl[i].toString() + ">" + toFl[i].toString());
toFl[i].delete();
fmFl[i].renameTo(toFl[i]);
tbName = tb.getName().replaceAll(".sql","");
oTb = new File(tb + "." + phyfileExtension);
CmnUtils.debugPrint(tbName);
- br[0] = new BufferedReader(new FileReader(tb));
- pw[0] = new PrintWriter(new BufferedWriter(new FileWriter(oTb)));
- while((strLine=br[0].readLine()) != null){
- if(strLine.equals(")" + cp.SQL_TERMINATOR[cp.dbType])){
+ 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(");")){
rowNo = CmnUtils.getArrayRowNo(alData, 12, 1, tbName);
if (rowNo != -1){
rowData = CmnUtils.getArrayRowData(alData, 12, rowNo);
CmnUtils.debugPrint(tbName + ":" + rowNo);
//for(int j=0;j<rowData.length;i++)CmnUtils.debugPrint(rowData[j]);
- tbName = rowData[0];
- objName = rowData[1];
- objTyp = rowData[2];
- pctFree = rowData[3];
- pctUsed = rowData[4];
- iniTrns = rowData[5];
- freeLst = rowData[6];
- flstGrp = rowData[7];
- bufPool = rowData[8];
- tblSpace = rowData[9];
- logging = rowData[10];
- segByts = rowData[11];
- pw[0].print(") PCTFREE " + pctFree);
- if(!pctUsed.equals(""))pw[0].print(" PCTUSED " + pctUsed);
- pw[0].print(" INITRANS " + iniTrns + " STORAGE(");
- if(!freeLst.equals(""))pw[0].print(" FREELISTS " + freeLst);
- if(!flstGrp.equals(""))pw[0].print(" FREELIST GROUPS " + flstGrp);
- pw[0].print(" BUFFER_POOL " + bufPool + ")");
- pw[0].print(" TABLESPACE " + DB_SQL_QUOTED_S[cp.dbType]+ tblSpace + DB_SQL_QUOTED_E[cp.dbType]);
+ tbName = rowData[COL01];
+ objName = rowData[COL02];
+ objTyp = rowData[COL03];
+ pctFree = rowData[COL04];
+ pctUsed = rowData[COL05];
+ iniTrns = rowData[COL06];
+ freeLst = rowData[COL07];
+ flstGrp = rowData[COL08];
+ bufPool = rowData[COL09];
+ tblSpace = rowData[COL10];
+ logging = rowData[COL11];
+ segByts = rowData[COL12];
+ pw[CONTENTS].print(") PCTFREE " + pctFree);
+ if(!pctUsed.equals(""))pw[CONTENTS].print(" PCTUSED " + pctUsed);
+ pw[CONTENTS].print(" INITRANS " + iniTrns + " STORAGE(");
+ if(!freeLst.equals(""))pw[CONTENTS].print(" FREELISTS " + freeLst);
+ if(!flstGrp.equals(""))pw[CONTENTS].print(" FREELIST GROUPS " + flstGrp);
+ 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[0].println(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
+ pw[CONTENTS].print(" NOLOGGING" + cp.SQL_TERMINATOR[cp.dbType]);
} else {
- pw[0].println(cp.SQL_TERMINATOR[cp.dbType]);
+ pw[CONTENTS].print(cp.SQL_TERMINATOR[cp.dbType]);
}
} else {
- pw[0].println(")" + cp.SQL_TERMINATOR[cp.dbType]);
+ pw[CONTENTS].print(")" + cp.SQL_TERMINATOR[cp.dbType]);
}
} else {
- pw[0].println(strLine);
+ pw[CONTENTS].println(strLine);
}
}
- pw[0].close();
- pw[0]=null;
- br[0].close();
- br[0]=null;
+ pw[CONTENTS].close();
+ pw[CONTENTS]=null;
+ br[WK_FILE].close();
+ br[WK_FILE]=null;
tb.delete();
oTb.renameTo(tb);
}
// Remove work file
File fl= null;
- for(int i=0;i<sql[cp.dbType].length;i++){
- fl= new File(folder + "/" + FILE_NAME[i] + "_" + database + "." + cp.fileExtension);
+ for(int i=0;i<cp.meta_sql[cp.dbType].length;i++){
+ fl= new File(folder + "/" + cp.WK_FILE_NAME[i] + "_" + database + "." + cp.fileExtension);
CmnUtils.debugPrint(fl.toString());
fl.delete();
}
private String commentOnTable(CmnProps _cp, String _tableName, String _tableCmnt, int _type) throws Exception{
String retVal = "";
if(!_tableCmnt.equals("")){
- switch (_cp.dbType) {
- case DB_TYPE_ORACLE:
- retVal = "COMMENT ON TABLE " + DB_SQL_QUOTED_S[_cp.dbType]+ _tableName + DB_SQL_QUOTED_E[_cp.dbType]+ " IS '" + _tableCmnt.replaceAll("'","''") + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
- break;
- case DB_TYPE_SQLSERVER:
- if(_type == TYPE_TABLE){
+ if(_cp.dbType == _cp.DB_TYPE_ORACLE){
+ retVal = "COMMENT ON TABLE " + _cp.DB_SQL_QUOTEDS[_cp.dbType]+ _tableName + _cp.DB_SQL_QUOTEDE[_cp.dbType]+ " IS '" + _tableCmnt.replaceAll("'","''") + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
+ } else if(_cp.dbType == _cp.DB_TYPE_SQLSERVER){
+ if(_type == _cp.TYPE_TABLE){
retVal = "exec sys.sp_addextendedproperty @name=N'MS_Description',@value=N'" + _tableCmnt.replaceAll("'","''") + "',@level0type=N'schema',@level0name=N'dbo',@level1type=N'table',@level1name=N'" + _tableName + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
- } else if(_type == TYPE_VIEW){
+ } else if(_type == _cp.TYPE_VIEW){
retVal = "exec sys.sp_addextendedproperty @name=N'MS_Description',@value=N'" + _tableCmnt.replaceAll("'","''") + "',@level0type=N'schema',@level0name=N'dbo',@level1type=N'view',@level1name=N'" + _tableName + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
}
- break;
- default :
}
}
return retVal;
private String commentOnColumn(CmnProps _cp, String _tableName, String _colName, String _colCmnt, int _type) throws Exception{
String retVal = "";
if(!_colCmnt.equals("")){
- switch (_cp.dbType) {
- case DB_TYPE_ORACLE:
- retVal = "COMMENT ON COLUMN " + DB_SQL_QUOTED_S[_cp.dbType]+ _tableName + DB_SQL_QUOTED_E[_cp.dbType]+ "." + DB_SQL_QUOTED_S[_cp.dbType]+ _colName + DB_SQL_QUOTED_E[_cp.dbType]+ " IS '" + _colCmnt.replaceAll("'","''") + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
- break;
- case DB_TYPE_SQLSERVER:
- if(_type == TYPE_TABLE){
+ if(_cp.dbType == _cp.DB_TYPE_ORACLE){
+ retVal = "COMMENT ON COLUMN " + _cp.DB_SQL_QUOTEDS[_cp.dbType]+ _tableName + _cp.DB_SQL_QUOTEDE[_cp.dbType]+ "." + _cp.DB_SQL_QUOTEDS[_cp.dbType]+ _colName + _cp.DB_SQL_QUOTEDE[_cp.dbType]+ " IS '" + _colCmnt.replaceAll("'","''") + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
+ } else if(_cp.dbType == _cp.DB_TYPE_SQLSERVER){
+ if(_type == _cp.TYPE_TABLE){
retVal = "exec sys.sp_addextendedproperty @name=N'MS_Description',@value=N'" + _colCmnt.replaceAll("'","''") + "',@level0type=N'schema',@level0name=N'dbo',@level1type=N'table',@level1name=N'" + _tableName + "',@level2type=N'column',@level2name=N'" + _colName + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
- } else if(_type == TYPE_VIEW){
+ } else if(_type == _cp.TYPE_VIEW){
retVal = "exec sys.sp_addextendedproperty @name=N'MS_Description',@value=N'" + _colCmnt.replaceAll("'","''") + "',@level0type=N'schema',@level0name=N'dbo',@level1type=N'view',@level1name=N'" + _tableName + "',@level2type=N'column',@level2name=N'" + _colName + "'" + _cp.SQL_TERMINATOR[_cp.dbType];
}
- break;
- default :
}
}
return retVal;