Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-19602

Unable to query using the fully qualified column name of the form ( <DBNAME>.<TABLENAME>.<COLUMNNAME>)

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.4.0
    • Component/s: SQL
    • Labels:
      None
    • Target Version/s:

      Description

      1) Spark SQL fails to analyze this query: select db1.t1.i1 from db1.t1, db2.t1

      Most of the other database systems support this ( e.g DB2, Oracle, MySQL).
      Note: In DB2, Oracle, the notion is of <schema>.<tablename>.<columnname>

      2) Another scenario where this fully qualified name is useful is as follows:

      // current database is db1.
      select t1.i1 from t1, db2.t1

      If the i1 column exists in both tables: db1.t1 and db2.t1, this will throw an error during column resolution in the analyzer, as it is ambiguous.
      Lets say the user intended to retrieve i1 from db1.t1 but in the example db2.t1 only has i1 column. The query would still succeed instead of throwing an error.
      One way to avoid confusion would be to explicitly specify using the fully qualified name db1.t1.i1
      For e.g: select db1.t1.i1 from t1, db2.t1

      Workarounds:
      There is a workaround for these issues, which is to use an alias.

        Attachments

        1. Design_ColResolution_JIRA19602.pdf
          154 kB
          Sunitha Kambhampati

          Activity

            People

            • Assignee:
              ksunitha Sunitha Kambhampati
              Reporter:
              ksunitha Sunitha Kambhampati
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: