Index: ql/src/test/results/clientpositive/join15.q.out =================================================================== --- ql/src/test/results/clientpositive/join15.q.out (revision 768882) +++ ql/src/test/results/clientpositive/join15.q.out (working copy) @@ -1,8 +1,9 @@ ABSTRACT SYNTAX TREE: - (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)))) + (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) value))))) STAGE DEPENDENCIES: Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -60,9 +61,44 @@ compressed: false GlobalTableId: 0 table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + name: binary_table + Stage: Stage-2 + Map Reduce + Alias -> Map Operator Tree: + /data/users/athusoo/commits/hive_trunk_ws6/build/ql/tmp/340146088/929907680.10002 + Reduce Output Operator + key expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + sort order: ++++ + tag: -1 + value expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + Reduce Operator Tree: + Extract + File Output Operator + compressed: false + GlobalTableId: 0 + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + Stage: Stage-0 Fetch Operator limit: -1 Index: ql/src/test/results/clientpositive/join20.q.out =================================================================== --- ql/src/test/results/clientpositive/join20.q.out (revision 768882) +++ ql/src/test/results/clientpositive/join20.q.out (working copy) @@ -1,8 +1,9 @@ ABSTRACT SYNTAX TREE: - (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)) (< (. (TOK_TABLE_OR_COL src1) key) 10))) (TOK_TABREF src src3) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src3) key)) (< (. (TOK_TABLE_OR_COL src3) key) 20)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)))) + (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)) (< (. (TOK_TABLE_OR_COL src1) key) 10))) (TOK_TABREF src src3) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src3) key)) (< (. (TOK_TABLE_OR_COL src3) key) 20)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) value))))) STAGE DEPENDENCIES: Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -89,14 +90,67 @@ compressed: false GlobalTableId: 0 table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + name: binary_table + Stage: Stage-2 + Map Reduce + Alias -> Map Operator Tree: + /data/users/athusoo/commits/hive_trunk_ws6/build/ql/tmp/1362647938/337231248.10002 + Reduce Output Operator + key expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + expr: 4 + type: string + expr: 5 + type: string + sort order: ++++++ + tag: -1 + value expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + expr: 4 + type: string + expr: 5 + type: string + Reduce Operator Tree: + Extract + File Output Operator + compressed: false + GlobalTableId: 0 + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + Stage: Stage-0 Fetch Operator limit: -1 +NULL NULL NULL NULL 10 val_10 +NULL NULL NULL NULL 11 val_11 +NULL NULL NULL NULL 12 val_12 +NULL NULL NULL NULL 12 val_12 +NULL NULL NULL NULL 15 val_15 +NULL NULL NULL NULL 15 val_15 +NULL NULL NULL NULL 17 val_17 +NULL NULL NULL NULL 18 val_18 +NULL NULL NULL NULL 18 val_18 +NULL NULL NULL NULL 19 val_19 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 @@ -124,16 +178,6 @@ 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 -NULL NULL NULL NULL 10 val_10 -NULL NULL NULL NULL 11 val_11 -NULL NULL NULL NULL 12 val_12 -NULL NULL NULL NULL 12 val_12 -NULL NULL NULL NULL 15 val_15 -NULL NULL NULL NULL 15 val_15 -NULL NULL NULL NULL 17 val_17 -NULL NULL NULL NULL 18 val_18 -NULL NULL NULL NULL 18 val_18 -NULL NULL NULL NULL 19 val_19 2 val_2 2 val_2 2 val_2 4 val_4 4 val_4 4 val_4 5 val_5 5 val_5 5 val_5 @@ -166,10 +210,11 @@ 8 val_8 8 val_8 8 val_8 9 val_9 9 val_9 9 val_9 ABSTRACT SYNTAX TREE: - (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (AND (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)) (< (. (TOK_TABLE_OR_COL src1) key) 10)) (< (. (TOK_TABLE_OR_COL src2) key) 15))) (TOK_TABREF src src3) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src3) key)) (< (. (TOK_TABLE_OR_COL src3) key) 20)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)))) + (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2) (AND (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)) (< (. (TOK_TABLE_OR_COL src1) key) 10)) (< (. (TOK_TABLE_OR_COL src2) key) 15))) (TOK_TABREF src src3) (AND (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src3) key)) (< (. (TOK_TABLE_OR_COL src3) key) 20)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) value))))) STAGE DEPENDENCIES: Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -260,14 +305,67 @@ compressed: false GlobalTableId: 0 table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + name: binary_table + Stage: Stage-2 + Map Reduce + Alias -> Map Operator Tree: + /data/users/athusoo/commits/hive_trunk_ws6/build/ql/tmp/59697994/118049192.10002 + Reduce Output Operator + key expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + expr: 4 + type: string + expr: 5 + type: string + sort order: ++++++ + tag: -1 + value expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + expr: 4 + type: string + expr: 5 + type: string + Reduce Operator Tree: + Extract + File Output Operator + compressed: false + GlobalTableId: 0 + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + Stage: Stage-0 Fetch Operator limit: -1 +NULL NULL NULL NULL 10 val_10 +NULL NULL NULL NULL 11 val_11 +NULL NULL NULL NULL 12 val_12 +NULL NULL NULL NULL 12 val_12 +NULL NULL NULL NULL 15 val_15 +NULL NULL NULL NULL 15 val_15 +NULL NULL NULL NULL 17 val_17 +NULL NULL NULL NULL 18 val_18 +NULL NULL NULL NULL 18 val_18 +NULL NULL NULL NULL 19 val_19 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 @@ -295,16 +393,6 @@ 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 0 val_0 -NULL NULL NULL NULL 10 val_10 -NULL NULL NULL NULL 11 val_11 -NULL NULL NULL NULL 12 val_12 -NULL NULL NULL NULL 12 val_12 -NULL NULL NULL NULL 15 val_15 -NULL NULL NULL NULL 15 val_15 -NULL NULL NULL NULL 17 val_17 -NULL NULL NULL NULL 18 val_18 -NULL NULL NULL NULL 18 val_18 -NULL NULL NULL NULL 19 val_19 2 val_2 2 val_2 2 val_2 4 val_4 4 val_4 4 val_4 5 val_5 5 val_5 5 val_5 Index: ql/src/test/results/clientpositive/join23.q.out =================================================================== --- ql/src/test/results/clientpositive/join23.q.out (revision 768882) +++ ql/src/test/results/clientpositive/join23.q.out (working copy) @@ -1,8 +1,9 @@ ABSTRACT SYNTAX TREE: - (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (and (< (. (TOK_TABLE_OR_COL src1) key) 10) (< (. (TOK_TABLE_OR_COL src2) key) 10))))) + (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF src src1) (TOK_TABREF src src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (and (< (. (TOK_TABLE_OR_COL src1) key) 10) (< (. (TOK_TABLE_OR_COL src2) key) 10))) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) value)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) value))))) STAGE DEPENDENCIES: Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -52,111 +53,146 @@ compressed: false GlobalTableId: 0 table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + name: binary_table + Stage: Stage-2 + Map Reduce + Alias -> Map Operator Tree: + /data/users/athusoo/commits/hive_trunk_ws8/build/ql/tmp/197273567/372508188.10002 + Reduce Output Operator + key expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + sort order: ++++ + tag: -1 + value expressions: + expr: 0 + type: string + expr: 1 + type: string + expr: 2 + type: string + expr: 3 + type: string + Reduce Operator Tree: + Extract + File Output Operator + compressed: false + GlobalTableId: 0 + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + Stage: Stage-0 Fetch Operator limit: -1 -5 val_5 2 val_2 -5 val_5 5 val_5 -5 val_5 9 val_9 -5 val_5 4 val_4 -5 val_5 8 val_8 -5 val_5 0 val_0 -5 val_5 5 val_5 -5 val_5 5 val_5 -5 val_5 0 val_0 -5 val_5 0 val_0 -0 val_0 2 val_2 -0 val_0 5 val_5 -0 val_0 9 val_9 -0 val_0 4 val_4 -0 val_0 8 val_8 0 val_0 0 val_0 -0 val_0 5 val_5 -0 val_0 5 val_5 0 val_0 0 val_0 0 val_0 0 val_0 -8 val_8 2 val_2 -8 val_8 5 val_5 -8 val_8 9 val_9 -8 val_8 4 val_4 -8 val_8 8 val_8 -8 val_8 0 val_0 -8 val_8 5 val_5 -8 val_8 5 val_5 -8 val_8 0 val_0 -8 val_8 0 val_0 +0 val_0 0 val_0 +0 val_0 0 val_0 +0 val_0 0 val_0 +0 val_0 0 val_0 +0 val_0 0 val_0 +0 val_0 0 val_0 0 val_0 2 val_2 -0 val_0 5 val_5 -0 val_0 9 val_9 +0 val_0 2 val_2 +0 val_0 2 val_2 0 val_0 4 val_4 -0 val_0 8 val_8 -0 val_0 0 val_0 +0 val_0 4 val_4 +0 val_0 4 val_4 0 val_0 5 val_5 0 val_0 5 val_5 -0 val_0 0 val_0 -0 val_0 0 val_0 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 5 val_5 +0 val_0 8 val_8 +0 val_0 8 val_8 +0 val_0 8 val_8 +0 val_0 9 val_9 +0 val_0 9 val_9 +0 val_0 9 val_9 +2 val_2 0 val_0 +2 val_2 0 val_0 +2 val_2 0 val_0 2 val_2 2 val_2 -2 val_2 5 val_5 -2 val_2 9 val_9 2 val_2 4 val_4 -2 val_2 8 val_8 -2 val_2 0 val_0 2 val_2 5 val_5 2 val_2 5 val_5 -2 val_2 0 val_0 -2 val_2 0 val_0 -5 val_5 2 val_2 -5 val_5 5 val_5 -5 val_5 9 val_9 -5 val_5 4 val_4 -5 val_5 8 val_8 +2 val_2 5 val_5 +2 val_2 8 val_8 +2 val_2 9 val_9 +4 val_4 0 val_0 +4 val_4 0 val_0 +4 val_4 0 val_0 +4 val_4 2 val_2 +4 val_4 4 val_4 +4 val_4 5 val_5 +4 val_4 5 val_5 +4 val_4 5 val_5 +4 val_4 8 val_8 +4 val_4 9 val_9 5 val_5 0 val_0 -5 val_5 5 val_5 -5 val_5 5 val_5 5 val_5 0 val_0 5 val_5 0 val_0 +5 val_5 0 val_0 +5 val_5 0 val_0 +5 val_5 0 val_0 +5 val_5 0 val_0 +5 val_5 0 val_0 +5 val_5 0 val_0 5 val_5 2 val_2 -5 val_5 5 val_5 -5 val_5 9 val_9 +5 val_5 2 val_2 +5 val_5 2 val_2 5 val_5 4 val_4 -5 val_5 8 val_8 -5 val_5 0 val_0 +5 val_5 4 val_4 +5 val_5 4 val_4 5 val_5 5 val_5 5 val_5 5 val_5 -5 val_5 0 val_0 -5 val_5 0 val_0 -0 val_0 2 val_2 -0 val_0 5 val_5 -0 val_0 9 val_9 -0 val_0 4 val_4 -0 val_0 8 val_8 -0 val_0 0 val_0 -0 val_0 5 val_5 -0 val_0 5 val_5 -0 val_0 0 val_0 -0 val_0 0 val_0 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 5 val_5 +5 val_5 8 val_8 +5 val_5 8 val_8 +5 val_5 8 val_8 +5 val_5 9 val_9 +5 val_5 9 val_9 +5 val_5 9 val_9 +8 val_8 0 val_0 +8 val_8 0 val_0 +8 val_8 0 val_0 +8 val_8 2 val_2 +8 val_8 4 val_4 +8 val_8 5 val_5 +8 val_8 5 val_5 +8 val_8 5 val_5 +8 val_8 8 val_8 +8 val_8 9 val_9 +9 val_9 0 val_0 +9 val_9 0 val_0 +9 val_9 0 val_0 9 val_9 2 val_2 -9 val_9 5 val_5 -9 val_9 9 val_9 9 val_9 4 val_4 -9 val_9 8 val_8 -9 val_9 0 val_0 9 val_9 5 val_5 9 val_9 5 val_5 -9 val_9 0 val_0 -9 val_9 0 val_0 -4 val_4 2 val_2 -4 val_4 5 val_5 -4 val_4 9 val_9 -4 val_4 4 val_4 -4 val_4 8 val_8 -4 val_4 0 val_0 -4 val_4 5 val_5 -4 val_4 5 val_5 -4 val_4 0 val_0 -4 val_4 0 val_0 +9 val_9 5 val_5 +9 val_9 8 val_8 +9 val_9 9 val_9 Index: ql/src/test/queries/clientpositive/join21.q =================================================================== --- ql/src/test/queries/clientpositive/join21.q (revision 768882) +++ ql/src/test/queries/clientpositive/join21.q (working copy) @@ -1,4 +1,4 @@ EXPLAIN -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10); +SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10); +SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; Index: ql/src/test/queries/clientpositive/join23.q =================================================================== --- ql/src/test/queries/clientpositive/join23.q (revision 768882) +++ ql/src/test/queries/clientpositive/join23.q (working copy) @@ -1,4 +1,4 @@ EXPLAIN -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10; +SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10; +SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; Index: ql/src/test/queries/clientpositive/join15.q =================================================================== --- ql/src/test/queries/clientpositive/join15.q (revision 768882) +++ ql/src/test/queries/clientpositive/join15.q (working copy) @@ -1,4 +1,4 @@ EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; Index: ql/src/test/queries/clientpositive/join20.q =================================================================== --- ql/src/test/queries/clientpositive/join20.q (revision 768882) +++ ql/src/test/queries/clientpositive/join20.q (working copy) @@ -1,10 +1,14 @@ EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20); +SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value;