<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--

  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.

-->
<x_dimension_table dimension_name="testDim4" table_name="testdim4tbl" weight="0.0" xmlns="uri:lens:cube:0.1">
  <columns>
    <column name="id" _type="int" comment="code"/>
    <column name="name" _type="string" comment="field1"/>
  </columns>
  <properties>
    <property name="dimtble.testdim4tbl.storages" value="C1,C2"/>
    <property name="dimtble.testdim4tbl.c1.dumpperiod" value="HOURLY"/>
    <property name="dimtble.testdim4tbl.dim.name" value="testDim4"/>
    <property name="cube.table.testdim4tbl.weight" value="0.0"/>
    <property name="dimension.testdim4.timed.dimension" value="dt"/>
  </properties>
  <storage_tables>
    <storage_table>
      <update_periods>
        <update_period>HOURLY</update_period>
      </update_periods>
      <storage_name>C1</storage_name>
      <table_desc external="false">
        <part_cols>
          <column name="dt" _type="string" comment="date partition"/>
        </part_cols>
        <table_parameters>
          <property name="cube.storagetable.time.partcols" value="dt"/>
        </table_parameters>
        <serde_parameters>
          <property name="serialization.format" value="1"/>
        </serde_parameters>
        <time_part_cols>dt</time_part_cols>
      </table_desc>
    </storage_table>
    <storage_table>
      <update_periods/>
      <storage_name>C2</storage_name>
      <table_desc external="false">
        <part_cols/>
        <table_parameters>
          <property name="totalSize" value="0"/>
          <property name="numFiles" value="0"/>
        </table_parameters>
        <serde_parameters>
          <property name="serialization.format" value="1"/>
        </serde_parameters>
      </table_desc>
    </storage_table>
  </storage_tables>
</x_dimension_table>