--- FM2SQL/Attic/Convert.java 2004/02/10 14:43:48 1.28 +++ FM2SQL/Attic/Convert.java 2004/02/11 11:39:25 1.29 @@ -25,7 +25,7 @@ class Convert static String userDest="postgres",passwdDest="rogo"; static boolean batchRun=false; static Vector databases = new Vector(); - final static int numIntervalls = 10000; + final static int numIntervalls = 10; public static void main(String args[]) { /* try @@ -541,12 +541,14 @@ 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 != "") + /*if (idField != "") { - myIds = bean.getIDVector(ids.get(tbIndex).toString(), (String) names.get(tbIndex), query); + 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); - } + deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls); + + }*/ + } catch (Exception e) { System.out.println(e); @@ -654,41 +656,57 @@ class Convert int rowCount= (idField!="") ? myIds.size():bean.getRowCount(query); Vector vec = new Vector(myIds); int endIndex = -1; - String tempQuery="";String tempID = bean.getQC()+idField+bean.getQC(); + String tempQuery=query;String tempID = bean.getQC()+idField+bean.getQC(); if (!idField.equals("")) { - for (int k = 0; k < vec.size() - deltaID; k = k + deltaID) + while (true) { - System.out.println(vec.get(k) + " " + vec.get(k + deltaID) + " " + vec.lastElement()); - if (query.indexOf("where") > 0) - tempQuery = query + " and " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID); + dialog.title.setText("Getting next ID Vector"); + myIds = bean.getIDVector(ids.get(tbIndex).toString(), (String) names.get(tbIndex), tempQuery, 1000); + 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); + + for (int k = 0; k < vec.size() - deltaID; k = k + deltaID) + { + System.out.println(vec.get(k) + " " + vec.get(k + deltaID) + " " + vec.lastElement()); + if (query.indexOf("where") > 0) + tempQuery = query + " and " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID); + else + tempQuery = query + "where " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID); + System.out.println(tempQuery); + dialog.title.setText("Reading table data ..."); + + bean.makeQuery(tempQuery, deltaID); + dialog.title.setText("Writing table data ..."); + + command = writeDatainDestTable(dialog, command, k, pstm, rowCount); + endIndex = k + deltaID; + } + if ((vec.size() - 1) % numIntervalls == 0) + System.out.println("fits"); else - tempQuery = query + "where " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID); - System.out.println(tempQuery); - dialog.title.setText("Reading table data ..."); - - bean.makeQuery(tempQuery, deltaID+5); - dialog.title.setText("Writing table data ..."); - - command = writeDatainDestTable(dialog, command, k, pstm, rowCount); - endIndex = k + deltaID; - } - if ((vec.size() - 1) % numIntervalls == 0) - System.out.println("fits"); - else - { + { + if (query.indexOf("where") > 0) + tempQuery = query + " and " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement(); + else + tempQuery = query + "where " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement(); + System.out.println(tempQuery); + 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); + } if (query.indexOf("where") > 0) - tempQuery = query + " and " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement(); + tempQuery = query + " and " + tempID + ">" + vec.lastElement(); else - tempQuery = query + "where " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement(); - System.out.println(tempQuery); - 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); + tempQuery = query + " where " + tempID + ">" + vec.lastElement(); + } } else {