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

  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 cube_name="sales" name="sales_aggr_fact1" weight="300.0" xmlns="uri:lens:cube:0.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="uri:lens:cube:0.1 cube-0.1.xsd ">
  <columns>
    <column comment="" name="order_time" _type="TIMESTAMP"/>
    <column comment="" name="delivery_time" _type="TIMESTAMP"/>
    <column comment="" name="customer_id" _type="INT"/>
    <column comment="" name="product_id" _type="INT"/>
    <column comment="" name="promotion_id" _type="INT"/>
    <column comment="" name="customer_city_id" _type="INT"/>
    <column comment="" name="production_city_id" _type="INT"/>
    <column comment="" name="delivery_city_id" _type="INT"/>
    <column comment="" name="unit_sales" _type="BIGINT"/>
    <column comment="" name="store_sales" _type="DOUBLE"/>
    <column comment="" name="store_cost" _type="DOUBLE"/>
    <column comment="" name="max_line_item_price" _type="FLOAT"/>
    <column comment="" name="max_line_item_discount" _type="FLOAT"/>
  </columns>
  <properties>
    <property name="cube.fact.is.aggregated" value="true"/>
  </properties>
  <storage_tables>
    <storage_table>
      <update_periods>
        <update_period>HOURLY</update_period>
        <update_period>DAILY</update_period>
      </update_periods>
      <storage_name>local</storage_name>
      <table_desc external="true" field_delimiter="," table_location="/tmp/examples/aggrfact1">
        <part_cols>
          <column comment="Process time partition" name="pt" _type="STRING"/>
          <column comment="Order time partition" name="ot" _type="STRING"/>
          <column comment="Delivery time partition" name="dt" _type="STRING"/>
        </part_cols>
        <time_part_cols>pt</time_part_cols>
        <time_part_cols>ot</time_part_cols>
        <time_part_cols>dt</time_part_cols>
      </table_desc>
    </storage_table>
    <storage_table>
      <update_periods>
        <update_period>DAILY</update_period>
      </update_periods>
      <storage_name>mydb</storage_name>
      <table_desc external="true" field_delimiter="," table_location="/tmp/db-storage.db"
        storage_handler_name="org.apache.lens.storage.db.DBStorageHandler">
        <part_cols>
          <column comment="Process time partition" name="pt" _type="STRING"/>
          <column comment="Order time partition" name="ot" _type="STRING"/>
          <column comment="Delivery time partition" name="dt" _type="STRING"/>
        </part_cols>
        <table_parameters>
          <property name="lens.metastore.native.db.name" value="default"/>
        </table_parameters>
        <time_part_cols>pt</time_part_cols>
        <time_part_cols>ot</time_part_cols>
        <time_part_cols>dt</time_part_cols>
      </table_desc>
    </storage_table>
  </storage_tables>
</x_fact_table>
