<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!--
 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.
-->
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_3.dtd">

<!-- ========================================================================= -->
<!--                                                                           -->
<!-- Table definition for the ID Broker Table used by Torque                   -->
<!--                                                                           -->
<!-- @version $Id: id-table-schema.xml 615328 2008-01-25 20:25:05Z tv $ -->
<!--                                                                           -->
<!-- ========================================================================= -->

<database name="@DATABASE_DEFAULT@"
  defaultIdMethod="idbroker"
  defaultJavaType="primitive"
  defaultJavaNamingMethod="underscore"
  package="@DATABASE_PACKAGE@">
  <table name="ID_TABLE" idMethod="idbroker">
    <column name="ID_TABLE_ID" required="true" primaryKey="true" type="INTEGER" javaName="IdTableId"/>
    <column name="TABLE_NAME" required="true" size="255" type="VARCHAR" javaName="TableName"/>
    <column name="NEXT_ID" required="true" type="INTEGER" javaName="NextId"/>
    <column name="QUANTITY" required="true" type="INTEGER" javaName="Quantity"/>

    <unique>
      <unique-column name="TABLE_NAME"/>
    </unique>

  </table>
</database>
