Added a new merge policy, called correlated-prefix.

Change-Id: I8f961eb28b4ea460f6326c8b4acaea02b50819e9
Reviewed-on: http://fulliautomatix.ics.uci.edu:8443/108
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterix-aql/src/main/javacc/AQL.jj b/asterix-aql/src/main/javacc/AQL.jj
index bb78860..6be8300 100644
--- a/asterix-aql/src/main/javacc/AQL.jj
+++ b/asterix-aql/src/main/javacc/AQL.jj
@@ -324,7 +324,7 @@
     "using" adapterName = AdapterName() properties = Configuration()
     ("on" nodeGroupName = Identifier() )?
     ( "hints" hints = Properties() )?
-    ( "using" "compaction" "policy" compactionPolicy = CompactionPolicy() compactionPolicyProperties = Configuration() )?
+    ( "using" "compaction" "policy" compactionPolicy = CompactionPolicy() (compactionPolicyProperties = Configuration())? )?
       {
         ExternalDetailsDecl edd = new ExternalDetailsDecl();
         edd.setAdapter(adapterName);
@@ -348,7 +348,7 @@
     ("autogenerated" { autogenerated = true; } )? 
     ("on" nodeGroupName = Identifier() )?
     ( "hints" hints = Properties() )?
-    ( "using" "compaction" "policy" compactionPolicy = CompactionPolicy() compactionPolicyProperties = Configuration() )?
+    ( "using" "compaction" "policy" compactionPolicy = CompactionPolicy() (compactionPolicyProperties = Configuration())? )?
     ( "with filter on" filterField = FilterField() )?
       {
         InternalDetailsDecl idd = new InternalDetailsDecl(nodeGroupName != null