Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-1955

Support non-constant expressions for array indexes.

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.14.0
    • Component/s: None
    • Labels:
      None

      Description

      FAILED: Error in semantic analysis: line 4:8 Non Constant Expressions for Array Indexes not Supported dut

      ...just wrote my own UDF to do this, and it is trivial. We should support this natively.

      Let foo have these rows:
      arr i
      [1,2,3] 1
      [3,4,5] 2
      [5,4,3] 2
      [0,0,1] 0

      Then,
      SELECT arr[i] FROM foo
      should return:
      2
      5
      3
      1

      Similarly, for the same table,
      SELECT 3 IN arr FROM foo
      should return:
      true
      true
      true
      false

      ...these use cases are needless limitations of functionality. We shouldn't need UDFs to accomplish these goals.

        Issue Links

          Activity

          Hide
          akramer Adam Kramer added a comment -

          Also, IN should operate on non-constant arrays.

          Show
          akramer Adam Kramer added a comment - Also, IN should operate on non-constant arrays.
          Hide
          navis Navis added a comment -

          Is there any reason index value should be constant?

          Show
          navis Navis added a comment - Is there any reason index value should be constant?
          Hide
          azeroth2b Shawn Lavelle added a comment -

          Was this ever addressed?

          Show
          azeroth2b Shawn Lavelle added a comment - Was this ever addressed?

            People

            • Assignee:
              navis Navis
              Reporter:
              akramer Adam Kramer
            • Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development