This is an automated email from the ASF dual-hosted git repository.

wyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new da4eda85be [MULTIPLE ISSUES] Fixes for columnar datasets
da4eda85be is described below

commit da4eda85bef1bd7e8311890490c5c9c53a0a875f
Author: Wail Alkowaileet <[email protected]>
AuthorDate: Fri May 19 15:50:39 2023 -0700

    [MULTIPLE ISSUES] Fixes for columnar datasets
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    - metadata changes: yes
    
    Details:
    This patch introduces multiple changes/fixes::
    - ASTERIXDB-3194: Write DatasetFormat for row datasets
      in Metadata.Dataset
    - ASTERIXDB-3193: Fix bug in Pushdown rule when multi-part
      dataverse names are used
    - ASTERIXDB-3192: Fix handling empty components of
      columnar datasets
    - ASTERIXDB-3191: Change type of FreeSpaceTolerance to
      double (instead of float)
    
    Metadata changes:
    - DatasetFormat will appear for both row
      and columnar datasets
    - FreeSpaceTolerance in Metadata.Dataset will
      be displayed differently
      - before: 0.15000000596046448
      - after: 0.15
    
    Change-Id: I3cad84ea748eedc8b376c6701dbc4e8fa911b733
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17542
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Wail Alkowaileet <[email protected]>
    Reviewed-by: Murtadha Hubail <[email protected]>
---
 .../OperatorValueAccessPushdownVisitor.java        |  2 +-
 .../dataset_with_meta-1/dataset_with_meta-1.1.adm  |  2 +-
 .../dataset_with_meta-2/dataset_with_meta-2.1.adm  |  2 +-
 .../dataset_with_meta-3/dataset_with_meta-2.3.adm  |  2 +-
 .../dataset_with_meta-4/dataset_with_meta-4.3.adm  |  2 +-
 .../dataset_with_meta-5/dataset_with_meta-5.3.adm  |  2 +-
 .../issue_251_dataset_hint_2.1.adm                 |  2 +-
 .../issue_251_dataset_hint_3.1.adm                 |  2 +-
 .../issue_251_dataset_hint_4.1.adm                 |  2 +-
 .../metadata/results/basic/meta02/meta02.1.adm     |  2 +-
 .../metadata/results/basic/meta09/meta09.1.adm     |  2 +-
 .../basic/metadata_dataset/metadata_dataset.1.adm  | 34 ++++++------
 .../user-defined-functions/udf23/udf23.1.adm       | 12 ++---
 .../asterix/column/ColumnManagerFactory.java       |  4 +-
 .../flush/FlushColumnTupleReaderWriterFactory.java |  2 +-
 .../lsm/flush/FlushColumnTupleWithMetaWriter.java  |  2 +-
 .../lsm/flush/FlushColumnTupleWriter.java          |  2 +-
 .../load/LoadColumnTupleReaderWriterFactory.java   |  2 +-
 .../operation/lsm/load/LoadColumnTupleWriter.java  |  2 +-
 .../merge/MergeColumnTupleReaderWriterFactory.java |  2 +-
 .../lsm/merge/MergeColumnTupleWriter.java          |  2 +-
 .../column/values/writer/ColumnBatchWriter.java    |  4 +-
 .../asterix/common/config/StorageProperties.java   |  6 +--
 .../asterix/lang/common/statement/DatasetDecl.java |  4 +-
 .../metadata/dataset/DatasetFormatInfo.java        |  8 +--
 .../DatasetTupleTranslator.java                    | 62 ++++++++++++----------
 .../apache/asterix/object/base/AdmObjectNode.java  |  4 +-
 .../AbstractColumnTupleReaderWriterFactory.java    |  4 +-
 .../impls/btree/ColumnBTreeRangeSearchCursor.java  |  9 +++-
 29 files changed, 99 insertions(+), 88 deletions(-)

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/OperatorValueAccessPushdownVisitor.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/OperatorValueAccessPushdownVisitor.java
index ce1fe682a9..9eb25d09da 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/OperatorValueAccessPushdownVisitor.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/OperatorValueAccessPushdownVisitor.java
@@ -295,7 +295,7 @@ public class OperatorValueAccessPushdownVisitor implements 
ILogicalOperatorVisit
             return null;
         }
 
