Skip to content
  • Martin Hansson's avatar
    f911b717
    Bug#18745214: ASSERTION FAILED: FALSE, FILE SQL_TMP_TABLE.CC OR · f911b717
    Martin Hansson authored
                  MALFORMED PACKET
    
    Problem: The procedure that creates a temporary table (create_tmp_table())
    expects a flat list of expressions that can be mapped to columns in the
    temporary table. But in case of row constructor expressions, the list is not
    flat.
    
    Solution: Remove row expressions in the contextualization phase of equalities
    and non-equalities. The factory function for equality Items gets its public
    interface broadened to include conjunctions/disjunctions.
    
    The problem also manifests itself for the operators >=, <=, < and >. In this
    case the problem lies in the functions split_sum_func() and
    split_sum_func2(). These functions are supposed to recursively replace set
    functions with Item_aggregate_ref objects (no splitting at all to be seen.)
    The functions should obviously keep recursing over rows, so this has been
    added (in item.cc).
    
    (cherry picked from commit 45261d5bd12a90b9c409e0efb398d199ad1541b9)
    f911b717
    Bug#18745214: ASSERTION FAILED: FALSE, FILE SQL_TMP_TABLE.CC OR
    Martin Hansson authored
                  MALFORMED PACKET
    
    Problem: The procedure that creates a temporary table (create_tmp_table())
    expects a flat list of expressions that can be mapped to columns in the
    temporary table. But in case of row constructor expressions, the list is not
    flat.
    
    Solution: Remove row expressions in the contextualization phase of equalities
    and non-equalities. The factory function for equality Items gets its public
    interface broadened to include conjunctions/disjunctions.
    
    The problem also manifests itself for the operators >=, <=, < and >. In this
    case the problem lies in the functions split_sum_func() and
    split_sum_func2(). These functions are supposed to recursively replace set
    functions with Item_aggregate_ref objects (no splitting at all to be seen.)
    The functions should obviously keep recursing over rows, so this has been
    added (in item.cc).
    
    (cherry picked from commit 45261d5bd12a90b9c409e0efb398d199ad1541b9)
Loading