You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2010/04/16 01:56:50 UTC

svn commit: r934649 [23/24] - in /hadoop/pig/trunk/contrib: ./ owl/ owl/bin/ owl/ci/ owl/ci/test_results/ owl/ci/test_scripts/ owl/docs/ owl/ivy/ owl/java/ owl/java/lib/ owl/java/main/ owl/java/main/META-INF/ owl/java/main/org/ owl/java/main/org/apache...

Added: hadoop/pig/trunk/contrib/owl/java/test/org/apache/hadoop/owl/testdriver/TestSampleStorageDriverImpl.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/java/test/org/apache/hadoop/owl/testdriver/TestSampleStorageDriverImpl.java?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/java/test/org/apache/hadoop/owl/testdriver/TestSampleStorageDriverImpl.java (added)
+++ hadoop/pig/trunk/contrib/owl/java/test/org/apache/hadoop/owl/testdriver/TestSampleStorageDriverImpl.java Thu Apr 15 23:56:44 2010
@@ -0,0 +1,162 @@
+/*
+ * 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.
+ */
+package org.apache.hadoop.owl.testdriver;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.owl.OwlTestCase;
+import org.apache.hadoop.owl.common.OwlException;
+import org.apache.hadoop.owl.mapreduce.OwlInputStorageDriver;
+import org.apache.hadoop.owl.protocol.ColumnType;
+import org.apache.hadoop.owl.protocol.OwlColumnSchema;
+import org.apache.hadoop.owl.protocol.OwlLoaderInfo;
+import org.apache.hadoop.owl.protocol.OwlSchema;
+import org.apache.pig.backend.executionengine.ExecException;
+import org.apache.pig.data.DataBag;
+import org.apache.pig.data.DataType;
+import org.apache.pig.data.Tuple;
+import org.apache.pig.data.TupleFactory;
+import org.junit.Test;
+
+public class TestSampleStorageDriverImpl extends OwlTestCase {
+
+    @Test
+    public static void testStorageDriver() throws IOException, InterruptedException{
+        OwlInputStorageDriver sd = new SampleInputStorageDriverImpl();
+
+        JobContext jobContext = null; //mock this? not needed, we don't use it in the sample driver anyway
+
+        OwlLoaderInfo loaderInfo = new OwlLoaderInfo();
+
+        OwlSchema schema = new OwlSchema();
+        schema.addColumnSchema(new OwlColumnSchema("cint1", ColumnType.INT));
+        schema.addColumnSchema(new OwlColumnSchema("cbool2", ColumnType.BOOL));
+        schema.addColumnSchema(new OwlColumnSchema("cbytes3", ColumnType.BYTES));
+        schema.addColumnSchema(new OwlColumnSchema("clong4", ColumnType.LONG));
+        schema.addColumnSchema(new OwlColumnSchema("cstring5", ColumnType.STRING));
+        schema.addColumnSchema(new OwlColumnSchema("cfloat6", ColumnType.FLOAT));
+        schema.addColumnSchema(new OwlColumnSchema("cdouble7", ColumnType.DOUBLE));
+
+        OwlSchema recordSchema = new OwlSchema();
+        recordSchema.addColumnSchema(new OwlColumnSchema("rint1", ColumnType.INT));
+        recordSchema.addColumnSchema(new OwlColumnSchema("rstring2", ColumnType.STRING));
+
+        OwlColumnSchema recordColumnSchema = new OwlColumnSchema("crecord8", ColumnType.RECORD);
+        recordColumnSchema.setSchema(recordSchema);
+
+        schema.addColumnSchema(recordColumnSchema);
+
+        OwlColumnSchema collectionColumnSchema = new OwlColumnSchema("ccoll9",ColumnType.COLLECTION);
+        collectionColumnSchema.setSchema(recordSchema);
+
+        schema.addColumnSchema(collectionColumnSchema);
+
+        OwlSchema mapSchema = new OwlSchema();
+        mapSchema.addColumnSchema(new OwlColumnSchema("mbool1",ColumnType.BOOL));
+        OwlColumnSchema mapColumnSchema = new OwlColumnSchema("cmap10",ColumnType.MAP);
+        mapColumnSchema.setSchema(mapSchema);
+
+        schema.addColumnSchema(mapColumnSchema);
+
+        System.out.println("Testing for schema : " + schema.getSchemaString());
+
+        sd.setInputPath(jobContext, "hdfs://inpy/");
+        sd.setOutputSchema(jobContext, schema);
+
+        InputFormat<BytesWritable, Tuple> inpf = sd.getInputFormat(loaderInfo);
+
+        int TEST_NUM_RECORDS = 11;
+        int TEST_NUM_SPLITS = 3;
+
+        ((SampleInputFormatImpl) inpf).setNumRecords(TEST_NUM_RECORDS);
+        ((SampleInputFormatImpl) inpf).setNumSplits(TEST_NUM_SPLITS);
+
+        TaskAttemptContext taskAttemptContext = null; //mock this? not needed, we don't use it.
+
+        int splitCounter = 0;
+        for (InputSplit isplit : inpf.getSplits(jobContext)){
+            RecordReader<BytesWritable, Tuple> rr = inpf.createRecordReader(isplit, taskAttemptContext);
+            int recordCounter = 0;
+            while (rr.nextKeyValue()){
+                BytesWritable bw = rr.getCurrentKey();
+                Tuple tp = rr.getCurrentValue();
+                List<Object>fields = tp.getAll();
+                System.out.println("["+bw.toString()+"]["+tp.toDelimitedString("|")+"]");
+                tupleMatchesSchema(tp,schema);
+                recordCounter++;
+            }
+            assertTrue(recordCounter == TEST_NUM_RECORDS);
+            System.out.println("--------");
+            splitCounter++;
+        }
+        assertTrue(splitCounter == TEST_NUM_SPLITS);
+    }
+
+    @SuppressWarnings("unchecked")
+    private static void tupleMatchesSchema(Tuple tp, OwlSchema schema) throws ExecException, OwlException {
+        List<Object> fields = tp.getAll();
+        assertEquals(fields.size(),schema.getColumnCount());
+        for (int i = 0 ; i < fields.size() ; i++){
+            byte type = tp.getType(i);
+            Object field = tp.get(i);
+            OwlColumnSchema column = schema.columnAt(i);
+
+            if (type == DataType.BOOLEAN){
+                assertEquals(column.getType() , ColumnType.BOOL);
+            } else if ((type == DataType.BYTE) || (type == DataType.INTEGER)){
+                assertEquals(column.getType(),ColumnType.INT);
+            } else if (type == DataType.BYTEARRAY){
+                assertEquals(column.getType(),ColumnType.BYTES);
+            } else if (type == DataType.LONG){
+                assertEquals(column.getType(),ColumnType.LONG);
+            } else if ((type == DataType.CHARARRAY) || (type == DataType.BIGCHARARRAY)){
+                assertEquals(column.getType(),ColumnType.STRING);
+            } else if (type == DataType.DOUBLE){
+                assertEquals(column.getType(),ColumnType.DOUBLE);
+            } else if (type == DataType.FLOAT){
+                assertEquals(column.getType(),ColumnType.FLOAT);
+            } else if (type == DataType.TUPLE){
+                tupleMatchesSchema((Tuple)field,column.getSchema());
+            } else if (type == DataType.BAG){
+                DataBag db = (DataBag) field;
+                Iterator<Tuple> dbi = db.iterator();
+                while (dbi.hasNext()){
+                    tupleMatchesSchema(dbi.next(),column.getSchema());
+                }
+            } else if (type == DataType.MAP) {
+                Map<String,Object> map = (Map<String,Object>) field;
+                for (Object value : map.values()){
+                    Tuple mapValueTestContainer = TupleFactory.getInstance().newTuple(1);
+                    mapValueTestContainer.set(0, value);
+                    tupleMatchesSchema(mapValueTestContainer,column.getSchema());
+                }
+            } else {
+                assertTrue(false);
+            }
+        }
+    }
+}