-        DataSourceId dsid = new 
DataSourceId(DataverseName.createBuiltinDataverseName(dataverse), dataset);
+        DataSourceId dsid = new 
DataSourceId(DataverseName.createFromCanonicalForm(dataverse), dataset);
         MetadataProvider metadataProvider = (MetadataProvider) 
context.getMetadataProvider();
         return metadataProvider.findDataSource(dsid);
     }
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-1/dataset_with_meta-1.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-1/dataset_with_meta-1.1.adm
index 4451bcc7f4..96ca16e47f 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-1/dataset_with_meta-1.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-1/dataset_with_meta-1.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-2/dataset_with_meta-2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-2/dataset_with_meta-2.1.adm
index 010207b9b3..ce2dc7c628 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-2/dataset_with_meta-2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-2/dataset_with_meta-2.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-3/dataset_with_meta-2.3.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-3/dataset_with_meta-2.3.adm
index 83b80dbf80..71072f4705 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-3/dataset_with_meta-2.3.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-3/dataset_with_meta-2.3.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-4/dataset_with_meta-4.3.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-4/dataset_with_meta-4.3.adm
index f6e8f81724..f2e03199d1 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-4/dataset_with_meta-4.3.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-4/dataset_with_meta-4.3.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-5/dataset_with_meta-5.3.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-5/dataset_with_meta-5.3.adm
index 370134fe74..7c2d1ae706 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-5/dataset_with_meta-5.3.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/dataset_with_meta-5/dataset_with_meta-5.3.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_2/issue_251_dataset_hint_2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_2/issue_251_dataset_hint_2.1.adm
index 3d5d29a421..792935f11a 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_2/issue_251_dataset_hint_2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_2/issue_251_dataset_hint_2.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_3/issue_251_dataset_hint_3.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_3/issue_251_dataset_hint_3.1.adm
index 6fc4f6fb3a..e612895ceb 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_3/issue_251_dataset_hint_3.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_3/issue_251_dataset_hint_3.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_4/issue_251_dataset_hint_4.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_4/issue_251_dataset_hint_4.1.adm
index ba7b9caf81..ac171aaa9e 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_4/issue_251_dataset_hint_4.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/issue_251_dataset_hint_4/issue_251_dataset_hint_4.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
+{ "DataverseName": "test", "DatasetName": "Book", "DatatypeDataverseName": 
"test", "DatatypeName": "LineType", "DatasetType": "INTERNAL", "GroupName": 
"test.Book", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ 
{ "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "Partition [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta02/meta02.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta02/meta02.1.adm
index 4e8131df8a..39391caaf5 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta02/meta02.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta02/meta02.1.adm
@@ -1 +1 @@
-{ "DataverseName": "testdv", "DatasetName": "dst01", "DatatypeDataverseName": 
"testdv", "DatatypeName": "testtype", "DatasetType": "INTERNAL", "GroupName": 
"testdv.dst01", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": 
[ { "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "P [...]
+{ "DataverseName": "testdv", "DatasetName": "dst01", "DatatypeDataverseName": 
"testdv", "DatatypeName": "testtype", "DatasetType": "INTERNAL", "GroupName": 
"testdv.dst01", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": 
[ { "Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "P [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta09/meta09.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta09/meta09.1.adm
index 088cc71edd..c63e98e338 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta09/meta09.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/meta09/meta09.1.adm
@@ -1 +1 @@
-{ "DataverseName": "test", "DatasetName": "t1", "DatatypeDataverseName": 
"test", "DatatypeName": "testtype", "DatasetType": "INTERNAL", "GroupName": 
"test.t1", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { 
"Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningS [...]
+{ "DataverseName": "test", "DatasetName": "t1", "DatatypeDataverseName": 
"test", "DatatypeName": "testtype", "DatasetType": "INTERNAL", "GroupName": 
"test.t1", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { 
"Name": "max-component-count", "Value": "30" }, { "Name": 
"min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningS [...]
diff --git 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/metadata_dataset/metadata_dataset.1.adm
 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/metadata_dataset/metadata_dataset.1.adm
index 80bc98a603..ca995353b6 100644
--- 
a/asterixdb/asterix-app/src/test/resources/metadata/results/basic/metadata_dataset/metadata_dataset.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/metadata/results/basic/metadata_dataset/metadata_dataset.1.adm
@@ -1,17 +1,17 @@
-{ "DataverseName": "Metadata", "DatasetName": "CompactionPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"CompactionPolicyRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetail [...]
-{ "DataverseName": "Metadata", "DatasetName": "Dataset", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatasetRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
-{ "DataverseName": "Metadata", "DatasetName": "DatasourceAdapter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"DatasourceAdapterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDeta [...]
-{ "DataverseName": "Metadata", "DatasetName": "Datatype", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
-{ "DataverseName": "Metadata", "DatasetName": "Dataverse", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DataverseRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
-{ "DataverseName": "Metadata", "DatasetName": "ExternalFile", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "ExternalFileRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "F [...]
-{ "DataverseName": "Metadata", "DatasetName": "Feed", "DatatypeDataverseName": 
"Metadata", "DatatypeName": "FeedRecordType", "DatasetType": "INTERNAL", 
"GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": " [...]
-{ "DataverseName": "Metadata", "DatasetName": "FeedConnection", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FeedConnectionRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
-{ "DataverseName": "Metadata", "DatasetName": "FeedPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "FeedPolicyRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileS [...]
-{ "DataverseName": "Metadata", "DatasetName": "FullTextConfig", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FullTextConfigRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
-{ "DataverseName": "Metadata", "DatasetName": "FullTextFilter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FullTextFilterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
-{ "DataverseName": "Metadata", "DatasetName": "Function", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "FunctionRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
-{ "DataverseName": "Metadata", "DatasetName": "Index", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "IndexRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructure": [...]
-{ "DataverseName": "Metadata", "DatasetName": "Library", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "LibraryRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
-{ "DataverseName": "Metadata", "DatasetName": "Node", "DatatypeDataverseName": 
"Metadata", "DatatypeName": "NodeRecordType", "DatasetType": "INTERNAL", 
"GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": " [...]
-{ "DataverseName": "Metadata", "DatasetName": "Nodegroup", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "NodeGroupRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
-{ "DataverseName": "Metadata", "DatasetName": "Synonym", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "SynonymRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
\ No newline at end of file
+{ "DataverseName": "Metadata", "DatasetName": "CompactionPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"CompactionPolicyRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetail [...]
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatasetRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
+{ "DataverseName": "Metadata", "DatasetName": "DatasourceAdapter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"DatasourceAdapterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDeta [...]
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
+{ "DataverseName": "Metadata", "DatasetName": "Dataverse", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DataverseRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
+{ "DataverseName": "Metadata", "DatasetName": "ExternalFile", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "ExternalFileRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "F [...]
+{ "DataverseName": "Metadata", "DatasetName": "Feed", "DatatypeDataverseName": 
"Metadata", "DatatypeName": "FeedRecordType", "DatasetType": "INTERNAL", 
"GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": " [...]
+{ "DataverseName": "Metadata", "DatasetName": "FeedConnection", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FeedConnectionRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
+{ "DataverseName": "Metadata", "DatasetName": "FeedPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "FeedPolicyRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileS [...]
+{ "DataverseName": "Metadata", "DatasetName": "FullTextConfig", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FullTextConfigRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
+{ "DataverseName": "Metadata", "DatasetName": "FullTextFilter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"FullTextFilterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails":  [...]
+{ "DataverseName": "Metadata", "DatasetName": "Function", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "FunctionRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
+{ "DataverseName": "Metadata", "DatasetName": "Index", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "IndexRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructure": [...]
+{ "DataverseName": "Metadata", "DatasetName": "Library", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "LibraryRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
+{ "DataverseName": "Metadata", "DatasetName": "Node", "DatatypeDataverseName": 
"Metadata", "DatatypeName": "NodeRecordType", "DatasetType": "INTERNAL", 
"GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetails": { "FileStructure": " [...]
+{ "DataverseName": "Metadata", "DatasetName": "Nodegroup", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "NodeGroupRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
+{ "DataverseName": "Metadata", "DatasetName": "Synonym", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "SynonymRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
\ No newline at end of file
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf23/udf23.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf23/udf23.1.adm
index 1132f8f8e5..c69e050242 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf23/udf23.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/user-defined-functions/udf23/udf23.1.adm
@@ -1,6 +1,6 @@
-{ "DataverseName": "Metadata", "DatasetName": "CompactionPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"CompactionPolicyRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetail [...]
-{ "DataverseName": "Metadata", "DatasetName": "Dataset", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatasetRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
-{ "DataverseName": "Metadata", "DatasetName": "DatasourceAdapter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"DatasourceAdapterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDeta [...]
-{ "DataverseName": "Metadata", "DatasetName": "Datatype", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
-{ "DataverseName": "Metadata", "DatasetName": "Dataverse", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DataverseRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
-{ "DataverseName": "Metadata", "DatasetName": "ExternalFile", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "ExternalFileRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "F [...]
+{ "DataverseName": "Metadata", "DatasetName": "CompactionPolicy", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"CompactionPolicyRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDetail [...]
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatasetRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStructu [...]
+{ "DataverseName": "Metadata", "DatasetName": "DatasourceAdapter", 
"DatatypeDataverseName": "Metadata", "DatatypeName": 
"DatasourceAdapterRecordType", "DatasetType": "INTERNAL", "GroupName": 
"MetadataGroup", "CompactionPolicy": "concurrent", 
"CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" 
}, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": 
"max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": 
"1.2" } ], "InternalDeta [...]
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStruc [...]
+{ "DataverseName": "Metadata", "DatasetName": "Dataverse", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "DataverseRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "FileStr [...]
+{ "DataverseName": "Metadata", "DatasetName": "ExternalFile", 
"DatatypeDataverseName": "Metadata", "DatatypeName": "ExternalFileRecordType", 
"DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": 
"concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", 
"Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { 
"Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", 
"Value": "1.2" } ], "InternalDetails": { "F [...]
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/ColumnManagerFactory.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/ColumnManagerFactory.java
index 0b76216cd4..359c3e17a9 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/ColumnManagerFactory.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/ColumnManagerFactory.java
@@ -45,10 +45,10 @@ public final class ColumnManagerFactory implements 
IColumnManagerFactory {
     private final List<Integer> keySourceIndicator;
     private final int pageSize;
     private final int maxTupleCount;
-    private final float tolerance;
+    private final double tolerance;
 
     public ColumnManagerFactory(ARecordType datasetType, ARecordType metaType, 
List<List<String>> primaryKeys,
-            List<Integer> keySourceIndicator, int pageSize, int maxTupleCount, 
float tolerance) {
+            List<Integer> keySourceIndicator, int pageSize, int maxTupleCount, 
double tolerance) {
         this.pageSize = pageSize;
         this.maxTupleCount = maxTupleCount;
         this.tolerance = tolerance;
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleReaderWriterFactory.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleReaderWriterFactory.java
index 9b1b0a20e9..7107333ad3 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleReaderWriterFactory.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleReaderWriterFactory.java
@@ -28,7 +28,7 @@ import 
org.apache.hyracks.storage.am.lsm.btree.column.api.projection.IColumnProj
 public class FlushColumnTupleReaderWriterFactory extends 
AbstractColumnTupleReaderWriterFactory {
     private static final long serialVersionUID = -9197679192729634493L;
 
-    public FlushColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, float tolerance) {
+    public FlushColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, double tolerance) {
         super(pageSize, maxNumberOfTuples, tolerance);
     }
 
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWithMetaWriter.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWithMetaWriter.java
index 9c527daa0e..9b2b7b8d90 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWithMetaWriter.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWithMetaWriter.java
@@ -28,7 +28,7 @@ public class FlushColumnTupleWithMetaWriter extends 
FlushColumnTupleWriter {
     private final RecordLazyVisitablePointable metaPointable;
 
     public FlushColumnTupleWithMetaWriter(FlushColumnMetadata columnMetadata, 
int pageSize, int maxNumberOfTuples,
-            float tolerance) {
+            double tolerance) {
         super(columnMetadata, pageSize, maxNumberOfTuples, tolerance);
         metaColumnTransformer = new ColumnTransformer(columnMetadata, 
columnMetadata.getMetaRoot());
         metaPointable = new 
TypedRecordLazyVisitablePointable(columnMetadata.getMetaType());
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
index 1af043fb4e..d0b228ff0f 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
@@ -42,7 +42,7 @@ public class FlushColumnTupleWriter extends 
AbstractColumnTupleWriter {
     protected int primaryKeysEstimatedSize;
 
     public FlushColumnTupleWriter(FlushColumnMetadata columnMetadata, int 
pageSize, int maxNumberOfTuples,
-            float tolerance) {
+            double tolerance) {
         this.columnMetadata = columnMetadata;
         transformer = new ColumnTransformer(columnMetadata, 
columnMetadata.getRoot());
         finalizer = new BatchFinalizerVisitor(columnMetadata);
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleReaderWriterFactory.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleReaderWriterFactory.java
index 0c1990f479..5ac41fadd5 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleReaderWriterFactory.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleReaderWriterFactory.java
@@ -26,7 +26,7 @@ import 
org.apache.hyracks.storage.am.lsm.btree.column.api.IColumnMetadata;
 public class LoadColumnTupleReaderWriterFactory extends 
FlushColumnTupleReaderWriterFactory {
     private static final long serialVersionUID = -7583574057314353873L;
 
-    public LoadColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, float tolerance) {
+    public LoadColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, double tolerance) {
         super(pageSize, maxNumberOfTuples, tolerance);
     }
 
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleWriter.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleWriter.java
index e4604da849..6b840df9c8 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleWriter.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/load/LoadColumnTupleWriter.java
@@ -25,7 +25,7 @@ import 
org.apache.hyracks.dataflow.common.data.accessors.ITupleReference;
 
 public class LoadColumnTupleWriter extends FlushColumnTupleWriter {
     public LoadColumnTupleWriter(FlushColumnMetadata columnMetadata, int 
pageSize, int maxNumberOfTuples,
-            float tolerance) {
+            double tolerance) {
         super(columnMetadata, pageSize, maxNumberOfTuples, tolerance);
     }
 
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleReaderWriterFactory.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleReaderWriterFactory.java
index 1ac94fe4cc..3d89933b98 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleReaderWriterFactory.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleReaderWriterFactory.java
@@ -28,7 +28,7 @@ import 
org.apache.hyracks.storage.am.lsm.btree.column.api.projection.IColumnProj
 public class MergeColumnTupleReaderWriterFactory extends 
AbstractColumnTupleReaderWriterFactory {
     private static final long serialVersionUID = -2131401304338796428L;
 
-    public MergeColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, float tolerance) {
+    public MergeColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, double tolerance) {
         super(pageSize, maxNumberOfTuples, tolerance);
     }
 
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleWriter.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleWriter.java
index fbda6d000c..41a8263e59 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleWriter.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/merge/MergeColumnTupleWriter.java
@@ -47,7 +47,7 @@ public class MergeColumnTupleWriter extends 
AbstractColumnTupleWriter {
     private int primaryKeysEstimatedSize;
 
     public MergeColumnTupleWriter(MergeColumnWriteMetadata columnMetadata, int 
pageSize, int maxNumberOfTuples,
-            float tolerance) {
+            double tolerance) {
         this.columnMetadata = columnMetadata;
         List<IColumnTupleIterator> componentsTuplesList = 
columnMetadata.getComponentsTuples();
         this.componentsTuples = new 
MergeColumnTupleReference[componentsTuplesList.size()];
diff --git 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/ColumnBatchWriter.java
 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/ColumnBatchWriter.java
index 490afe7605..6fbdc27016 100644
--- 
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/ColumnBatchWriter.java
+++ 
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/writer/ColumnBatchWriter.java
@@ -39,7 +39,7 @@ public final class ColumnBatchWriter implements 
IColumnBatchWriter {
     private final ByteBufferOutputStream primaryKeys;
     private final MultiPersistentBufferBytesOutputStream columns;
     private final int pageSize;
-    private final float tolerance;
+    private final double tolerance;
     private final IReservedPointer columnLengthPointer;
 
     private ByteBuffer pageZero;
@@ -48,7 +48,7 @@ public final class ColumnBatchWriter implements 
IColumnBatchWriter {
     private int primaryKeysOffset;
     private int nonKeyColumnStartOffset;
 
-    public ColumnBatchWriter(Mutable<IColumnWriteMultiPageOp> multiPageOpRef, 
int pageSize, float tolerance) {
+    public ColumnBatchWriter(Mutable<IColumnWriteMultiPageOp> multiPageOpRef, 
int pageSize, double tolerance) {
         this.pageSize = pageSize;
         this.tolerance = tolerance;
         primaryKeys = new ByteBufferOutputStream();
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
index aa90e7ae8a..2e22a30896 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
@@ -65,7 +65,7 @@ public class StorageProperties extends AbstractProperties {
         STORAGE_GLOBAL_CLEANUP(BOOLEAN, true),
         STORAGE_GLOBAL_CLEANUP_TIMEOUT(POSITIVE_INTEGER, (int) 
TimeUnit.MINUTES.toSeconds(10)),
         STORAGE_COLUMN_MAX_TUPLE_COUNT(NONNEGATIVE_INTEGER, 15000),
-        STORAGE_COLUMN_FREE_SPACE_TOLERANCE(DOUBLE, 0.15),
+        STORAGE_COLUMN_FREE_SPACE_TOLERANCE(DOUBLE, 0.15d),
         STORAGE_FORMAT(STRING, "row"),
         STORAGE_PARTITIONING(STRING, "dynamic"),
         STORAGE_PARTITIONS_COUNT(INTEGER, 8);
@@ -296,8 +296,8 @@ public class StorageProperties extends AbstractProperties {
         return accessor.getInt(Option.STORAGE_COLUMN_MAX_TUPLE_COUNT);
     }
 
-    public float getColumnFreeSpaceTolerance() {
-        return (float) 
accessor.getDouble(Option.STORAGE_COLUMN_FREE_SPACE_TOLERANCE);
+    public double getColumnFreeSpaceTolerance() {
+        return accessor.getDouble(Option.STORAGE_COLUMN_FREE_SPACE_TOLERANCE);
     }
 
     public String getStorageFormat() {
diff --git 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/DatasetDecl.java
 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/DatasetDecl.java
index 545440914d..22fd3a77a4 100644
--- 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/DatasetDecl.java
+++ 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/DatasetDecl.java
@@ -147,7 +147,7 @@ public class DatasetDecl extends AbstractStatement {
     }
 
     public DatasetFormatInfo getDatasetFormatInfo(String defaultFormat, int 
defaultMaxTupleCount,
-            float defaultFreeSpaceTolerance) {
+            double defaultFreeSpaceTolerance) {
         if (datasetType != DatasetType.INTERNAL) {
             return DatasetFormatInfo.SYSTEM_DEFAULT;
         }
@@ -163,7 +163,7 @@ public class DatasetDecl extends AbstractStatement {
 
         int maxTupleCount = datasetFormatNode.getOptionalInt(
                 
DatasetDeclParametersUtil.DATASET_FORMAT_MAX_TUPLE_COUNT_PARAMETER_NAME, 
defaultMaxTupleCount);
-        float freeSpaceTolerance = datasetFormatNode.getOptionalFloat(
+        double freeSpaceTolerance = datasetFormatNode.getOptionalDouble(
                 
DatasetDeclParametersUtil.DATASET_FORMAT_FREE_SPACE_TOLERANCE_PARAMETER_NAME,
                 defaultFreeSpaceTolerance);
 
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/dataset/DatasetFormatInfo.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/dataset/DatasetFormatInfo.java
index 86d923337e..23b90cd671 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/dataset/DatasetFormatInfo.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/dataset/DatasetFormatInfo.java
@@ -31,13 +31,13 @@ public class DatasetFormatInfo implements Serializable {
     public static final DatasetFormatInfo SYSTEM_DEFAULT = new 
DatasetFormatInfo();
     private final DatasetFormat format;
     private final int maxTupleCount;
-    private final float freeSpaceTolerance;
+    private final double freeSpaceTolerance;
 
     private DatasetFormatInfo() {
-        this(DatasetFormat.ROW, -1, 0.0f);
+        this(DatasetFormat.ROW, -1, 0.0d);
     }
 
-    public DatasetFormatInfo(DatasetFormat format, int maxTupleCount, float 
freeSpaceTolerance) {
+    public DatasetFormatInfo(DatasetFormat format, int maxTupleCount, double 
freeSpaceTolerance) {
         this.format = format;
         this.maxTupleCount = maxTupleCount;
         this.freeSpaceTolerance = freeSpaceTolerance;
@@ -51,7 +51,7 @@ public class DatasetFormatInfo implements Serializable {
         return maxTupleCount;
     }
 
-    public float getFreeSpaceTolerance() {
+    public double getFreeSpaceTolerance() {
         return freeSpaceTolerance;
     }
 
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
index af31c0d999..ac798aa735 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
@@ -448,28 +448,34 @@ public class DatasetTupleTranslator extends 
AbstractTupleTranslator<Dataset> {
             return DatasetFormatInfo.SYSTEM_DEFAULT;
         }
 
+        // Record that holds format information
         ARecordType datasetFormatType = (ARecordType) 
datasetType.getFieldTypes()[datasetFormatIndex];
-        int formatIndex =
-                
datasetFormatType.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_FORMAT_FORMAT_FIELD_NAME);
-        int maxTupleCountIndex =
-                
datasetFormatType.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_MAX_TUPLE_COUNT_FIELD_NAME);
-        int freeSpaceToleranceIndex = datasetFormatType
-                
.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_FREE_SPACE_TOLERANCE_FIELD_NAME);
-
         ARecord datasetFormatRecord = (ARecord) 
datasetRecord.getValueByPos(datasetFormatIndex);
 
-        //Format
+        // Format
+        int formatIndex =
+                
datasetFormatType.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_FORMAT_FORMAT_FIELD_NAME);
         AString formatString = (AString) 
datasetFormatRecord.getValueByPos(formatIndex);
         DatasetConfig.DatasetFormat format = 
DatasetConfig.DatasetFormat.valueOf(formatString.getStringValue());
 
-        //MaxTupleCount
+        if (format == DatasetConfig.DatasetFormat.ROW) {
+            // Return system default (row) instance
+            return DatasetFormatInfo.SYSTEM_DEFAULT;
+        }
+
+        // MaxTupleCount
+        int maxTupleCountIndex =
+                
datasetFormatType.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_MAX_TUPLE_COUNT_FIELD_NAME);
         AInt64 maxTupleCountInt = (AInt64) 
datasetFormatRecord.getValueByPos(maxTupleCountIndex);
         int maxTupleCount = (int) maxTupleCountInt.getLongValue();
 
-        //FreeSpaceTolerance
+        // FreeSpaceTolerance
+        int freeSpaceToleranceIndex = datasetFormatType
+                
.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_FREE_SPACE_TOLERANCE_FIELD_NAME);
         ADouble freeSpaceToleranceDouble = (ADouble) 
datasetFormatRecord.getValueByPos(freeSpaceToleranceIndex);
-        float freeSpaceTolerance = (float) 
freeSpaceToleranceDouble.getDoubleValue();
+        double freeSpaceTolerance = freeSpaceToleranceDouble.getDoubleValue();
 
+        // Columnar
         return new DatasetFormatInfo(format, maxTupleCount, 
freeSpaceTolerance);
     }
 
@@ -688,9 +694,6 @@ public class DatasetTupleTranslator extends 
AbstractTupleTranslator<Dataset> {
 
     private void writeDatasetFormatInfo(Dataset dataset) throws 
HyracksDataException {
         DatasetFormatInfo info = dataset.getDatasetFormatInfo();
-        if (DatasetFormatInfo.SYSTEM_DEFAULT == info) {
-            return;
-        }
 
         RecordBuilder datasetFormatObject = new RecordBuilder();
         
datasetFormatObject.reset(DefaultOpenFieldType.NESTED_OPEN_RECORD_TYPE);
@@ -703,21 +706,24 @@ public class DatasetTupleTranslator extends 
AbstractTupleTranslator<Dataset> {
         stringSerde.serialize(aString, fieldValue.getDataOutput());
         datasetFormatObject.addField(fieldName, fieldValue);
 
-        fieldName.reset();
-        
aString.setValue(MetadataRecordTypes.DATASET_ARECORD_DATASET_MAX_TUPLE_COUNT_FIELD_NAME);
-        stringSerde.serialize(aString, fieldName.getDataOutput());
-        fieldValue.reset();
-        aInt64.setValue(info.getMaxTupleCount());
-        int64Serde.serialize(aInt64, fieldValue.getDataOutput());
-        datasetFormatObject.addField(fieldName, fieldValue);
+        // Columnar settings
+        if (info.getFormat() == DatasetConfig.DatasetFormat.COLUMN) {
+            fieldName.reset();
+            
aString.setValue(MetadataRecordTypes.DATASET_ARECORD_DATASET_MAX_TUPLE_COUNT_FIELD_NAME);
+            stringSerde.serialize(aString, fieldName.getDataOutput());
+            fieldValue.reset();
+            aInt64.setValue(info.getMaxTupleCount());
+            int64Serde.serialize(aInt64, fieldValue.getDataOutput());
+            datasetFormatObject.addField(fieldName, fieldValue);
 
-        fieldName.reset();
-        
aString.setValue(MetadataRecordTypes.DATASET_ARECORD_DATASET_FREE_SPACE_TOLERANCE_FIELD_NAME);
-        stringSerde.serialize(aString, fieldName.getDataOutput());
-        fieldValue.reset();
-        aDouble.setValue(info.getFreeSpaceTolerance());
-        doubleSerde.serialize(aDouble, fieldValue.getDataOutput());
-        datasetFormatObject.addField(fieldName, fieldValue);
+            fieldName.reset();
+            
aString.setValue(MetadataRecordTypes.DATASET_ARECORD_DATASET_FREE_SPACE_TOLERANCE_FIELD_NAME);
+            stringSerde.serialize(aString, fieldName.getDataOutput());
+            fieldValue.reset();
+            aDouble.setValue(info.getFreeSpaceTolerance());
+            doubleSerde.serialize(aDouble, fieldValue.getDataOutput());
+            datasetFormatObject.addField(fieldName, fieldValue);
+        }
 
         fieldName.reset();
         
aString.setValue(MetadataRecordTypes.DATASET_ARECORD_DATASET_FORMAT_FIELD_NAME);
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/object/base/AdmObjectNode.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/object/base/AdmObjectNode.java
index bcabb18dd3..8a3f388dba 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/object/base/AdmObjectNode.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/object/base/AdmObjectNode.java
@@ -184,12 +184,12 @@ public class AdmObjectNode implements IAdmNode {
         return (int) ((AdmBigIntNode) node).get();
     }
 
-    public float getOptionalFloat(String field, float defaultValue) {
+    public double getOptionalDouble(String field, double defaultValue) {
         final IAdmNode node = get(field);
         if (node == null) {
             return defaultValue;
         }
-        return (float) ((AdmDoubleNode) node).get();
+        return ((AdmDoubleNode) node).get();
     }
 
     public static String getString(AdmObjectNode openFields, String field) 
throws HyracksDataException {
diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/api/AbstractColumnTupleReaderWriterFactory.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/api/AbstractColumnTupleReaderWriterFactory.java
index 774bbb94b1..79d902cf0c 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/api/AbstractColumnTupleReaderWriterFactory.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/api/AbstractColumnTupleReaderWriterFactory.java
@@ -30,7 +30,7 @@ public abstract class AbstractColumnTupleReaderWriterFactory 
implements ITreeInd
     private static final long serialVersionUID = -2377235465942457248L;
     protected final int pageSize;
     protected final int maxNumberOfTuples;
-    protected final float tolerance;
+    protected final double tolerance;
 
     /**
      * Tuple reader/writer factory
@@ -39,7 +39,7 @@ public abstract class AbstractColumnTupleReaderWriterFactory 
implements ITreeInd
      * @param maxNumberOfTuples maximum number of tuples stored per a mega 
leaf page
      * @param tolerance         percentage of tolerated empty space
      */
-    protected AbstractColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, float tolerance) {
+    protected AbstractColumnTupleReaderWriterFactory(int pageSize, int 
maxNumberOfTuples, double tolerance) {
         this.pageSize = pageSize;
         this.maxNumberOfTuples = maxNumberOfTuples;
         this.tolerance = tolerance;
diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeRangeSearchCursor.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeRangeSearchCursor.java
index e618aaa393..77f161acd2 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeRangeSearchCursor.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeRangeSearchCursor.java
@@ -128,8 +128,13 @@ public class ColumnBTreeRangeSearchCursor extends 
EnforcedIndexCursor
         pageId = ((BTreeCursorInitialState) initialState).getPageId();
         frame.setPage(page0);
         frame.setMultiComparator(originalKeyCmp);
-        frameTuple.newPage();
-        initCursorPosition(searchPred);
+        if (frame.getTupleCount() > 0) {
+            frameTuple.newPage();
+            initCursorPosition(searchPred);
+        } else {
+            yieldFirstCall = false;
+            frameTuple.consume();
+        }
     }
 
     protected void initCursorPosition(ISearchPredicate searchPred) throws 
HyracksDataException {

Reply via email to