Revision: 3362
Author: [email protected]
Date: Fri Mar  5 13:07:31 2010
Log: Updated the DDL Generators to fix a NPE when forward engineering indices with expressions and not just columns.
http://code.google.com/p/power-architect/source/detail?r=3362

Modified:
 /trunk/src/ca/sqlpower/architect/ddl/GenericDDLGenerator.java
 /trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.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 Sun Feb 21 04:13:41 2010 +++ /trunk/src/ca/sqlpower/architect/ddl/GenericDDLGenerator.java Fri Mar 5 13:07:31 2010
@@ -1429,7 +1429,11 @@
         boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>) index.getChildren()) {
             if (!first) print(", ");
-            print(c.getColumn().getPhysicalName());
+            if (c.getColumn() != null) {
+                print(c.getColumn().getPhysicalName());
+            } else {
+                print(c.getName());
+            }
print(c.getAscendingOrDescending() == AscendDescend.ASCENDING ? " ASC" : ""); print(c.getAscendingOrDescending() == AscendDescend.DESCENDING ? " DESC" : "");
             first = false;
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java Sun Feb 21 04:13:41 2010 +++ /trunk/src/ca/sqlpower/architect/ddl/MySqlDDLGenerator.java Fri Mar 5 13:07:31 2010
@@ -482,7 +482,11 @@
for (SQLIndex.Column c : (List<SQLIndex.Column>) index.getChildren()) {
             if (!first)
                 print(", ");
-            print(c.getColumn().getPhysicalName());
+            if (c.getColumn() != null) {
+                print(c.getColumn().getPhysicalName());
+            } else {
+                print(c.getName());
+            }
print(c.getAscendingOrDescending() == AscendDescend.ASCENDING ? " ASC" : ""); print(c.getAscendingOrDescending() == AscendDescend.DESCENDING ? " DESC" : "");
             first = false;
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java Sun Feb 21 04:13:41 2010 +++ /trunk/src/ca/sqlpower/architect/ddl/PostgresDDLGenerator.java Fri Mar 5 13:07:31 2010
@@ -350,7 +350,11 @@
         boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>) index.getChildren()) {
             if (!first) print(", ");
-            print(c.getColumn().getPhysicalName());
+            if (c.getColumn() != null) {
+                print(c.getColumn().getPhysicalName());
+            } else {
+                print(c.getName());
+            }
//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...
=======================================
--- /trunk/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java Sun Feb 21 04:13:41 2010 +++ /trunk/src/ca/sqlpower/architect/ddl/SQLServerDDLGenerator.java Fri Mar 5 13:07:31 2010
@@ -474,7 +474,11 @@
         boolean first = true;
for (SQLIndex.Column c : (List<SQLIndex.Column>) index.getChildren()) {
             if (!first) print(", ");
-            print(c.getColumn().getPhysicalName());
+            if (c.getColumn() != null) {
+                print(c.getColumn().getPhysicalName());
+            } else {
+                print(c.getName());
+            }
             first = false;
         }
         print(" )\n");

Reply via email to