You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2013/10/30 00:17:46 UTC

svn commit: r1536926 [1/2] - in /hive/branches/tez: ./ hbase-handler/src/test/org/apache/hadoop/hive/hbase/ hbase-handler/src/test/templates/ ql/ ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ ql/src/test/org/apache/hadoop/hive/ql/ ql/src/test/queries...

Author: gunther
Date: Tue Oct 29 23:17:45 2013
New Revision: 1536926

URL: http://svn.apache.org/r1536926
Log:
HIVE-5543: Running the mini tez cluster for tez unit tests (Vikram Dixit K via Gunther Hagleitner)

Added:
    hive/branches/tez/ql/src/test/queries/clientpositive/tez_join_tests.q
    hive/branches/tez/ql/src/test/queries/clientpositive/tez_joins_explain.q
    hive/branches/tez/ql/src/test/results/clientpositive/tez_join_tests.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/tez_joins_explain.q.out
    hive/branches/tez/shims/src/tez/
    hive/branches/tez/shims/src/tez/java/
    hive/branches/tez/shims/src/tez/java/org/
    hive/branches/tez/shims/src/tez/java/org/apache/
    hive/branches/tez/shims/src/tez/java/org/apache/hadoop/
    hive/branches/tez/shims/src/tez/java/org/apache/hadoop/hive/
    hive/branches/tez/shims/src/tez/java/org/apache/hadoop/hive/shims/
    hive/branches/tez/shims/src/tez/java/org/apache/hadoop/hive/shims/TezShims.java
Modified:
    hive/branches/tez/build-common.xml
    hive/branches/tez/hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
    hive/branches/tez/hbase-handler/src/test/templates/TestHBaseCliDriver.vm
    hive/branches/tez/hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm
    hive/branches/tez/ql/build.xml
    hive/branches/tez/ql/ivy.xml
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/TestLocationQueries.java
    hive/branches/tez/ql/src/test/templates/TestCliDriver.vm
    hive/branches/tez/ql/src/test/templates/TestNegativeCliDriver.vm
    hive/branches/tez/ql/src/test/templates/TestParse.vm
    hive/branches/tez/ql/src/test/templates/TestParseNegative.vm
    hive/branches/tez/shims/build.xml
    hive/branches/tez/shims/ivy.xml
    hive/branches/tez/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java

Modified: hive/branches/tez/build-common.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/build-common.xml?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/build-common.xml (original)
+++ hive/branches/tez/build-common.xml Tue Oct 29 23:17:45 2013
@@ -61,6 +61,7 @@
   <property name="test.junit.output.usefile" value="true"/>
   <property name="minimr.query.files" value="list_bucket_dml_10.q,input16_cc.q,scriptfile1.q,scriptfile1_win.q,bucket4.q,bucketmapjoin6.q,disable_merge_for_bucketing.q,reduce_deduplicate.q,smb_mapjoin_8.q,join1.q,groupby2.q,bucketizedhiveinputformat.q,bucketmapjoin7.q,optrstat_groupby.q,bucket_num_reducers.q,bucket5.q,load_fs2.q,bucket_num_reducers2.q,infer_bucket_sort_merge.q,infer_bucket_sort_reducers_power_two.q,infer_bucket_sort_dyn_part.q,infer_bucket_sort_bucketed_table.q,infer_bucket_sort_map_operators.q,infer_bucket_sort_num_buckets.q,leftsemijoin_mr.q,schemeAuthority.q,schemeAuthority2.q,truncate_column_buckets.q,remote_script.q,,load_hdfs_file_with_space_in_the_name.q,parallel_orderby.q,import_exported_table.q"/>
   <property name="minimr.query.negative.files" value="cluster_tasklog_retrieval.q,minimr_broken_pipe.q,mapreduce_stack_trace.q,mapreduce_stack_trace_turnoff.q,mapreduce_stack_trace_hadoop20.q,mapreduce_stack_trace_turnoff_hadoop20.q" />
+  <property name="minitez.query.files" value="tez_join_tests.q,tez_joins_explain.q"/>
   <property name="test.silent" value="true"/>
   <property name="hadoopVersion" value="${hadoop.version.ant-internal}"/>
   <property name="test.serialize.qplan" value="false"/>
@@ -203,6 +204,7 @@
     <fileset dir="${hive.root}/lib" includes="*.jar"/>
     <fileset dir="${build.ivy.lib.dir}/default" includes="junit*.jar" />
     <fileset dir="${build.ivy.lib.dir}/hadoop0.${hadoop.mr.rev}.shim" includes="*.jar" erroronmissingdir="false" />
+    <fileset dir="${build.ivy.lib.dir}/tez.shim" includes="*.jar" erroronmissingdir="false" />
     <fileset dir="${build.ivy.lib.dir}/default" includes="*.jar"
              erroronmissingdir="false"/>
   </path>

Modified: hive/branches/tez/hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java (original)
+++ hive/branches/tez/hbase-handler/src/test/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java Tue Oct 29 23:17:45 2013
@@ -24,7 +24,7 @@ import org.apache.hadoop.hive.ql.QTestUt
  */
 public class HBaseQTestUtil extends QTestUtil {
   public HBaseQTestUtil(
-    String outDir, String logDir, boolean miniMr, HBaseTestSetup setup)
+    String outDir, String logDir, String miniMr, HBaseTestSetup setup)
     throws Exception {
 
     super(outDir, logDir, miniMr, null);
@@ -32,6 +32,7 @@ public class HBaseQTestUtil extends QTes
     super.init();
   }
 
+  @Override
   public void init() throws Exception {
     // defer
   }

