Adding introspection for getting record details.

Change-Id: Iba15acff0f6830cffbc33d9dac3b5f0c417be844
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/AsterixHyracksIntegrationUtil.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/AsterixHyracksIntegrationUtil.java
index a1c5348..91aa897 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/AsterixHyracksIntegrationUtil.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/common/AsterixHyracksIntegrationUtil.java
@@ -32,16 +32,15 @@
 
 public class AsterixHyracksIntegrationUtil {
 
-    public static final String[] NC_IDS = { "nc1", "nc2" };
-    public static final String[] ASTERIX_DATA_DIRS = new String[] { "nc1data", "nc2data" };
+    public static final int NODES = 2;
+    public static final int PARTITONS = 2;
 
     public static final int DEFAULT_HYRACKS_CC_CLIENT_PORT = 1098;
 
     public static final int DEFAULT_HYRACKS_CC_CLUSTER_PORT = 1099;
 
     private static ClusterControllerService cc;
-    private static NodeControllerService nc1;
-    private static NodeControllerService nc2;
+    private static NodeControllerService[] ncs = new NodeControllerService[NODES];
     private static IHyracksClientConnection hcc;
 
     public static void init() throws Exception {
@@ -58,48 +57,61 @@
         cc = new ClusterControllerService(ccConfig);
         cc.start();
 
-        NCConfig ncConfig1 = new NCConfig();
-        ncConfig1.ccHost = "localhost";
-        ncConfig1.ccPort = DEFAULT_HYRACKS_CC_CLUSTER_PORT;
-        ncConfig1.clusterNetIPAddress = "127.0.0.1";
-        ncConfig1.dataIPAddress = "127.0.0.1";
-        ncConfig1.resultIPAddress = "127.0.0.1";
-        ncConfig1.nodeId = NC_IDS[0];
-        ncConfig1.resultTTL = 30000;
-        ncConfig1.resultSweepThreshold = 1000;
-        ncConfig1.ioDevices = System.getProperty("java.io.tmpdir") + File.separator + "nc1/iodevice0" + ","
-                + System.getProperty("java.io.tmpdir") + File.separator + "nc1/iodevice1";
-        ncConfig1.appNCMainClass = NCApplicationEntryPoint.class.getName();
-        nc1 = new NodeControllerService(ncConfig1);
-        nc1.start();
-
-        NCConfig ncConfig2 = new NCConfig();
-        ncConfig2.ccHost = "localhost";
-        ncConfig2.ccPort = DEFAULT_HYRACKS_CC_CLUSTER_PORT;
-        ncConfig2.clusterNetIPAddress = "127.0.0.1";
-        ncConfig2.dataIPAddress = "127.0.0.1";
-        ncConfig2.resultIPAddress = "127.0.0.1";
-        ncConfig2.nodeId = NC_IDS[1];
-        ncConfig2.resultTTL = 30000;
-        ncConfig2.resultSweepThreshold = 1000;
-        ncConfig2.ioDevices = System.getProperty("java.io.tmpdir") + File.separator + "nc2/iodevice0" + ","
-                + System.getProperty("java.io.tmpdir") + File.separator + "nc2/iodevice1";
-        ncConfig2.appNCMainClass = NCApplicationEntryPoint.class.getName();
-        nc2 = new NodeControllerService(ncConfig2);
-        nc2.start();
+        int n = 0;
+        for (String ncName : getNcNames()) {
+            NCConfig ncConfig1 = new NCConfig();
+            ncConfig1.ccHost = "localhost";
+            ncConfig1.ccPort = DEFAULT_HYRACKS_CC_CLUSTER_PORT;
+            ncConfig1.clusterNetIPAddress = "127.0.0.1";
+            ncConfig1.dataIPAddress = "127.0.0.1";
+            ncConfig1.resultIPAddress = "127.0.0.1";
+            ncConfig1.nodeId = ncName;
+            ncConfig1.resultTTL = 30000;
+            ncConfig1.resultSweepThreshold = 1000;
+            for (int p = 0; p < PARTITONS; ++p) {
+                if (p == 0) {
+                    ncConfig1.ioDevices = System.getProperty("java.io.tmpdir") + File.separator + ncConfig1.nodeId
+                            + "/iodevice" + p;
+                } else {
+                    ncConfig1.ioDevices += "," + System.getProperty("java.io.tmpdir") + File.separator
+                            + ncConfig1.nodeId + "/iodevice" + p;
+                }
+            }
+            ncConfig1.appNCMainClass = NCApplicationEntryPoint.class.getName();
+            ncs[n] = new NodeControllerService(ncConfig1);
+            ncs[n].start();
+            ++n;
+        }
 
         hcc = new HyracksConnection(cc.getConfig().clientNetIpAddress, cc.getConfig().clientNetPort);
     }
 
+    public static String[] getNcNames() {
+        String[] names = new String[NODES];
+        for (int n = 0; n < NODES; ++n) {
+            names[n] = "nc" + (n + 1);
+        }
+        return names;
+    }
+
+    public static String[] getDataDirs() {
+        String[] names = new String[NODES];
+        for (int n = 0; n < NODES; ++n) {
+            names[n] = "nc" + (n + 1) + "data";
+        }
+        return names;
+    }
+
     public static IHyracksClientConnection getHyracksClientConnection() {
         return hcc;
     }
 
     public static void deinit() throws Exception {
-        if (nc2 != null)
-            nc2.stop();
-        if (nc1 != null)
-            nc1.stop();
+        for (int n = 0; n < ncs.length; ++n) {
+            if (ncs[n] != null)
+                ncs[n].stop();
+
+        }
         if (cc != null)
             cc.stop();
     }
diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
index 0197d4a..069c5aa 100644
--- a/asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
@@ -73,13 +73,13 @@
         }
 
         // clean up the files written by the ASTERIX storage manager
