<?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_fact_table name="testfact2" cube_name="testCube" weight="10.0" xmlns="uri:lens:cube:0.1">
  <columns>
    <column name="msr21" _type="float" comment="second measure"/>
    <column name="msr15" _type="int" comment="fifteenth measure"/>
    <column name="union_join_ctx_msr3" _type="int" comment="union_join_ctx_third measure"/>
    <column name="newmeasure" _type="bigint" comment="measure available  from now"/>
    <column name="union_join_ctx_msr2" _type="int" comment="union_join_ctx_second measure"/>
    <column name="msr2" _type="float" comment="second measure"/>
    <column name="msr3" _type="double" comment="third measure"/>
    <column name="msr22" _type="float" comment="second measure"/>
    <column name="msr9" _type="bigint" comment="ninth measure"/>
    <column name="msr1" _type="int" comment="first measure"/>
    <column name="noaggrmsr" _type="bigint" comment="measure without a default aggregate"/>
    <column name="union_join_ctx_msr1" _type="int" comment="union_join_ctx_first measure"/>
    <column name="zipcode" _type="int" comment="zip"/>
    <column name="cityid" _type="int" comment="city id"/>
    <column name="cityid2" _type="int" comment="city id"/>
    <column name="test_time_dim_hour_id" _type="int" comment="time id"/>
    <column name="test_time_dim_hour_id2" _type="int" comment="time id"/>
    <column name="cdim2" _type="int" comment="cycledim id"/>
  </columns>
  <properties>
    <property name="cube.fact.relative.start.time" value="now.year - 90 days"/>
    <property name="cube.fact.testfact2.storages" value="C4,C1"/>
    <property name="cube.fact.testfact2.c4.updateperiods" value="HOURLY"/>
    <property name="cube.fact.testfact2.c1.updateperiods" value="HOURLY"/>
    <property name="cube.fact.testfact2.cubename" value="testCube"/>
    <property name="cube.table.testfact2.weight" value="10.0"/>
  </properties>
  <storage_tables>
    <storage_table>
      <update_periods>
        <update_period>HOURLY</update_period>
      </update_periods>
      <storage_name>C4</storage_name>
      <table_desc external="false">
        <part_cols>
          <column name="ttd" _type="string" comment="test date partition"/>
          <column name="ttd2" _type="string" comment="test date partition"/>
        </part_cols>
        <table_parameters>
          <property name="cube.storagetable.partition.timeline.cache.HOURLY.ttd2.storage.class"
                    value="org.apache.lens.cube.metadata.timeline.StoreAllPartitionTimeline"/>
          <property name="cube.storagetable.time.partcols" value="ttd,ttd2"/>
          <property name="cube.storagetable.partition.timeline.cache.HOURLY.ttd.storage.class"
                    value="org.apache.lens.cube.metadata.timeline.StoreAllPartitionTimeline"/>
        </table_parameters>
        <serde_parameters>
          <property name="serialization.format" value="1"/>
        </serde_parameters>
        <time_part_cols>ttd</time_part_cols>
        <time_part_cols>ttd2</time_part_cols>
      </table_desc>
    </storage_table>
    <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_tables>
</x_fact_table>