--- FM2SQL/Attic/Convert.java 2004/02/11 12:17:10 1.31 +++ FM2SQL/Attic/Convert.java 2004/02/13 12:28:41 1.33 @@ -479,9 +479,11 @@ class Convert } } - - - +/** + transfers the specified array of tables to the destination database + and creates the table if it does not exist if it exists and mode is not append the table is dropped + + **/ public static void convert(String source,String destination,Vector names,Vector layouts,Vector selects,Vector creates,Vector ids,int mode) throws Exception { FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); @@ -533,7 +535,7 @@ class Convert } // if ( layout!= "") // query += " layout " + bean.getQC() + layout + bean.getQC(); - dialog.title.setText("Getting table data ..."); + dialog.title.setText("Reading table data ..."); dialog.table.setText(names.get(tbIndex).toString()); dialog.status.setText("Table " + (tbIndex + 1) + " of " + names.size()); dialog.show(); @@ -542,14 +544,7 @@ class Convert bean.makeQuery(query, 50); // @TODO id Vector must be used in querys while loop over id ranges where id>=start and id<=end idField = ids.get(tbIndex).toString(); - /*if (idField != "") - { - myIds = bean.getIDVector(ids.get(tbIndex).toString(), (String) names.get(tbIndex), query,1000); - System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIds.size()); - deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls); - - }*/ - + } catch (Exception e) { System.out.println(e); @@ -621,25 +616,9 @@ class Convert } } - // System.out.println(names); - /* - if (idVal == "") - stm.executeUpdate("INSERT INTO " + DBBean.getQC() + box.getSelectedItem() + DBBean.getQC() + " (" + DBBean.getQC() + columnName + DBBean.getQC() + ") VALUES ('" + value + "') "); - else - stm.executeUpdate("UPDATE " + DBBean.getQC() + box.getSelectedItem() + DBBean.getQC() + " SET " + DBBean.getQC() + columnName + DBBean.getQC() + "='" + value + "' WHERE ID='" + idVal + "' "); - */ - - // Vector[] result2=beanDest.getQueryData(names.get(tbIndex).toString()); - // print results to screen - /* for (int i = 0; i < result[1].size(); ++i) - { - //print Header - // System.out.println(" "+result[1].get(i)+" "+result2[1].get(i)+" "+i); - }*/ - // System.out.println(); dialog.title.setText("Writing table data ..."); - //for (int j = 0; j < result[0].size(); ++j) + // prepare the insert statement int j=-1; Vector row = null; command = new StringBuffer(); @@ -661,16 +640,24 @@ class Convert if (!idField.equals("")) { long startTime = System.currentTimeMillis(); + int counter = -1; while (true) { - dialog.title.setText("Getting next ID Vector"); + ++counter; + if(counter==0) + dialog.title.setText("Check if data is available"); + else + dialog.title.setText("Check if more data is available"); myIds = bean.getIDVector(ids.get(tbIndex).toString(), (String) names.get(tbIndex), tempQuery, numHits); if(myIds.isEmpty()) break; vec = new Vector(myIds); rowCount = vec.size(); System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIds.size()); deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls); - + if (vec.size() <= numIntervalls) + { + endIndex = 0; deltaID = vec.size(); + } for (int k = 0; k < vec.size() - deltaID; k = k + deltaID) { System.out.println(vec.get(k) + " " + vec.get(k + deltaID) + " " + vec.lastElement()); @@ -687,10 +674,13 @@ class Convert command = writeDatainDestTable(dialog, command, k, pstm, rowCount); endIndex = k + deltaID; } - if ((vec.size() - 1) % numIntervalls == 0) + System.out.println(endIndex); + if (endIndex == vec.size()-1) System.out.println("fits"); else { + System.out.println(" last intervall from " + vec.get(endIndex) + " " + vec.lastElement()); + if (query.indexOf("where") > 0) tempQuery = query + " and " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement(); else @@ -699,10 +689,7 @@ class Convert dialog.title.setText("Reading table data ..."); bean.makeQuery(tempQuery, 0); dialog.title.setText("Writing table data ..."); - command = writeDatainDestTable(dialog, command, j, pstm, rowCount); - - System.out.println(" last intervall from " + vec.get(endIndex) + " " + vec.lastElement()); - command = writeDatainDestTable(dialog, command, endIndex, pstm, rowCount); + command = writeDatainDestTable(dialog, command, endIndex, pstm, rowCount); } if (query.indexOf("where") > 0) tempQuery = query + " and " + tempID + ">" + vec.lastElement(); @@ -714,8 +701,13 @@ class Convert System.out.println("Time for incremental convert elapsed "+(endTime-startTime)); } else { + long startTime = System.currentTimeMillis(); + bean.makeQuery(query, 0); command = writeDatainDestTable(dialog, command, j, pstm, rowCount); + long endTime = System.currentTimeMillis(); + System.out.println("Time for old convert elapsed "+(endTime-startTime)); + } } } catch(Exception e)