-        for (String d : AsterixHyracksIntegrationUtil.ASTERIX_DATA_DIRS) {
+        for (String d : AsterixHyracksIntegrationUtil.getDataDirs()) {
             TestsUtils.deleteRec(new File(d));
         }
     }
 
     private static void deleteTransactionLogs() throws Exception {
-        for (String ncId : AsterixHyracksIntegrationUtil.NC_IDS) {
+        for (String ncId : AsterixHyracksIntegrationUtil.getNcNames()) {
             File log = new File(txnProperties.getLogDirectory(ncId));
             if (log.exists()) {
                 FileUtils.deleteDirectory(log);
diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/optimizer/OptimizerTest.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/optimizer/OptimizerTest.java
index 7171642..58531aa 100644
--- a/asterix-app/src/test/java/edu/uci/ics/asterix/test/optimizer/OptimizerTest.java
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/optimizer/OptimizerTest.java
@@ -89,7 +89,7 @@
     }
 
     private static void deleteTransactionLogs() throws Exception {
-        for (String ncId : AsterixHyracksIntegrationUtil.NC_IDS) {
+        for (String ncId : AsterixHyracksIntegrationUtil.getNcNames()) {
             File log = new File(txnProperties.getLogDirectory(ncId));
             if (log.exists()) {
                 FileUtils.deleteDirectory(log);
diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
index 3e5b734..8547eb0 100644
--- a/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
@@ -44,16 +44,15 @@
 @RunWith(Parameterized.class)
 public class ExecutionTest {
 
-    private static final Logger LOGGER = Logger.getLogger(ExecutionTest.class.getName());
+    protected static final Logger LOGGER = Logger.getLogger(ExecutionTest.class.getName());
 
-    private static final String PATH_ACTUAL = "rttest" + File.separator;
-    private static final String PATH_BASE = StringUtils.join(new String[] { "src", "test", "resources", "runtimets" },
-            File.separator);
+    protected static final String PATH_ACTUAL = "rttest" + File.separator;
+    protected static final String PATH_BASE = StringUtils.join(
+            new String[] { "src", "test", "resources", "runtimets" }, File.separator);
 
-    private static final String TEST_CONFIG_FILE_NAME = "asterix-build-configuration.xml";
-    private static final String[] ASTERIX_DATA_DIRS = new String[] { "nc1data", "nc2data" };
+    protected static final String TEST_CONFIG_FILE_NAME = "asterix-build-configuration.xml";
 
-    private static AsterixTransactionProperties txnProperties;
+    protected static AsterixTransactionProperties txnProperties;
 
     @BeforeClass
     public static void setUp() throws Exception {
@@ -96,14 +95,14 @@
             outdir.delete();
         }
         // clean up the files written by the ASTERIX storage manager
-        for (String d : ASTERIX_DATA_DIRS) {
+        for (String d : AsterixHyracksIntegrationUtil.getDataDirs()) {
             TestsUtils.deleteRec(new File(d));
         }
         HDFSCluster.getInstance().cleanup();
     }
 
     private static void deleteTransactionLogs() throws Exception {
-        for (String ncId : AsterixHyracksIntegrationUtil.NC_IDS) {
+        for (String ncId : AsterixHyracksIntegrationUtil.getNcNames()) {
             File log = new File(txnProperties.getLogDirectory(ncId));
             if (log.exists()) {
                 FileUtils.deleteDirectory(log);
@@ -120,7 +119,7 @@
         return testArgs;
     }
 
-    private static Collection<Object[]> buildTestsInXml(String xmlfile) throws Exception {
+    protected static Collection<Object[]> buildTestsInXml(String xmlfile) throws Exception {
         Collection<Object[]> testArgs = new ArrayList<Object[]>();
         TestCaseContext.Builder b = new TestCaseContext.Builder();
         for (TestCaseContext ctx : b.build(new File(PATH_BASE), xmlfile)) {
@@ -130,7 +129,7 @@
 
     }
 
-    private TestCaseContext tcCtx;
+    protected TestCaseContext tcCtx;
 
     public ExecutionTest(TestCaseContext tcCtx) {
         this.tcCtx = tcCtx;
diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/RepeatedTest.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/RepeatedTest.java
new file mode 100644
index 0000000..faeb688
--- /dev/null
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/RepeatedTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.asterix.test.runtime;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.Collection;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.Statement;
+
+import edu.uci.ics.asterix.test.aql.TestsUtils;
+import edu.uci.ics.asterix.test.runtime.RepeatRule.Repeat;
+import edu.uci.ics.asterix.testframework.context.TestCaseContext;
+
+/**
+ * Runs runtime test cases that have been identified in the repeatedtestsuite.xml.
+ * 
+ * Each test is run 10000 times.
+ */
+class RepeatRule implements MethodRule {
+
+    @Retention(RetentionPolicy.RUNTIME)
+    @Target({ java.lang.annotation.ElementType.METHOD })
+    public @interface Repeat {
+        public abstract int times();
+
+    }
+
+    private static class RepeatStatement extends Statement {
+
+        private final int times;
+        private final Statement statement;
+
+        private RepeatStatement(int times, Statement statement) {
+            this.times = times;
+            this.statement = statement;
+        }
+
+        @Override
+        public void evaluate() throws Throwable {
+            for (int i = 0; i < times; i++) {
+                statement.evaluate();
+            }
+        }
+    }
+
+    @Override
+    public Statement apply(Statement statement, FrameworkMethod method, Object target) {
+        Statement result = statement;
+        Repeat repeat = method.getAnnotation(Repeat.class);
+        if (repeat != null) {
+            int times = repeat.times();
+            result = new RepeatStatement(times, statement);
+        }
+        return result;
+
+    }
+}
+
+@RunWith(Parameterized.class)
+public class RepeatedTest extends ExecutionTest {
+
+    private int count;
+    
+    @Parameters
+    public static Collection<Object[]> tests() throws Exception {
+        Collection<Object[]> testArgs = buildTestsInXml(TestCaseContext.DEFAULT_REPEADED_TESTSUITE_XML_NAME);
+        return testArgs;
+    }
+
+    public RepeatedTest(TestCaseContext tcCtx) {
+        super(tcCtx);
+        count = 0;
+    }
+
+    @Rule
+    public RepeatRule repeatRule = new RepeatRule();
+
+    @Test
+    @Repeat(times = 10000)
+    public void test() throws Exception {
+        System.err.println("***** Test Count: " + (++count) + " ******");
+        TestsUtils.executeTest(PATH_ACTUAL, tcCtx, null, false);
+    }
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/RecordsQueries.xml b/asterix-app/src/test/resources/runtimets/queries/records/RecordsQueries.xml
new file mode 100644
index 0000000..283cdea
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/RecordsQueries.xml
@@ -0,0 +1,127 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed under the Apache License, Version 2.0 (the "License");
+ ! you may not use this file except in compliance with the License.
+ ! you may obtain a copy of the License from
+ !
+ !     http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing, software
+ ! distributed under the License is distributed on an "AS IS" BASIS,
+ ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ! See the License for the specific language governing permissions and
+ ! limitations under the License.
+ !-->
+        <test-case FilePath="records">
+            <compilation-unit name="access-nested-fields">
+                <output-dir compare="Text">access-nested-fields</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_01">
+                <output-dir compare="Text">closed-record-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_02">
+                <output-dir compare="Text">closed-record-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_03">
+                <output-dir compare="Text">closed-record-constructor_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="expFieldName">
+                <output-dir compare="Text">expFieldName</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="field-access-by-index_01">
+                <output-dir compare="Text">field-access-by-index_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="field-access-on-open-field">
+                <output-dir compare="Text">field-access-on-open-field</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="documentation-example">
+                <output-dir compare="Text">documentation-example</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="tiny-social-example">
+                <output-dir compare="Text">tiny-social-example</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="tiny-social-example-no-complex-types">
+                <output-dir compare="Text">tiny-social-example-no-complex-types</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="tiny-social-example-only-lists">
+                <output-dir compare="Text">tiny-social-example-only-lists</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="tiny-social-example-only-records">
+                <output-dir compare="Text">tiny-social-example-only-records</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-field-value">
+            <compilation-unit name="documentation-example">
+                <output-dir compare="Text">documentation-example</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-field-value">
+            <compilation-unit name="highly-nested-closed">
+                <output-dir compare="Text">highly-nested-closed</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-field-value">
+            <compilation-unit name="highly-nested-mixed">
+                <output-dir compare="Text">highly-nested-mixed</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-field-value">
+            <compilation-unit name="highly-nested-open">
+                <output-dir compare="Text">highly-nested-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records/get-record-field-value">
+            <compilation-unit name="tiny-social-example">
+                <output-dir compare="Text">tiny-social-example</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-record-constructor_01">
+                <output-dir compare="Text">open-record-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-record-constructor_02">
+                <output-dir compare="Text">open-record-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-closed-fieldname-conflict_issue173">
+                <output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-closed-fieldname-conflict_issue173">
+                <output-dir compare="Text">open-closed-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-open-fieldname-conflict_issue173">
+                <output-dir compare="Text">open-open-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql
new file mode 100644
index 0000000..6681a75
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql
@@ -0,0 +1,60 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type S as open{
+	id: int64
+}
+
+create type GS as closed{
+	id: int64,
+	Genus: string,
+	lower: S
+}
+
+create type FGS as open{
+	id: int64,
+	Family: string
+}
+
+create type OFGS as closed{
+	id: int64,
+	Order: string,
+	lower: FGS
+}
+
+create type COFGS as closed{
+	id: int64,
+	Class: string,
+	lower: OFGS
+}
+
+create type PCOFGS as closed{
+	id: int64,
+	Phylum: string,
+	lower: COFGS
+}
+
+create type KPCOFGS as open{
+	id: int64,
+	Kingdom: string
+}
+
+create type Classification as closed{
+	id: int64,
+	fullClassification:KPCOFGS
+}
+
+create type Animal as open{
+	id: int64
+}
+
+create dataset Animals(Animal)
+primary key id;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.10.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.10.query.aql
new file mode 100644
index 0000000..f7198ce
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.10.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.11.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.11.query.aql
new file mode 100644
index 0000000..262bee1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.11.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.12.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.12.query.aql
new file mode 100644
index 0000000..2b28594
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.12.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.2.update.aql
new file mode 100644
index 0000000..73ce6f5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.2.update.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+load dataset Animals using localfs
+(("path"="nc1://data/classifications/animals.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.3.query.aql
new file mode 100644
index 0000000..e92f44e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.3.query.aql
@@ -0,0 +1,12 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower.lower.lower.lower.lower.Species
+order by $result
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.4.query.aql
new file mode 100644
index 0000000..6e8e9c8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.4.query.aql
@@ -0,0 +1,12 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower.lower.lower.lower.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.5.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.5.query.aql
new file mode 100644
index 0000000..718129a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.5.query.aql
@@ -0,0 +1,12 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower.lower.lower.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.6.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.6.query.aql
new file mode 100644
index 0000000..5ee7ad6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.6.query.aql
@@ -0,0 +1,12 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower.lower.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.7.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.7.query.aql
new file mode 100644
index 0000000..30d6496
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.7.query.aql
@@ -0,0 +1,12 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.8.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.8.query.aql
new file mode 100644
index 0000000..fd9c55d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.8.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.9.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.9.query.aql
new file mode 100644
index 0000000..a4fff3d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.9.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Access a records nested records at each level.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := $test.class.fullClassification.lower
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.1.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.1.query.aql
new file mode 100644
index 0000000..2876ebf
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.1.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+        let $r1 := {"id":1, 
+            "project":"AsterixDB", 
+            "address":{"city":"Irvine", "state":"CA"}, 
+            "related":["Hivestrix", "Preglix", "Apache VXQuery"] }
+        return get-record-field-value($r1, "project")
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.2.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.2.query.aql
new file mode 100644
index 0000000..c1d2b5d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.2.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+        let $r1 := {"id":1, 
+            "project":"AsterixDB", 
+            "address":{"city":"Irvine", "state":"CA"}, 
+            "related":["Hivestrix", "Preglix", "Apache VXQuery"] }
+        return get-record-field-value($r1, "address")
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.3.query.aql
new file mode 100644
index 0000000..6be3409
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/documentation-example/documentation-example.3.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+        let $r1 := {"id": 1, 
+            "project": "AsterixDB", 
+            "address": { "city": "Irvine", "state": "CA" }, 
+            "related": [ "Hivestrix", "Preglix", "Apache VXQuery" ] }
+        return get-record-field-value($r1, "related")
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.1.ddl.aql
new file mode 100644
index 0000000..f36f1bc
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.1.ddl.aql
@@ -0,0 +1,63 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type S as closed{
+    id: int64,
+    Species: string
+}
+
+create type GS as closed{
+    id: int64,
+    Genus: string,
+    lower: S
+}
+
+create type FGS as closed{
+    id: int64,
+    Family: string,
+    lower:GS
+}
+
+create type OFGS as closed{
+    id: int64,
+    Order: string,
+    lower: FGS
+}
+
+create type COFGS as closed{
+    id: int64,
+    Class: string,
+    lower: OFGS
+}
+
+create type PCOFGS as closed{
+    id: int64,
+    Phylum: string,
+    lower: COFGS
+}
+
+create type KPCOFGS as closed{
+    id: int64,
+    Kingdom: string,
+    lower: PCOFGS
+}
+
+create type Classification as closed{
+    id: int64,
+    fullClassification:KPCOFGS
+}
+
+create type Animal as closed{
+    id: int64,
+    class: Classification
+}
+
+create dataset Animals(Animal)
+primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.2.update.aql
new file mode 100644
index 0000000..7b270b9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.2.update.aql
@@ -0,0 +1,9 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+load dataset Animals using localfs
+(("path"="nc1://data/classifications/animals.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.3.query.aql
new file mode 100644
index 0000000..8634bde
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-closed/highly-nested-open.3.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := get-record-field-value($test, "class")
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.1.ddl.aql
new file mode 100644
index 0000000..eff94c8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.1.ddl.aql
@@ -0,0 +1,59 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type S as open{
+    id: int64
+}
+
+create type GS as closed{
+    id: int64,
+    Genus: string,
+    lower: S
+}
+
+create type FGS as open{
+    id: int64,
+    Family: string
+}
+
+create type OFGS as closed{
+    id: int64,
+    Order: string,
+    lower: FGS
+}
+
+create type COFGS as open{
+    id: int64,
+    Class: string,
+    lower: OFGS
+}
+
+create type PCOFGS as closed{
+    id: int64,
+    Phylum: string,
+    lower: COFGS
+}
+
+create type KPCOFGS as open{
+    id: int64,
+    Kingdom: string
+}
+
+create type Classification as closed{
+    id: int64,
+    fullClassification:KPCOFGS
+}
+
+create type Animal as open{
+    id: int64
+}
+
+create dataset Animals(Animal)
+primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.2.update.aql
new file mode 100644
index 0000000..7b270b9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.2.update.aql
@@ -0,0 +1,9 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+load dataset Animals using localfs
+(("path"="nc1://data/classifications/animals.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.query.aql
new file mode 100644
index 0000000..8634bde
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := get-record-field-value($test, "class")
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.1.ddl.aql
new file mode 100644
index 0000000..32a8aaa
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.1.ddl.aql
@@ -0,0 +1,54 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type S as open{
+    id: int64
+}
+
+create type GS as open{
+    id: int64,
+    Genus: string
+}
+
+create type FGS as open{
+    id: int64,
+    Family: string
+}
+
+create type OFGS as open{
+    id: int64,
+    Order: string
+}
+
+create type COFGS as open{
+    id: int64,
+    Class: string
+}
+
+create type PCOFGS as open{
+    id: int64,
+    Phylum: string
+}
+
+create type KPCOFGS as open{
+    id: int64,
+    Kingdom: string
+}
+
+create type Classification as open{
+    id: int64
+}
+
+create type Animal as open{
+    id: int64
+}
+
+create dataset Animals(Animal)
+primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.2.update.aql
new file mode 100644
index 0000000..7b270b9
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.2.update.aql
@@ -0,0 +1,9 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+load dataset Animals using localfs
+(("path"="nc1://data/classifications/animals.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.3.query.aql
new file mode 100644
index 0000000..8634bde
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/highly-nested-open/highly-nested-open.3.query.aql
@@ -0,0 +1,11 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse test;
+
+for $test in dataset Animals
+let $result := get-record-field-value($test, "class")
+order by $result.id
+return $result;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.1.ddl.aql
new file mode 100644
index 0000000..b167657
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.1.ddl.aql
@@ -0,0 +1,49 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse TinySocial if exists;
+create dataverse TinySocial;
+use dataverse TinySocial;
+
+create type TwitterUserType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64,
+        name: string,
+        followers_count: int64
+}
+
+create type TweetMessageType as closed {
+        tweetid: string,
+        user: TwitterUserType,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        friend-ids: {{ int64 }},
+        employment: [EmploymentType]
+}
+
+create type FacebookMessageType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.2.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.2.ddl.aql
new file mode 100644
index 0000000..dfc09cc
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.2.ddl.aql
@@ -0,0 +1,24 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+create dataset FacebookUsers(FacebookUserType)
+primary key id;
+
+create dataset FacebookMessages(FacebookMessageType)
+primary key message-id;
+
+create dataset TwitterUsers(TwitterUserType)
+primary key screen-name;
+
+create dataset TweetMessages(TweetMessageType)
+primary key tweetid
+hints(cardinality=100); 
+
+create index fbUserSinceIdx on FacebookUsers(user-since);
+create index fbAuthorIdx on FacebookMessages(author-id) type btree;
+create index fbSenderLocIndex on FacebookMessages(sender-location) type rtree;
+create index fbMessageIdx on FacebookMessages(message) type keyword;
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.3.update.aql
new file mode 100644
index 0000000..f45cfa7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.3.update.aql
@@ -0,0 +1,18 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+load dataset FacebookUsers using localfs
+(("path"="nc1://data/tinysocial/fbu.adm"),("format"="adm"));
+
+load dataset FacebookMessages using localfs
+(("path"="nc1://data/tinysocial/fbm.adm"),("format"="adm"));
+
+load dataset TwitterUsers using localfs
+(("path"="nc1://data/tinysocial/twu.adm"),("format"="adm"));
+
+load dataset TweetMessages using localfs
+(("path"="nc1://data/tinysocial/twm.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.4.query.aql
new file mode 100644
index 0000000..1a560e5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-field-value/tiny-social-example/tiny-social-example.4.query.aql
@@ -0,0 +1,13 @@
+/*
+* Description  : Testing get-record-field-value under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessages
+for $f in get-record-fields($r)
+where $f.field-type = "STRING"
+let $result := get-record-field-value($r, $f.field-name)
+order by $result
+return $result
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/documentation-example/documentation-example.1.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/documentation-example/documentation-example.1.query.aql
new file mode 100644
index 0000000..84df51e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/documentation-example/documentation-example.1.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+        let $r1 := {"id":1, 
+            "project":"AsterixDB", 
+            "address":{"city":"Irvine", "state":"CA"}, 
+            "related":["Hivestrix", "Preglix", "Apache VXQuery"] }
+        return get-record-fields($r1)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.1.ddl.aql
new file mode 100644
index 0000000..4ae62c8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.1.ddl.aql
@@ -0,0 +1,83 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse TinySocial if exists;
+create dataverse TinySocial;
+use dataverse TinySocial;
+
+create type TwitterUserType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageType as closed {
+        tweetid: string,
+        user: TwitterUserType,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        friend-ids: {{ int64 }},
+        employment: [EmploymentType]
+}
+
+create type FacebookMessageType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
+
+// Alternate datasets
+create type TwitterUserAlternateType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageAlternateType as closed {
+        tweetid: string,
+        sender-location: point?,
+        send-time: datetime,
+        message-text: string
+}
+
+create type EmploymentAlternateType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserAlternateType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime
+}
+
+create type FacebookMessageAlternateType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.2.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.2.ddl.aql
new file mode 100644
index 0000000..023bd60
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.2.ddl.aql
@@ -0,0 +1,38 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+create dataset FacebookUsers(FacebookUserType)
+primary key id;
+
+create dataset FacebookMessages(FacebookMessageType)
+primary key message-id;
+
+create dataset TwitterUsers(TwitterUserType)
+primary key screen-name;
+
+create dataset TweetMessages(TweetMessageType)
+primary key tweetid
+hints(cardinality=100); 
+
+create index fbUserSinceIdx on FacebookUsers(user-since);
+create index fbAuthorIdx on FacebookMessages(author-id) type btree;
+create index fbSenderLocIndex on FacebookMessages(sender-location) type rtree;
+create index fbMessageIdx on FacebookMessages(message) type keyword;
+
+
+// Alternate datasets
+create dataset FacebookUsersAlternate(FacebookUserAlternateType)
+primary key id;
+
+create dataset FacebookMessagesAlternate(FacebookMessageAlternateType)
+primary key message-id;
+
+create dataset TwitterUsersAlternate(TwitterUserAlternateType)
+primary key screen-name;
+
+create dataset TweetMessagesAlternate(TweetMessageAlternateType)
+primary key tweetid; 
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.3.update.aql
new file mode 100644
index 0000000..8207681
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.3.update.aql
@@ -0,0 +1,61 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+load dataset FacebookUsers using localfs
+(("path"="nc1://data/tinysocial/fbu.adm"),("format"="adm"));
+
+load dataset FacebookMessages using localfs
+(("path"="nc1://data/tinysocial/fbm.adm"),("format"="adm"));
+
+load dataset TwitterUsers using localfs
+(("path"="nc1://data/tinysocial/twu.adm"),("format"="adm"));
+
+load dataset TweetMessages using localfs
+(("path"="nc1://data/tinysocial/twm.adm"),("format"="adm"));
+
+
+// Alternate datasets
+insert into dataset TwitterUsersAlternate(
+    for $r in dataset TwitterUsers
+    return {
+        "screen-name" : $r.screen-name,
+        "lang" : $r.lang,
+        "friends_count" : $r.friends_count,
+        "statuses_count" : $r.statuses_count
+    }
+);
+
+insert into dataset TweetMessagesAlternate(
+    for $r in dataset TweetMessages
+    return {
+        "tweetid" : $r.tweetid,
+        "sender-location" : $r.sender-location,
+        "send-time" : $r.send-time,
+        "message-text" : $r.message-text
+    }
+);
+
+insert into dataset FacebookUsersAlternate(
+    for $r in dataset FacebookUsers
+    return {
+        "id" : $r.id,
+        "alias" : $r.alias,
+        "name" : $r.name,
+        "user-since" : $r.user-since
+    }
+);
+
+insert into dataset FacebookMessagesAlternate(
+    for $r in dataset FacebookMessages
+    return {
+        "message-id" : $r.message-id,
+        "author-id" : $r.author-id,
+        "in-response-to" : $r.in-response-to,
+        "sender-location" : $r.sender-location,
+        "message" : $r.message
+    }
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.query.aql
new file mode 100644
index 0000000..5bdc255
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $user in dataset FacebookUsersAlternate
+where $user.id = 8
+return get-record-fields($user);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.query.aql
new file mode 100644
index 0000000..0af5656
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookUsersAlternate
+order by $r.id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.query.aql
new file mode 100644
index 0000000..ad5d424
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookMessagesAlternate
+order by $r.message-id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.query.aql
new file mode 100644
index 0000000..72d49f0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TwitterUsersAlternate
+order by $r.screen-name
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.query.aql
new file mode 100644
index 0000000..698660b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+order by $r.tweetid
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.query.aql
new file mode 100644
index 0000000..1c56ca5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.query.aql
@@ -0,0 +1,13 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+  for $f in get-record-fields($r)
+    group by $n:=$f.field-name, $t:=$f.field-type with $r
+    let $count:=count($r)
+    order by $n, $t
+    return {"field-name":$n, "field-type":$t, "count":$count};
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.1.ddl.aql
new file mode 100644
index 0000000..e858f7c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.1.ddl.aql
@@ -0,0 +1,85 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse TinySocial if exists;
+create dataverse TinySocial;
+use dataverse TinySocial;
+
+create type TwitterUserType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageType as closed {
+        tweetid: string,
+        user: TwitterUserType,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        friend-ids: {{ int64 }},
+        employment: [EmploymentType]
+}
+
+create type FacebookMessageType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
+
+// Alternate datasets
+create type TwitterUserAlternateType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageAlternateType as closed {
+        tweetid: string,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentAlternateType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserAlternateType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        friend-ids: {{ int64 }},
+        user-since: datetime
+}
+
+create type FacebookMessageAlternateType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.2.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.2.ddl.aql
new file mode 100644
index 0000000..023bd60
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.2.ddl.aql
@@ -0,0 +1,38 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+create dataset FacebookUsers(FacebookUserType)
+primary key id;
+
+create dataset FacebookMessages(FacebookMessageType)
+primary key message-id;
+
+create dataset TwitterUsers(TwitterUserType)
+primary key screen-name;
+
+create dataset TweetMessages(TweetMessageType)
+primary key tweetid
+hints(cardinality=100); 
+
+create index fbUserSinceIdx on FacebookUsers(user-since);
+create index fbAuthorIdx on FacebookMessages(author-id) type btree;
+create index fbSenderLocIndex on FacebookMessages(sender-location) type rtree;
+create index fbMessageIdx on FacebookMessages(message) type keyword;
+
+
+// Alternate datasets
+create dataset FacebookUsersAlternate(FacebookUserAlternateType)
+primary key id;
+
+create dataset FacebookMessagesAlternate(FacebookMessageAlternateType)
+primary key message-id;
+
+create dataset TwitterUsersAlternate(TwitterUserAlternateType)
+primary key screen-name;
+
+create dataset TweetMessagesAlternate(TweetMessageAlternateType)
+primary key tweetid; 
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.3.update.aql
new file mode 100644
index 0000000..e4a515b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.3.update.aql
@@ -0,0 +1,63 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+load dataset FacebookUsers using localfs
+(("path"="nc1://data/tinysocial/fbu.adm"),("format"="adm"));
+
+load dataset FacebookMessages using localfs
+(("path"="nc1://data/tinysocial/fbm.adm"),("format"="adm"));
+
+load dataset TwitterUsers using localfs
+(("path"="nc1://data/tinysocial/twu.adm"),("format"="adm"));
+
+load dataset TweetMessages using localfs
+(("path"="nc1://data/tinysocial/twm.adm"),("format"="adm"));
+
+
+// Alternate datasets
+insert into dataset TwitterUsersAlternate(
+    for $r in dataset TwitterUsers
+    return {
+        "screen-name" : $r.screen-name,
+        "lang" : $r.lang,
+        "friends_count" : $r.friends_count,
+        "statuses_count" : $r.statuses_count
+    }
+);
+
+insert into dataset TweetMessagesAlternate(
+    for $r in dataset TweetMessages
+    return {
+        "tweetid" : $r.tweetid,
+        "sender-location" : $r.sender-location,
+        "send-time" : $r.send-time,
+        "message-text" : $r.message-text,
+        "referred-topics" : $r.referred-topics
+    }
+);
+
+insert into dataset FacebookUsersAlternate(
+    for $r in dataset FacebookUsers
+    return {
+        "id" : $r.id,
+        "alias" : $r.alias,
+        "name" : $r.name,
+        "friend-ids" : $r.friend-ids,
+        "user-since" : $r.user-since
+    }
+);
+
+insert into dataset FacebookMessagesAlternate(
+    for $r in dataset FacebookMessages
+    return {
+        "message-id" : $r.message-id,
+        "author-id" : $r.author-id,
+        "in-response-to" : $r.in-response-to,
+        "sender-location" : $r.sender-location,
+        "message" : $r.message
+    }
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.query.aql
new file mode 100644
index 0000000..5bdc255
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $user in dataset FacebookUsersAlternate
+where $user.id = 8
+return get-record-fields($user);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.query.aql
new file mode 100644
index 0000000..0af5656
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookUsersAlternate
+order by $r.id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.query.aql
new file mode 100644
index 0000000..ad5d424
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookMessagesAlternate
+order by $r.message-id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.query.aql
new file mode 100644
index 0000000..72d49f0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TwitterUsersAlternate
+order by $r.screen-name
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.query.aql
new file mode 100644
index 0000000..698660b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+order by $r.tweetid
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.query.aql
new file mode 100644
index 0000000..d7cf8d0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.query.aql
@@ -0,0 +1,13 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+for $f in get-record-fields($r)
+group by $n:=$f.field-name, $t:=$f.field-type with $r
+let $count:=count($r)
+order by $n, $t
+return {"field-name":$n, "field-type":$t, "count":$count};
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.1.ddl.aql
new file mode 100644
index 0000000..d87c812
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.1.ddl.aql
@@ -0,0 +1,85 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse TinySocial if exists;
+create dataverse TinySocial;
+use dataverse TinySocial;
+
+create type TwitterUserType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageType as closed {
+        tweetid: string,
+        user: TwitterUserType,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        friend-ids: {{ int64 }},
+        employment: [EmploymentType]
+}
+
+create type FacebookMessageType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
+
+// Alternate datasets
+create type TwitterUserAlternateType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageAlternateType as closed {
+        tweetid: string,
+        user: TwitterUserAlternateType,
+        sender-location: point?,
+        send-time: datetime,
+        message-text: string
+}
+
+create type EmploymentAlternateType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserAlternateType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        employment: EmploymentAlternateType
+}
+
+create type FacebookMessageAlternateType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.2.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.2.ddl.aql
new file mode 100644
index 0000000..023bd60
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.2.ddl.aql
@@ -0,0 +1,38 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+create dataset FacebookUsers(FacebookUserType)
+primary key id;
+
+create dataset FacebookMessages(FacebookMessageType)
+primary key message-id;
+
+create dataset TwitterUsers(TwitterUserType)
+primary key screen-name;
+
+create dataset TweetMessages(TweetMessageType)
+primary key tweetid
+hints(cardinality=100); 
+
+create index fbUserSinceIdx on FacebookUsers(user-since);
+create index fbAuthorIdx on FacebookMessages(author-id) type btree;
+create index fbSenderLocIndex on FacebookMessages(sender-location) type rtree;
+create index fbMessageIdx on FacebookMessages(message) type keyword;
+
+
+// Alternate datasets
+create dataset FacebookUsersAlternate(FacebookUserAlternateType)
+primary key id;
+
+create dataset FacebookMessagesAlternate(FacebookMessageAlternateType)
+primary key message-id;
+
+create dataset TwitterUsersAlternate(TwitterUserAlternateType)
+primary key screen-name;
+
+create dataset TweetMessagesAlternate(TweetMessageAlternateType)
+primary key tweetid; 
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.3.update.aql
new file mode 100644
index 0000000..a2282f5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.3.update.aql
@@ -0,0 +1,63 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+load dataset FacebookUsers using localfs
+(("path"="nc1://data/tinysocial/fbu.adm"),("format"="adm"));
+
+load dataset FacebookMessages using localfs
+(("path"="nc1://data/tinysocial/fbm.adm"),("format"="adm"));
+
+load dataset TwitterUsers using localfs
+(("path"="nc1://data/tinysocial/twu.adm"),("format"="adm"));
+
+load dataset TweetMessages using localfs
+(("path"="nc1://data/tinysocial/twm.adm"),("format"="adm"));
+
+
+// Alternate datasets
+insert into dataset TwitterUsersAlternate(
+    for $r in dataset TwitterUsers
+    return {
+        "screen-name" : $r.screen-name,
+        "lang" : $r.lang,
+        "friends_count" : $r.friends_count,
+        "statuses_count" : $r.statuses_count
+    }
+);
+
+insert into dataset TweetMessagesAlternate(
+    for $r in dataset TweetMessages
+    return {
+        "tweetid" : $r.tweetid,
+        "user" : $r.user,
+        "sender-location" : $r.sender-location,
+        "send-time" : $r.send-time,
+        "message-text" : $r.message-text
+    }
+);
+
+insert into dataset FacebookUsersAlternate(
+    for $r in dataset FacebookUsers
+    return {
+        "id" : $r.id,
+        "alias" : $r.alias,
+        "name" : $r.name,
+        "user-since" : $r.user-since,
+        "employment" : $r.employment[0]
+    }
+);
+
+insert into dataset FacebookMessagesAlternate(
+    for $r in dataset FacebookMessages
+    return {
+        "message-id" : $r.message-id,
+        "author-id" : $r.author-id,
+        "in-response-to" : $r.in-response-to,
+        "sender-location" : $r.sender-location,
+        "message" : $r.message
+    }
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.query.aql
new file mode 100644
index 0000000..5bdc255
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $user in dataset FacebookUsersAlternate
+where $user.id = 8
+return get-record-fields($user);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.query.aql
new file mode 100644
index 0000000..0af5656
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookUsersAlternate
+order by $r.id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.query.aql
new file mode 100644
index 0000000..ad5d424
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookMessagesAlternate
+order by $r.message-id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.query.aql
new file mode 100644
index 0000000..72d49f0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TwitterUsersAlternate
+order by $r.screen-name
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.query.aql
new file mode 100644
index 0000000..698660b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+order by $r.tweetid
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.query.aql
new file mode 100644
index 0000000..d7cf8d0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.query.aql
@@ -0,0 +1,13 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessagesAlternate
+for $f in get-record-fields($r)
+group by $n:=$f.field-name, $t:=$f.field-type with $r
+let $count:=count($r)
+order by $n, $t
+return {"field-name":$n, "field-type":$t, "count":$count};
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.1.ddl.aql
new file mode 100644
index 0000000..b9e6a70
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.1.ddl.aql
@@ -0,0 +1,47 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+drop dataverse TinySocial if exists;
+create dataverse TinySocial;
+use dataverse TinySocial;
+
+create type TwitterUserType as open {
+        screen-name: string,
+        lang: string,
+        friends_count: int64,
+        statuses_count: int64
+}
+
+create type TweetMessageType as closed {
+        tweetid: string,
+        user: TwitterUserType,
+        sender-location: point?,
+        send-time: datetime,
+        referred-topics: {{ string }},
+        message-text: string
+}
+
+create type EmploymentType as open {
+        organization-name: string,
+        start-date: date,
+        end-date: date?
+}
+
+create type FacebookUserType as closed {
+        id: int64,
+        alias: string,
+        name: string,
+        user-since: datetime,
+        friend-ids: {{ int64 }},
+        employment: [EmploymentType]
+}
+
+create type FacebookMessageType as closed {
+        message-id: int64,
+        author-id: int64,
+        in-response-to: int64?,
+        sender-location: point?,
+        message: string
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.2.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.2.ddl.aql
new file mode 100644
index 0000000..079f6e2
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.2.ddl.aql
@@ -0,0 +1,24 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+create dataset FacebookUsers(FacebookUserType)
+primary key id;
+
+create dataset FacebookMessages(FacebookMessageType)
+primary key message-id;
+
+create dataset TwitterUsers(TwitterUserType)
+primary key screen-name;
+
+create dataset TweetMessages(TweetMessageType)
+primary key tweetid
+hints(cardinality=100); 
+
+create index fbUserSinceIdx on FacebookUsers(user-since);
+create index fbAuthorIdx on FacebookMessages(author-id) type btree;
+create index fbSenderLocIndex on FacebookMessages(sender-location) type rtree;
+create index fbMessageIdx on FacebookMessages(message) type keyword;
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.3.update.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.3.update.aql
new file mode 100644
index 0000000..f2cb06a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.3.update.aql
@@ -0,0 +1,18 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+load dataset FacebookUsers using localfs
+(("path"="nc1://data/tinysocial/fbu.adm"),("format"="adm"));
+
+load dataset FacebookMessages using localfs
+(("path"="nc1://data/tinysocial/fbm.adm"),("format"="adm"));
+
+load dataset TwitterUsers using localfs
+(("path"="nc1://data/tinysocial/twu.adm"),("format"="adm"));
+
+load dataset TweetMessages using localfs
+(("path"="nc1://data/tinysocial/twm.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.4.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.4.query.aql
new file mode 100644
index 0000000..fb4a402
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.4.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+where $user.id = 8
+return get-record-fields($user);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.5.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.5.query.aql
new file mode 100644
index 0000000..8f7359e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.5.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookUsers
+order by $r.id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.6.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.6.query.aql
new file mode 100644
index 0000000..b3129e8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.6.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset FacebookMessages
+order by $r.message-id
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.7.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.7.query.aql
new file mode 100644
index 0000000..b979dd7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.7.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TwitterUsers
+order by $r.screen-name
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.8.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.8.query.aql
new file mode 100644
index 0000000..48b8e6e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.8.query.aql
@@ -0,0 +1,10 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessages
+order by $r.tweetid
+return get-record-fields($r);
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.9.query.aql b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.9.query.aql
new file mode 100644
index 0000000..d30a74e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/records/get-record-fields/tiny-social-example/tiny-social-example.9.query.aql
@@ -0,0 +1,13 @@
+/*
+* Description  : Testing get-record-fields under different queries.
+* Expected Res : Success
+* Date         : 04 Jun 2015
+*/
+use dataverse TinySocial;
+
+for $r in dataset TweetMessages
+for $f in get-record-fields($r)
+group by $n:=$f.field-name, $t:=$f.field-type with $r
+let $count:=count($r)
+order by $n, $t
+return {"field-name":$n, "field-type":$t, "count":$count};
diff --git a/asterix-app/src/test/resources/runtimets/repeatedtestsuite.xml b/asterix-app/src/test/resources/runtimets/repeatedtestsuite.xml
new file mode 100644
index 0000000..e4bbc73
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/repeatedtestsuite.xml
@@ -0,0 +1,31 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed under the Apache License, Version 2.0 (the "License");
+ ! you may not use this file except in compliance with the License.
+ ! you may obtain a copy of the License from
+ ! 
+ !     http://www.apache.org/licenses/LICENSE-2.0
+ ! 
+ ! Unless required by applicable law or agreed to in writing, software
+ ! distributed under the License is distributed on an "AS IS" BASIS,
+ ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ! See the License for the specific language governing permissions and
+ ! limitations under the License.
+ !-->
+<test-suite
+    xmlns="urn:xml.testframework.asterix.ics.uci.edu"
+    ResultOffsetPath="results"
+    QueryOffsetPath="queries"
+    QueryFileExtension=".aql">
+    <!-- By default no test are listed here. This is only for individual testing purposes. -->
+    <!-- The following test case is commented out as an example. -->
+    <test-group name="repeated-tests">
+<!--
+        <test-case FilePath="records/get-record-fields">
+            <compilation-unit name="tiny-social-example">
+                <output-dir compare="Text">tiny-social-example</output-dir>
+            </compilation-unit>
+        </test-case>
+-->
+    </test-group>
+</test-suite>
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.10.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.10.adm
new file mode 100644
index 0000000..ba62392
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.10.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } }
+, { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } }
+, { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } }
+, { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.11.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.11.adm
new file mode 100644
index 0000000..e04c4d4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.11.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "fullClassification": { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } } }
+, { "id": 2, "fullClassification": { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } } }
+, { "id": 3, "fullClassification": { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } } }
+, { "id": 4, "fullClassification": { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } } }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.12.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.12.adm
new file mode 100644
index 0000000..57e9e86
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.12.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "class": { "id": 1, "fullClassification": { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } } } }
+, { "id": 2, "class": { "id": 2, "fullClassification": { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } } } }
+, { "id": 3, "class": { "id": 3, "fullClassification": { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } } } }
+, { "id": 4, "class": { "id": 4, "fullClassification": { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.3.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.3.adm
new file mode 100644
index 0000000..87e1291
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.3.adm
@@ -0,0 +1,5 @@
+[ "Gulo"
+, "Hyracoidea"
+, "Jamaicensis"
+, "Johnstoni"
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.4.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.4.adm
new file mode 100644
index 0000000..f724405
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.4.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Species": "Gulo" }
+, { "id": 2, "Species": "Johnstoni" }
+, { "id": 3, "Species": "Hyracoidea" }
+, { "id": 4, "Species": "Jamaicensis" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.5.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.5.adm
new file mode 100644
index 0000000..f84fa4d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.5.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } }
+, { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } }
+, { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } }
+, { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.6.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.6.adm
new file mode 100644
index 0000000..656d0c3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.6.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } }
+, { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } }
+, { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } }
+, { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.7.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.7.adm
new file mode 100644
index 0000000..67b9b86
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.7.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } }
+, { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } }
+, { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } }
+, { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.8.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.8.adm
new file mode 100644
index 0000000..99cb0ce
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.8.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } }
+, { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } }
+, { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } }
+, { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.9.adm b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.9.adm
new file mode 100644
index 0000000..bdf5ca5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/access-nested-fields/access-nested-fields.9.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } }
+, { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } }
+, { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } }
+, { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.1.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.1.adm
new file mode 100644
index 0000000..0616231
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.1.adm
@@ -0,0 +1,2 @@
+[ "AsterixDB"
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.2.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.2.adm
new file mode 100644
index 0000000..985b94e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.2.adm
@@ -0,0 +1,2 @@
+[ { "city": "Irvine", "state": "CA" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.3.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.3.adm
new file mode 100644
index 0000000..802f510
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/documentation-example/documentation-example.3.adm
@@ -0,0 +1,2 @@
+[ [ "Hivestrix", "Preglix", "Apache VXQuery" ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-closed/highly-nested-closed.3.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-closed/highly-nested-closed.3.adm
new file mode 100644
index 0000000..67d992c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-closed/highly-nested-closed.3.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "fullClassification": { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } } }
+, { "id": 2, "fullClassification": { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } } }
+, { "id": 3, "fullClassification": { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } } }
+, { "id": 4, "fullClassification": { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.adm
new file mode 100644
index 0000000..67d992c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-mixed/highly-nested-mixed.3.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "fullClassification": { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } } }
+, { "id": 2, "fullClassification": { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } } }
+, { "id": 3, "fullClassification": { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } } }
+, { "id": 4, "fullClassification": { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-open/highly-nested-open.3.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-open/highly-nested-open.3.adm
new file mode 100644
index 0000000..67d992c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/highly-nested-open/highly-nested-open.3.adm
@@ -0,0 +1,5 @@
+[ { "id": 1, "fullClassification": { "id": 1, "Kingdom": "Animalia", "lower": { "id": 1, "Phylum": "Chordata", "lower": { "id": 1, "Class": "Mammalia", "lower": { "id": 1, "Order": "Carnivora", "lower": { "id": 1, "Family": "Mustelinae", "lower": { "id": 1, "Genus": "Gulo", "lower": { "id": 1, "Species": "Gulo" } } } } } } } }
+, { "id": 2, "fullClassification": { "id": 2, "Kingdom": "Animalia", "lower": { "id": 2, "Phylum": "Chordata", "lower": { "id": 2, "Class": "Mammalia", "lower": { "id": 2, "Order": "Artiodactyla", "lower": { "id": 2, "Family": "Giraffidae", "lower": { "id": 2, "Genus": "Okapia", "lower": { "id": 2, "Species": "Johnstoni" } } } } } } } }
+, { "id": 3, "fullClassification": { "id": 3, "Kingdom": "Animalia", "lower": { "id": 3, "Phylum": "Chordata", "lower": { "id": 3, "Class": "Mammalia", "lower": { "id": 3, "Order": "Atlantogenata", "lower": { "id": 3, "Family": "Afrotheria", "lower": { "id": 3, "Genus": "Paenungulata", "lower": { "id": 3, "Species": "Hyracoidea" } } } } } } } }
+, { "id": 4, "fullClassification": { "id": 4, "Kingdom": "Animalia", "lower": { "id": 4, "Phylum": "Chordata", "lower": { "id": 4, "Class": "Aves", "lower": { "id": 4, "Order": "Accipitriformes", "lower": { "id": 4, "Family": "Accipitridae", "lower": { "id": 4, "Genus": "Buteo", "lower": { "id": 4, "Species": "Jamaicensis" } } } } } } } }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/tiny-social-example/tiny-social-example.4.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/tiny-social-example/tiny-social-example.4.adm
new file mode 100644
index 0000000..0f002f4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-field-value/tiny-social-example/tiny-social-example.4.adm
@@ -0,0 +1,25 @@
+[ " can't stand iphone its platform is terrible"
+, " can't stand motorola its speed is terrible:("
+, " hate verizon its voice-clarity is OMG:("
+, " like iphone the voice-clarity is good:)"
+, " like motorola the speed is good:)"
+, " like samsung the platform is good"
+, " like samsung the voice-command is amazing:)"
+, " like sprint the voice-command is mind-blowing:)"
+, " like t-mobile the shortcut-menu is awesome:)"
+, " like verizon its shortcut-menu is awesome:)"
+, " love t-mobile its customization is good:)"
+, " love verizon its voicemail-service is awesome"
+, "1"
+, "10"
+, "11"
+, "12"
+, "2"
+, "3"
+, "4"
+, "5"
+, "6"
+, "7"
+, "8"
+, "9"
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/documentation-example/documentation-example.1.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/documentation-example/documentation-example.1.adm
new file mode 100644
index 0000000..ff67a9e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/documentation-example/documentation-example.1.adm
@@ -0,0 +1,2 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "project", "field-type": "STRING", "is-open": false }, { "field-name": "address", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "city", "field-type": "STRING", "is-open": false }, { "field-name": "state", "field-type": "STRING", "is-open": false } ] }, { "field-name": "related", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" }, { "field-type": "STRING" } ] } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.adm
new file mode 100644
index 0000000..ea66e8b
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.adm
@@ -0,0 +1,2 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.adm
new file mode 100644
index 0000000..43b6e20
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.adm
@@ -0,0 +1,11 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.adm
new file mode 100644
index 0000000..8fdd58c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.adm
@@ -0,0 +1,16 @@
+[ [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.adm
new file mode 100644
index 0000000..c2e6792
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.adm
@@ -0,0 +1,5 @@
+[ [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.adm
new file mode 100644
index 0000000..66a276d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.adm
@@ -0,0 +1,13 @@
+[ [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.adm
new file mode 100644
index 0000000..d5d7282
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.adm
@@ -0,0 +1,5 @@
+[ { "count": 12, "field-name": "message-text", "field-type": "STRING" }
+, { "count": 12, "field-name": "send-time", "field-type": "DATETIME" }
+, { "count": 12, "field-name": "sender-location", "field-type": "POINT" }
+, { "count": 12, "field-name": "tweetid", "field-type": "STRING" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.adm
new file mode 100644
index 0000000..9a34a4f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.adm
@@ -0,0 +1,2 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.adm
new file mode 100644
index 0000000..32ffe1a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.adm
@@ -0,0 +1,11 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.adm
new file mode 100644
index 0000000..8fdd58c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.adm
@@ -0,0 +1,16 @@
+[ [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.adm
new file mode 100644
index 0000000..c2e6792
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.adm
@@ -0,0 +1,5 @@
+[ [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.adm
new file mode 100644
index 0000000..52770b2
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.adm
@@ -0,0 +1,13 @@
+[ [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.adm
new file mode 100644
index 0000000..237f229
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.adm
@@ -0,0 +1,6 @@
+[ { "count": 12, "field-name": "message-text", "field-type": "STRING" }
+, { "count": 12, "field-name": "referred-topics", "field-type": "UNORDEREDLIST" }
+, { "count": 12, "field-name": "send-time", "field-type": "DATETIME" }
+, { "count": 12, "field-name": "sender-location", "field-type": "POINT" }
+, { "count": 12, "field-name": "tweetid", "field-type": "STRING" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.adm
new file mode 100644
index 0000000..bea13da
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.adm
@@ -0,0 +1,2 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.adm
new file mode 100644
index 0000000..304abae
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.adm
@@ -0,0 +1,11 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "employment", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.adm
new file mode 100644
index 0000000..8fdd58c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.adm
@@ -0,0 +1,16 @@
+[ [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.adm
new file mode 100644
index 0000000..c2e6792
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.adm
@@ -0,0 +1,5 @@
+[ [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.adm
new file mode 100644
index 0000000..bf9b501
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.adm
@@ -0,0 +1,13 @@
+[ [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.adm
new file mode 100644
index 0000000..d831c10
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.adm
@@ -0,0 +1,6 @@
+[ { "count": 12, "field-name": "message-text", "field-type": "STRING" }
+, { "count": 12, "field-name": "send-time", "field-type": "DATETIME" }
+, { "count": 12, "field-name": "sender-location", "field-type": "POINT" }
+, { "count": 12, "field-name": "tweetid", "field-type": "STRING" }
+, { "count": 12, "field-name": "user", "field-type": "RECORD" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.4.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.4.adm
new file mode 100644
index 0000000..3822ce7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.4.adm
@@ -0,0 +1,2 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.5.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.5.adm
new file mode 100644
index 0000000..d5a41d3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.5.adm
@@ -0,0 +1,11 @@
+[ [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+, [ { "field-name": "id", "field-type": "INT64", "is-open": false }, { "field-name": "alias", "field-type": "STRING", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": false }, { "field-name": "user-since", "field-type": "DATETIME", "is-open": false }, { "field-name": "friend-ids", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "INT64" }, { "field-type": "INT64" }, { "field-type": "INT64" } ] }, { "field-name": "employment", "field-type": "ORDEREDLIST", "is-open": false, "list": [ { "field-type": "RECORD", "nested": [ { "field-name": "organization-name", "field-type": "STRING", "is-open": false }, { "field-name": "start-date", "field-type": "DATE", "is-open": false }, { "field-name": "end-date", "field-type": "DATE", "is-open": false } ] } ] } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.6.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.6.adm
new file mode 100644
index 0000000..8fdd58c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.6.adm
@@ -0,0 +1,16 @@
+[ [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "message-id", "field-type": "INT64", "is-open": false }, { "field-name": "author-id", "field-type": "INT64", "is-open": false }, { "field-name": "in-response-to", "field-type": "INT64", "is-open": false }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "message", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.7.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.7.adm
new file mode 100644
index 0000000..55daef6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.7.adm
@@ -0,0 +1,5 @@
+[ [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ]
+, [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm
new file mode 100644
index 0000000..7a1ca5d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm
@@ -0,0 +1,13 @@
+[ [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm
new file mode 100644
index 0000000..898d763
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm
@@ -0,0 +1,7 @@
+[ { "count": 12, "field-name": "message-text", "field-type": "STRING" }
+, { "count": 12, "field-name": "referred-topics", "field-type": "UNORDEREDLIST" }
+, { "count": 12, "field-name": "send-time", "field-type": "DATETIME" }
+, { "count": 12, "field-name": "sender-location", "field-type": "POINT" }
+, { "count": 12, "field-name": "tweetid", "field-type": "STRING" }
+, { "count": 12, "field-name": "user", "field-type": "RECORD" }
+ ]
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 2163093..94ae2f2 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -12,6 +12,11 @@
  ! See the License for the specific language governing permissions and
  ! limitations under the License.
  !-->
+<!DOCTYPE test-suite [
+
+<!ENTITY RecordsQueries SYSTEM "queries/records/RecordsQueries.xml">
+
+]>
 <test-suite
         xmlns="urn:xml.testframework.asterix.ics.uci.edu"
         ResultOffsetPath="results"
@@ -4343,65 +4348,7 @@
         </test-case>
     </test-group>
     <test-group name="records">
-        <test-case FilePath="records">
-            <compilation-unit name="closed-record-constructor_01">
-                <output-dir compare="Text">closed-record-constructor_01</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="closed-record-constructor_02">
-                <output-dir compare="Text">closed-record-constructor_02</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="closed-record-constructor_03">
-                <output-dir compare="Text">closed-record-constructor_03</output-dir>
-            </compilation-unit>
-        </test-case>
-        -->
-        <test-case FilePath="records">
-            <compilation-unit name="expFieldName">
-                <output-dir compare="Text">expFieldName</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="field-access-by-index_01">
-                <output-dir compare="Text">field-access-by-index_01</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="field-access-on-open-field">
-                <output-dir compare="Text">field-access-on-open-field</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="open-record-constructor_01">
-                <output-dir compare="Text">open-record-constructor_01</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="open-record-constructor_02">
-                <output-dir compare="Text">open-record-constructor_02</output-dir>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="closed-closed-fieldname-conflict_issue173">
-                <output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
-                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="open-closed-fieldname-conflict_issue173">
-                <output-dir compare="Text">open-closed-fieldname-conflict_issue173</output-dir>
-                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="records">
-            <compilation-unit name="open-open-fieldname-conflict_issue173">
-                <output-dir compare="Text">open-open-fieldname-conflict_issue173</output-dir>
-                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-            </compilation-unit>
-        </test-case>
+        &RecordsQueries;
     </test-group>
     <test-group name="scan">
         <test-case FilePath="scan">