Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-11203

SQL: global refactoring

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • sql
    • None

    Description

      Over the years of SQL existence it's logic became overly complex as we never invested enough time into technical debt. Most prominent features that led to over-complication are:

      1. Distributed joins
      2. Subqueries in spliiter
      3. MVCC
      4. Query cancel feature
      5. DML

      As a result currently it is too difficult to add new features to the product: we have to spend a lot time figuring what if going on, and loose a lot on introduced bugs.

      General idea of this initiative is to streamline query execution engine as much as possible. The most important things to consider:

      1. Simplify H2 connection management: simple pooling, avoid exposing connection when possible
      2. Execute MAP and LOCAL queries through the same flow
      3. Avoid zig-zag code flow in DML stuff
      4. Rework overly complex "query cancel" feature
      5. Try to merge partition pruning and distributed join cost calculation

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: