From: kuboryu Date: Thu, 29 Jun 2017 22:25:01 +0000 (+0900) Subject: 20170630 X-Git-Url: http://git.osdn.net/view?p=rapideact%2Frapideact.git;a=commitdiff_plain;h=fb9d25392f1031dff977a3d91bebf14c1c2a4fd2 20170630 --- diff --git a/com/rapide_act/CmnProps.java b/com/rapide_act/CmnProps.java index 075fb33..6d35fc9 100644 --- a/com/rapide_act/CmnProps.java +++ b/com/rapide_act/CmnProps.java @@ -797,7 +797,7 @@ public class CmnProps{ + " b.length as data_precision, " + " b.scale as data_scale, " + " case b.nulls" - + " when '0' then 'Z'" + + " when 'N' then 'Z'" + " else null " + " end as nullable," + " b.default as data_default " diff --git a/com/rapide_act/CmnUtils.java b/com/rapide_act/CmnUtils.java index 3d82ad7..2d12bd8 100644 --- a/com/rapide_act/CmnUtils.java +++ b/com/rapide_act/CmnUtils.java @@ -336,7 +336,9 @@ public class CmnUtils{ _colType.toUpperCase().equals("VARCHAR") || _colType.toUpperCase().equals("VARCHAR2") || _colType.toUpperCase().equals("NVARCHAR") || - _colType.toUpperCase().equals("NVARCHAR2") + _colType.toUpperCase().equals("NVARCHAR2") || + _colType.toUpperCase().equals("GRAPHIC") || + _colType.toUpperCase().equals("VARGRAPHIC") ){ return true; } else { diff --git a/com/rapide_act/RapideMetaLoader.java b/com/rapide_act/RapideMetaLoader.java index 6645624..49e0c55 100644 --- a/com/rapide_act/RapideMetaLoader.java +++ b/com/rapide_act/RapideMetaLoader.java @@ -73,7 +73,7 @@ public class RapideMetaLoader{ cp = new CmnProps(); cp.setProperty(database); - if (cp.dbType > cp.DB_TYPE_MYSQL || cp.dbType <0){ + if (cp.dbType > cp.DB_TYPE_DB2 || cp.dbType <0){ throw new Exception("ƒf[ƒ^ƒx[ƒX‚ª‘ΏۊO‚Å‚·B[" + cp.DB_TYPE_NAME[cp.dbType] + "]"); } if(cp.inFolder != null){ diff --git a/com/rapide_act/RapideMetaUnloader.java b/com/rapide_act/RapideMetaUnloader.java index 4060a53..ca9ae4d 100644 --- a/com/rapide_act/RapideMetaUnloader.java +++ b/com/rapide_act/RapideMetaUnloader.java @@ -441,8 +441,13 @@ public class RapideMetaUnloader{ 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("); + if (cp.dbType == cp.DB_TYPE_DB2){ + sbIxCnts.append("CREATE UNIQUE 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]+ " ("); + sbIx2Cnts.append("ALTER TABLE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ strSplit[LINE][COL01] + cp.DB_SQL_QUOTEDE[cp.dbType]+ " DROP UNIQUE("); + } 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]+ " 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] + "("); @@ -473,7 +478,11 @@ public class RapideMetaUnloader{ 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("); + if (cp.dbType == cp.DB_TYPE_DB2){ + sbIxCnts.append("CREATE UNIQUE 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("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")){ @@ -717,7 +726,11 @@ public class RapideMetaUnloader{ cacheSz = strSplit[LINE][COL07]; if(cacheSz.equals("0"))cacheSz="10"; 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_DB2){ + pw[CREATE].print("CREATE SEQUENCE " + cp.DB_SQL_QUOTEDS[cp.dbType]+ seqName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " AS BIGINT MINVALUE " + minVal + " MAXVALUE " + maxVal + " INCREMENT BY " + incSz + " START WITH " + lstNo); + } else { + 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")){ @@ -741,6 +754,22 @@ public class RapideMetaUnloader{ } else { pw[CREATE].print(" CYCLE"); } + } else if (cp.dbType == cp.DB_TYPE_DB2){ + 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 (odFg.equals("N")){ + pw[CREATE].print(" NO ORDER"); + } else { + pw[CREATE].print(" ORDER"); + } } 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]); @@ -768,18 +797,18 @@ public class RapideMetaUnloader{ tbName = strSplit[LINE][COL03]; dbLnk = strSplit[LINE][COL04]; - pw[CREATE].print("CREATE SYNONYM " + cp.DB_SQL_QUOTEDS[cp.dbType]+ synmName + cp.DB_SQL_QUOTEDE[cp.dbType]+ " FOR "); + 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]); + 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]); + 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); + } else { + pw[CREATE].print(cp.DB_SQL_QUOTEDS[cp.dbType] + tbName + cp.DB_SQL_QUOTEDE[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]); + 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