<!--
 ! Licensed to the Apache Software Foundation (ASF) under one
 ! or more contributor license agreements.  See the NOTICE file
 ! distributed with this work for additional information
 ! regarding copyright ownership.  The ASF licenses this file
 ! to you 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 at
 !
 !   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.apache.org" ResultOffsetPath="results" QueryOffsetPath="queries" QueryFileExtension=".aql">
  <test-group name="basic">
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-1">
        <output-dir compare="Text">dataset_with_meta-1</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-2">
        <output-dir compare="Text">dataset_with_meta-2</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-3">
        <output-dir compare="Text">dataset_with_meta-3</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-4">
        <output-dir compare="Text">dataset_with_meta-4</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-5">
        <output-dir compare="Text">dataset_with_meta-5</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-6">
        <output-dir compare="Text">dataset_with_meta-6</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="dataset_with_meta-7">
        <output-dir compare="Text">dataset_with_meta-7</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta01">
        <output-dir compare="Text">meta01</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta02">
        <output-dir compare="Text">meta02</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_builtin_type">
        <output-dir compare="Text">meta03/builtin_type</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_builtin_type_nullable">
        <output-dir compare="Text">meta03/builtin_type_nullable</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_ordered_list">
        <output-dir compare="Text">meta03/complex_type/ordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_ordered_list_nullable">
        <output-dir compare="Text">meta03/complex_type/ordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_record">
        <output-dir compare="Text">meta03/complex_type/record</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_record_nullable">
        <output-dir compare="Text">meta03/complex_type/record</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_unordered_list">
        <output-dir compare="Text">meta03/complex_type/unordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta03_unordered_list_nullable">
        <output-dir compare="Text">meta03/complex_type/unordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_builtin_type">
        <output-dir compare="Text">meta04/builtin_type</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_builtin_type_nullable">
        <output-dir compare="Text">meta04/builtin_type_nullable</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_ordered_list">
        <output-dir compare="Text">meta04/complex_type/ordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_ordered_list_nullable">
        <output-dir compare="Text">meta04/complex_type/ordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_record">
        <output-dir compare="Text">meta04/complex_type/record</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_record_nullable">
        <output-dir compare="Text">meta04/complex_type/record</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_unordered_list">
        <output-dir compare="Text">meta04/complex_type/unordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta04_unordered_list_nullable">
        <output-dir compare="Text">meta04/complex_type/unordered_list</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta05">
        <output-dir compare="Text">meta05</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta06">
        <output-dir compare="Text">meta06</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta07">
        <output-dir compare="Text">meta07</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta08">
        <output-dir compare="Text">meta08</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta09">
        <output-dir compare="Text">meta09</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta10">
        <output-dir compare="Text">meta10</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta11">
        <output-dir compare="Text">meta11</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta12">
        <output-dir compare="Text">meta12</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta13">
        <output-dir compare="Text">meta13</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta14">
        <output-dir compare="Text">meta14</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta15">
        <output-dir compare="Text">meta15</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta16">
        <output-dir compare="Text">meta16</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="meta17">
        <output-dir compare="Text">meta17</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_compaction_policy">
        <output-dir compare="Text">metadata_compaction_policy</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_dataset">
        <output-dir compare="Text">metadata_dataset</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_dataverse">
        <output-dir compare="Text">metadata_dataverse</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_datatype">
        <output-dir compare="Text">metadata_datatype</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_index">
        <output-dir compare="Text">metadata_index</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_node">
        <output-dir compare="Text">metadata_node</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_nodegroup">
        <output-dir compare="Text">metadata_nodegroup</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_251_dataset_hint_2">
        <output-dir compare="Text">issue_251_dataset_hint_2</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_251_dataset_hint_3">
        <output-dir compare="Text">issue_251_dataset_hint_3</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_251_dataset_hint_4">
        <output-dir compare="Text">issue_251_dataset_hint_4</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_key_0">
        <output-dir compare="Text">issue_363_temporal_key_0</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_key_1">
        <output-dir compare="Text">issue_363_temporal_key_1</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_key_2">
        <output-dir compare="Text">issue_363_temporal_key_2</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_key_3">
        <output-dir compare="Text">issue_363_temporal_key_3</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_key_4">
        <output-dir compare="Text">issue_363_temporal_key_4</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_sec_key_0">
        <output-dir compare="Text">issue_363_temporal_sec_key_0</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_sec_key_1">
        <output-dir compare="Text">issue_363_temporal_sec_key_1</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_sec_key_2">
        <output-dir compare="Text">issue_363_temporal_sec_key_2</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_sec_key_3">
        <output-dir compare="Text">issue_363_temporal_sec_key_3</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="issue_363_temporal_sec_key_4">
        <output-dir compare="Text">issue_363_temporal_sec_key_4</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="metadata_selfjoin">
        <output-dir compare="Text">metadata_selfjoin</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="basic">
      <compilation-unit name="temp_dataset">
        <output-dir compare="Text">temp_dataset</output-dir>
      </compilation-unit>
    </test-case>
  </test-group>
  <test-group name="exception">
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_3">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_4">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_5">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_6">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_7">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_239_drop_system_dataset_8">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Cannot drop a dataset belonging to the dataverse:Metadata</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_251_dataset_hint_error_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Dataset: Book error in processing hint: TUPLE_SIZE Unknown hint</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_251_dataset_hint_error_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: Invalid operation - Dataset: Book error in processing hint: SIZE Unknown hint</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_272_create_index_error_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_272_create_index_error_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException</expected-error>
      </compilation-unit>
    </test-case>
    <!-- This case should be fixed to return a proper message rather than NPE -->
    <test-case FilePath="exception">
      <compilation-unit name="issue_255_create_dataset_error_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>java.lang.NullPointerException</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_255_create_dataset_error_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The partitioning key "[open-type]" cannot be of type RECORD.</expected-error>
      </compilation-unit>
    </test-case>
    <!-- Feed datasets are not supported anymore
    <test-case FilePath="exception">
      <compilation-unit name="issue_255_create_feed_error">
        <output-dir compare="Text">none</output-dir>
        <expected-error>org.json.JSONException: JSONObject["summary"] not found</expected-error>
      </compilation-unit>
    </test-case> -->
    <!-- This case should be fixed to return a proper message rather than NPE -->
    <test-case FilePath="exception">
      <compilation-unit name="issue_266_create_dataset_error_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>java.lang.NullPointerException</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_266_create_dataset_error_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The partitioning key "[id]" cannot be nullable</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_1">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[loc]" which is of type POINT cannot be indexed using the BTree index.</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_2">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[age]" which is of type INT32 cannot be indexed using the RTree index.</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_3">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[loc]" which is of type POINT cannot be indexed using the Length Partitioned Keyword index.</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_4">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[loc]" which is of type POINT cannot be indexed using the Length Partitioned Keyword index.</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_5">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[loc]" which is of type POINT cannot be indexed using the Length Partitioned N-Gram index.</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="exception">
      <compilation-unit name="issue_384_create_index_error_6">
        <output-dir compare="Text">none</output-dir>
        <expected-error>SyntaxError: The field "[loc]" which is of type POINT cannot be indexed using the Length Partitioned N-Gram index.</expected-error>
      </compilation-unit>
    </test-case>
  </test-group>
  <test-group name="transaction">
    <test-case FilePath="transaction">
      <compilation-unit name="failure_previous_success">
        <output-dir compare="Text">failure_previous_success</output-dir>
        <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: A datatype with this name StreetType already exists</expected-error>
      </compilation-unit>
      <compilation-unit name="verify_failure_previous_success">
        <output-dir compare="Text">verify_failure_previous_success</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="transaction">
      <compilation-unit name="failure_subsequent_no_execution">
        <output-dir compare="Text">failure_subsequent_no_execution</output-dir>
        <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: A nodegroup with this name group1 already exists</expected-error>
      </compilation-unit>
      <compilation-unit name="verify_failure_subsequent_no_execution">
        <output-dir compare="Text">verify_failure_subsequent_no_execution</output-dir>
      </compilation-unit>
    </test-case>
  </test-group>
</test-suite>
