<!--
 ! 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="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>
