Revision: 3543
Author: [email protected]
Date: Tue May 18 11:21:10 2010
Log: Added type safety to the DDLGenerators. Previously, there were a
tremendous amount of warnings.
http://code.google.com/p/power-architect/source/detail?r=3543
Modified:
/trunk/src/main/java/ca/sqlpower/architect/ddl/DB2DDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/DDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/GenericDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/H2DDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/HSQLDBDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/LiquibaseDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/OracleDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/DB2DDLGenerator.java Mon
May 10 11:25:06 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/DB2DDLGenerator.java Tue
May 18 11:21:10 2010
@@ -57,7 +57,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 38, null, null,
DatabaseMetaData.columnNullable, false, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("BLOB", Types.BINARY, 2147483647, "0x", null,
DatabaseMetaData.columnNullable, true, false));
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/DDLGenerator.java Sun
Feb 21 04:13:41 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/DDLGenerator.java Tue
May 18 11:21:10 2010
@@ -252,19 +252,19 @@
*
* @return the value of typeMap
*/
- public Map getTypeMap();
+ public Map<Integer, GenericTypeDescriptor> getTypeMap();
/**
* Sets the value of typeMap
*
* @param argTypeMap Value to assign to this.typeMap
*/
- public void setTypeMap(Map argTypeMap);
+ public void setTypeMap(Map<Integer, GenericTypeDescriptor> argTypeMap);
/**
* Returns {...@link #warnings}.
*/
- public List getWarnings();
+ public List<DDLWarning> getWarnings();
/**
* See {...@link #targetCatalog}.
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/GenericDDLGenerator.java
Mon May 10 13:28:45 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/GenericDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -99,7 +99,7 @@
* A mapping from JDBC type code (Integer values) to
* GenericTypeDescriptor objects which describe that data type.
*/
- protected Map typeMap;
+ protected Map<Integer, GenericTypeDescriptor> typeMap;
/**
* This variable will be a live, non-null connection to the target
@@ -125,7 +125,7 @@
* DDL is saved or executed (to give them a chance to fix the
* warnings and try again).
*/
- protected List warnings;
+ protected List<DDLWarning> warnings;
/**
* The name of the catalog in the target database that the
@@ -157,8 +157,8 @@
public GenericDDLGenerator(boolean allowConnection) throws
SQLException {
this.allowConnection = allowConnection;
- warnings = new ArrayList();
- ddlStatements = new ArrayList();
+ warnings = new ArrayList<DDLWarning>();
+ ddlStatements = new ArrayList<DDLStatement>();
ddl = new StringBuffer(500);
println("");
topLevelNames = new CaseInsensitiveHashMap(); // for tracking dup
table/relationship names
@@ -173,13 +173,13 @@
}
public String generateDDLScript(Collection<SQLTable> tables) throws
SQLException, SQLObjectException {
- List statements = generateDDLStatements(tables);
+ List<DDLStatement> statements = generateDDLStatements(tables);
ddl = new StringBuffer(4000);
writeHeader();
writeDDLTransactionBegin();
- Iterator it = statements.iterator();
+ Iterator<DDLStatement> it = statements.iterator();
while (it.hasNext()) {
DDLStatement ddlStmt = (DDLStatement) it.next();
ddl.append(ddlStmt.getSQLText());
@@ -202,7 +202,7 @@
* @see
ca.sqlpower.architect.ddl.DDLGenerator#generateDDLStatements(Collection)
*/
public final List<DDLStatement>
generateDDLStatements(Collection<SQLTable> tables) throws SQLException,
SQLObjectException {
- warnings = new ArrayList();
+ warnings = new ArrayList<DDLWarning>();
ddlStatements = new ArrayList<DDLStatement>();
ddl = new StringBuffer(500);
topLevelNames = new CaseInsensitiveHashMap();
@@ -700,7 +700,7 @@
}
public void modifyColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
SQLTable t = c.getParent();
print("\nALTER TABLE ");
print(toQualifiedName(t));
@@ -729,7 +729,7 @@
* is not delimited at the beginning or end: you're responsible for
properly putting
* it in the context of a valid SQL statement.
*/
- protected String columnDefinition(SQLColumn c, Map colNameMap) {
+ protected String columnDefinition(SQLColumn c, Map<String, SQLObject>
colNameMap) {
StringBuffer def = new StringBuffer();
// Column name
@@ -829,8 +829,8 @@
return td;
}
- private boolean contains(List list, TypeMapDDLWarning o) {
- Iterator iterator = list.iterator();
+ private boolean contains(List<DDLWarning> list, TypeMapDDLWarning o) {
+ Iterator<DDLWarning> iterator = list.iterator();
while (iterator.hasNext()) {
Object next = iterator.next();
if (next instanceof TypeMapDDLWarning) {
@@ -843,14 +843,14 @@
}
public void addTable(SQLTable t) throws SQLException,
SQLObjectException {
- Map colNameMap = new HashMap(); // for detecting duplicate
column names
+ Map<String, SQLObject> colNameMap = new HashMap<String, SQLObject>();
// for detecting duplicate column names
// generate a new physical name if necessary
createPhysicalName(topLevelNames,t); // also adds generated physical
name to the map
print("\nCREATE TABLE ");
print( toQualifiedName(t) );
println(" (");
boolean firstCol = true;
- Iterator it = t.getColumns().iterator();
+ Iterator<SQLColumn> it = t.getColumns().iterator();
while (it.hasNext()) {
SQLColumn c = (SQLColumn) it.next();
@@ -933,7 +933,7 @@
* Adds statements for creating every exported key in the given table.
*/
protected void writeExportedRelationships(SQLTable t) throws
SQLObjectException {
- Iterator it = t.getExportedKeys().iterator();
+ Iterator<SQLRelationship> it = t.getExportedKeys().iterator();
while (it.hasNext()) {
SQLRelationship rel = (SQLRelationship) it.next();
addRelationship(rel);
@@ -947,7 +947,7 @@
* static, pre-defined type map.
*/
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
if (con == null || !allowConnection) {
// Add generic type map
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 38, null, null,
DatabaseMetaData.columnNullable, false, false));
@@ -1070,7 +1070,7 @@
*
* @return the value of typeMap
*/
- public Map getTypeMap() {
+ public Map<Integer, GenericTypeDescriptor> getTypeMap() {
return this.typeMap;
}
@@ -1079,14 +1079,14 @@
*
* @param argTypeMap Value to assign to this.typeMap
*/
- public void setTypeMap(Map argTypeMap) {
+ public void setTypeMap(Map<Integer, GenericTypeDescriptor> argTypeMap) {
this.typeMap = argTypeMap;
}
public Map<String, ProfileFunctionDescriptor> getProfileFunctionMap() {
return this.profileFunctionMap;
}
- public void setProfileFunctionMap(Map profileFunctionMap) {
+ public void setProfileFunctionMap(Map<String,
ProfileFunctionDescriptor> profileFunctionMap) {
this.profileFunctionMap = profileFunctionMap;
}
@@ -1111,7 +1111,7 @@
/**
* Returns {...@link #warnings}.
*/
- public List getWarnings() {
+ public List<DDLWarning> getWarnings() {
return warnings;
}
@@ -1361,7 +1361,7 @@
}
public void addPrimaryKey(SQLTable t) throws SQLObjectException {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
StringBuffer sqlStatement = new StringBuffer();
boolean first = true;
sqlStatement.append("\nALTER TABLE "+
toQualifiedName(t.getName())
@@ -1439,7 +1439,7 @@
print("\n ( ");
boolean first = true;
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
if (!first) print(", ");
if (c.getColumn() != null) {
print(c.getColumn().getPhysicalName());
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/H2DDLGenerator.java Mon
May 10 11:25:06 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/H2DDLGenerator.java Tue
May 18 11:21:10 2010
@@ -97,7 +97,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 1000, null, null,
DatabaseMetaData.columnNullable, true, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("BINARY", Types.BINARY, 4000000000L, null, null,
DatabaseMetaData.columnNullable, false, false));
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/HSQLDBDDLGenerator.java
Mon May 10 11:25:06 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/HSQLDBDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -101,7 +101,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 1000, null, null,
DatabaseMetaData.columnNullable, true, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("BINARY", Types.BINARY, 4000000000L, null, null,
DatabaseMetaData.columnNullable, false, false));
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/ddl/LiquibaseDDLGenerator.java
Tue Mar 2 08:29:09 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/ddl/LiquibaseDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -21,10 +21,13 @@
import java.sql.SQLException;
import java.sql.Types;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
-
+import java.util.Set;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import ca.sqlpower.architect.ArchitectUtils;
@@ -38,10 +41,6 @@
import ca.sqlpower.sqlobject.SQLRelationship.ColumnMapping;
import ca.sqlpower.sqlobject.SQLRelationship.Deferrability;
import ca.sqlpower.sqlobject.SQLRelationship.UpdateDeleteRule;
-import java.util.HashSet;
-import java.util.Set;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
public class LiquibaseDDLGenerator extends GenericDDLGenerator implements
DDLGenerator {
@@ -539,7 +538,7 @@
print(getQuotedRemarks(t.getRemarks()));
}
println(">");
- Iterator it = t.getColumns().iterator();
+ Iterator<SQLColumn> it = t.getColumns().iterator();
while (it.hasNext()) {
SQLColumn c = (SQLColumn) it.next();
println(columnDefinition(" ", c));
@@ -705,7 +704,7 @@
}
println(">");
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
// ASC/DESC is currently not supported with Liqubase
(1.8)
// print(c.getAscendingOrDescending() ==
AscendDescend.ASCENDING ? " ASC" : "");
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java
Mon May 10 11:25:06 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
@@ -57,10 +56,10 @@
private static final Logger logger =
Logger.getLogger(MySqlDDLGenerator.class);
- private static HashSet reservedWords;
+ private static HashSet<String> reservedWords;
static {
- reservedWords = new HashSet();
+ reservedWords = new HashSet<String>();
reservedWords.add("ADD");
reservedWords.add("ALL");
reservedWords.add("ALTER");
@@ -290,7 +289,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 38, null, null,
DatabaseMetaData.columnNullable, true, false));
@@ -484,7 +483,7 @@
print("\n ( ");
boolean first = true;
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
if (!first)
print(", ");
if (c.getColumn() != null) {
@@ -580,7 +579,7 @@
@Override
public void addColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
print("\nALTER TABLE ");
print(toQualifiedName(c.getParent()));
print(" ADD COLUMN ");
@@ -610,7 +609,7 @@
@Override
public void modifyColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
SQLTable t = c.getParent();
print("\nALTER TABLE ");
print(toQualifiedName(t));
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ddl/OracleDDLGenerator.java
Mon May 10 11:25:06 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/ddl/OracleDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -23,19 +23,19 @@
import java.sql.Types;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import ca.sqlpower.architect.ddl.DDLStatement.StatementType;
-import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLColumn;
import ca.sqlpower.sqlobject.SQLIndex;
-import ca.sqlpower.sqlobject.SQLIndex.AscendDescend;
+import ca.sqlpower.sqlobject.SQLObject;
+import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLRelationship;
import ca.sqlpower.sqlobject.SQLSequence;
import ca.sqlpower.sqlobject.SQLTable;
+import ca.sqlpower.sqlobject.SQLIndex.AscendDescend;
import ca.sqlpower.sqlobject.SQLRelationship.UpdateDeleteRule;
/**
@@ -183,7 +183,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("NUMBER", Types.BIGINT, 38, null, null,
DatabaseMetaData.columnNullable, true, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("RAW", Types.BINARY, 2000, null, null,
DatabaseMetaData.columnNullable, true, false));
@@ -317,7 +317,7 @@
*/
@Override
public void modifyColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
SQLTable t = c.getParent();
print("\nALTER TABLE ");
print(toQualifiedName(t.getPhysicalName()));
@@ -345,7 +345,7 @@
*/
@Override
public void addColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
print("\nALTER TABLE ");
print(toQualifiedName(c.getParent()));
print(" ADD ");
@@ -375,7 +375,7 @@
print("\n ( ");
boolean first = true;
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
if (!first) print(", ");
print(c.getColumn().getPhysicalName());
if (!isBitmapIndex) {
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java
Mon May 10 11:25:06 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -23,19 +23,19 @@
import java.sql.Types;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import ca.sqlpower.architect.ddl.DDLStatement.StatementType;
import ca.sqlpower.sql.SQL;
-import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLColumn;
import ca.sqlpower.sqlobject.SQLIndex;
-import ca.sqlpower.sqlobject.SQLIndex.AscendDescend;
+import ca.sqlpower.sqlobject.SQLObject;
+import ca.sqlpower.sqlobject.SQLObjectException;
import ca.sqlpower.sqlobject.SQLSequence;
import ca.sqlpower.sqlobject.SQLTable;
+import ca.sqlpower.sqlobject.SQLIndex.AscendDescend;
/**
* DDL Generator for Postgres 8.x (does not support e.g., ALTER COLUMN
operations 7.[34]).
@@ -49,10 +49,10 @@
public static final String GENERATOR_VERSION = "$Revision$";
private static final Logger logger =
Logger.getLogger(PostgresDDLGenerator.class);
- private static HashSet reservedWords;
+ private static HashSet<String> reservedWords;
static {
- reservedWords = new HashSet();
+ reservedWords = new HashSet<String>();
reservedWords.add("AND");
reservedWords.add("ANY");
reservedWords.add("ARRAY");
@@ -167,7 +167,7 @@
*/
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 1000, null, null,
DatabaseMetaData.columnNullable, false, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("BYTEA", Types.BINARY, 4000000000L, null, null,
DatabaseMetaData.columnNullable, false, false));
@@ -273,7 +273,7 @@
@Override
public void modifyColumn(SQLColumn c) {
- Map colNameMap = new HashMap();
+ Map<String, SQLObject> colNameMap = new HashMap<String,
SQLObject>();
SQLTable t = c.getParent();
print("\nALTER TABLE ONLY ");
print( toQualifiedName(t) );
@@ -348,7 +348,7 @@
print("\n ( ");
boolean first = true;
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
if (!first) print(", ");
if (c.getColumn() != null) {
print(c.getColumn().getPhysicalName());
@@ -411,7 +411,7 @@
* columns, the behaviour is the same as {...@link
GenericDDLGenerator#columnDefinition(SQLColumn, Map)}.
*/
@Override
- protected String columnDefinition(SQLColumn c, Map colNameMap) {
+ protected String columnDefinition(SQLColumn c, Map<String, SQLObject>
colNameMap) {
String nameAndType = super.columnDefinition(c, colNameMap);
if (c.isAutoIncrement()) {
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java
Fri Mar 5 13:07:31 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java
Tue May 18 11:21:10 2010
@@ -24,7 +24,7 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
+import java.util.Map;
import org.apache.log4j.Logger;
@@ -37,7 +37,6 @@
import ca.sqlpower.sqlobject.SQLTable;
import ca.sqlpower.sqlobject.SQLType;
import ca.sqlpower.sqlobject.SQLRelationship.Deferrability;
-import java.util.Map;
/**
* The base class for version-specific SQL Server DDL generators. This
class is
@@ -270,7 +269,7 @@
@Override
protected void createTypeMap() throws SQLException {
- typeMap = new HashMap();
+ typeMap = new HashMap<Integer, GenericTypeDescriptor>();
typeMap.put(Integer.valueOf(Types.BIGINT), new
GenericTypeDescriptor("BIGINT", Types.BIGINT, 38, null, null,
DatabaseMetaData.columnNullable, false, false));
typeMap.put(Integer.valueOf(Types.BINARY), new
GenericTypeDescriptor("BINARY", Types.BINARY, 2000, "0x", null,
DatabaseMetaData.columnNullable, true, false));
@@ -436,7 +435,7 @@
print("\nALTER TABLE ");
print(toQualifiedName(c.getParent()));
print(" ADD ");
- print(columnDefinition(c,new HashMap()));
+ print(columnDefinition(c,new HashMap<String, SQLObject>()));
endStatement(DDLStatement.StatementType.CREATE, c);
}
@@ -472,7 +471,7 @@
print("\n ( ");
boolean first = true;
- for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
+ for (SQLIndex.Column c : index.getChildren(SQLIndex.Column.class))
{
if (!first) print(", ");
if (c.getColumn() != null) {
print(c.getColumn().getPhysicalName());
@@ -542,7 +541,6 @@
@Override
public void renameIndex(SQLIndex oldIndex, SQLIndex newIndex) throws
SQLObjectException {
- Map<String, SQLObject> empty = new HashMap<String,
SQLObject>(0);
print("sp_rename @objname='");
print(toQualifiedName(oldIndex));
print("', @newname='");