You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "knivit (JIRA)" <ji...@apache.org> on 2015/04/13 14:36:12 UTC

[jira] [Created] (SQOOP-2302) Wrong order of fields

knivit created SQOOP-2302:
-----------------------------

             Summary: Wrong order of fields
                 Key: SQOOP-2302
                 URL: https://issues.apache.org/jira/browse/SQOOP-2302
             Project: Sqoop
          Issue Type: Bug
          Components: connectors/postgresql
    Affects Versions: 1.4.7
            Reporter: knivit


org.apache.sqoop.manager.PostgresqlManager#getListColumnsQuery misses ORDER BY clause.

Imports from PostgreSQL can be damaged.

A patch to fix:
{code}
diff --git a/src/java/org/apache/sqoop/manager/PostgresqlManager.java b/src/java/org/apache/sqoop/manager/PostgresqlManager.java
old mode 100644
new mode 100755
index bd882b9..03245cb
--- a/src/java/org/apache/sqoop/manager/PostgresqlManager.java
+++ b/src/java/org/apache/sqoop/manager/PostgresqlManager.java
@@ -155,7 +155,8 @@ protected String getListColumnsQuery(String tableName) {
     + "  AND sch.NSPNAME = " + getSchemaSqlFragment()
     + "  AND tab.RELNAME = '" + escapeLiteral(tableName) + "' "
     + "  AND col.ATTNUM >= 1"
-    + "  AND col.ATTISDROPPED = 'f'";
+    + "  AND col.ATTISDROPPED = 'f' "
+    + "ORDER BY col.ATTNAME";
   }

   @Override
@@ -170,7 +171,8 @@ protected String getPrimaryKeyQuery(String tableName) {
     + "  AND sch.NSPNAME = " + getSchemaSqlFragment()
     + "  AND tab.RELNAME = '" + escapeLiteral(tableName) + "' "
     + "  AND col.ATTNUM = ANY(ind.INDKEY) "
-    + "  AND ind.INDISPRIMARY";
+    + "  AND ind.INDISPRIMARY "
+    + "ORDER BY col.ATTNAME";
   }

   private String getSchemaSqlFragment() {

{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)