Revision: 3266
Author: [email protected]
Date: Fri Feb 5 10:47:31 2010
Log: Fixed DDL generation bug: logical column name was used instead of the
physical name
http://code.google.com/p/power-architect/source/detail?r=3266
Modified:
/trunk/src/ca/sqlpower/architect/ddl/GenericDDLGenerator.java
/trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java
/trunk/src/ca/sqlpower/architect/ddl/OracleDDLGenerator.java
/trunk/src/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java
/trunk/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/GenericDDLGenerator.java Mon Jan
18 11:55:38 2010
+++ /trunk/src/ca/sqlpower/architect/ddl/GenericDDLGenerator.java Fri Feb
5 10:47:31 2010
@@ -1367,7 +1367,7 @@
boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
if (!first) print(", ");
- print(c.getName());
+ print(c.getColumn().getPhysicalName());
print(c.getAscendingOrDescending() ==
AscendDescend.ASCENDING ? " ASC" : "");
print(c.getAscendingOrDescending() ==
AscendDescend.DESCENDING ? " DESC" : "");
first = false;
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java Tue Jan 19
10:45:11 2010
+++ /trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java Fri Feb 5
10:47:31 2010
@@ -437,7 +437,7 @@
for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
if (!first)
print(", ");
- print(c.getName());
+ print(c.getColumn().getPhysicalName());
print(c.getAscendingOrDescending() ==
AscendDescend.ASCENDING ? " ASC" : "");
print(c.getAscendingOrDescending() ==
AscendDescend.DESCENDING ? " DESC" : "");
first = false;
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/OracleDDLGenerator.java Mon Dec 21
08:27:43 2009
+++ /trunk/src/ca/sqlpower/architect/ddl/OracleDDLGenerator.java Fri Feb 5
10:47:31 2010
@@ -32,6 +32,7 @@
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.SQLRelationship;
import ca.sqlpower.sqlobject.SQLSequence;
import ca.sqlpower.sqlobject.SQLTable;
@@ -350,7 +351,8 @@
if (index.isUnique()) {
print("UNIQUE ");
}
- if(index.getType() != null && index.getType().equals("BITMAP")) {
+ boolean isBitmapIndex = index.getType() != null &&
index.getType().equals("BITMAP");
+ if(isBitmapIndex) {
print("BITMAP ");
}
print("INDEX ");
@@ -362,8 +364,11 @@
boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
if (!first) print(", ");
- print(c.getName());
- //TODO: Note: Oracle does not seem to use ASC/DES similar to
PostgreSQL
+ print(c.getRealName());
+ if (!isBitmapIndex) {
+ print(c.getAscendingOrDescending() == AscendDescend.ASCENDING ? "
ASC" : "");
+ print(c.getAscendingOrDescending() == AscendDescend.DESCENDING ? "
DESC" : "");
+ }
first = false;
}
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java Mon Dec
21 08:27:43 2009
+++ /trunk/src/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java Fri Feb
5 10:47:31 2010
@@ -33,6 +33,7 @@
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.SQLSequence;
import ca.sqlpower.sqlobject.SQLTable;
@@ -349,9 +350,13 @@
boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
if (!first) print(", ");
- print(c.getName());
+ print(c.getColumn().getPhysicalName());
//TODO: ASC and DESC are not supported in the current version
of PostgreSQL (8.2.3)
//but is expected to be added in later versions (8.3 for
example)
+ //Thomas Kellerer: ASC/DESC is available since 8.3.0...
+ print(c.getAscendingOrDescending() ==
AscendDescend.ASCENDING ? " ASC" : "");
+ print(c.getAscendingOrDescending() ==
AscendDescend.DESCENDING ? " DESC" : "");
+
first = false;
}
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java Mon Dec
21 08:27:43 2009
+++ /trunk/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java Fri
Feb 5 10:47:31 2010
@@ -472,7 +472,7 @@
boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>)
index.getChildren()) {
if (!first) print(", ");
- print(c.getName());
+ print(c.getColumn().getPhysicalName());
first = false;
}
print(" )\n");