Added: hadoop/pig/trunk/contrib/owl/mavenize/pom.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/mavenize/pom.xml?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/mavenize/pom.xml (added)
+++ hadoop/pig/trunk/contrib/owl/mavenize/pom.xml Thu Apr 15 23:56:44 2010
@@ -0,0 +1,259 @@
+<?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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                             http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.hadoop</groupId>
+    <artifactId>owl</artifactId>
+    <packaging>jar</packaging>
+    <version>0.2.0</version>
+    <description>
+        Owl
+    </description>
+    <licenses>
+        <license>
+            <name>Apache License, Version 2.0</name>
+            <url>http://apache.org/licenses/LICENSE-2.0</url>
+        </license>
+    </licenses>
+
+    <dependencies>
+        <!-- Apache Common -->
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+            <version>1.8.0</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils-bean-collections</artifactId>
+            <version>1.8.0</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils-core</artifactId>
+            <version>1.8.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.4</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+            <version>1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.1</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-configuration</groupId>
+            <artifactId>commons-configuration</artifactId>
+            <version>1.6</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.1.1</version>
+        </dependency>
+
+
+        <!-- Datanucleus -->
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-cache</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-connectionpool</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-core</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-enhancer</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-jpa</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-management</artifactId>
+            <version>1.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-rdbms</artifactId>
+            <version>2.0.0-release</version>
+        </dependency>
+
+
+        <!-- derby -->
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.5.3.0_1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbyclient</artifactId>
+            <version>10.5.3.0_1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbynet</artifactId>
+            <version>10.5.3.0_1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>10.5.3.0_1</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- other stuff -->
+
+        <dependency>
+            <groupId>net.sf.ezmorph</groupId>
+            <artifactId>ezmorph</artifactId>
+            <version>1.0.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.java.dev.javacc</groupId>
+            <artifactId>javacc</artifactId>
+            <version>4.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.jdo</groupId>
+            <artifactId>jdo2-api</artifactId>
+            <version>2.3-ea</version>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>jsr311-api</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.0</version>
+            <type>jar</type>
+            <scope>test</scope>
+            <optional>true</optional>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mod4j.org.eclipse.xtext</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.15</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <version>1.8.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.persistence</groupId>
+            <artifactId>persistence-api</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.2.3</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+
+        <!-- these need magic -->
+
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-bundle</artifactId>
+            <version>1.0.3</version>
+        </dependency>
+
+         <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>pig</artifactId>
+            <version>0.7.0-dev-core</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>zebra</artifactId>
+            <version>0.7.0-dev</version>
+        </dependency>
+                
+        <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop</artifactId>
+            <version>0.20.1.3195383004-core</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.1</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+        </configuration>
+      </plugin>
+    </plugins>
+    </build>
+
+</project>
+

Added: hadoop/pig/trunk/contrib/owl/setup/derby/derby_schema.sql
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/derby/derby_schema.sql?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/derby/derby_schema.sql (added)
+++ hadoop/pig/trunk/contrib/owl/setup/derby/derby_schema.sql Thu Apr 15 23:56:44 2010
@@ -0,0 +1,203 @@
+
+
+--
+--   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.
+--
+
+
+connect 'jdbc:derby:derbydb;create=true';
+
+CREATE TABLE owl_database (
+    odb_id                  INTEGER,
+    odb_name                VARCHAR(255) NOT NULL,
+    odb_description         VARCHAR(255),
+    odb_owner               VARCHAR(255),
+    odb_location            VARCHAR(750) NOT NULL,
+    odb_createdat           BIGINT NOT NULL,
+    odb_lastmodified        BIGINT NOT NULL,
+    odb_version             INTEGER NOT NULL,
+    PRIMARY KEY             (odb_id),
+    UNIQUE                  (odb_name),
+    UNIQUE                  (odb_location)
+);
+
+CREATE TABLE owl_schema (
+    s_id              INTEGER,
+    s_description     VARCHAR(255),
+    s_owner           VARCHAR(255),
+    s_createdat       BIGINT,
+    s_lastmodified    BIGINT,
+    s_version         INTEGER,
+    PRIMARY KEY       (s_id)
+);
+
+CREATE TABLE owl_columnschema (
+    cs_id           INTEGER,
+    cs_sid          INTEGER NOT NULL, -- owlschema in which this key is defined
+    cs_name         VARCHAR(255),
+    cs_columntype   VARCHAR(255),
+    cs_subschemaId  INTEGER,
+    cs_columnnumber INTEGER NOT NULL, -- owlcolumnnumber can NOT be null
+    PRIMARY KEY     (cs_id),
+    FOREIGN KEY     (cs_sid) REFERENCES owl_schema (s_id),
+    UNIQUE          (cs_sid, cs_name)
+);
+
+CREATE TABLE owl_table (
+    ot_id                   INTEGER,
+    ot_database_id          INTEGER NOT NULL,
+    ot_name                 VARCHAR(255) NOT NULL,
+    ot_description          VARCHAR(255),
+    ot_owner                VARCHAR(255),
+    ot_location             VARCHAR(750),
+    ot_createdat            BIGINT NOT NULL,
+    ot_lastmodified         BIGINT NOT NULL,
+    ot_version              INTEGER NOT NULL,
+    ot_schemaid             INTEGER,
+    ot_loader               VARCHAR(255),
+    PRIMARY KEY             (ot_id),
+    FOREIGN KEY             (ot_database_id) REFERENCES owl_database (odb_id),
+    FOREIGN KEY             (ot_schemaid) REFERENCES owl_schema (s_id),
+    UNIQUE                  (ot_database_id, ot_name)
+);
+
+
+CREATE TABLE owl_partition (
+    p_id                    INTEGER,
+    p_owltable_id           INTEGER NOT NULL,
+    p_parent_partition_id   INTEGER,
+--    p_partition_key_value_id INTEGER NOT NULL,
+    p_description           VARCHAR(255),
+    p_owner                 VARCHAR(255),
+    p_state                 INTEGER NOT NULL, 
+    p_isleaf                CHAR(1) NOT NULL,
+    p_partition_level       INTEGER NOT NULL,
+    p_createdat             BIGINT NOT NULL,
+    p_lastmodified          BIGINT NOT NULL,
+    p_version               INTEGER NOT NULL,
+    PRIMARY KEY             (p_id),
+    FOREIGN KEY             (p_owltable_id) REFERENCES owl_table (ot_id) 
+);
+
+
+CREATE TABLE owl_dataelement (
+    de_id                    INTEGER,
+    de_owltable_id           INTEGER NOT NULL,
+    de_partition_id          INTEGER,
+    de_location              VARCHAR(750) NOT NULL, 
+    de_description           VARCHAR(255),
+    de_owner                 VARCHAR(255),
+    de_createdat             BIGINT NOT NULL,
+    de_lastmodified          BIGINT NOT NULL,
+    de_version               INTEGER NOT NULL,
+    de_loader                VARCHAR(255),
+    de_schemaid              INTEGER,
+    PRIMARY KEY              (de_id),
+    FOREIGN KEY              (de_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY              (de_partition_id) REFERENCES owl_partition (p_id),
+    FOREIGN KEY              (de_schemaid) REFERENCES owl_schema (s_id),
+    UNIQUE                   (de_owltable_id, de_location)
+);
+
+
+CREATE TABLE owl_partitionkey (
+    pak_id                  INTEGER,
+    pak_owltable_id         INTEGER NOT NULL,
+    pak_partition_level     INTEGER NOT NULL,
+    pak_name                VARCHAR(255) NOT NULL,
+    pak_data_type           INTEGER NOT NULL,
+    pak_partitioning_type   INTEGER NOT NULL,
+    pak_interval_start      BIGINT,
+    pak_interval_freq       INTEGER,
+    pak_interval_freq_unit  INTEGER,
+    PRIMARY KEY             (pak_id),
+    FOREIGN KEY             (pak_owltable_id) REFERENCES owl_table (ot_id), 
+    UNIQUE                  (pak_owltable_id, pak_name),
+    UNIQUE                  (pak_owltable_id, pak_partition_level)
+);
+
+
+CREATE TABLE owl_propertykey (
+    prk_id                  INTEGER,
+    prk_owltable_id         INTEGER NOT NULL, -- owltable in which this key is defined
+    prk_name                VARCHAR(255) NOT NULL,
+    prk_data_type           INTEGER NOT NULL, -- property key data type
+    PRIMARY KEY             (prk_id),
+    FOREIGN KEY             (prk_owltable_id) REFERENCES owl_table (ot_id), 
+    UNIQUE                  (prk_owltable_id, prk_name)
+);
+
+
+CREATE TABLE owl_globalkey (
+    gk_id                   INTEGER,
+    gk_name                 VARCHAR(255) NOT NULL,
+    gk_data_type            INTEGER NOT NULL,
+    gk_description          VARCHAR(255),
+    gk_owner                VARCHAR(255),
+    gk_createdat            BIGINT NOT NULL,
+    gk_lastmodified         BIGINT NOT NULL,
+    gk_version              INTEGER NOT NULL,
+    PRIMARY KEY             (gk_id),
+    UNIQUE                  (gk_name)
+);
+
+
+CREATE TABLE owl_tablekeyvalue (
+    otkv_id                INTEGER,
+    otkv_owltable_id       INTEGER NOT NULL, -- owltable to which this keyvalue is added
+    otkv_prop_key_id       INTEGER,
+    otkv_glob_key_id       INTEGER,
+    otkv_int_value         INTEGER,
+    otkv_string_value      VARCHAR(255),
+    PRIMARY KEY            (otkv_id),
+    FOREIGN KEY            (otkv_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY            (otkv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (otkv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keyvalue (
+    kv_id                  INTEGER,
+    kv_owltable_id         INTEGER NOT NULL, -- owltable to which this keyvalue is added
+    kv_partition_id        INTEGER, -- partition to which key is added, null if added to owltable
+    kv_part_key_id         INTEGER,
+    kv_prop_key_id         INTEGER,
+    kv_glob_key_id         INTEGER,
+    kv_string_value        VARCHAR(255),
+    kv_int_value           INTEGER,
+    PRIMARY KEY            (kv_id),
+    FOREIGN KEY            (kv_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY            (kv_partition_id) REFERENCES owl_partition (p_id), 
+    FOREIGN KEY            (kv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    FOREIGN KEY            (kv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (kv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keylistvalue (
+    klv_id                 INTEGER,
+    klv_part_key_id        INTEGER,
+    klv_prop_key_id        INTEGER,
+    klv_glob_key_id        INTEGER,
+    klv_string_value       VARCHAR(255),
+    klv_int_value          INTEGER,
+    PRIMARY KEY            (klv_id),
+    FOREIGN KEY            (klv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    FOREIGN KEY            (klv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (klv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+

Added: hadoop/pig/trunk/contrib/owl/setup/derby/orm.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/derby/orm.xml?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/derby/orm.xml (added)
+++ hadoop/pig/trunk/contrib/owl/setup/derby/orm.xml Thu Apr 15 23:56:44 2010
@@ -0,0 +1,464 @@
+<?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 orm is for derby -->
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
+    version="2.0">
+    <description>JPA Mapping file for Owl with JPA</description>
+    <package>org.apache.hadoop.owl.orm</package>
+
+    <entity class="org.apache.hadoop.owl.entity.DatabaseEntity" name="DatabaseEntity">
+        <table name="owl_database"/>
+        <attributes>
+            <id name="id">
+                <column name="odb_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="name">
+                <column name="odb_name" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="odb_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="odb_owner" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="odb_location" length="750"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="odb_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="odb_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="odb_version"/>
+            </basic>
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.OwlTableEntity" name="OwlTableEntity">
+        <table name="owl_table"/>
+        <attributes>
+            <id name="id">
+                <column name="ot_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="databaseId">
+                <column name="ot_database_id"/>
+            </basic>
+            <basic name="name">
+                <column name="ot_name" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="ot_description" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="ot_location" length="750"/>
+            </basic>
+            <basic name="owner">
+                <column name="ot_owner" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="ot_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="ot_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="ot_version"/>
+            </basic>
+            <basic name="schemaId">
+                <column name="ot_schemaid"/>
+            </basic>
+            <basic name="loader">
+                <column name="ot_loader"/>
+            </basic>
+            <one-to-many name="partitionKeys" target-entity="org.apache.hadoop.owl.entity.PartitionKeyEntity" mapped-by="owlTable">
+                <join-column name="pak_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+            <one-to-many name="propertyKeys" target-entity="org.apache.hadoop.owl.entity.PropertyKeyEntity" mapped-by="owlTable">
+                <join-column name="prk_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+            <one-to-many name="keyValues" target-entity="org.apache.hadoop.owl.entity.OwlTableKeyValueEntity" mapped-by="owlTable">
+                <join-column name="otkv_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.PartitionEntity" name="PartitionEntity">
+        <table name="owl_partition"/>
+        <attributes>
+            <id name="id">
+                <column name="p_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="p_owltable_id"/>
+            </basic>
+            <basic name="description">
+                <column name="p_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="p_owner" length="255"/>
+            </basic>
+            <basic name="parentPartitionId">
+                <column name="p_parent_partition_id"/>
+            </basic>
+            <basic name="partitionLevel">
+                <column name="p_partition_level"/>
+            </basic>
+            <basic name="state">
+                <column name="p_state"/>
+            </basic>
+            <basic name="isLeaf">
+                <column name="p_isleaf"/>
+            </basic>
+            <basic name="partitionLevel">
+                <column name="p_partition_level"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="p_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="p_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="p_version"/>
+            </basic>
+
+            <one-to-many name="keyValues" target-entity="org.apache.hadoop.owl.entity.KeyValueEntity" mapped-by="partition">
+                <join-column name="kv_partition_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.DataElementEntity" name="DataElementEntity">
+        <table name="owl_dataelement"/>
+        <attributes>
+            <id name="id">
+                <column name="de_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="de_owltable_id"/>
+            </basic>
+            <basic name="partitionId">
+                <column name="de_partition_id"/>
+            </basic>
+            <basic name="description">
+                <column name="de_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="de_owner" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="de_location" length="750"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="de_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="de_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="de_version"/>
+            </basic>
+            <basic name="loader">
+                <column name="de_loader"/>
+            </basic>
+            <basic name="schemaId">
+                <column name="de_schemaid"/>
+            </basic>
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.GlobalKeyEntity" name="GlobalKeyEntity">
+        <table name="owl_globalkey"/>
+        <attributes>
+            <id name="id">
+                <column name="gk_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="name">
+                <column name="gk_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="gk_data_type"/>
+            </basic>
+            <basic name="description">
+                <column name="gk_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="gk_owner" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="gk_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="gk_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="gk_version"/>
+            </basic>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_glob_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.PartitionKeyEntity" name="PartitionKeyEntity">
+        <table name="owl_partitionkey"/>
+        <attributes>
+            <id name="id">
+                <column name="pak_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="partitionLevel">
+                <column name="pak_partition_level"/>
+            </basic>
+            <basic name="name">
+                <column name="pak_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="pak_data_type"/>
+            </basic>
+            <basic name="partitioningType">
+                <column name="pak_partitioning_type"/>
+            </basic>
+            <basic name="intervalStart">
+                <column name="pak_interval_start"/>
+            </basic>
+            <basic name="intervalFrequency">
+                <column name="pak_interval_freq"/>
+            </basic>
+            <basic name="intervalFrequencyUnit">
+                <column name="pak_interval_freq_unit"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="pak_owltable_id"/>
+            </many-to-one>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_part_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.PropertyKeyEntity" name="PropertyKeyEntity">
+        <table name="owl_propertykey"/>
+        <attributes>
+            <id name="id">
+                <column name="prk_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="name">
+                <column name="prk_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="prk_data_type"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="prk_owltable_id"/>
+            </many-to-one>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_prop_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.OwlTableKeyValueEntity" name="OwlTableKeyValueEntity">
+        <table name="owl_tablekeyvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="otkv_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="propertyKeyId">
+                <column name="otkv_prop_key_id"/>
+            </basic>
+            <basic name="globalKeyId">
+                <column name="otkv_glob_key_id"/>
+            </basic>
+            <basic name="intValue">
+                <column name="otkv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="otkv_string_value" length="255"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="otkv_owltable_id"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.KeyValueEntity" name="KeyValueEntity">
+        <table name="owl_keyvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="kv_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="kv_owltable_id"/>
+            </basic>
+            <basic name="propertyKeyId">
+                <column name="kv_prop_key_id"/>
+            </basic>
+            <basic name="globalKeyId">
+                <column name="kv_glob_key_id"/>
+            </basic>
+            <basic name="partitionKeyId">
+                <column name="kv_part_key_id"/>
+            </basic>
+            <basic name="intValue">
+                <column name="kv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="kv_string_value" length="255"/>
+            </basic>
+
+            <many-to-one name="partition">
+                <join-column name="kv_partition_id"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+
+
+    <entity class="org.apache.hadoop.owl.entity.KeyListValueEntity" name="KeyListValueEntity">
+        <table name="owl_keylistvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="klv_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+
+            <basic name="intValue">
+                <column name="klv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="klv_string_value" length="255"/>
+            </basic>
+
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.OwlSchemaEntity" name="OwlSchemaEntity">
+        <table name="owl_schema"/>
+        <attributes>
+            <id name="id">
+                <column name="s_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="owner">
+                <column name="s_owner" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="s_description" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="s_createdAt"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="s_lastModified"/>
+            </basic>
+            <basic name="version">
+                <column name="s_version"/>
+            </basic>
+
+            <one-to-many name="owlColumnSchema" target-entity="org.apache.hadoop.owl.entity.OwlColumnSchemaEntity" mapped-by="parentSchema">
+                <join-column name="cs_sid"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.OwlColumnSchemaEntity" name="OwlColumnSchemaEntity">
+        <table name="owl_columnschema"/>
+        <attributes>
+            <id name="id">
+                <column name="cs_id"/>
+                <generated-value strategy="AUTO"/>
+            </id>
+            <basic name="name">
+                <column name="cs_name" length="255"/>
+            </basic>
+            <basic name="columnType">
+                <column name="cs_columnType" length="255"/>
+            </basic>
+            <basic name="subSchemaId">
+                <column name="cs_subschemaId"/>
+            </basic>
+            <basic name="columnNumber">
+                <column name="cs_columnnumber"/>
+            </basic>
+
+            <many-to-one name="parentSchema">
+                <join-column name="cs_sid"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+</entity-mappings>

Added: hadoop/pig/trunk/contrib/owl/setup/derby/owlServerConfig.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/derby/owlServerConfig.xml?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/derby/owlServerConfig.xml (added)
+++ hadoop/pig/trunk/contrib/owl/setup/derby/owlServerConfig.xml Thu Apr 15 23:56:44 2010
@@ -0,0 +1,40 @@
+<?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.
+-->
+
+
+<configuration>
+    <org>
+        <apache>
+            <hadoop>
+            <owl>
+                <log>
+                    <logfile>owlServerLogs.log</logfile>
+                    <!-- note:commas are considered list separators, and thus need to be escaped if part of a string value being sent in -->
+                    <levels>server=DEBUG\,org.apache.commons.beanutils=ERROR\,net.sf.json.JSONObject=ERROR\,DataNucleus=DEBUG</levels>
+                    <layout>%d{yyyy-MMM-dd HH:mm:ss\,SSS} [%t] %x %-5p %c %m%n</layout>
+                </log>
+                <jdbc>
+                    <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
+                    <url>jdbc:derby:derbydb</url>
+                </jdbc>
+            </owl>
+            </hadoop>
+        </apache>
+    </org>
+</configuration>
+

Added: hadoop/pig/trunk/contrib/owl/setup/mysql/mysql_schema.sql
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/mysql/mysql_schema.sql?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/mysql/mysql_schema.sql (added)
+++ hadoop/pig/trunk/contrib/owl/setup/mysql/mysql_schema.sql Thu Apr 15 23:56:44 2010
@@ -0,0 +1,201 @@
+
+
+--
+--   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.
+--
+
+
+SET storage_engine=INNODB;
+
+CREATE TABLE owl_database (
+    odb_id                  INTEGER AUTO_INCREMENT,
+    odb_name                VARCHAR(255) NOT NULL,
+    odb_description         VARCHAR(255),
+    odb_owner               VARCHAR(255),
+    odb_location            VARCHAR(750) NOT NULL,
+    odb_createdat           BIGINT NOT NULL,
+    odb_lastmodified        BIGINT NOT NULL,
+    odb_version             INTEGER NOT NULL,
+    PRIMARY KEY             (odb_id),
+    UNIQUE KEY              (odb_name),
+    UNIQUE KEY              (odb_location)
+);
+
+CREATE TABLE owl_schema (
+    s_id              INTEGER AUTO_INCREMENT,
+    s_description     VARCHAR(255),
+    s_owner           VARCHAR(255),
+    s_createdat       BIGINT,
+    s_lastmodified    BIGINT,
+    s_version         INTEGER,
+    PRIMARY KEY       (s_id)
+);
+
+CREATE TABLE owl_columnschema (
+    cs_id           INTEGER AUTO_INCREMENT,
+    cs_sid          INTEGER NOT NULL, -- owlschema in which this key is defined
+    cs_name         VARCHAR(255),
+    cs_columntype   VARCHAR(255),
+    cs_subschemaId  INTEGER,
+    cs_columnnumber INTEGER NOT NULL, -- owlcolumnnumber can not be null
+    PRIMARY KEY     (cs_id),
+    FOREIGN KEY     (cs_sid) REFERENCES owl_schema (s_id),
+    UNIQUE KEY      (cs_sid, cs_name)
+);
+
+CREATE TABLE owl_table (
+    ot_id                   INTEGER AUTO_INCREMENT,
+    ot_database_id          INTEGER NOT NULL,
+    ot_name                 VARCHAR(255) NOT NULL,
+    ot_description          VARCHAR(255),
+    ot_owner                VARCHAR(255),
+    ot_location             VARCHAR(750),
+    ot_createdat            BIGINT NOT NULL,
+    ot_lastmodified         BIGINT NOT NULL,
+    ot_version              INTEGER NOT NULL,
+    ot_schemaid             INTEGER,
+    ot_loader               VARCHAR(255),
+    PRIMARY KEY             (ot_id),
+    FOREIGN KEY             (ot_database_id) REFERENCES owl_database (odb_id),
+    FOREIGN KEY             (ot_schemaid) REFERENCES owl_schema (s_id),
+    UNIQUE KEY              (ot_database_id, ot_name)
+);
+
+
+CREATE TABLE owl_partition (
+    p_id                    INTEGER AUTO_INCREMENT,
+    p_owltable_id           INTEGER NOT NULL,
+    p_parent_partition_id   INTEGER,
+--    p_partition_key_value_id INTEGER NOT NULL,
+    p_description           VARCHAR(255),
+    p_owner                 VARCHAR(255),
+    p_state                 INTEGER NOT NULL, 
+    p_isleaf                CHAR(1) NOT NULL,
+    p_partition_level       INTEGER NOT NULL,
+    p_createdat             BIGINT NOT NULL,
+    p_lastmodified          BIGINT NOT NULL,
+    p_version               INTEGER NOT NULL,
+    PRIMARY KEY             (p_id),
+    FOREIGN KEY             (p_owltable_id) REFERENCES owl_table (ot_id) 
+);
+
+
+CREATE TABLE owl_dataelement (
+    de_id                    INTEGER AUTO_INCREMENT,
+    de_owltable_id           INTEGER NOT NULL,
+    de_partition_id          INTEGER,
+    de_location              VARCHAR(750) NOT NULL, 
+    de_description           VARCHAR(255),
+    de_owner                 VARCHAR(255),
+    de_createdat             BIGINT NOT NULL,
+    de_lastmodified          BIGINT NOT NULL,
+    de_loader                VARCHAR(255),
+    de_schemaid              INTEGER,
+    de_version               INTEGER NOT NULL,
+    PRIMARY KEY              (de_id),
+    FOREIGN KEY              (de_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY              (de_partition_id) REFERENCES owl_partition (p_id), 
+    FOREIGN KEY              (de_schemaid) REFERENCES owl_schema (s_id),
+    UNIQUE KEY               (de_owltable_id, de_location)
+);
+
+
+CREATE TABLE owl_partitionkey (
+    pak_id                  INTEGER AUTO_INCREMENT,
+    pak_owltable_id         INTEGER NOT NULL,
+    pak_partition_level     INTEGER NOT NULL,
+    pak_name                VARCHAR(255) NOT NULL,
+    pak_data_type           INTEGER NOT NULL,
+    pak_partitioning_type   INTEGER NOT NULL,
+    pak_interval_start      BIGINT,
+    pak_interval_freq       INTEGER,
+    pak_interval_freq_unit  INTEGER,
+    PRIMARY KEY             (pak_id),
+    FOREIGN KEY             (pak_owltable_id) REFERENCES owl_table (ot_id), 
+    UNIQUE KEY              (pak_owltable_id, pak_name),
+    UNIQUE KEY              (pak_owltable_id, pak_partition_level)
+);
+
+
+CREATE TABLE owl_propertykey (
+    prk_id                  INTEGER AUTO_INCREMENT,
+    prk_owltable_id         INTEGER NOT NULL, -- owltable in which this key is defined
+    prk_name                VARCHAR(255) NOT NULL,
+    prk_data_type           INTEGER NOT NULL, -- property key data type
+    PRIMARY KEY             (prk_id),
+    FOREIGN KEY             (prk_owltable_id) REFERENCES owl_table (ot_id), 
+    UNIQUE KEY              (prk_owltable_id, prk_name)
+);
+
+
+CREATE TABLE owl_globalkey (
+    gk_id                   INTEGER AUTO_INCREMENT,
+    gk_name                 VARCHAR(255) NOT NULL,
+    gk_data_type            INTEGER NOT NULL,
+    gk_description          VARCHAR(255),
+    gk_owner                VARCHAR(255),
+    gk_createdat            BIGINT NOT NULL,
+    gk_lastmodified         BIGINT NOT NULL,
+    gk_version              INTEGER NOT NULL,
+    PRIMARY KEY             (gk_id),
+    UNIQUE KEY              (gk_name)
+);
+
+
+CREATE TABLE owl_tablekeyvalue (
+    otkv_id                INTEGER AUTO_INCREMENT,
+    otkv_owltable_id       INTEGER NOT NULL, -- owltable to which this keyvalue is added
+    otkv_prop_key_id       INTEGER,
+    otkv_glob_key_id       INTEGER,
+    otkv_int_value         INTEGER,
+    otkv_string_value      VARCHAR(255),
+    PRIMARY KEY            (otkv_id),
+    FOREIGN KEY            (otkv_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY            (otkv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (otkv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keyvalue (
+    kv_id                  INTEGER AUTO_INCREMENT,
+    kv_owltable_id         INTEGER NOT NULL, -- owltable to which this keyvalue is added
+    kv_partition_id        INTEGER, -- partition to which key is added, null if added to owltable
+    kv_part_key_id         INTEGER,
+    kv_prop_key_id         INTEGER,
+    kv_glob_key_id         INTEGER,
+    kv_string_value        VARCHAR(255),
+    kv_int_value           INTEGER,
+    PRIMARY KEY            (kv_id),
+    FOREIGN KEY            (kv_owltable_id) REFERENCES owl_table (ot_id), 
+    FOREIGN KEY            (kv_partition_id) REFERENCES owl_partition (p_id), 
+    FOREIGN KEY            (kv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    FOREIGN KEY            (kv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (kv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keylistvalue (
+    klv_id                 INTEGER AUTO_INCREMENT,
+    klv_part_key_id        INTEGER,
+    klv_prop_key_id        INTEGER,
+    klv_glob_key_id        INTEGER,
+    klv_string_value       VARCHAR(255),
+    klv_int_value          INTEGER,
+    PRIMARY KEY            (klv_id),
+    FOREIGN KEY            (klv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    FOREIGN KEY            (klv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    FOREIGN KEY            (klv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);

Added: hadoop/pig/trunk/contrib/owl/setup/mysql/orm.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/mysql/orm.xml?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/mysql/orm.xml (added)
+++ hadoop/pig/trunk/contrib/owl/setup/mysql/orm.xml Thu Apr 15 23:56:44 2010
@@ -0,0 +1,464 @@
+<?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 orm is for mysql -->
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
+    version="2.0">
+    <description>JPA Mapping file for Owl with JPA</description>
+    <package>org.apache.hadoop.owl.orm</package>
+
+    <entity class="org.apache.hadoop.owl.entity.DatabaseEntity" name="DatabaseEntity">
+        <table name="owl_database"/>
+        <attributes>
+            <id name="id">
+                <column name="odb_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="name">
+                <column name="odb_name" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="odb_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="odb_owner" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="odb_location" length="750"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="odb_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="odb_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="odb_version"/>
+            </basic>
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.OwlTableEntity" name="OwlTableEntity">
+        <table name="owl_table"/>
+        <attributes>
+            <id name="id">
+                <column name="ot_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="databaseId">
+                <column name="ot_database_id"/>
+            </basic>
+            <basic name="name">
+                <column name="ot_name" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="ot_description" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="ot_location" length="750"/>
+            </basic>
+            <basic name="owner">
+                <column name="ot_owner" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="ot_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="ot_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="ot_version"/>
+            </basic>
+            <basic name="schemaId">
+                <column name="ot_schemaid"/>
+            </basic>
+            <basic name="loader">
+                <column name="ot_loader"/>
+            </basic>
+            <one-to-many name="partitionKeys" target-entity="org.apache.hadoop.owl.entity.PartitionKeyEntity" mapped-by="owlTable">
+                <join-column name="pak_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+            <one-to-many name="propertyKeys" target-entity="org.apache.hadoop.owl.entity.PropertyKeyEntity" mapped-by="owlTable">
+                <join-column name="prk_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+            <one-to-many name="keyValues" target-entity="org.apache.hadoop.owl.entity.OwlTableKeyValueEntity" mapped-by="owlTable">
+                <join-column name="otkv_owltable_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.PartitionEntity" name="PartitionEntity">
+        <table name="owl_partition"/>
+        <attributes>
+            <id name="id">
+                <column name="p_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="p_owltable_id"/>
+            </basic>
+            <basic name="description">
+                <column name="p_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="p_owner" length="255"/>
+            </basic>
+            <basic name="parentPartitionId">
+                <column name="p_parent_partition_id"/>
+            </basic>
+            <basic name="partitionLevel">
+                <column name="p_partition_level"/>
+            </basic>
+            <basic name="state">
+                <column name="p_state"/>
+            </basic>
+            <basic name="isLeaf">
+                <column name="p_isleaf"/>
+            </basic>
+            <basic name="partitionLevel">
+                <column name="p_partition_level"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="p_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="p_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="p_version"/>
+            </basic>
+
+            <one-to-many name="keyValues" target-entity="org.apache.hadoop.owl.entity.KeyValueEntity" mapped-by="partition">
+                <join-column name="kv_partition_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.DataElementEntity" name="DataElementEntity">
+        <table name="owl_dataelement"/>
+        <attributes>
+            <id name="id">
+                <column name="de_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="de_owltable_id"/>
+            </basic>
+            <basic name="partitionId">
+                <column name="de_partition_id"/>
+            </basic>
+            <basic name="description">
+                <column name="de_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="de_owner" length="255"/>
+            </basic>
+            <basic name="location">
+                <column name="de_location" length="750"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="de_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="de_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="de_version"/>
+            </basic>
+            <basic name="loader">
+                <column name="de_loader"/>
+            </basic>
+            <basic name="schemaId">
+                <column name="de_schemaid"/>
+            </basic>
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.GlobalKeyEntity" name="GlobalKeyEntity">
+        <table name="owl_globalkey"/>
+        <attributes>
+            <id name="id">
+                <column name="gk_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="name">
+                <column name="gk_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="gk_data_type"/>
+            </basic>
+            <basic name="description">
+                <column name="gk_description" length="255"/>
+            </basic>
+            <basic name="owner">
+                <column name="gk_owner" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="gk_createdat"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="gk_lastmodified"/>
+            </basic>
+            <basic name="version">
+                <column name="gk_version"/>
+            </basic>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_glob_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.PartitionKeyEntity" name="PartitionKeyEntity">
+        <table name="owl_partitionkey"/>
+        <attributes>
+            <id name="id">
+                <column name="pak_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="partitionLevel">
+                <column name="pak_partition_level"/>
+            </basic>
+            <basic name="name">
+                <column name="pak_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="pak_data_type"/>
+            </basic>
+            <basic name="partitioningType">
+                <column name="pak_partitioning_type"/>
+            </basic>
+            <basic name="intervalStart">
+                <column name="pak_interval_start"/>
+            </basic>
+            <basic name="intervalFrequency">
+                <column name="pak_interval_freq"/>
+            </basic>
+            <basic name="intervalFrequencyUnit">
+                <column name="pak_interval_freq_unit"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="pak_owltable_id"/>
+            </many-to-one>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_part_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.PropertyKeyEntity" name="PropertyKeyEntity">
+        <table name="owl_propertykey"/>
+        <attributes>
+            <id name="id">
+                <column name="prk_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="name">
+                <column name="prk_name" length="255"/>
+            </basic>
+            <basic name="dataType">
+                <column name="prk_data_type"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="prk_owltable_id"/>
+            </many-to-one>
+
+            <one-to-many name="listValues" target-entity="org.apache.hadoop.owl.entity.KeyListValueEntity">
+                <join-column name="klv_prop_key_id"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+            
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.OwlTableKeyValueEntity" name="OwlTableKeyValueEntity">
+        <table name="owl_tablekeyvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="otkv_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="propertyKeyId">
+                <column name="otkv_prop_key_id"/>
+            </basic>
+            <basic name="globalKeyId">
+                <column name="otkv_glob_key_id"/>
+            </basic>
+            <basic name="intValue">
+                <column name="otkv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="otkv_string_value" length="255"/>
+            </basic>
+
+            <many-to-one name="owlTable">
+                <join-column name="otkv_owltable_id"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.KeyValueEntity" name="KeyValueEntity">
+        <table name="owl_keyvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="kv_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="owlTableId">
+                <column name="kv_owltable_id"/>
+            </basic>
+            <basic name="propertyKeyId">
+                <column name="kv_prop_key_id"/>
+            </basic>
+            <basic name="globalKeyId">
+                <column name="kv_glob_key_id"/>
+            </basic>
+            <basic name="partitionKeyId">
+                <column name="kv_part_key_id"/>
+            </basic>
+            <basic name="intValue">
+                <column name="kv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="kv_string_value" length="255"/>
+            </basic>
+
+            <many-to-one name="partition">
+                <join-column name="kv_partition_id"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+
+
+    <entity class="org.apache.hadoop.owl.entity.KeyListValueEntity" name="KeyListValueEntity">
+        <table name="owl_keylistvalue"/>
+        <attributes>
+            <id name="id">
+                <column name="klv_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+
+            <basic name="intValue">
+                <column name="klv_int_value"/>
+            </basic>
+            <basic name="stringValue">
+                <column name="klv_string_value" length="255"/>
+            </basic>
+
+        </attributes>
+    </entity>
+
+
+    <entity class="org.apache.hadoop.owl.entity.OwlSchemaEntity" name="OwlSchemaEntity">
+        <table name="owl_schema"/>
+        <attributes>
+            <id name="id">
+                <column name="s_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="owner">
+                <column name="s_owner" length="255"/>
+            </basic>
+            <basic name="description">
+                <column name="s_description" length="255"/>
+            </basic>
+            <basic name="createdAt">
+                <column name="s_createdAt"/>
+            </basic>
+            <basic name="lastModifiedAt">
+                <column name="s_lastModified"/>
+            </basic>
+            <basic name="version">
+                <column name="s_version"/>
+            </basic>
+
+            <one-to-many name="owlColumnSchema" target-entity="org.apache.hadoop.owl.entity.OwlColumnSchemaEntity" mapped-by="parentSchema">
+                <join-column name="cs_sid"/>
+                <cascade>
+                    <cascade-all/>
+                </cascade>
+            </one-to-many>
+
+        </attributes>
+    </entity>
+
+    <entity class="org.apache.hadoop.owl.entity.OwlColumnSchemaEntity" name="OwlColumnSchemaEntity">
+        <table name="owl_columnschema"/>
+        <attributes>
+            <id name="id">
+                <column name="cs_id"/>
+                <generated-value strategy="IDENTITY"/>
+            </id>
+            <basic name="name">
+                <column name="cs_name" length="255"/>
+            </basic>
+            <basic name="columnType">
+                <column name="cs_columnType" length="255"/>
+            </basic>
+            <basic name="subSchemaId">
+                <column name="cs_subschemaId"/>
+            </basic>
+            <basic name="columnNumber">
+                <column name="cs_columnnumber"/>
+            </basic>
+
+            <many-to-one name="parentSchema">
+                <join-column name="cs_sid"/>
+            </many-to-one>
+        </attributes>
+    </entity>
+
+</entity-mappings>

Added: hadoop/pig/trunk/contrib/owl/setup/mysql/owlServerConfig.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/mysql/owlServerConfig.xml?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/mysql/owlServerConfig.xml (added)
+++ hadoop/pig/trunk/contrib/owl/setup/mysql/owlServerConfig.xml Thu Apr 15 23:56:44 2010
@@ -0,0 +1,42 @@
+<?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.
+-->
+
+
+<configuration>
+    <org>
+        <apache>
+            <hadoop>
+            <owl>
+                <log>
+                    <logfile>owlServerLogs2.log</logfile>
+                    <!-- note:commas are considered list separators, and thus need to be escaped if part of a string value being sent in -->
+                    <levels>server=DEBUG\,org.apache.commons.beanutils=ERROR\,net.sf.json.JSONObject=ERROR\,DataNucleus=DEBUG</levels>
+                    <layout>%d{yyyy-MMM-dd HH:mm:ss\,SSS} [%t] %x %-5p %c %m%n</layout>
+                </log>
+                <jdbc>
+                    <driver>com.mysql.jdbc.Driver</driver>
+                    <url>jdbc:mysql://localhost/owl</url>
+                    <user>test</user> <!-- edit these as per requirements, this is only an example -->
+                    <password>test</password> <!-- edit these as per requirements, this is only an example -->
+                </jdbc>
+            </owl>
+            </hadoop>
+        </apache>
+    </org>
+</configuration>
+

Added: hadoop/pig/trunk/contrib/owl/setup/oracle/drop_oracle_schema.sql
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/oracle/drop_oracle_schema.sql?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/oracle/drop_oracle_schema.sql (added)
+++ hadoop/pig/trunk/contrib/owl/setup/oracle/drop_oracle_schema.sql Thu Apr 15 23:56:44 2010
@@ -0,0 +1,32 @@
+
+--
+--   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.
+--
+
+DROP TABLE owl_keylistvalue CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_keyvalue CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_tablekeyvalue CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_globalkey CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_propertykey CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_partitionkey CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_dataelement CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_partition CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_table CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_columnschema CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_schema CASCADE CONSTRAINTS PURGE;
+DROP TABLE owl_database CASCADE CONSTRAINTS PURGE;
+DROP TABLE sequence_table CASCADE CONSTRAINTS PURGE;
+

Added: hadoop/pig/trunk/contrib/owl/setup/oracle/oracle_schema.sql
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/owl/setup/oracle/oracle_schema.sql?rev=934649&view=auto
==============================================================================
--- hadoop/pig/trunk/contrib/owl/setup/oracle/oracle_schema.sql (added)
+++ hadoop/pig/trunk/contrib/owl/setup/oracle/oracle_schema.sql Thu Apr 15 23:56:44 2010
@@ -0,0 +1,207 @@
+
+
+--
+--   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.
+--
+--   CREATE SEQUENCE CAT_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE OT_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE P_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE DE_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE PAK_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE PRK_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE GK_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE OTKV_ID_SEQ     START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE KV_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+--   CREATE SEQUENCE KLV_ID_SEQ         START WITH 1 INCREMENT BY 1 NOMAXVALUE;
+
+CREATE TABLE owl_database(
+    odb_id                  NUMBER(10), 
+    odb_name                VARCHAR2(255) NOT NULL,
+    odb_description         VARCHAR2(255),
+    odb_owner               VARCHAR2(255),
+    odb_location            VARCHAR2(750) NOT NULL,
+    odb_createdat           NUMBER(19,0) NOT NULL,
+    odb_lastmodified        NUMBER(19,0) NOT NULL,
+    odb_version             NUMBER(10) NOT NULL,
+    CONSTRAINT pk_owl_database   PRIMARY KEY (odb_id),
+    CONSTRAINT uk_owl_database   UNIQUE  (odb_name),
+    CONSTRAINT uk2_owl_database   UNIQUE  (odb_location)
+);
+
+
+CREATE TABLE owl_schema (
+    s_id              NUMBER(10),
+    s_description     VARCHAR2(255),
+    s_owner           VARCHAR2(255),
+    s_createdat       NUMBER(19,0),
+    s_lastmodified    NUMBER(19,0),
+    s_version         NUMBER(10),
+    CONSTRAINT pk_owl_schema   PRIMARY KEY   (s_id)
+);
+
+CREATE TABLE owl_columnschema (
+    cs_id           NUMBER(10),
+    cs_sid          NUMBER(10) NOT NULL, -- owlschema in which this key is defined
+    cs_name         VARCHAR2(255),
+    cs_columntype   VARCHAR2(255),
+    cs_subschemaId  NUMBER(10),
+    cs_columnnumber NUMBER(10) NOT NULL, -- owlcolumnnumber can NOT be null
+    CONSTRAINT pk_owl_columnschema   PRIMARY KEY   (cs_id),
+    CONSTRAINT fk_owl_columnschema   FOREIGN KEY   (cs_sid) REFERENCES owl_schema (s_id),
+    CONSTRAINT uk_owl_cloumnschema   UNIQUE        (cs_sid, cs_name)
+);
+CREATE TABLE owl_table (
+    ot_id                   NUMBER(10),
+    ot_database_id          NUMBER(10) NOT NULL,
+    ot_name                 VARCHAR2(255) NOT NULL,
+    ot_description          VARCHAR2(255),
+    ot_owner                VARCHAR2(255),
+    ot_location             VARCHAR2(750),
+    ot_createdat            NUMBER(19,0) NOT NULL,
+    ot_lastmodified         NUMBER(19,0) NOT NULL,
+    ot_version              NUMBER(10) NOT NULL,
+    ot_schemaid             NUMBER(10),
+    ot_loader               VARCHAR2(255),
+    CONSTRAINT pk_owl_table  PRIMARY KEY (ot_id),
+    CONSTRAINT fk1_owl_table  FOREIGN KEY (ot_database_id) REFERENCES owl_database (odb_id),
+    CONSTRAINT fk2_owl_table  FOREIGN KEY (ot_schemaid) REFERENCES owl_schema (s_id),
+    CONSTRAINT uk_owl_table  UNIQUE (ot_database_id, ot_name)
+);
+
+
+CREATE TABLE owl_partition (
+    p_id                    NUMBER(10),
+    p_owltable_id           NUMBER(10) NOT NULL,
+    p_parent_partition_id   NUMBER(10),
+    p_description           VARCHAR2(255),
+    p_owner                 VARCHAR2(255),
+    p_state                 NUMBER(10) NOT NULL, 
+    p_isleaf                CHAR(1) NOT NULL,
+    p_partition_level       NUMBER(10) NOT NULL,
+    p_createdat             NUMBER(19,0) NOT NULL,
+    p_lastmodified          NUMBER(19,0) NOT NULL,
+    p_version               NUMBER(10) NOT NULL,
+    CONSTRAINT pk_owl_partition PRIMARY KEY (p_id),
+    CONSTRAINT fk_owl_partition FOREIGN KEY (p_owltable_id) REFERENCES owl_table (ot_id) 
+);
+
+
+CREATE TABLE owl_dataelement (
+    de_id                    NUMBER(10), 
+    de_owltable_id           NUMBER(10) NOT NULL,
+    de_partition_id          NUMBER(10),
+    de_location              VARCHAR2(750) NOT NULL, 
+    de_description           VARCHAR2(255),
+    de_owner                 VARCHAR2(255),
+    de_createdat             NUMBER(19,0) NOT NULL,
+    de_lastmodified          NUMBER(19,0) NOT NULL,
+    de_loader                VARCHAR2(255),
+    de_schemaid              NUMBER(10),
+    de_version               NUMBER(10) NOT NULL,
+    CONSTRAINT pk_owl_dataelement PRIMARY KEY (de_id),
+    CONSTRAINT fk1_owl_dataelement FOREIGN KEY (de_owltable_id) REFERENCES owl_table (ot_id), 
+    CONSTRAINT fk2_owl_dataelement FOREIGN KEY (de_partition_id) REFERENCES owl_partition (p_id), 
+    CONSTRAINT fk3_owl_dataelement FOREIGN KEY (de_schemaid) REFERENCES owl_schema (s_id),
+    CONSTRAINT uk_owl_dataelement  UNIQUE (de_owltable_id, de_location)
+);
+
+
+CREATE TABLE owl_partitionkey (
+    pak_id                  NUMBER(10),
+    pak_owltable_id         NUMBER(10) NOT NULL,
+    pak_partition_level     NUMBER(10) NOT NULL,
+    pak_name                VARCHAR2(255) NOT NULL,
+    pak_data_type           NUMBER(10) NOT NULL,
+    pak_partitioning_type   NUMBER(10) NOT NULL,
+    pak_interval_start      NUMBER(19,0),
+    pak_interval_freq       NUMBER(10),
+    pak_interval_freq_unit  NUMBER(10),
+    CONSTRAINT pk_owl_partitionkey PRIMARY KEY (pak_id),
+    CONSTRAINT fk_owl_partitionkey FOREIGN KEY (pak_owltable_id) REFERENCES owl_table (ot_id), 
+    CONSTRAINT uk1_owl_partitionkey UNIQUE (pak_owltable_id, pak_name),
+    CONSTRAINT uk2_owl_partitionkey UNIQUE (pak_owltable_id, pak_partition_level)
+);
+
+
+CREATE TABLE owl_propertykey (
+    prk_id                  NUMBER(10),
+    prk_owltable_id         NUMBER(10) NOT NULL, -- owltable in which this key is defined
+    prk_name                VARCHAR2(255) NOT NULL,
+    prk_data_type           NUMBER(10) NOT NULL, -- property key data type
+    CONSTRAINT pk_owl_propertykey  PRIMARY KEY (prk_id),
+    CONSTRAINT fk1_owl_propertykey FOREIGN KEY (prk_owltable_id) REFERENCES owl_table (ot_id), 
+    CONSTRAINT uk_owl_propertykey UNIQUE (prk_owltable_id, prk_name)
+);
+
+
+CREATE TABLE owl_globalkey (
+    gk_id                   NUMBER(10) ,
+    gk_name                 VARCHAR2(255) NOT NULL,
+    gk_data_type            NUMBER(10) NOT NULL,
+    gk_description          VARCHAR2(255),
+    gk_owner                VARCHAR2(255),
+    gk_createdat            NUMBER(19,0) NOT NULL,
+    gk_lastmodified         NUMBER(19,0) NOT NULL,
+    gk_version              NUMBER(10) NOT NULL,
+    CONSTRAINT pk_owl_globalkey PRIMARY KEY (gk_id),
+    CONSTRAINT uk_owl_globalkey UNIQUE (gk_name)
+);
+
+
+CREATE TABLE owl_tablekeyvalue (
+    otkv_id                NUMBER(10) ,
+    otkv_owltable_id       NUMBER(10) NOT NULL, -- owltable to which this keyvalue is added
+    otkv_prop_key_id       NUMBER(10),
+    otkv_glob_key_id       NUMBER(10),
+    otkv_int_value         NUMBER(10),
+    otkv_string_value      VARCHAR2(255),
+    CONSTRAINT pk_owl_tablekeyvalue PRIMARY KEY (otkv_id),
+    CONSTRAINT fk1_owl_tablekeyvalue FOREIGN KEY (otkv_owltable_id) REFERENCES owl_table (ot_id), 
+    CONSTRAINT fk2_owl_tablekeyvalue FOREIGN KEY (otkv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    CONSTRAINT fk3_owl_tablekeyvalue FOREIGN KEY (otkv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keyvalue (
+    kv_id                  NUMBER(10),
+    kv_owltable_id         NUMBER(10) NOT NULL, -- owltable to which this keyvalue is added
+    kv_partition_id        NUMBER(10), -- partition to which key is added, null if added to owltable
+    kv_part_key_id         NUMBER(10),
+    kv_prop_key_id         NUMBER(10),
+    kv_glob_key_id         NUMBER(10),
+    kv_string_value        VARCHAR2(255),
+    kv_int_value           NUMBER(10),
+    CONSTRAINT pk_owl_keyvalue  PRIMARY KEY (kv_id),
+    CONSTRAINT fk1_owl_keyvalue FOREIGN KEY (kv_owltable_id) REFERENCES owl_table (ot_id), 
+    CONSTRAINT fk2_owl_keyvalue FOREIGN KEY (kv_partition_id) REFERENCES owl_partition (p_id), 
+    CONSTRAINT fk3_owl_keyvalue FOREIGN KEY (kv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    CONSTRAINT fk4_owl_keyvalue FOREIGN KEY (kv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    CONSTRAINT fk5_owl_keyvalue FOREIGN KEY (kv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);
+
+
+CREATE TABLE owl_keylistvalue (
+    klv_id                 NUMBER(10),
+    klv_part_key_id        NUMBER(10),
+    klv_prop_key_id        NUMBER(10),
+    klv_glob_key_id        NUMBER(10),
+    klv_string_value       VARCHAR2(255),
+    klv_int_value          NUMBER(10),
+    CONSTRAINT pk_owl_keylistvalue  PRIMARY KEY (klv_id),
+    CONSTRAINT fk1_owl_keylistvalue FOREIGN KEY (klv_part_key_id) REFERENCES owl_partitionkey (pak_id), 
+    CONSTRAINT fk2_owl_keylistvalue FOREIGN KEY (klv_prop_key_id) REFERENCES owl_propertykey (prk_id), 
+    CONSTRAINT fk3_owl_keylistvalue FOREIGN KEY (klv_glob_key_id) REFERENCES owl_globalkey (gk_id) 
+);