version 1.71, 2004/08/09 11:36:18
|
version 1.76, 2004/08/18 11:14:51
|
Line 76 class Convert
|
Line 76 class Convert
|
static boolean batchRun = false; |
static boolean batchRun = false; |
static Vector databases = new Vector(); |
static Vector databases = new Vector(); |
final static int numHits = 5000; |
final static int numHits = 5000; |
final static int numIntervalls = 2; |
final static int numIntervalls = 4; |
|
static boolean debug = false; |
public static void main(String args[]) |
public static void main(String args[]) |
{ |
{ |
/* try |
/* try |
Line 101 class Convert
|
Line 102 class Convert
|
{ |
{ |
e1.printStackTrace(); |
e1.printStackTrace(); |
} |
} |
PrintStream stream = new PrintStream(file); |
PrintStream stream = new PrintStream(file, false); |
// System.setOut(stream); |
if (!debug) |
//System.setErr(stream); |
{ |
|
System.setOut(stream); |
|
System.setErr(stream); |
|
} |
readXMLFile(args[0]); |
readXMLFile(args[0]); |
if (!(new File(args[0]).exists())) |
if (!(new File(args[0]).exists())) |
System.exit(0); |
System.exit(0); |
Line 2058 class Convert
|
Line 2061 class Convert
|
int endIndex = -1; |
int endIndex = -1; |
String tempQuery = query; |
String tempQuery = query; |
String destQuery = query.replaceAll(names.get(tbIndex).toString(), destTableName); |
String destQuery = query.replaceAll(names.get(tbIndex).toString(), destTableName); |
|
destQuery = destQuery.replaceAll(bean.getQC(), beanDest.getQC()); |
|
destQuery = removeLayoutPartFromQuery(destQuery, layouts.get(tbIndex).toString()); |
|
// TODO remove layout part for destQuery |
String tempQueryDest = destQuery; |
String tempQueryDest = destQuery; |
// remove extra query parts destQuery.substring(0,destQuery.lastIndexOf(destTableName)+destTableName.length()+1); |
// remove extra query parts destQuery.substring(0,destQuery.lastIndexOf(destTableName)+destTableName.length()+1); |
System.out.println("new Query " + tempQueryDest); |
System.out.println("new Query " + tempQueryDest); |
Line 2164 class Convert
|
Line 2170 class Convert
|
System.out.println("found list " + idList); |
System.out.println("found list " + idList); |
Statement stm = beanDest.getConnection().createStatement(); |
Statement stm = beanDest.getConnection().createStatement(); |
Vector destTables = beanDest.getTableNames(); |
Vector destTables = beanDest.getTableNames(); |
|
System.out.println("tempQueryDest" + tempQueryDest); |
beanDest.makeQuery(tempQueryDest,0); |
beanDest.makeQuery(tempQueryDest,0); |
for (Iterator iter = idList.iterator(); iter.hasNext();) |
for (Iterator iter = idList.iterator(); iter.hasNext();) |
{ |
{ |
Line 2175 class Convert
|
Line 2182 class Convert
|
stm.execute("DROP INDEX "+destTableName+"_"+indexField); |
stm.execute("DROP INDEX "+destTableName+"_"+indexField); |
// continue; |
// continue; |
} |
} |
|
// stm.execute("DROP INDEX "+destTableName+"_"+indexField); |
|
|
String type = beanDest.getColumnType(indexField).toLowerCase(); |
String type = beanDest.getColumnType(indexField).toLowerCase(); |
// System.out.println(indexField+" "+type+" "+(type.indexOf("text") >= 0 || type.indexOf("varchar") >= 0 || type.indexOf("char") >= 0)); |
// System.out.println(indexField+" "+type+" "+(type.indexOf("text") >= 0 || type.indexOf("varchar") >= 0 || type.indexOf("char") >= 0)); |
if (type.indexOf("text") >= 0 || type.indexOf("varchar") >= 0 || type.indexOf("char") >= 0) |
if (type.indexOf("text") >= 0 || type.indexOf("varchar") >= 0 || type.indexOf("char") >= 0) |
stm.execute("CREATE INDEX " + indexName + " ON " + destTableName + "(LOWER(" + indexField + "))"); |
{ |
else |
if (beanDest.url.indexOf("mysql") >= 0) |
|
{ |
|
//System.out.println("CREATE INDEX " + indexName + " ON " + destTableName + " (" + indexField + "(10))"); |
|
// TODO problem if index exist !!! |
|
stm.execute("CREATE INDEX " + indexName + " ON " + destTableName + " (" + indexField + "(10))"); |
|
} else |
|
{ |
|
stm.execute("CREATE INDEX " + indexName + " ON " + destTableName + " (lower( " + indexField + "))"); |
|
|
|
} |
|
|
|
} else |
|
{ |
stm.execute("CREATE INDEX " + destTableName + "_" + indexField + " ON " + destTableName + "(" + indexField + ")"); |
stm.execute("CREATE INDEX " + destTableName + "_" + indexField + " ON " + destTableName + "(" + indexField + ")"); |
|
|
|
} |
|
|
// stm.execute("DROP INDEX "+destTableName+"_"+indexField); |
// stm.execute("DROP INDEX "+destTableName+"_"+indexField); |
|
|
} |
} |
Line 2225 class Convert
|
Line 2247 class Convert
|
dialog.setVisible(false); |
dialog.setVisible(false); |
} |
} |
} |
} |
|
/** |
|
* @param destQuery |
|
* @param string |
|
* @return |
|
*/ |
|
private static String removeLayoutPartFromQuery(String destQuery, String layoutName) |
|
{ |
|
String removeString = "layout " + beanDest.getQC() + layoutName + beanDest.getQC(); |
|
destQuery = destQuery.replaceFirst(removeString, ""); |
|
System.out.println("destQuery change to " + destQuery); |
|
return destQuery; |
|
} |
private static void performSynchronize( |
private static void performSynchronize( |
String idField, |
String idField, |
Vector vec, |
Vector vec, |
Line 2274 class Convert
|
Line 2308 class Convert
|
updPst.setNull(l + 1, Types.NULL); |
updPst.setNull(l + 1, Types.NULL); |
} |
} |
updPst.setString(line.size() + 1, line.get(idIndex).toString()); |
updPst.setString(line.size() + 1, line.get(idIndex).toString()); |
|
//updPst.addBatch(); |
updPst.execute(); |
updPst.execute(); |
|
|
} |
} |
} |
} |
|
//updPst.executeBatch(); |
} // to method |
} // to method |
|
|
/** |
/** |