Modified: hive/branches/tez/hbase-handler/src/test/templates/TestHBaseCliDriver.vm
URL: http://svn.apache.org/viewvc/hive/branches/tez/hbase-handler/src/test/templates/TestHBaseCliDriver.vm?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/hbase-handler/src/test/templates/TestHBaseCliDriver.vm (original)
+++ hive/branches/tez/hbase-handler/src/test/templates/TestHBaseCliDriver.vm Tue Oct 29 23:17:45 2013
@@ -43,7 +43,7 @@ public class $className extends TestCase
   @Override
   protected void setUp() {
     try {
-      boolean miniMR = "$clusterMode".equals("miniMR");
+      String miniMR = "$clusterMode";
       qt = new HBaseQTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, setup);
 
     } catch (Exception e) {

Modified: hive/branches/tez/hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm
URL: http://svn.apache.org/viewvc/hive/branches/tez/hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm (original)
+++ hive/branches/tez/hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm Tue Oct 29 23:17:45 2013
@@ -43,7 +43,7 @@ public class $className extends TestCase
   @Override
   protected void setUp() {
     try {
-      boolean miniMR = "$clusterMode".equals("miniMR");
+      String miniMR = "$clusterMode";
 
       qt = new HBaseQTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, setup);
 

Modified: hive/branches/tez/ql/build.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/build.xml?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/ql/build.xml (original)
+++ hive/branches/tez/ql/build.xml Tue Oct 29 23:17:45 2013
@@ -35,7 +35,7 @@
   <property name="ql.test.results.beelinepositive.dir" location="${ql.test.results.dir}/beelinepositive"/>
 
   <import file="../build-common.xml"/>
-  <property name="ql.test.clientpositive.exclude" value="${minimr.query.files}"/>
+  <property name="ql.test.clientpositive.exclude" value="${minimr.query.files},${minitez.query.files}"/>
 
   <property name="ql.test.beelinepositive.exclude" value="${test.beelinepositive.exclude}"/>
   
@@ -97,7 +97,7 @@
                   resultsDirectory="${ql.test.results.beelinepositive.dir}" className="TestBeeLineDriver"
                   logFile="${test.log.dir}/testbeelinedrivergen.log"
                   logDirectory="${test.log.dir}/beelinepositive"
-                  hadoopVersion="${hadoopVersion}" />
+                  hadoopVersion="${hadoopVersion}"/>
       </then>
     </if>
 
@@ -135,6 +135,31 @@
                   logDirectory="${test.log.dir}/clientnegative"
                   hadoopVersion="${hadoopVersion}"
                   />
+        
+        <if>
+          <equals arg1="${hadoop.mr.rev}" arg2="23"/>
+          <then>
+            <echo message="hadoop mr rev: ${hadoop.mr.rev}"/>
+            <qtestgen hiveRootDirectory="${hive.root}"
+                  outputDirectory="${test.build.src}/org/apache/hadoop/hive/cli" 
+                  templatePath="${ql.test.template.dir}" template="TestCliDriver.vm" 
+                  queryDirectory="${ql.test.query.clientpositive.dir}" 
+                  queryFile="${qfile}"
+                  includeQueryFile="${minitez.query.files}"
+                  queryFileRegex="${qfile_regex}"
+                  clusterMode="tez"
+                  runDisabled="${run_disabled}"
+                  resultsDirectory="${ql.test.results.clientpositive.dir}" className="TestMiniTezCliDriver"
+                  logFile="${test.log.dir}/testminimrclidrivergen.log"
+                  logDirectory="${test.log.dir}/clientpositive"
+                  hadoopVersion="23"
+                  />
+          </then>
+          <else>
+          </else>
+        </if>
+
+
       </then>
     </if>
 

Modified: hive/branches/tez/ql/ivy.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/ivy.xml?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/ql/ivy.xml (original)
+++ hive/branches/tez/ql/ivy.xml Tue Oct 29 23:17:45 2013
@@ -54,6 +54,7 @@
     <dependency org="org.apache.tez" name="tez-common" rev="${tez.version}" conf="compile->master" />
     <dependency org="org.apache.tez" name="tez-runtime-library" rev="${tez.version}" conf="compile->master" />
     <dependency org="org.apache.tez" name="tez-mapreduce" rev="${tez.version}" conf="compile->master" />
+    <dependency org="org.apache.tez" name="tez-runtime-internals" rev="${tez.version}" conf="compile->master" />
     <dependency org="org.apache.hadoop" name="hadoop-yarn-api" rev="${hadoop-0.23.version}" 
                 conf="compile->master" transitive="false" />
     <dependency org="org.apache.hadoop" name="hadoop-yarn-common" rev="${hadoop-0.23.version}" 

Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java Tue Oct 29 23:17:45 2013
@@ -228,7 +228,8 @@ public class TezSessionState {
 
         // jar wasn't in the directory, copy the one in current use
         if (jarPath == null) {
-          return DagUtils.localizeResource(new Path(currentVersionPathStr), hiveJarDirPath, conf);
+          Path dest = new Path(hiveJarDir + "/" + currentJarName);
+          return DagUtils.localizeResource(new Path(currentVersionPathStr), dest, conf);
         }
       }
     }

Modified: hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java (original)
+++ hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java Tue Oct 29 23:17:45 2013
@@ -67,7 +67,6 @@ import org.apache.hadoop.hive.ql.exec.Ta
 import org.apache.hadoop.hive.ql.exec.Utilities;
 import org.apache.hadoop.hive.ql.exec.Utilities.StreamPrinter;
 import org.apache.hadoop.hive.ql.exec.vector.util.AllVectorTypesRecord;
-import org.apache.hadoop.hive.ql.exec.vector.util.OrcFileGenerator;
 import org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat;
 import org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager;
 import org.apache.hadoop.hive.ql.metadata.Hive;
@@ -83,6 +82,7 @@ import org.apache.hadoop.hive.serde.serd
 import org.apache.hadoop.hive.serde2.thrift.ThriftDeserializer;
 import org.apache.hadoop.hive.serde2.thrift.test.Complex;
 import org.apache.hadoop.hive.shims.HadoopShims;
+import org.apache.hadoop.hive.shims.TezShims;
 import org.apache.hadoop.hive.shims.ShimLoader;
 import org.apache.hadoop.mapred.SequenceFileInputFormat;
 import org.apache.hadoop.mapred.SequenceFileOutputFormat;
@@ -127,6 +127,7 @@ public class QTestUtil {
   private boolean miniMr = false;
   private String hadoopVer = null;
   private QTestSetup setup = null;
+  private boolean miniTez = false;
 
   public boolean deleteDirectory(File path) {
     if (path.exists()) {
@@ -195,7 +196,7 @@ public class QTestUtil {
   }
 
   public QTestUtil(String outDir, String logDir) throws Exception {
-    this(outDir, logDir, false, "0.20");
+    this(outDir, logDir, "", "0.20");
   }
 
   public String getOutputDirectory() {
@@ -233,9 +234,8 @@ public class QTestUtil {
     conf.setVar(HiveConf.ConfVars.METASTORE_RAW_STORE_IMPL,
         "org.apache.hadoop.hive.metastore.VerifyingObjectStore");
 
-    if (miniMr) {
+    if (mr != null) {
       assert dfs != null;
-      assert mr != null;
 
       mr.setupConfiguration(conf);
 
@@ -288,23 +288,47 @@ public class QTestUtil {
     return uriStr;
   }
 
-  public QTestUtil(String outDir, String logDir, boolean miniMr, String hadoopVer)
+  public enum MiniClusterType {
+    miniMr,
+    tez
+  }
+
+  public QTestUtil(String outDir, String logDir, String miniMr, String hadoopVer)
     throws Exception {
     this.outDir = outDir;
     this.logDir = logDir;
     conf = new HiveConf(Driver.class);
-    this.miniMr = miniMr;
+    this.miniMr = miniMr.equals("miniMr");
+    this.miniTez = miniMr.equals("tez");
     this.hadoopVer = getHadoopMainVersion(hadoopVer);
     qMap = new TreeMap<String, String>();
     qSkipSet = new HashSet<String>();
     qSortSet = new HashSet<String>();
 
-    if (miniMr) {
-      dfs = ShimLoader.getHadoopShims().getMiniDfs(conf, 4, true, null);
-      FileSystem fs = dfs.getFileSystem();
-      mr = ShimLoader.getHadoopShims().getMiniMrCluster(conf, 4, getHdfsUriString(fs.getUri().toString()), 1);
+    HadoopShims shims = null;
+    MiniClusterType clusterType = MiniClusterType.valueOf(miniMr);
+    switch (clusterType) {
+      case miniMr:
+        shims = ShimLoader.getHadoopShims();
+        break;
+
+      case tez:
+        if (!hadoopVer.equals("23")) {
+          throw new Exception("Unsupported version of hadoop for tez. Please use " + 
+              "-Dhadoop.mr.rev=23 on the command line");
+        }
+
+        shims = (HadoopShims) new TezShims();
+        break;
+
+      default:
+        throw new Exception("Unknown cluster type");
     }
 
+    dfs = shims.getMiniDfs(conf, 4, true, null);
+    FileSystem fs = dfs.getFileSystem();
+    mr = shims.getMiniMrCluster(conf, 4, getHdfsUriString(fs.getUri().toString()), 1);
+    
     initConf();
 
     // Use the current directory if it is not specified
@@ -1430,7 +1454,7 @@ public class QTestUtil {
   {
     QTestUtil[] qt = new QTestUtil[qfiles.length];
     for (int i = 0; i < qfiles.length; i++) {
-      qt[i] = new QTestUtil(resDir, logDir, false, "0.20");
+      qt[i] = new QTestUtil(resDir, logDir, "", "0.20");
       qt[i].addFile(qfiles[i]);
       qt[i].clearTestSideEffects();
     }

Modified: hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/TestLocationQueries.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/TestLocationQueries.java?rev=1536926&r1=1536925&r2=1536926&view=diff
==============================================================================
--- hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/TestLocationQueries.java (original)
+++ hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/TestLocationQueries.java Tue Oct 29 23:17:45 2013
@@ -82,7 +82,7 @@ public class TestLocationQueries extends
       return failedCount;
     }
 
-    public CheckResults(String outDir, String logDir, boolean miniMr,
+    public CheckResults(String outDir, String logDir, String miniMr,
         String hadoopVer, String locationSubdir)
       throws Exception
     {
@@ -103,7 +103,7 @@ public class TestLocationQueries extends
 
     QTestUtil[] qt = new QTestUtil[qfiles.length];
     for (int i = 0; i < qfiles.length; i++) {
-      qt[i] = new CheckResults(resDir, logDir, false, "0.20", "parta");
+      qt[i] = new CheckResults(resDir, logDir, "non-minimr", "0.20", "parta");
       qt[i].addFile(qfiles[i]);
       qt[i].clearTestSideEffects();
     }

Added: hive/branches/tez/ql/src/test/queries/clientpositive/tez_join_tests.q
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/test/queries/clientpositive/tez_join_tests.q?rev=1536926&view=auto
==============================================================================
--- hive/branches/tez/ql/src/test/queries/clientpositive/tez_join_tests.q (added)
+++ hive/branches/tez/ql/src/test/queries/clientpositive/tez_join_tests.q Tue Oct 29 23:17:45 2013
@@ -0,0 +1,13 @@
+set hive.optimize.tez=true;
+explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key;
+
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key;
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key;
+select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key;
+select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key;
+select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key);
+select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key);
+
+select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key);
+

Added: hive/branches/tez/ql/src/test/queries/clientpositive/tez_joins_explain.q
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/test/queries/clientpositive/tez_joins_explain.q?rev=1536926&view=auto
==============================================================================
--- hive/branches/tez/ql/src/test/queries/clientpositive/tez_joins_explain.q (added)
+++ hive/branches/tez/ql/src/test/queries/clientpositive/tez_joins_explain.q Tue Oct 29 23:17:45 2013
@@ -0,0 +1,6 @@
+set hive.optimize.tez=true;
+explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key;
+
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key;
+

Added: hive/branches/tez/ql/src/test/results/clientpositive/tez_join_tests.q.out
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/test/results/clientpositive/tez_join_tests.q.out?rev=1536926&view=auto
==============================================================================
--- hive/branches/tez/ql/src/test/results/clientpositive/tez_join_tests.q.out (added)
+++ hive/branches/tez/ql/src/test/results/clientpositive/tez_join_tests.q.out Tue Oct 29 23:17:45 2013
@@ -0,0 +1,2248 @@
+PREHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL b) key))))) x) (TOK_TABREF (TOK_TABNAME src) c) (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL c) value)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL x) key)))))
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+      Alias -> Map Operator Tree:
+        b 
+          TableScan
+            alias: b
+            Reduce Output Operator
+              key expressions:
+                    expr: key
+                    type: string
+              sort order: +
+              Map-reduce partition columns:
+                    expr: key
+                    type: string
+              tag: 1
+              value expressions:
+                    expr: key
+                    type: string
+                    expr: value
+                    type: string
+      Alias -> Map Operator Tree:
+        a 
+          TableScan
+            alias: a
+            Reduce Output Operator
+              key expressions:
+                    expr: key
+                    type: string
+              sort order: +
+              Map-reduce partition columns:
+                    expr: key
+                    type: string
+              tag: 0
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Left Outer Join0 to 1
+          condition expressions:
+            0 
+            1 {VALUE._col0} {VALUE._col1}
+          handleSkewJoin: false
+          outputColumnNames: _col4, _col5
+          Select Operator
+            expressions:
+                  expr: _col4
+                  type: string
+                  expr: _col5
+                  type: string
+            outputColumnNames: _col0, _col1
+            Reduce Output Operator
+              key expressions:
+                    expr: _col0
+                    type: string
+              sort order: +
+              tag: -1
+              value expressions:
+                    expr: _col0
+                    type: string
+                    expr: _col1
+                    type: string
+      Reduce Operator Tree:
+        Extract
+          Reduce Output Operator
+            key expressions:
+                  expr: _col1
+                  type: string
+            sort order: +
+            Map-reduce partition columns:
+                  expr: _col1
+                  type: string
+            tag: 0
+            value expressions:
+                  expr: _col0
+                  type: string
+                  expr: _col1
+                  type: string
+      Alias -> Map Operator Tree:
+        c 
+          TableScan
+            alias: c
+            Reduce Output Operator
+              key expressions:
+                    expr: value
+                    type: string
+              sort order: +
+              Map-reduce partition columns:
+                    expr: value
+                    type: string
+              tag: 1
+              value expressions:
+                    expr: key
+                    type: string
+                    expr: value
+                    type: string
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Right Outer Join0 to 1
+          condition expressions:
+            0 {VALUE._col0} {VALUE._col1}
+            1 {VALUE._col0} {VALUE._col1}
+          handleSkewJoin: false
+          outputColumnNames: _col0, _col1, _col2, _col3
+          Select Operator
+            expressions:
+                  expr: _col0
+                  type: string
+                  expr: _col1
+                  type: string
+                  expr: _col2
+                  type: string
+                  expr: _col3
+                  type: string
+            outputColumnNames: _col0, _col1, _col2, _col3
+            Reduce Output Operator
+              key expressions:
+                    expr: _col0
+                    type: string
+              sort order: +
+              tag: -1
+              value expressions:
+                    expr: _col0
+                    type: string
+                    expr: _col1
+                    type: string
+                    expr: _col2
+                    type: string
+                    expr: _col3
+                    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
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+
+
+PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL	NULL	0	val_0
+NULL	NULL	97	val_97
+NULL	NULL	97	val_97
+NULL	NULL	96	val_96
+NULL	NULL	95	val_95
+NULL	NULL	95	val_95
+NULL	NULL	92	val_92
+NULL	NULL	90	val_90
+NULL	NULL	90	val_90
+NULL	NULL	90	val_90
+NULL	NULL	9	val_9
+NULL	NULL	87	val_87
+NULL	NULL	86	val_86
+NULL	NULL	85	val_85
+NULL	NULL	84	val_84
+NULL	NULL	84	val_84
+NULL	NULL	83	val_83
+NULL	NULL	83	val_83
+NULL	NULL	82	val_82
+NULL	NULL	80	val_80
+NULL	NULL	8	val_8
+NULL	NULL	78	val_78
+NULL	NULL	77	val_77
+NULL	NULL	76	val_76
+NULL	NULL	76	val_76
+NULL	NULL	74	val_74
+NULL	NULL	72	val_72
+NULL	NULL	72	val_72
+NULL	NULL	70	val_70
+NULL	NULL	70	val_70
+NULL	NULL	70	val_70
+NULL	NULL	69	val_69
+NULL	NULL	67	val_67
+NULL	NULL	67	val_67
+NULL	NULL	65	val_65
+NULL	NULL	64	val_64
+NULL	NULL	58	val_58
+NULL	NULL	58	val_58
+NULL	NULL	57	val_57
+NULL	NULL	54	val_54
+NULL	NULL	53	val_53
+NULL	NULL	51	val_51
+NULL	NULL	51	val_51
+NULL	NULL	5	val_5
+NULL	NULL	5	val_5
+NULL	NULL	5	val_5
+NULL	NULL	498	val_498
+NULL	NULL	498	val_498
+NULL	NULL	498	val_498
+NULL	NULL	497	val_497
+NULL	NULL	496	val_496
+NULL	NULL	495	val_495
+NULL	NULL	494	val_494
+NULL	NULL	493	val_493
+NULL	NULL	492	val_492
+NULL	NULL	492	val_492
+NULL	NULL	491	val_491
+NULL	NULL	490	val_490
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	487	val_487
+NULL	NULL	485	val_485
+NULL	NULL	484	val_484
+NULL	NULL	483	val_483
+NULL	NULL	482	val_482
+NULL	NULL	481	val_481
+NULL	NULL	480	val_480
+NULL	NULL	480	val_480
+NULL	NULL	480	val_480
+NULL	NULL	479	val_479
+NULL	NULL	478	val_478
+NULL	NULL	478	val_478
+NULL	NULL	477	val_477
+NULL	NULL	475	val_475
+NULL	NULL	472	val_472
+NULL	NULL	470	val_470
+NULL	NULL	47	val_47
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	467	val_467
+NULL	NULL	466	val_466
+NULL	NULL	466	val_466
+NULL	NULL	466	val_466
+NULL	NULL	463	val_463
+NULL	NULL	463	val_463
+NULL	NULL	462	val_462
+NULL	NULL	462	val_462
+NULL	NULL	460	val_460
+NULL	NULL	459	val_459
+NULL	NULL	459	val_459
+NULL	NULL	458	val_458
+NULL	NULL	458	val_458
+NULL	NULL	457	val_457
+NULL	NULL	455	val_455
+NULL	NULL	454	val_454
+NULL	NULL	454	val_454
+NULL	NULL	454	val_454
+NULL	NULL	453	val_453
+NULL	NULL	452	val_452
+NULL	NULL	449	val_449
+NULL	NULL	448	val_448
+NULL	NULL	446	val_446
+NULL	NULL	444	val_444
+NULL	NULL	443	val_443
+NULL	NULL	44	val_44
+NULL	NULL	439	val_439
+NULL	NULL	439	val_439
+NULL	NULL	438	val_438
+NULL	NULL	438	val_438
+NULL	NULL	438	val_438
+NULL	NULL	437	val_437
+NULL	NULL	436	val_436
+NULL	NULL	435	val_435
+NULL	NULL	432	val_432
+NULL	NULL	431	val_431
+NULL	NULL	431	val_431
+NULL	NULL	431	val_431
+NULL	NULL	430	val_430
+NULL	NULL	430	val_430
+NULL	NULL	430	val_430
+NULL	NULL	43	val_43
+NULL	NULL	429	val_429
+NULL	NULL	429	val_429
+NULL	NULL	427	val_427
+NULL	NULL	424	val_424
+NULL	NULL	424	val_424
+NULL	NULL	421	val_421
+NULL	NULL	42	val_42
+NULL	NULL	42	val_42
+NULL	NULL	419	val_419
+NULL	NULL	418	val_418
+NULL	NULL	417	val_417
+NULL	NULL	417	val_417
+NULL	NULL	417	val_417
+NULL	NULL	414	val_414
+NULL	NULL	414	val_414
+NULL	NULL	413	val_413
+NULL	NULL	413	val_413
+NULL	NULL	411	val_411
+NULL	NULL	41	val_41
+NULL	NULL	409	val_409
+NULL	NULL	409	val_409
+NULL	NULL	409	val_409
+NULL	NULL	407	val_407
+NULL	NULL	404	val_404
+NULL	NULL	404	val_404
+NULL	NULL	403	val_403
+NULL	NULL	403	val_403
+NULL	NULL	403	val_403
+NULL	NULL	402	val_402
+NULL	NULL	400	val_400
+NULL	NULL	4	val_4
+NULL	NULL	399	val_399
+NULL	NULL	399	val_399
+NULL	NULL	397	val_397
+NULL	NULL	397	val_397
+NULL	NULL	396	val_396
+NULL	NULL	396	val_396
+NULL	NULL	396	val_396
+NULL	NULL	395	val_395
+NULL	NULL	395	val_395
+NULL	NULL	394	val_394
+NULL	NULL	393	val_393
+NULL	NULL	392	val_392
+NULL	NULL	389	val_389
+NULL	NULL	386	val_386
+NULL	NULL	384	val_384
+NULL	NULL	384	val_384
+NULL	NULL	384	val_384
+NULL	NULL	382	val_382
+NULL	NULL	382	val_382
+NULL	NULL	379	val_379
+NULL	NULL	378	val_378
+NULL	NULL	377	val_377
+NULL	NULL	375	val_375
+NULL	NULL	374	val_374
+NULL	NULL	373	val_373
+NULL	NULL	37	val_37
+NULL	NULL	37	val_37
+NULL	NULL	368	val_368
+NULL	NULL	367	val_367
+NULL	NULL	367	val_367
+NULL	NULL	366	val_366
+NULL	NULL	365	val_365
+NULL	NULL	364	val_364
+NULL	NULL	362	val_362
+NULL	NULL	360	val_360
+NULL	NULL	356	val_356
+NULL	NULL	353	val_353
+NULL	NULL	353	val_353
+NULL	NULL	351	val_351
+NULL	NULL	35	val_35
+NULL	NULL	35	val_35
+NULL	NULL	35	val_35
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	345	val_345
+NULL	NULL	344	val_344
+NULL	NULL	344	val_344
+NULL	NULL	342	val_342
+NULL	NULL	342	val_342
+NULL	NULL	341	val_341
+NULL	NULL	34	val_34
+NULL	NULL	339	val_339
+NULL	NULL	338	val_338
+NULL	NULL	336	val_336
+NULL	NULL	335	val_335
+NULL	NULL	333	val_333
+NULL	NULL	333	val_333
+NULL	NULL	332	val_332
+NULL	NULL	331	val_331
+NULL	NULL	331	val_331
+NULL	NULL	33	val_33
+NULL	NULL	327	val_327
+NULL	NULL	327	val_327
+NULL	NULL	327	val_327
+NULL	NULL	325	val_325
+NULL	NULL	325	val_325
+NULL	NULL	323	val_323
+NULL	NULL	322	val_322
+NULL	NULL	322	val_322
+NULL	NULL	321	val_321
+NULL	NULL	321	val_321
+NULL	NULL	318	val_318
+NULL	NULL	318	val_318
+NULL	NULL	318	val_318
+NULL	NULL	317	val_317
+NULL	NULL	317	val_317
+NULL	NULL	316	val_316
+NULL	NULL	316	val_316
+NULL	NULL	316	val_316
+NULL	NULL	315	val_315
+NULL	NULL	310	val_310
+NULL	NULL	309	val_309
+NULL	NULL	309	val_309
+NULL	NULL	308	val_308
+NULL	NULL	307	val_307
+NULL	NULL	307	val_307
+NULL	NULL	306	val_306
+NULL	NULL	305	val_305
+NULL	NULL	302	val_302
+NULL	NULL	30	val_30
+NULL	NULL	298	val_298
+NULL	NULL	298	val_298
+NULL	NULL	298	val_298
+NULL	NULL	296	val_296
+NULL	NULL	292	val_292
+NULL	NULL	291	val_291
+NULL	NULL	289	val_289
+NULL	NULL	288	val_288
+NULL	NULL	288	val_288
+NULL	NULL	287	val_287
+NULL	NULL	286	val_286
+NULL	NULL	285	val_285
+NULL	NULL	284	val_284
+NULL	NULL	283	val_283
+NULL	NULL	282	val_282
+NULL	NULL	282	val_282
+NULL	NULL	281	val_281
+NULL	NULL	281	val_281
+NULL	NULL	280	val_280
+NULL	NULL	280	val_280
+NULL	NULL	28	val_28
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	275	val_275
+NULL	NULL	274	val_274
+NULL	NULL	272	val_272
+NULL	NULL	272	val_272
+NULL	NULL	27	val_27
+NULL	NULL	266	val_266
+NULL	NULL	265	val_265
+NULL	NULL	265	val_265
+NULL	NULL	263	val_263
+NULL	NULL	262	val_262
+NULL	NULL	260	val_260
+NULL	NULL	26	val_26
+NULL	NULL	26	val_26
+NULL	NULL	258	val_258
+NULL	NULL	257	val_257
+NULL	NULL	256	val_256
+NULL	NULL	256	val_256
+NULL	NULL	252	val_252
+NULL	NULL	249	val_249
+NULL	NULL	248	val_248
+NULL	NULL	247	val_247
+NULL	NULL	244	val_244
+NULL	NULL	242	val_242
+NULL	NULL	242	val_242
+NULL	NULL	241	val_241
+NULL	NULL	24	val_24
+NULL	NULL	24	val_24
+NULL	NULL	239	val_239
+NULL	NULL	239	val_239
+NULL	NULL	237	val_237
+NULL	NULL	237	val_237
+NULL	NULL	235	val_235
+NULL	NULL	233	val_233
+NULL	NULL	233	val_233
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	229	val_229
+NULL	NULL	229	val_229
+NULL	NULL	228	val_228
+NULL	NULL	226	val_226
+NULL	NULL	223	val_223
+NULL	NULL	223	val_223
+NULL	NULL	222	val_222
+NULL	NULL	221	val_221
+NULL	NULL	221	val_221
+NULL	NULL	219	val_219
+NULL	NULL	219	val_219
+NULL	NULL	218	val_218
+NULL	NULL	217	val_217
+NULL	NULL	217	val_217
+NULL	NULL	216	val_216
+NULL	NULL	216	val_216
+NULL	NULL	214	val_214
+NULL	NULL	209	val_209
+NULL	NULL	209	val_209
+NULL	NULL	208	val_208
+NULL	NULL	208	val_208
+NULL	NULL	208	val_208
+NULL	NULL	207	val_207
+NULL	NULL	207	val_207
+NULL	NULL	205	val_205
+NULL	NULL	205	val_205
+NULL	NULL	203	val_203
+NULL	NULL	203	val_203
+NULL	NULL	202	val_202
+NULL	NULL	201	val_201
+NULL	NULL	200	val_200
+NULL	NULL	200	val_200
+NULL	NULL	20	val_20
+NULL	NULL	2	val_2
+NULL	NULL	199	val_199
+NULL	NULL	199	val_199
+NULL	NULL	199	val_199
+NULL	NULL	197	val_197
+NULL	NULL	197	val_197
+NULL	NULL	196	val_196
+NULL	NULL	195	val_195
+NULL	NULL	195	val_195
+NULL	NULL	194	val_194
+NULL	NULL	193	val_193
+NULL	NULL	193	val_193
+NULL	NULL	193	val_193
+NULL	NULL	192	val_192
+NULL	NULL	191	val_191
+NULL	NULL	191	val_191
+NULL	NULL	190	val_190
+NULL	NULL	19	val_19
+NULL	NULL	189	val_189
+NULL	NULL	187	val_187
+NULL	NULL	187	val_187
+NULL	NULL	187	val_187
+NULL	NULL	186	val_186
+NULL	NULL	183	val_183
+NULL	NULL	181	val_181
+NULL	NULL	180	val_180
+NULL	NULL	18	val_18
+NULL	NULL	18	val_18
+NULL	NULL	179	val_179
+NULL	NULL	179	val_179
+NULL	NULL	178	val_178
+NULL	NULL	177	val_177
+NULL	NULL	176	val_176
+NULL	NULL	176	val_176
+NULL	NULL	175	val_175
+NULL	NULL	175	val_175
+NULL	NULL	174	val_174
+NULL	NULL	174	val_174
+NULL	NULL	172	val_172
+NULL	NULL	172	val_172
+NULL	NULL	170	val_170
+NULL	NULL	17	val_17
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	168	val_168
+NULL	NULL	167	val_167
+NULL	NULL	167	val_167
+NULL	NULL	167	val_167
+NULL	NULL	166	val_166
+NULL	NULL	165	val_165
+NULL	NULL	165	val_165
+NULL	NULL	164	val_164
+NULL	NULL	164	val_164
+NULL	NULL	163	val_163
+NULL	NULL	162	val_162
+NULL	NULL	160	val_160
+NULL	NULL	158	val_158
+NULL	NULL	157	val_157
+NULL	NULL	156	val_156
+NULL	NULL	155	val_155
+NULL	NULL	153	val_153
+NULL	NULL	152	val_152
+NULL	NULL	152	val_152
+NULL	NULL	15	val_15
+NULL	NULL	15	val_15
+NULL	NULL	149	val_149
+NULL	NULL	149	val_149
+NULL	NULL	145	val_145
+NULL	NULL	143	val_143
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	137	val_137
+NULL	NULL	137	val_137
+NULL	NULL	136	val_136
+NULL	NULL	134	val_134
+NULL	NULL	134	val_134
+NULL	NULL	133	val_133
+NULL	NULL	131	val_131
+NULL	NULL	129	val_129
+NULL	NULL	129	val_129
+NULL	NULL	126	val_126
+NULL	NULL	125	val_125
+NULL	NULL	125	val_125
+NULL	NULL	120	val_120
+NULL	NULL	120	val_120
+NULL	NULL	12	val_12
+NULL	NULL	12	val_12
+NULL	NULL	119	val_119
+NULL	NULL	119	val_119
+NULL	NULL	119	val_119
+NULL	NULL	118	val_118
+NULL	NULL	118	val_118
+NULL	NULL	116	val_116
+NULL	NULL	114	val_114
+NULL	NULL	113	val_113
+NULL	NULL	113	val_113
+NULL	NULL	111	val_111
+NULL	NULL	11	val_11
+NULL	NULL	105	val_105
+NULL	NULL	104	val_104
+NULL	NULL	104	val_104
+NULL	NULL	103	val_103
+NULL	NULL	103	val_103
+NULL	NULL	100	val_100
+NULL	NULL	100	val_100
+NULL	NULL	10	val_10
+NULL	NULL	0	val_0
+NULL	NULL	0	val_0
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+146	val_146	146	val_146
+146	val_146	146	val_146
+146	val_146	146	val_146
+146	val_146	146	val_146
+150	val_150	150	val_150
+213	val_213	213	val_213
+213	val_213	213	val_213
+213	val_213	213	val_213
+213	val_213	213	val_213
+224	val_224	224	val_224
+224	val_224	224	val_224
+224	val_224	224	val_224
+224	val_224	224	val_224
+238	val_238	238	val_238
+238	val_238	238	val_238
+238	val_238	238	val_238
+238	val_238	238	val_238
+255	val_255	255	val_255
+255	val_255	255	val_255
+255	val_255	255	val_255
+255	val_255	255	val_255
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+278	val_278	278	val_278
+278	val_278	278	val_278
+278	val_278	278	val_278
+278	val_278	278	val_278
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+66	val_66	66	val_66
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98
+PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL	NULL	0	val_0
+NULL	NULL	97	val_97
+NULL	NULL	97	val_97
+NULL	NULL	96	val_96
+NULL	NULL	95	val_95
+NULL	NULL	95	val_95
+NULL	NULL	92	val_92
+NULL	NULL	90	val_90
+NULL	NULL	90	val_90
+NULL	NULL	90	val_90
+NULL	NULL	9	val_9
+NULL	NULL	87	val_87
+NULL	NULL	86	val_86
+NULL	NULL	85	val_85
+NULL	NULL	84	val_84
+NULL	NULL	84	val_84
+NULL	NULL	83	val_83
+NULL	NULL	83	val_83
+NULL	NULL	82	val_82
+NULL	NULL	80	val_80
+NULL	NULL	8	val_8
+NULL	NULL	78	val_78
+NULL	NULL	77	val_77
+NULL	NULL	76	val_76
+NULL	NULL	76	val_76
+NULL	NULL	74	val_74
+NULL	NULL	72	val_72
+NULL	NULL	72	val_72
+NULL	NULL	70	val_70
+NULL	NULL	70	val_70
+NULL	NULL	70	val_70
+NULL	NULL	69	val_69
+NULL	NULL	67	val_67
+NULL	NULL	67	val_67
+NULL	NULL	65	val_65
+NULL	NULL	64	val_64
+NULL	NULL	58	val_58
+NULL	NULL	58	val_58
+NULL	NULL	57	val_57
+NULL	NULL	54	val_54
+NULL	NULL	53	val_53
+NULL	NULL	51	val_51
+NULL	NULL	51	val_51
+NULL	NULL	5	val_5
+NULL	NULL	5	val_5
+NULL	NULL	5	val_5
+NULL	NULL	498	val_498
+NULL	NULL	498	val_498
+NULL	NULL	498	val_498
+NULL	NULL	497	val_497
+NULL	NULL	496	val_496
+NULL	NULL	495	val_495
+NULL	NULL	494	val_494
+NULL	NULL	493	val_493
+NULL	NULL	492	val_492
+NULL	NULL	492	val_492
+NULL	NULL	491	val_491
+NULL	NULL	490	val_490
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	489	val_489
+NULL	NULL	487	val_487
+NULL	NULL	485	val_485
+NULL	NULL	484	val_484
+NULL	NULL	483	val_483
+NULL	NULL	482	val_482
+NULL	NULL	481	val_481
+NULL	NULL	480	val_480
+NULL	NULL	480	val_480
+NULL	NULL	480	val_480
+NULL	NULL	479	val_479
+NULL	NULL	478	val_478
+NULL	NULL	478	val_478
+NULL	NULL	477	val_477
+NULL	NULL	475	val_475
+NULL	NULL	472	val_472
+NULL	NULL	470	val_470
+NULL	NULL	47	val_47
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	469	val_469
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	468	val_468
+NULL	NULL	467	val_467
+NULL	NULL	466	val_466
+NULL	NULL	466	val_466
+NULL	NULL	466	val_466
+NULL	NULL	463	val_463
+NULL	NULL	463	val_463
+NULL	NULL	462	val_462
+NULL	NULL	462	val_462
+NULL	NULL	460	val_460
+NULL	NULL	459	val_459
+NULL	NULL	459	val_459
+NULL	NULL	458	val_458
+NULL	NULL	458	val_458
+NULL	NULL	457	val_457
+NULL	NULL	455	val_455
+NULL	NULL	454	val_454
+NULL	NULL	454	val_454
+NULL	NULL	454	val_454
+NULL	NULL	453	val_453
+NULL	NULL	452	val_452
+NULL	NULL	449	val_449
+NULL	NULL	448	val_448
+NULL	NULL	446	val_446
+NULL	NULL	444	val_444
+NULL	NULL	443	val_443
+NULL	NULL	44	val_44
+NULL	NULL	439	val_439
+NULL	NULL	439	val_439
+NULL	NULL	438	val_438
+NULL	NULL	438	val_438
+NULL	NULL	438	val_438
+NULL	NULL	437	val_437
+NULL	NULL	436	val_436
+NULL	NULL	435	val_435
+NULL	NULL	432	val_432
+NULL	NULL	431	val_431
+NULL	NULL	431	val_431
+NULL	NULL	431	val_431
+NULL	NULL	430	val_430
+NULL	NULL	430	val_430
+NULL	NULL	430	val_430
+NULL	NULL	43	val_43
+NULL	NULL	429	val_429
+NULL	NULL	429	val_429
+NULL	NULL	427	val_427
+NULL	NULL	424	val_424
+NULL	NULL	424	val_424
+NULL	NULL	421	val_421
+NULL	NULL	42	val_42
+NULL	NULL	42	val_42
+NULL	NULL	419	val_419
+NULL	NULL	418	val_418
+NULL	NULL	417	val_417
+NULL	NULL	417	val_417
+NULL	NULL	417	val_417
+NULL	NULL	414	val_414
+NULL	NULL	414	val_414
+NULL	NULL	413	val_413
+NULL	NULL	413	val_413
+NULL	NULL	411	val_411
+NULL	NULL	41	val_41
+NULL	NULL	409	val_409
+NULL	NULL	409	val_409
+NULL	NULL	409	val_409
+NULL	NULL	407	val_407
+NULL	NULL	404	val_404
+NULL	NULL	404	val_404
+NULL	NULL	403	val_403
+NULL	NULL	403	val_403
+NULL	NULL	403	val_403
+NULL	NULL	402	val_402
+NULL	NULL	400	val_400
+NULL	NULL	4	val_4
+NULL	NULL	399	val_399
+NULL	NULL	399	val_399
+NULL	NULL	397	val_397
+NULL	NULL	397	val_397
+NULL	NULL	396	val_396
+NULL	NULL	396	val_396
+NULL	NULL	396	val_396
+NULL	NULL	395	val_395
+NULL	NULL	395	val_395
+NULL	NULL	394	val_394
+NULL	NULL	393	val_393
+NULL	NULL	392	val_392
+NULL	NULL	389	val_389
+NULL	NULL	386	val_386
+NULL	NULL	384	val_384
+NULL	NULL	384	val_384
+NULL	NULL	384	val_384
+NULL	NULL	382	val_382
+NULL	NULL	382	val_382
+NULL	NULL	379	val_379
+NULL	NULL	378	val_378
+NULL	NULL	377	val_377
+NULL	NULL	375	val_375
+NULL	NULL	374	val_374
+NULL	NULL	373	val_373
+NULL	NULL	37	val_37
+NULL	NULL	37	val_37
+NULL	NULL	368	val_368
+NULL	NULL	367	val_367
+NULL	NULL	367	val_367
+NULL	NULL	366	val_366
+NULL	NULL	365	val_365
+NULL	NULL	364	val_364
+NULL	NULL	362	val_362
+NULL	NULL	360	val_360
+NULL	NULL	356	val_356
+NULL	NULL	353	val_353
+NULL	NULL	353	val_353
+NULL	NULL	351	val_351
+NULL	NULL	35	val_35
+NULL	NULL	35	val_35
+NULL	NULL	35	val_35
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	348	val_348
+NULL	NULL	345	val_345
+NULL	NULL	344	val_344
+NULL	NULL	344	val_344
+NULL	NULL	342	val_342
+NULL	NULL	342	val_342
+NULL	NULL	341	val_341
+NULL	NULL	34	val_34
+NULL	NULL	339	val_339
+NULL	NULL	338	val_338
+NULL	NULL	336	val_336
+NULL	NULL	335	val_335
+NULL	NULL	333	val_333
+NULL	NULL	333	val_333
+NULL	NULL	332	val_332
+NULL	NULL	331	val_331
+NULL	NULL	331	val_331
+NULL	NULL	33	val_33
+NULL	NULL	327	val_327
+NULL	NULL	327	val_327
+NULL	NULL	327	val_327
+NULL	NULL	325	val_325
+NULL	NULL	325	val_325
+NULL	NULL	323	val_323
+NULL	NULL	322	val_322
+NULL	NULL	322	val_322
+NULL	NULL	321	val_321
+NULL	NULL	321	val_321
+NULL	NULL	318	val_318
+NULL	NULL	318	val_318
+NULL	NULL	318	val_318
+NULL	NULL	317	val_317
+NULL	NULL	317	val_317
+NULL	NULL	316	val_316
+NULL	NULL	316	val_316
+NULL	NULL	316	val_316
+NULL	NULL	315	val_315
+NULL	NULL	310	val_310
+NULL	NULL	309	val_309
+NULL	NULL	309	val_309
+NULL	NULL	308	val_308
+NULL	NULL	307	val_307
+NULL	NULL	307	val_307
+NULL	NULL	306	val_306
+NULL	NULL	305	val_305
+NULL	NULL	302	val_302
+NULL	NULL	30	val_30
+NULL	NULL	298	val_298
+NULL	NULL	298	val_298
+NULL	NULL	298	val_298
+NULL	NULL	296	val_296
+NULL	NULL	292	val_292
+NULL	NULL	291	val_291
+NULL	NULL	289	val_289
+NULL	NULL	288	val_288
+NULL	NULL	288	val_288
+NULL	NULL	287	val_287
+NULL	NULL	286	val_286
+NULL	NULL	285	val_285
+NULL	NULL	284	val_284
+NULL	NULL	283	val_283
+NULL	NULL	282	val_282
+NULL	NULL	282	val_282
+NULL	NULL	281	val_281
+NULL	NULL	281	val_281
+NULL	NULL	280	val_280
+NULL	NULL	280	val_280
+NULL	NULL	28	val_28
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	277	val_277
+NULL	NULL	275	val_275
+NULL	NULL	274	val_274
+NULL	NULL	272	val_272
+NULL	NULL	272	val_272
+NULL	NULL	27	val_27
+NULL	NULL	266	val_266
+NULL	NULL	265	val_265
+NULL	NULL	265	val_265
+NULL	NULL	263	val_263
+NULL	NULL	262	val_262
+NULL	NULL	260	val_260
+NULL	NULL	26	val_26
+NULL	NULL	26	val_26
+NULL	NULL	258	val_258
+NULL	NULL	257	val_257
+NULL	NULL	256	val_256
+NULL	NULL	256	val_256
+NULL	NULL	252	val_252
+NULL	NULL	249	val_249
+NULL	NULL	248	val_248
+NULL	NULL	247	val_247
+NULL	NULL	244	val_244
+NULL	NULL	242	val_242
+NULL	NULL	242	val_242
+NULL	NULL	241	val_241
+NULL	NULL	24	val_24
+NULL	NULL	24	val_24
+NULL	NULL	239	val_239
+NULL	NULL	239	val_239
+NULL	NULL	237	val_237
+NULL	NULL	237	val_237
+NULL	NULL	235	val_235
+NULL	NULL	233	val_233
+NULL	NULL	233	val_233
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	230	val_230
+NULL	NULL	229	val_229
+NULL	NULL	229	val_229
+NULL	NULL	228	val_228
+NULL	NULL	226	val_226
+NULL	NULL	223	val_223
+NULL	NULL	223	val_223
+NULL	NULL	222	val_222
+NULL	NULL	221	val_221
+NULL	NULL	221	val_221
+NULL	NULL	219	val_219
+NULL	NULL	219	val_219
+NULL	NULL	218	val_218
+NULL	NULL	217	val_217
+NULL	NULL	217	val_217
+NULL	NULL	216	val_216
+NULL	NULL	216	val_216
+NULL	NULL	214	val_214
+NULL	NULL	209	val_209
+NULL	NULL	209	val_209
+NULL	NULL	208	val_208
+NULL	NULL	208	val_208
+NULL	NULL	208	val_208
+NULL	NULL	207	val_207
+NULL	NULL	207	val_207
+NULL	NULL	205	val_205
+NULL	NULL	205	val_205
+NULL	NULL	203	val_203
+NULL	NULL	203	val_203
+NULL	NULL	202	val_202
+NULL	NULL	201	val_201
+NULL	NULL	200	val_200
+NULL	NULL	200	val_200
+NULL	NULL	20	val_20
+NULL	NULL	2	val_2
+NULL	NULL	199	val_199
+NULL	NULL	199	val_199
+NULL	NULL	199	val_199
+NULL	NULL	197	val_197
+NULL	NULL	197	val_197
+NULL	NULL	196	val_196
+NULL	NULL	195	val_195
+NULL	NULL	195	val_195
+NULL	NULL	194	val_194
+NULL	NULL	193	val_193
+NULL	NULL	193	val_193
+NULL	NULL	193	val_193
+NULL	NULL	192	val_192
+NULL	NULL	191	val_191
+NULL	NULL	191	val_191
+NULL	NULL	190	val_190
+NULL	NULL	19	val_19
+NULL	NULL	189	val_189
+NULL	NULL	187	val_187
+NULL	NULL	187	val_187
+NULL	NULL	187	val_187
+NULL	NULL	186	val_186
+NULL	NULL	183	val_183
+NULL	NULL	181	val_181
+NULL	NULL	180	val_180
+NULL	NULL	18	val_18
+NULL	NULL	18	val_18
+NULL	NULL	179	val_179
+NULL	NULL	179	val_179
+NULL	NULL	178	val_178
+NULL	NULL	177	val_177
+NULL	NULL	176	val_176
+NULL	NULL	176	val_176
+NULL	NULL	175	val_175
+NULL	NULL	175	val_175
+NULL	NULL	174	val_174
+NULL	NULL	174	val_174
+NULL	NULL	172	val_172
+NULL	NULL	172	val_172
+NULL	NULL	170	val_170
+NULL	NULL	17	val_17
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	169	val_169
+NULL	NULL	168	val_168
+NULL	NULL	167	val_167
+NULL	NULL	167	val_167
+NULL	NULL	167	val_167
+NULL	NULL	166	val_166
+NULL	NULL	165	val_165
+NULL	NULL	165	val_165
+NULL	NULL	164	val_164
+NULL	NULL	164	val_164
+NULL	NULL	163	val_163
+NULL	NULL	162	val_162
+NULL	NULL	160	val_160
+NULL	NULL	158	val_158
+NULL	NULL	157	val_157
+NULL	NULL	156	val_156
+NULL	NULL	155	val_155
+NULL	NULL	153	val_153
+NULL	NULL	152	val_152
+NULL	NULL	152	val_152
+NULL	NULL	15	val_15
+NULL	NULL	15	val_15
+NULL	NULL	149	val_149
+NULL	NULL	149	val_149
+NULL	NULL	145	val_145
+NULL	NULL	143	val_143
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	138	val_138
+NULL	NULL	137	val_137
+NULL	NULL	137	val_137
+NULL	NULL	136	val_136
+NULL	NULL	134	val_134
+NULL	NULL	134	val_134
+NULL	NULL	133	val_133
+NULL	NULL	131	val_131
+NULL	NULL	129	val_129
+NULL	NULL	129	val_129
+NULL	NULL	126	val_126
+NULL	NULL	125	val_125
+NULL	NULL	125	val_125
+NULL	NULL	120	val_120
+NULL	NULL	120	val_120
+NULL	NULL	12	val_12
+NULL	NULL	12	val_12
+NULL	NULL	119	val_119
+NULL	NULL	119	val_119
+NULL	NULL	119	val_119
+NULL	NULL	118	val_118
+NULL	NULL	118	val_118
+NULL	NULL	116	val_116
+NULL	NULL	114	val_114
+NULL	NULL	113	val_113
+NULL	NULL	113	val_113
+NULL	NULL	111	val_111
+NULL	NULL	11	val_11
+NULL	NULL	105	val_105
+NULL	NULL	104	val_104
+NULL	NULL	104	val_104
+NULL	NULL	103	val_103
+NULL	NULL	103	val_103
+NULL	NULL	100	val_100
+NULL	NULL	100	val_100
+NULL	NULL	10	val_10
+NULL	NULL	0	val_0
+NULL	NULL	0	val_0
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+128	val_128	128	val_128
+146	val_146	146	val_146
+146	val_146	146	val_146
+146	val_146	146	val_146
+146	val_146	146	val_146
+150	val_150	150	val_150
+213	val_213	213	val_213
+213	val_213	213	val_213
+213	val_213	213	val_213
+213	val_213	213	val_213
+224	val_224	224	val_224
+224	val_224	224	val_224
+224	val_224	224	val_224
+224	val_224	224	val_224
+238	val_238	238	val_238
+238	val_238	238	val_238
+238	val_238	238	val_238
+238	val_238	238	val_238
+255	val_255	255	val_255
+255	val_255	255	val_255
+255	val_255	255	val_255
+255	val_255	255	val_255
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+273	val_273	273	val_273
+278	val_278	278	val_278
+278	val_278	278	val_278
+278	val_278	278	val_278
+278	val_278	278	val_278
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+311	val_311	311	val_311
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+369	val_369	369	val_369
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+401	val_401	401	val_401
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+406	val_406	406	val_406
+66	val_66	66	val_66
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL	NULL	NULL	NULL	0	val_0
+NULL	NULL	NULL	NULL	97	val_97
+NULL	NULL	NULL	NULL	97	val_97
+NULL	NULL	NULL	NULL	96	val_96
+NULL	NULL	NULL	NULL	95	val_95
+NULL	NULL	NULL	NULL	95	val_95
+NULL	NULL	NULL	NULL	92	val_92
+NULL	NULL	NULL	NULL	90	val_90
+NULL	NULL	NULL	NULL	90	val_90
+NULL	NULL	NULL	NULL	90	val_90
+NULL	NULL	NULL	NULL	9	val_9
+NULL	NULL	NULL	NULL	87	val_87
+NULL	NULL	NULL	NULL	86	val_86
+NULL	NULL	NULL	NULL	85	val_85
+NULL	NULL	NULL	NULL	84	val_84
+NULL	NULL	NULL	NULL	84	val_84
+NULL	NULL	NULL	NULL	83	val_83
+NULL	NULL	NULL	NULL	83	val_83
+NULL	NULL	NULL	NULL	82	val_82
+NULL	NULL	NULL	NULL	80	val_80
+NULL	NULL	NULL	NULL	8	val_8
+NULL	NULL	NULL	NULL	78	val_78
+NULL	NULL	NULL	NULL	77	val_77
+NULL	NULL	NULL	NULL	76	val_76
+NULL	NULL	NULL	NULL	76	val_76
+NULL	NULL	NULL	NULL	74	val_74
+NULL	NULL	NULL	NULL	72	val_72
+NULL	NULL	NULL	NULL	72	val_72
+NULL	NULL	NULL	NULL	70	val_70
+NULL	NULL	NULL	NULL	70	val_70
+NULL	NULL	NULL	NULL	70	val_70
+NULL	NULL	NULL	NULL	69	val_69
+NULL	NULL	NULL	NULL	67	val_67
+NULL	NULL	NULL	NULL	67	val_67
+NULL	NULL	NULL	NULL	65	val_65
+NULL	NULL	NULL	NULL	64	val_64
+NULL	NULL	NULL	NULL	58	val_58
+NULL	NULL	NULL	NULL	58	val_58
+NULL	NULL	NULL	NULL	57	val_57
+NULL	NULL	NULL	NULL	54	val_54
+NULL	NULL	NULL	NULL	53	val_53
+NULL	NULL	NULL	NULL	51	val_51
+NULL	NULL	NULL	NULL	51	val_51
+NULL	NULL	NULL	NULL	5	val_5
+NULL	NULL	NULL	NULL	5	val_5
+NULL	NULL	NULL	NULL	5	val_5
+NULL	NULL	NULL	NULL	498	val_498
+NULL	NULL	NULL	NULL	498	val_498
+NULL	NULL	NULL	NULL	498	val_498
+NULL	NULL	NULL	NULL	497	val_497
+NULL	NULL	NULL	NULL	496	val_496
+NULL	NULL	NULL	NULL	495	val_495
+NULL	NULL	NULL	NULL	494	val_494
+NULL	NULL	NULL	NULL	493	val_493
+NULL	NULL	NULL	NULL	492	val_492
+NULL	NULL	NULL	NULL	492	val_492
+NULL	NULL	NULL	NULL	491	val_491
+NULL	NULL	NULL	NULL	490	val_490
+NULL	NULL	NULL	NULL	489	val_489
+NULL	NULL	NULL	NULL	489	val_489
+NULL	NULL	NULL	NULL	489	val_489
+NULL	NULL	NULL	NULL	489	val_489
+NULL	NULL	NULL	NULL	487	val_487
+NULL	NULL	NULL	NULL	485	val_485
+NULL	NULL	NULL	NULL	483	val_483
+NULL	NULL	NULL	NULL	482	val_482
+NULL	NULL	NULL	NULL	481	val_481
+NULL	NULL	NULL	NULL	480	val_480
+NULL	NULL	NULL	NULL	480	val_480
+NULL	NULL	NULL	NULL	480	val_480
+NULL	NULL	NULL	NULL	479	val_479
+NULL	NULL	NULL	NULL	478	val_478
+NULL	NULL	NULL	NULL	478	val_478
+NULL	NULL	NULL	NULL	477	val_477
+NULL	NULL	NULL	NULL	475	val_475
+NULL	NULL	NULL	NULL	472	val_472
+NULL	NULL	NULL	NULL	470	val_470
+NULL	NULL	NULL	NULL	47	val_47
+NULL	NULL	NULL	NULL	469	val_469
+NULL	NULL	NULL	NULL	469	val_469
+NULL	NULL	NULL	NULL	469	val_469
+NULL	NULL	NULL	NULL	469	val_469
+NULL	NULL	NULL	NULL	469	val_469
+NULL	NULL	NULL	NULL	468	val_468
+NULL	NULL	NULL	NULL	468	val_468
+NULL	NULL	NULL	NULL	468	val_468
+NULL	NULL	NULL	NULL	468	val_468
+NULL	NULL	NULL	NULL	467	val_467
+NULL	NULL	NULL	NULL	466	val_466
+NULL	NULL	NULL	NULL	466	val_466
+NULL	NULL	NULL	NULL	466	val_466
+NULL	NULL	NULL	NULL	463	val_463
+NULL	NULL	NULL	NULL	463	val_463
+NULL	NULL	NULL	NULL	462	val_462
+NULL	NULL	NULL	NULL	462	val_462
+NULL	NULL	NULL	NULL	460	val_460
+NULL	NULL	NULL	NULL	459	val_459
+NULL	NULL	NULL	NULL	459	val_459
+NULL	NULL	NULL	NULL	458	val_458
+NULL	NULL	NULL	NULL	458	val_458
+NULL	NULL	NULL	NULL	457	val_457
+NULL	NULL	NULL	NULL	455	val_455
+NULL	NULL	NULL	NULL	454	val_454
+NULL	NULL	NULL	NULL	454	val_454
+NULL	NULL	NULL	NULL	454	val_454
+NULL	NULL	NULL	NULL	453	val_453
+NULL	NULL	NULL	NULL	452	val_452
+NULL	NULL	NULL	NULL	449	val_449
+NULL	NULL	NULL	NULL	448	val_448
+NULL	NULL	NULL	NULL	446	val_446
+NULL	NULL	NULL	NULL	444	val_444
+NULL	NULL	NULL	NULL	443	val_443
+NULL	NULL	NULL	NULL	44	val_44
+NULL	NULL	NULL	NULL	439	val_439
+NULL	NULL	NULL	NULL	439	val_439
+NULL	NULL	NULL	NULL	438	val_438
+NULL	NULL	NULL	NULL	438	val_438
+NULL	NULL	NULL	NULL	438	val_438
+NULL	NULL	NULL	NULL	437	val_437
+NULL	NULL	NULL	NULL	436	val_436
+NULL	NULL	NULL	NULL	435	val_435
+NULL	NULL	NULL	NULL	432	val_432
+NULL	NULL	NULL	NULL	431	val_431
+NULL	NULL	NULL	NULL	431	val_431
+NULL	NULL	NULL	NULL	431	val_431
+NULL	NULL	NULL	NULL	430	val_430
+NULL	NULL	NULL	NULL	430	val_430
+NULL	NULL	NULL	NULL	430	val_430
+NULL	NULL	NULL	NULL	43	val_43
+NULL	NULL	NULL	NULL	429	val_429
+NULL	NULL	NULL	NULL	429	val_429
+NULL	NULL	NULL	NULL	427	val_427
+NULL	NULL	NULL	NULL	424	val_424
+NULL	NULL	NULL	NULL	424	val_424
+NULL	NULL	NULL	NULL	421	val_421
+NULL	NULL	NULL	NULL	42	val_42
+NULL	NULL	NULL	NULL	42	val_42
+NULL	NULL	NULL	NULL	419	val_419
+NULL	NULL	NULL	NULL	418	val_418
+NULL	NULL	NULL	NULL	417	val_417
+NULL	NULL	NULL	NULL	417	val_417
+NULL	NULL	NULL	NULL	417	val_417
+NULL	NULL	NULL	NULL	414	val_414
+NULL	NULL	NULL	NULL	414	val_414
+NULL	NULL	NULL	NULL	413	val_413
+NULL	NULL	NULL	NULL	413	val_413
+NULL	NULL	NULL	NULL	411	val_411
+NULL	NULL	NULL	NULL	41	val_41
+NULL	NULL	NULL	NULL	407	val_407
+NULL	NULL	NULL	NULL	404	val_404
+NULL	NULL	NULL	NULL	404	val_404
+NULL	NULL	NULL	NULL	403	val_403
+NULL	NULL	NULL	NULL	403	val_403
+NULL	NULL	NULL	NULL	403	val_403
+NULL	NULL	NULL	NULL	402	val_402
+NULL	NULL	NULL	NULL	400	val_400
+NULL	NULL	NULL	NULL	4	val_4
+NULL	NULL	NULL	NULL	399	val_399
+NULL	NULL	NULL	NULL	399	val_399
+NULL	NULL	NULL	NULL	397	val_397
+NULL	NULL	NULL	NULL	397	val_397
+NULL	NULL	NULL	NULL	396	val_396
+NULL	NULL	NULL	NULL	396	val_396
+NULL	NULL	NULL	NULL	396	val_396
+NULL	NULL	NULL	NULL	395	val_395
+NULL	NULL	NULL	NULL	395	val_395
+NULL	NULL	NULL	NULL	394	val_394
+NULL	NULL	NULL	NULL	393	val_393
+NULL	NULL	NULL	NULL	392	val_392
+NULL	NULL	NULL	NULL	389	val_389
+NULL	NULL	NULL	NULL	386	val_386
+NULL	NULL	NULL	NULL	384	val_384
+NULL	NULL	NULL	NULL	384	val_384
+NULL	NULL	NULL	NULL	384	val_384
+NULL	NULL	NULL	NULL	382	val_382
+NULL	NULL	NULL	NULL	382	val_382
+NULL	NULL	NULL	NULL	379	val_379
+NULL	NULL	NULL	NULL	378	val_378
+NULL	NULL	NULL	NULL	377	val_377
+NULL	NULL	NULL	NULL	375	val_375
+NULL	NULL	NULL	NULL	374	val_374
+NULL	NULL	NULL	NULL	373	val_373
+NULL	NULL	NULL	NULL	37	val_37
+NULL	NULL	NULL	NULL	37	val_37
+NULL	NULL	NULL	NULL	369	val_369
+NULL	NULL	NULL	NULL	369	val_369
+NULL	NULL	NULL	NULL	369	val_369
+NULL	NULL	NULL	NULL	368	val_368
+NULL	NULL	NULL	NULL	367	val_367
+NULL	NULL	NULL	NULL	367	val_367
+NULL	NULL	NULL	NULL	366	val_366
+NULL	NULL	NULL	NULL	365	val_365
+NULL	NULL	NULL	NULL	364	val_364
+NULL	NULL	NULL	NULL	362	val_362
+NULL	NULL	NULL	NULL	360	val_360
+NULL	NULL	NULL	NULL	356	val_356
+NULL	NULL	NULL	NULL	353	val_353
+NULL	NULL	NULL	NULL	353	val_353
+NULL	NULL	NULL	NULL	351	val_351
+NULL	NULL	NULL	NULL	35	val_35
+NULL	NULL	NULL	NULL	35	val_35
+NULL	NULL	NULL	NULL	35	val_35
+NULL	NULL	NULL	NULL	348	val_348
+NULL	NULL	NULL	NULL	348	val_348
+NULL	NULL	NULL	NULL	348	val_348
+NULL	NULL	NULL	NULL	348	val_348
+NULL	NULL	NULL	NULL	348	val_348
+NULL	NULL	NULL	NULL	345	val_345
+NULL	NULL	NULL	NULL	344	val_344
+NULL	NULL	NULL	NULL	344	val_344
+NULL	NULL	NULL	NULL	342	val_342
+NULL	NULL	NULL	NULL	342	val_342
+NULL	NULL	NULL	NULL	341	val_341
+NULL	NULL	NULL	NULL	34	val_34
+NULL	NULL	NULL	NULL	339	val_339
+NULL	NULL	NULL	NULL	338	val_338
+NULL	NULL	NULL	NULL	336	val_336
+NULL	NULL	NULL	NULL	335	val_335
+NULL	NULL	NULL	NULL	333	val_333
+NULL	NULL	NULL	NULL	333	val_333
+NULL	NULL	NULL	NULL	332	val_332
+NULL	NULL	NULL	NULL	331	val_331
+NULL	NULL	NULL	NULL	331	val_331
+NULL	NULL	NULL	NULL	33	val_33
+NULL	NULL	NULL	NULL	327	val_327
+NULL	NULL	NULL	NULL	327	val_327
+NULL	NULL	NULL	NULL	327	val_327
+NULL	NULL	NULL	NULL	325	val_325
+NULL	NULL	NULL	NULL	325	val_325
+NULL	NULL	NULL	NULL	323	val_323
+NULL	NULL	NULL	NULL	322	val_322
+NULL	NULL	NULL	NULL	322	val_322
+NULL	NULL	NULL	NULL	321	val_321
+NULL	NULL	NULL	NULL	321	val_321
+NULL	NULL	NULL	NULL	318	val_318
+NULL	NULL	NULL	NULL	318	val_318
+NULL	NULL	NULL	NULL	318	val_318
+NULL	NULL	NULL	NULL	317	val_317
+NULL	NULL	NULL	NULL	317	val_317
+NULL	NULL	NULL	NULL	316	val_316
+NULL	NULL	NULL	NULL	316	val_316
+NULL	NULL	NULL	NULL	316	val_316
+NULL	NULL	NULL	NULL	315	val_315
+NULL	NULL	NULL	NULL	310	val_310
+NULL	NULL	NULL	NULL	309	val_309
+NULL	NULL	NULL	NULL	309	val_309
+NULL	NULL	NULL	NULL	308	val_308
+NULL	NULL	NULL	NULL	307	val_307
+NULL	NULL	NULL	NULL	307	val_307
+NULL	NULL	NULL	NULL	306	val_306
+NULL	NULL	NULL	NULL	305	val_305
+NULL	NULL	NULL	NULL	302	val_302
+NULL	NULL	NULL	NULL	30	val_30
+NULL	NULL	NULL	NULL	298	val_298
+NULL	NULL	NULL	NULL	298	val_298
+NULL	NULL	NULL	NULL	298	val_298
+NULL	NULL	NULL	NULL	296	val_296
+NULL	NULL	NULL	NULL	292	val_292
+NULL	NULL	NULL	NULL	291	val_291
+NULL	NULL	NULL	NULL	289	val_289
+NULL	NULL	NULL	NULL	288	val_288
+NULL	NULL	NULL	NULL	288	val_288
+NULL	NULL	NULL	NULL	287	val_287
+NULL	NULL	NULL	NULL	286	val_286
+NULL	NULL	NULL	NULL	285	val_285
+NULL	NULL	NULL	NULL	284	val_284
+NULL	NULL	NULL	NULL	283	val_283
+NULL	NULL	NULL	NULL	282	val_282
+NULL	NULL	NULL	NULL	282	val_282
+NULL	NULL	NULL	NULL	281	val_281
+NULL	NULL	NULL	NULL	281	val_281
+NULL	NULL	NULL	NULL	280	val_280
+NULL	NULL	NULL	NULL	280	val_280
+NULL	NULL	NULL	NULL	28	val_28
+NULL	NULL	NULL	NULL	277	val_277
+NULL	NULL	NULL	NULL	277	val_277
+NULL	NULL	NULL	NULL	277	val_277
+NULL	NULL	NULL	NULL	277	val_277
+NULL	NULL	NULL	NULL	275	val_275
+NULL	NULL	NULL	NULL	274	val_274
+NULL	NULL	NULL	NULL	272	val_272
+NULL	NULL	NULL	NULL	272	val_272
+NULL	NULL	NULL	NULL	266	val_266
+NULL	NULL	NULL	NULL	263	val_263
+NULL	NULL	NULL	NULL	262	val_262
+NULL	NULL	NULL	NULL	260	val_260
+NULL	NULL	NULL	NULL	26	val_26
+NULL	NULL	NULL	NULL	26	val_26
+NULL	NULL	NULL	NULL	258	val_258
+NULL	NULL	NULL	NULL	257	val_257
+NULL	NULL	NULL	NULL	256	val_256
+NULL	NULL	NULL	NULL	256	val_256
+NULL	NULL	NULL	NULL	252	val_252
+NULL	NULL	NULL	NULL	249	val_249
+NULL	NULL	NULL	NULL	248	val_248
+NULL	NULL	NULL	NULL	247	val_247
+NULL	NULL	NULL	NULL	244	val_244
+NULL	NULL	NULL	NULL	242	val_242
+NULL	NULL	NULL	NULL	242	val_242
+NULL	NULL	NULL	NULL	241	val_241
+NULL	NULL	NULL	NULL	24	val_24
+NULL	NULL	NULL	NULL	24	val_24
+NULL	NULL	NULL	NULL	239	val_239
+NULL	NULL	NULL	NULL	239	val_239
+NULL	NULL	NULL	NULL	237	val_237
+NULL	NULL	NULL	NULL	237	val_237
+NULL	NULL	NULL	NULL	235	val_235
+NULL	NULL	NULL	NULL	233	val_233
+NULL	NULL	NULL	NULL	233	val_233
+NULL	NULL	NULL	NULL	230	val_230
+NULL	NULL	NULL	NULL	230	val_230
+NULL	NULL	NULL	NULL	230	val_230
+NULL	NULL	NULL	NULL	230	val_230
+NULL	NULL	NULL	NULL	230	val_230
+NULL	NULL	NULL	NULL	229	val_229
+NULL	NULL	NULL	NULL	229	val_229
+NULL	NULL	NULL	NULL	228	val_228
+NULL	NULL	NULL	NULL	226	val_226
+NULL	NULL	NULL	NULL	224	val_224
+NULL	NULL	NULL	NULL	224	val_224
+NULL	NULL	NULL	NULL	223	val_223
+NULL	NULL	NULL	NULL	223	val_223
+NULL	NULL	NULL	NULL	222	val_222
+NULL	NULL	NULL	NULL	221	val_221
+NULL	NULL	NULL	NULL	221	val_221
+NULL	NULL	NULL	NULL	219	val_219
+NULL	NULL	NULL	NULL	219	val_219
+NULL	NULL	NULL	NULL	218	val_218
+NULL	NULL	NULL	NULL	217	val_217
+NULL	NULL	NULL	NULL	217	val_217
+NULL	NULL	NULL	NULL	216	val_216
+NULL	NULL	NULL	NULL	216	val_216
+NULL	NULL	NULL	NULL	214	val_214
+NULL	NULL	NULL	NULL	209	val_209
+NULL	NULL	NULL	NULL	209	val_209
+NULL	NULL	NULL	NULL	208	val_208
+NULL	NULL	NULL	NULL	208	val_208
+NULL	NULL	NULL	NULL	208	val_208
+NULL	NULL	NULL	NULL	207	val_207
+NULL	NULL	NULL	NULL	207	val_207
+NULL	NULL	NULL	NULL	205	val_205
+NULL	NULL	NULL	NULL	205	val_205
+NULL	NULL	NULL	NULL	203	val_203
+NULL	NULL	NULL	NULL	203	val_203
+NULL	NULL	NULL	NULL	202	val_202
+NULL	NULL	NULL	NULL	201	val_201
+NULL	NULL	NULL	NULL	200	val_200
+NULL	NULL	NULL	NULL	200	val_200
+NULL	NULL	NULL	NULL	20	val_20
+NULL	NULL	NULL	NULL	2	val_2
+NULL	NULL	NULL	NULL	199	val_199
+NULL	NULL	NULL	NULL	199	val_199
+NULL	NULL	NULL	NULL	199	val_199
+NULL	NULL	NULL	NULL	197	val_197
+NULL	NULL	NULL	NULL	197	val_197
+NULL	NULL	NULL	NULL	196	val_196
+NULL	NULL	NULL	NULL	195	val_195
+NULL	NULL	NULL	NULL	195	val_195
+NULL	NULL	NULL	NULL	194	val_194
+NULL	NULL	NULL	NULL	192	val_192
+NULL	NULL	NULL	NULL	191	val_191
+NULL	NULL	NULL	NULL	191	val_191
+NULL	NULL	NULL	NULL	190	val_190
+NULL	NULL	NULL	NULL	19	val_19
+NULL	NULL	NULL	NULL	189	val_189
+NULL	NULL	NULL	NULL	187	val_187
+NULL	NULL	NULL	NULL	187	val_187
+NULL	NULL	NULL	NULL	187	val_187
+NULL	NULL	NULL	NULL	186	val_186
+NULL	NULL	NULL	NULL	183	val_183
+NULL	NULL	NULL	NULL	181	val_181
+NULL	NULL	NULL	NULL	180	val_180
+NULL	NULL	NULL	NULL	18	val_18
+NULL	NULL	NULL	NULL	18	val_18
+NULL	NULL	NULL	NULL	179	val_179
+NULL	NULL	NULL	NULL	179	val_179
+NULL	NULL	NULL	NULL	178	val_178
+NULL	NULL	NULL	NULL	177	val_177
+NULL	NULL	NULL	NULL	176	val_176
+NULL	NULL	NULL	NULL	176	val_176
+NULL	NULL	NULL	NULL	175	val_175
+NULL	NULL	NULL	NULL	175	val_175
+NULL	NULL	NULL	NULL	174	val_174
+NULL	NULL	NULL	NULL	174	val_174
+NULL	NULL	NULL	NULL	172	val_172
+NULL	NULL	NULL	NULL	172	val_172
+NULL	NULL	NULL	NULL	170	val_170
+NULL	NULL	NULL	NULL	17	val_17
+NULL	NULL	NULL	NULL	169	val_169
+NULL	NULL	NULL	NULL	169	val_169
+NULL	NULL	NULL	NULL	169	val_169
+NULL	NULL	NULL	NULL	169	val_169
+NULL	NULL	NULL	NULL	168	val_168
+NULL	NULL	NULL	NULL	167	val_167
+NULL	NULL	NULL	NULL	167	val_167
+NULL	NULL	NULL	NULL	167	val_167
+NULL	NULL	NULL	NULL	166	val_166
+NULL	NULL	NULL	NULL	164	val_164
+NULL	NULL	NULL	NULL	164	val_164
+NULL	NULL	NULL	NULL	163	val_163
+NULL	NULL	NULL	NULL	162	val_162
+NULL	NULL	NULL	NULL	160	val_160
+NULL	NULL	NULL	NULL	158	val_158
+NULL	NULL	NULL	NULL	157	val_157
+NULL	NULL	NULL	NULL	156	val_156
+NULL	NULL	NULL	NULL	155	val_155
+NULL	NULL	NULL	NULL	153	val_153
+NULL	NULL	NULL	NULL	152	val_152
+NULL	NULL	NULL	NULL	152	val_152
+NULL	NULL	NULL	NULL	15	val_15
+NULL	NULL	NULL	NULL	15	val_15
+NULL	NULL	NULL	NULL	149	val_149
+NULL	NULL	NULL	NULL	149	val_149
+NULL	NULL	NULL	NULL	145	val_145
+NULL	NULL	NULL	NULL	143	val_143
+NULL	NULL	NULL	NULL	138	val_138
+NULL	NULL	NULL	NULL	138	val_138
+NULL	NULL	NULL	NULL	138	val_138
+NULL	NULL	NULL	NULL	138	val_138
+NULL	NULL	NULL	NULL	137	val_137
+NULL	NULL	NULL	NULL	137	val_137
+NULL	NULL	NULL	NULL	136	val_136
+NULL	NULL	NULL	NULL	134	val_134
+NULL	NULL	NULL	NULL	134	val_134
+NULL	NULL	NULL	NULL	133	val_133
+NULL	NULL	NULL	NULL	131	val_131
+NULL	NULL	NULL	NULL	129	val_129
+NULL	NULL	NULL	NULL	129	val_129
+NULL	NULL	NULL	NULL	128	val_128
+NULL	NULL	NULL	NULL	128	val_128
+NULL	NULL	NULL	NULL	128	val_128
+NULL	NULL	NULL	NULL	126	val_126
+NULL	NULL	NULL	NULL	125	val_125
+NULL	NULL	NULL	NULL	125	val_125
+NULL	NULL	NULL	NULL	120	val_120
+NULL	NULL	NULL	NULL	120	val_120
+NULL	NULL	NULL	NULL	12	val_12
+NULL	NULL	NULL	NULL	12	val_12
+NULL	NULL	NULL	NULL	119	val_119
+NULL	NULL	NULL	NULL	119	val_119
+NULL	NULL	NULL	NULL	119	val_119
+NULL	NULL	NULL	NULL	118	val_118
+NULL	NULL	NULL	NULL	118	val_118
+NULL	NULL	NULL	NULL	116	val_116
+NULL	NULL	NULL	NULL	114	val_114
+NULL	NULL	NULL	NULL	113	val_113
+NULL	NULL	NULL	NULL	113	val_113
+NULL	NULL	NULL	NULL	111	val_111
+NULL	NULL	NULL	NULL	11	val_11
+NULL	NULL	NULL	NULL	105	val_105
+NULL	NULL	NULL	NULL	104	val_104
+NULL	NULL	NULL	NULL	104	val_104
+NULL	NULL	NULL	NULL	103	val_103
+NULL	NULL	NULL	NULL	103	val_103
+NULL	NULL	NULL	NULL	100	val_100
+NULL	NULL	NULL	NULL	100	val_100
+NULL	NULL	NULL	NULL	10	val_10
+NULL	NULL	NULL	NULL	0	val_0
+NULL	NULL	NULL	NULL	0	val_0
+	val_409	NULL	NULL	409	val_409
+	val_165	NULL	NULL	165	val_165
+	val_165	NULL	NULL	165	val_165
+	val_193	NULL	NULL	193	val_193
+	val_484	NULL	NULL	484	val_484
+	val_409	NULL	NULL	409	val_409
+	val_265	NULL	NULL	265	val_265
+	val_265	NULL	NULL	265	val_265
+	val_27	NULL	NULL	27	val_27
+	val_193	NULL	NULL	193	val_193
+	val_193	NULL	NULL	193	val_193
+	val_409	NULL	NULL	409	val_409
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+150	val_150	150	val_150	150	val_150
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+66	val_66	66	val_66	66	val_66
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+	val_27	NULL	NULL	27	val_27
+		NULL	NULL	NULL	NULL
+		NULL	NULL	NULL	NULL
+	val_484	NULL	NULL	484	val_484
+	val_409	NULL	NULL	409	val_409
+	val_409	NULL	NULL	409	val_409
+	val_409	NULL	NULL	409	val_409
+		NULL	NULL	NULL	NULL
+		NULL	NULL	NULL	NULL
+	val_165	NULL	NULL	165	val_165
+	val_165	NULL	NULL	165	val_165
+	val_193	NULL	NULL	193	val_193
+	val_193	NULL	NULL	193	val_193
+	val_193	NULL	NULL	193	val_193
+	val_265	NULL	NULL	265	val_265
+	val_265	NULL	NULL	265	val_265
+128		128	val_128	NULL	NULL
+128		128	val_128	NULL	NULL
+128		128	val_128	NULL	NULL
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+150	val_150	150	val_150	150	val_150
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+224		224	val_224	NULL	NULL
+224		224	val_224	NULL	NULL
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+369		369	val_369	NULL	NULL
+369		369	val_369	NULL	NULL
+369		369	val_369	NULL	NULL
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+66	val_66	66	val_66	66	val_66
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+150	val_150	150	val_150	150	val_150
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+66	val_66	66	val_66	66	val_66
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+PREHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+128		128	val_128	128	val_128
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+146	val_146	146	val_146	146	val_146
+150	val_150	150	val_150	150	val_150
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+213	val_213	213	val_213	213	val_213
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+224		224	val_224	224	val_224
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+238	val_238	238	val_238	238	val_238
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+255	val_255	255	val_255	255	val_255
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+273	val_273	273	val_273	273	val_273
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+278	val_278	278	val_278	278	val_278
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+311	val_311	311	val_311	311	val_311
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+369		369	val_369	369	val_369
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+401	val_401	401	val_401	401	val_401
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+406	val_406	406	val_406	406	val_406
+66	val_66	66	val_66	66	val_66
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+98	val_98	98	val_98	98	val_98
+PREHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+107