From bae5604a3c2dcfa4c908b5370cb55bb4dc54235b Mon Sep 17 00:00:00 2001 From: Jarek Jarcec Cecho Date: Sat, 2 Feb 2013 15:09:02 -0800 Subject: [PATCH] SQOOP-853: sqoop list-tables isn't returning the tables that have custom schemas' (Vasanth kumar RJ via Jarek Jarcec Cecho) --- src/docs/user/list-tables.txt | 7 +++++++ src/java/org/apache/sqoop/tool/ListTablesTool.java | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/docs/user/list-tables.txt b/src/docs/user/list-tables.txt index 2d002375..fad14c48 100644 --- a/src/docs/user/list-tables.txt +++ b/src/docs/user/list-tables.txt @@ -53,3 +53,10 @@ job_descriptions office_supplies ---- +In case of postgresql, list tables command with common arguments fetches only "public" schema. For custom schema, use --schema argument to list tables of particular schema +Example +---- +$ sqoop list-tables --connect jdbc:postgresql://localhost/corp --username name -P -- --schema payrolldept +employees +expenses +---- diff --git a/src/java/org/apache/sqoop/tool/ListTablesTool.java b/src/java/org/apache/sqoop/tool/ListTablesTool.java index 529df37a..5d47bc9d 100644 --- a/src/java/org/apache/sqoop/tool/ListTablesTool.java +++ b/src/java/org/apache/sqoop/tool/ListTablesTool.java @@ -80,7 +80,9 @@ public void applyOptions(CommandLine in, SqoopOptions out) /** {@inheritDoc} */ public void validateOptions(SqoopOptions options) throws InvalidOptionsException { - if (hasUnrecognizedArgs(extraArguments)) { + options.setExtraArgs(getSubcommandArgs(extraArguments)); + int dashPos = getDashPosition(extraArguments); + if (hasUnrecognizedArgs(extraArguments, 0, dashPos)) { throw new InvalidOptionsException(HELP_STR); }