<!--
 ! 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="meta24">
        <output-dir compare="Text">meta24</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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>Error: 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>
