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)
+);