Uploaded image for project: 'Sqoop'
  1. Sqoop
  2. SQOOP-741

The OracleConnect getTables() implementation needs to restrict tables to current user


    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.2
    • Fix Version/s: 1.4.3
    • Component/s: None
    • Labels:
    • Environment:

      Oracle 11g


      SQOOP has various managers specific to each Database. Each of these managers provide database specific queries to list databases, tables, table columns, etc. The Oracle implementation (org.apache.sqoop.manager.OracleManager) defines queries specific for Oracle. The query for list tables in this implementation provides a list of all the tables the user has access to.

      This is inconsistent with the other queries defined (for getting list of table columns, get primary key for table etc) which restrict the table being queried to be owned by the user.

      This inconsisent behavior has more issues. For example, when we do import-all-tables (subject to other restrictions of import-all-tables), it fails because the list tables query used by import all tables returns tables like DUAL (which is a dummy Oracle table that gets blessed into all user schemas for historical reasons and other tables).

      I can provide a patch for this if there is agreement that this behavior needs fixing (and it will make Oracle manager work like other database connectors at least in spirit)


        1. SQOOP-741.patch
          2 kB
          Venkat Ranganathan



            • Assignee:
              venkatnrangan Venkat Ranganathan
              venkatnrangan Venkat Ranganathan
            • Votes:
              0 Vote for this issue
              5 Start watching this issue


              • Created: