<?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.
-->
<!--
This file contains the schema information when an implementation
has application identity.
-->
<orm xmlns="https://db.apache.org/jdo/xmlns/orm"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="https://db.apache.org/jdo/xmlns/orm
     https://db.apache.org/jdo/xmlns/orm_3_2.xsd">
    <package name="org.apache.jdo.tck.pc.company">

        <class name="Address"/>

        <class name="Company">
            <field name="companyid"/>
            <field name="address"/>
            <field name="departments">
            </field>
        </class>

        <class name="DentalInsurance"/>

        <class name="Department">
            <field name="deptid"/>
            <field name="employees">
            </field>
            <field name="fundedEmps">
            </field>
        </class>

        <class name="Employee">
            <field name="reviewedProjects">
            </field>
            <field name="projects">
            </field>
            <field name="team">
            </field>
            <field name="hradvisees">
            </field>
        </class>

        <class name="FullTimeEmployee"/>

        <class name="Insurance">
            <field name="insid"/>
        </class>

        <class name="MedicalInsurance"
        />

        <class name="PartTimeEmployee"/>

        <class name="Person">
            <field name="personid"/>
            <field name="middlename"/>
            <field name="address"/>
            <field name="phoneNumbers">
            </field>
            <query name="validNotUnique">
                SELECT firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="validUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName 
                FROM org.apache.jdo.tck.pc.company.Person 
                WHERE firstname == 'emp1First'
            </query>
            <query name="invalidUnique">
                SELECT UNIQUE firstname, lastname 
                INTO org.apache.jdo.tck.query.result.classes.FullName
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="unmodifiable" unmodifiable="true">
                SELECT firstname, lastname 
                FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="packageJDO">
                SELECT FROM org.apache.jdo.tck.pc.company.Person
                WHERE personid > 1
            </query>
            <query name="changeQuery">
                SELECT FROM org.apache.jdo.tck.pc.company.Person
            </query>
            <query name="invalidQuery">
                SeLeCt FrOm org.apache.jdo.tck.pc.company.Person
            </query>
        </class>

        <class name="Project">
            <field name="projid"/>
            <field name="reviewers">
            </field>
            <field name="members">
            </field>
        </class>
    </package>
</orm>
