--- FM2SQL/Attic/Convert.java 2004/08/17 09:12:22 1.75 +++ FM2SQL/Attic/Convert.java 2004/08/18 11:14:51 1.76 @@ -77,7 +77,7 @@ class Convert static Vector databases = new Vector(); final static int numHits = 5000; final static int numIntervalls = 4; - static boolean debug = true; + static boolean debug = false; public static void main(String args[]) { /* try @@ -102,8 +102,8 @@ class Convert { e1.printStackTrace(); } - PrintStream stream = new PrintStream(file,false); - if(!debug) + PrintStream stream = new PrintStream(file, false); + if (!debug) { System.setOut(stream); System.setErr(stream); @@ -2061,7 +2061,8 @@ class Convert int endIndex = -1; String tempQuery = query; String destQuery = query.replaceAll(names.get(tbIndex).toString(), destTableName); - destQuery = removeLayoutPartFromQuery(destQuery,layouts.get(tbIndex).toString()); + destQuery = destQuery.replaceAll(bean.getQC(), beanDest.getQC()); + destQuery = removeLayoutPartFromQuery(destQuery, layouts.get(tbIndex).toString()); // TODO remove layout part for destQuery String tempQueryDest = destQuery; // remove extra query parts destQuery.substring(0,destQuery.lastIndexOf(destTableName)+destTableName.length()+1); @@ -2169,8 +2170,8 @@ class Convert System.out.println("found list " + idList); Statement stm = beanDest.getConnection().createStatement(); Vector destTables = beanDest.getTableNames(); - System.out.println("tempQueryDest"+tempQueryDest); - beanDest.makeQuery(tempQueryDest,0); + System.out.println("tempQueryDest" + tempQueryDest); + beanDest.makeQuery(tempQueryDest, 0); for (Iterator iter = idList.iterator(); iter.hasNext();) { String indexField = (String) iter.next(); @@ -2178,18 +2179,33 @@ class Convert String indexName = destTableName + "_" + indexField; if (destTables.contains(indexName)) { - stm.execute("DROP INDEX "+destTableName+"_"+indexField); - // continue; + stm.execute("DROP INDEX " + destTableName + "_" + indexField); + // continue; } + // stm.execute("DROP INDEX "+destTableName+"_"+indexField); 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) - 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("DROP INDEX "+destTableName+"_"+indexField); + } + + // stm.execute("DROP INDEX "+destTableName+"_"+indexField); } // CREATE UNIQUE INDEX title_idx ON films (title); @@ -2232,18 +2248,18 @@ class Convert } } /** - * @param destQuery - * @param string - * @return - */ - private static String removeLayoutPartFromQuery(String destQuery, String layoutName) - { - String removeString ="layout "+bean.getQC()+layoutName+bean.getQC(); - destQuery =destQuery.replaceFirst(removeString,""); - System.out.println("destQuery change to "+destQuery); - return destQuery; - } - private static void performSynchronize( + * @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( String idField, Vector vec, String tempQuery, @@ -3818,7 +3834,7 @@ class Convert while (tokenizer.hasMoreTokens()) { String fieldName = tokenizer.nextToken().trim(); - fieldNames[fieldIndex] =beanDest.getQC() + convertText(fieldName)+beanDest.getQC(); + fieldNames[fieldIndex] = beanDest.getQC() + convertText(fieldName) + beanDest.getQC(); // System.out.println("field "+ fieldNames[fieldIndex]); fieldIndex++; }