Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-147

Convert SqlNode to interface

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Convert `SqlNode` from a class to an interface.

      This would allow:

      1. Make `SqlNodeList` extend `AbstractList` or `ArrayList` rather than wrapping a list.
      2. Make `SqlSelect`, `SqlWindow` and similar classes implement `SqlNode` directly rather than extending `SqlCall`. Their arguments would be stored in named, typed fields rather than the operand array. They could still have a `getOperator()` method (but not `setOperator`)
      3. Maybe convert `SqlCall.operands` array to an immutable list.
      4. Remove `implements Cloneable`. There are better ways.

      ---------------- Imported from GitHub ----------------
      Url: https://github.com/julianhyde/optiq/issues/147
      Created by: julianhyde
      Labels: cleanup,
      Created at: Thu Feb 20 22:16:24 CET 2014
      State: closed

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              github-import GitHub Import
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: