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

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.4.0
    • SQL
    • None

    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

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

            Dates

              Created:
              Updated:
              Resolved: