version 1.42, 2004/03/02 12:04:27
|
version 1.45, 2004/03/09 12:34:09
|
Line 279 class Convert
|
Line 279 class Convert
|
for (tbIndex = 0; tbIndex < names.size(); ++tbIndex) |
for (tbIndex = 0; tbIndex < names.size(); ++tbIndex) |
{ |
{ |
Vector[] result = null; |
Vector[] result = null; |
|
String destTableName = ""; |
try |
try |
{ |
{ |
query = "select * from " + bean.getQC() + names.get(tbIndex).toString() + bean.getQC(); |
query = "select * from " + bean.getQC() + names.get(tbIndex).toString() + bean.getQC(); |
Line 305 class Convert
|
Line 306 class Convert
|
{ |
{ |
continue; |
continue; |
} |
} |
|
// determine destTableName from createStatement or from source table name |
|
if(!creates.get(tbIndex).equals("")) |
|
{ |
|
String create =creates.get(tbIndex).toString().toLowerCase(); |
|
int fromIndex = create.indexOf("table")+5; |
|
int toIndex = create.indexOf("("); |
|
destTableName = create.substring(fromIndex,toIndex).replaceAll(beanDest.getQC(),"").trim(); |
|
System.out.println("destTable "+destTableName); |
|
|
|
} else |
|
destTableName = convertText(names.get(tbIndex).toString()); |
|
|
//beanDest.setConnection("jdbc:postgresql://erebos/test3"); |
//beanDest.setConnection("jdbc:postgresql://erebos/test3"); |
beanDest.setConnection(destination); |
beanDest.setConnection(destination); |
|
|
Line 328 class Convert
|
Line 341 class Convert
|
|
|
command.append("UPDATE "); |
command.append("UPDATE "); |
command.append(beanDest.getQC()); |
command.append(beanDest.getQC()); |
command.append(convertText((String) names.get(tbIndex))); |
command.append(destTableName); |
|
//command.append(convertText((String) names.get(tbIndex))); |
command.append(beanDest.getQC()); |
command.append(beanDest.getQC()); |
command.append(" SET "); |
command.append(" SET "); |
|
|
Line 528 class Convert
|
Line 542 class Convert
|
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
stm = beanDest.getConnection().createStatement(); |
stm = beanDest.getConnection().createStatement(); |
// System.exit(0); |
// System.exit(0); |
if (mode == Convert.DataBase.CONVERT_MODE) |
|
{ |
// determine destTableName from createStatement or from source table name |
if(!creates.get(tbIndex).equals("")) |
if(!creates.get(tbIndex).equals("")) |
{ |
{ |
String create =creates.get(tbIndex).toString().toLowerCase(); |
String create =creates.get(tbIndex).toString().toLowerCase(); |
Line 541 class Convert
|
Line 555 class Convert
|
} else |
} else |
destTableName = convertText(names.get(tbIndex).toString()); |
destTableName = convertText(names.get(tbIndex).toString()); |
|
|
|
if (mode == Convert.DataBase.CONVERT_MODE) |
|
{ |
|
|
if (tables.indexOf(destTableName) >= 0) |
if (tables.indexOf(destTableName) >= 0) |
{ |
{ |
stm.executeUpdate("drop table " + beanDest.getQC() + destTableName + beanDest.getQC()); |
stm.executeUpdate("drop table " + beanDest.getQC() + destTableName + beanDest.getQC()); |
Line 667 class Convert
|
Line 684 class Convert
|
if(dialog!=null) |
if(dialog!=null) |
dialog.title.setText("Writing table data ..."); |
dialog.title.setText("Writing table data ..."); |
|
|
command = writeDatainDestTable(dialog, command, k, pstm, rowCount); |
command = writeDatainDestTable(dialog, command, k, pstm, rowCount,delimiter); |
endIndex = k + deltaID; |
endIndex = k + deltaID; |
} |
} |
System.out.println(endIndex); |
System.out.println(endIndex); |
Line 688 class Convert
|
Line 705 class Convert
|
bean.makeQuery(tempQuery, 0); |
bean.makeQuery(tempQuery, 0); |
if(dialog!=null) |
if(dialog!=null) |
dialog.title.setText("Writing table data ..."); |
dialog.title.setText("Writing table data ..."); |
command = writeDatainDestTable(dialog, command, endIndex, pstm, rowCount); |
command = writeDatainDestTable(dialog, command, endIndex, pstm, rowCount,delimiter); |
} |
} |
// prepare new query for next chunk |
// prepare new query for next chunk |
if (query.indexOf("where") > 0) |
if (query.indexOf("where") > 0) |
Line 705 class Convert
|
Line 722 class Convert
|
long startTime = System.currentTimeMillis(); |
long startTime = System.currentTimeMillis(); |
|
|
bean.makeQuery(query, 0); |
bean.makeQuery(query, 0); |
command = writeDatainDestTable(dialog, command, j, pstm, rowCount); |
command = writeDatainDestTable(dialog, command, j, pstm, rowCount,delimiter); |
long endTime = System.currentTimeMillis(); |
long endTime = System.currentTimeMillis(); |
System.out.println("Time for old convert elapsed " + (endTime - startTime)); |
System.out.println("Time for old convert elapsed " + (endTime - startTime)); |
|
|
Line 748 class Convert
|
Line 765 class Convert
|
* @throws Exception |
* @throws Exception |
* @throws SQLException |
* @throws SQLException |
*/ |
*/ |
private static StringBuffer writeDatainDestTable(FM2SQL.ProgressDialog dialog, StringBuffer command, int j, PreparedStatement pstm, int rowCount) throws Exception, SQLException |
private static StringBuffer writeDatainDestTable(FM2SQL.ProgressDialog dialog, StringBuffer command, int j, PreparedStatement pstm, int rowCount,String delimiter) throws Exception, SQLException |
{ |
{ |
Vector row; |
Vector row; |
while ((row = bean.getNextRow()) != null) |
while ((row = bean.getNextRow()) != null) |
Line 795 class Convert
|
Line 812 class Convert
|
obj = row.get(k); |
obj = row.get(k); |
if (obj instanceof ArrayList) |
if (obj instanceof ArrayList) |
if (obj instanceof ArrayList) |
if (obj instanceof ArrayList) |
obj = formatFileMakerArray((List) obj," | "); |
obj = formatFileMakerArray((List) obj,delimiter); |
|
|
String str = (obj == null) ? "NULL" : obj.toString(); |
String str = (obj == null) ? "NULL" : obj.toString(); |
if (!str.equals("NULL")) |
if (!str.equals("NULL")) |
Line 1275 class Convert
|
Line 1292 class Convert
|
Node nodeMode = root.find("convert/source/database/mode", new int[] { 1, 1, i, 1, 1 }); |
Node nodeMode = root.find("convert/source/database/mode", new int[] { 1, 1, i, 1, 1 }); |
Node delimiterNode =root.find("convert/source/database/delimiter", new int[] { 1, 1, i, 1, 1 }); |
Node delimiterNode =root.find("convert/source/database/delimiter", new int[] { 1, 1, i, 1, 1 }); |
|
|
if(delimiterNode!=null) delimiter = delimiterNode.getCharacters(); |
if (delimiterNode != null) |
|
delimiter = delimiterNode.getCharacters(); |
if (node3 == null) |
if (node3 == null) |
throw new Error("parse error database tag missing"); |
throw new Error("parse error database tag missing"); |
if (node == null) |
if (node == null) |
Line 1304 class Convert
|
Line 1321 class Convert
|
mode = DataBase.APPEND_MODE; |
mode = DataBase.APPEND_MODE; |
else if (modeString.equals("update")) |
else if (modeString.equals("update")) |
mode = DataBase.UPDATE_MODE; |
mode = DataBase.UPDATE_MODE; |
|
|
// if(node3!=null) |
// if(node3!=null) |
// System.out.println(node3.name); |
// System.out.println(node3.name); |
|
|
Line 1354 class Convert
|
Line 1370 class Convert
|
creates.add(""); |
creates.add(""); |
|
|
} |
} |
databases.add(new DataBase(database, tables, layouts, selects, creates, ids, mode)); |
DataBase dataBase=new DataBase(database, tables, layouts, selects, creates, ids, mode); |
|
dataBase.delimiter=delimiter; |
|
databases.add(dataBase); |
} |
} |
DBBean database = new DBBean(); |
DBBean database = new DBBean(); |
// parse dataBase |
// parse dataBase |
Line 1461 class Convert
|
Line 1479 class Convert
|
Vector layouts; |
Vector layouts; |
Vector tables; |
Vector tables; |
Vector ids; |
Vector ids; |
String delimiter = "|"; |
String delimiter = "//"; |
final static int CONVERT_MODE = 1; |
final static int CONVERT_MODE = 1; |
final static int APPEND_MODE = 2; |
final static int APPEND_MODE = 2; |
final static int UPDATE_MODE = 3; |
final static int UPDATE_MODE = 3; |