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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.2
    • 1.4.3
    • None
    • None
    • Oracle 11g

    Description

      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)

      Attachments

        1. SQOOP-741.patch
          2 kB
          Venkat Ranganathan

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: