You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2017/08/11 20:08:24 UTC
[2/4] hive git commit: HIVE-17224 Move JDO classes to standalone
metastore (Alan Gates, reviewed by Vihang Karajgaonkar)
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDBPrivilege.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDBPrivilege.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDBPrivilege.java
new file mode 100644
index 0000000..4550fb2
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDBPrivilege.java
@@ -0,0 +1,132 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MDBPrivilege {
+
+ private String principalName;
+
+ private String principalType;
+
+ private MDatabase database;
+
+ private int createTime;
+
+ private String privilege;
+
+ private String grantor;
+
+ private String grantorType;
+
+ private boolean grantOption;
+
+ public MDBPrivilege() {
+ }
+
+ public MDBPrivilege(String principalName, String principalType,
+ MDatabase database, String dbPrivileges, int createTime, String grantor,
+ String grantorType, boolean grantOption) {
+ super();
+ this.principalName = principalName;
+ this.principalType = principalType;
+ this.database = database;
+ this.privilege = dbPrivileges;
+ this.createTime = createTime;
+ this.grantorType = grantorType;
+ this.grantOption = grantOption;
+ this.grantor = grantor;
+ }
+
+ /**
+ * @return user name, role name, or group name
+ */
+ public String getPrincipalName() {
+ return principalName;
+ }
+
+ /**
+ * @param userName user/role/group name
+ */
+ public void setPrincipalName(String userName) {
+ this.principalName = userName;
+ }
+
+ /**
+ * @return a set of privileges this user/role/group has
+ */
+ public String getPrivilege() {
+ return privilege;
+ }
+
+ /**
+ * @param dbPrivilege a set of privileges this user/role/group has
+ */
+ public void setPrivilege(String dbPrivilege) {
+ this.privilege = dbPrivilege;
+ }
+
+ public MDatabase getDatabase() {
+ return database;
+ }
+
+ public void setDatabase(MDatabase database) {
+ this.database = database;
+ }
+
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getGrantor() {
+ return grantor;
+ }
+
+ public void setGrantor(String grantor) {
+ this.grantor = grantor;
+ }
+
+ public String getGrantorType() {
+ return grantorType;
+ }
+
+ public void setGrantorType(String grantorType) {
+ this.grantorType = grantorType;
+ }
+
+ public boolean getGrantOption() {
+ return grantOption;
+ }
+
+ public void setGrantOption(boolean grantOption) {
+ this.grantOption = grantOption;
+ }
+
+ public String getPrincipalType() {
+ return principalType;
+ }
+
+ public void setPrincipalType(String principalType) {
+ this.principalType = principalType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDatabase.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDatabase.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDatabase.java
new file mode 100644
index 0000000..c5169f2
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDatabase.java
@@ -0,0 +1,128 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.Map;
+
+/**
+ * Storage Class representing the Hive MDatabase in a rdbms
+ *
+ */
+public class MDatabase {
+ private String name;
+ private String locationUri;
+ private String description;
+ private Map<String, String> parameters;
+ private String ownerName;
+ private String ownerType;
+
+ /**
+ * Default construction to keep jpox/jdo happy
+ */
+ public MDatabase() {}
+
+ /**
+ * To create a database object
+ * @param name of the database
+ * @param locationUri Location of the database in the warehouse
+ * @param description Comment describing the database
+ */
+ public MDatabase(String name, String locationUri, String description,
+ Map<String, String> parameters) {
+ this.name = name;
+ this.locationUri = locationUri;
+ this.description = description;
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the location_uri
+ */
+ public String getLocationUri() {
+ return locationUri;
+ }
+
+ /**
+ * @param locationUri the locationUri to set
+ */
+ public void setLocationUri(String locationUri) {
+ this.locationUri = locationUri;
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * @return the parameters mapping.
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters the parameters mapping.
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ public String getOwnerName() {
+ return ownerName;
+ }
+
+ public void setOwnerName(String ownerName) {
+ this.ownerName = ownerName;
+ }
+
+ public String getOwnerType() {
+ return ownerType;
+ }
+
+ public void setOwnerType(String ownerType) {
+ this.ownerType = ownerType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDelegationToken.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDelegationToken.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDelegationToken.java
new file mode 100644
index 0000000..613469c
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MDelegationToken.java
@@ -0,0 +1,45 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MDelegationToken {
+
+ private String tokenStr;
+ private String tokenIdentifier;
+
+ public MDelegationToken(String tokenIdentifier, String tokenStr) {
+ super();
+ this.tokenStr = tokenStr;
+ this.tokenIdentifier = tokenIdentifier;
+ }
+
+ public String getTokenStr() {
+ return tokenStr;
+ }
+ public void setTokenStr(String tokenStr) {
+ this.tokenStr = tokenStr;
+ }
+ public String getTokenIdentifier() {
+ return tokenIdentifier;
+ }
+ public void setTokenIdentifier(String tokenIdentifier) {
+ this.tokenIdentifier = tokenIdentifier;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFieldSchema.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFieldSchema.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFieldSchema.java
new file mode 100644
index 0000000..bb64dc1
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFieldSchema.java
@@ -0,0 +1,80 @@
+/**
+ * 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.hive.metastore.model;
+
+/**
+ * Represent a column or a type of a table or object
+ */
+public class MFieldSchema {
+ private String name;
+ private String type;
+ private String comment;
+ public MFieldSchema() {}
+
+ /**
+ * @param comment
+ * @param name
+ * @param type
+ */
+ public MFieldSchema(String name, String type, String comment) {
+ this.comment = comment;
+ this.name = name;
+ this.type = type;
+ }
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+ /**
+ * @return the comment
+ */
+ public String getComment() {
+ return comment;
+ }
+ /**
+ * @param comment the comment to set
+ */
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+ /**
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+ /**
+ * @param field the type to set
+ */
+ public void setType(String field) {
+ this.type = field;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFunction.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFunction.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFunction.java
new file mode 100644
index 0000000..59dbc49
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MFunction.java
@@ -0,0 +1,119 @@
+/**
+ * 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.hive.metastore.model;
+
+import org.apache.hadoop.hive.metastore.api.PrincipalType;
+import java.util.List;
+
+public class MFunction {
+
+ private String functionName;
+ private MDatabase database;
+ private String className;
+ private String ownerName;
+ private String ownerType;
+ private int createTime;
+ private int functionType;
+ private List<MResourceUri> resourceUris;
+
+ public MFunction() {
+ }
+
+ public MFunction(String functionName,
+ MDatabase database,
+ String className,
+ String ownerName,
+ String ownerType,
+ int createTime,
+ int functionType,
+ List<MResourceUri> resourceUris) {
+ this.setFunctionName(functionName);
+ this.setDatabase(database);
+ this.setFunctionType(functionType);
+ this.setClassName(className);
+ this.setOwnerName(ownerName);
+ this.setOwnerType(ownerType);
+ this.setCreateTime(createTime);
+ this.setResourceUris(resourceUris);
+ }
+
+ public String getFunctionName() {
+ return functionName;
+ }
+
+ public void setFunctionName(String functionName) {
+ this.functionName = functionName;
+ }
+
+ public MDatabase getDatabase() {
+ return database;
+ }
+
+ public void setDatabase(MDatabase database) {
+ this.database = database;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public String getOwnerName() {
+ return ownerName;
+ }
+
+ public void setOwnerName(String owner) {
+ this.ownerName = owner;
+ }
+
+ public String getOwnerType() {
+ return ownerType;
+ }
+
+ public void setOwnerType(String ownerType) {
+ this.ownerType = ownerType;
+ }
+
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ public int getFunctionType() {
+ return functionType;
+ }
+
+ public void setFunctionType(int functionType) {
+ this.functionType = functionType;
+ }
+
+ public List<MResourceUri> getResourceUris() {
+ return resourceUris;
+ }
+
+ public void setResourceUris(List<MResourceUri> resourceUris) {
+ this.resourceUris = resourceUris;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MGlobalPrivilege.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MGlobalPrivilege.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MGlobalPrivilege.java
new file mode 100644
index 0000000..1dbe3a4
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MGlobalPrivilege.java
@@ -0,0 +1,120 @@
+/**
+ * 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.hive.metastore.model;
+
+/**
+ * User global level privileges
+ */
+public class MGlobalPrivilege {
+
+ //principal name, can be a user, group, or role
+ private String principalName;
+
+ private String principalType;
+
+ private String privilege;
+
+ private int createTime;
+
+ private String grantor;
+
+ private String grantorType;
+
+ private boolean grantOption;
+
+ public MGlobalPrivilege() {
+ super();
+ }
+
+ public MGlobalPrivilege(String userName, String principalType,
+ String dbPrivilege, int createTime, String grantor, String grantorType,
+ boolean grantOption) {
+ super();
+ this.principalName = userName;
+ this.principalType = principalType;
+ this.privilege = dbPrivilege;
+ this.createTime = createTime;
+ this.grantor = grantor;
+ this.grantorType = grantorType;
+ this.grantOption = grantOption;
+ }
+
+ /**
+ * @return a set of global privileges granted to this user
+ */
+ public String getPrivilege() {
+ return privilege;
+ }
+
+ /**
+ * @param dbPrivilege set of global privileges to user
+ */
+ public void setPrivilege(String dbPrivilege) {
+ this.privilege = dbPrivilege;
+ }
+
+ public String getPrincipalName() {
+ return principalName;
+ }
+
+ public void setPrincipalName(String principalName) {
+ this.principalName = principalName;
+ }
+
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getGrantor() {
+ return grantor;
+ }
+
+ public void setGrantor(String grantor) {
+ this.grantor = grantor;
+ }
+
+ public boolean getGrantOption() {
+ return grantOption;
+ }
+
+ public void setGrantOption(boolean grantOption) {
+ this.grantOption = grantOption;
+ }
+
+ public String getPrincipalType() {
+ return principalType;
+ }
+
+ public void setPrincipalType(String principalType) {
+ this.principalType = principalType;
+ }
+
+ public String getGrantorType() {
+ return grantorType;
+ }
+
+ public void setGrantorType(String grantorType) {
+ this.grantorType = grantorType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MIndex.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MIndex.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MIndex.java
new file mode 100644
index 0000000..c9f1149
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MIndex.java
@@ -0,0 +1,200 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.Map;
+
+/**
+ * Represents hive's index definition.
+ */
+public class MIndex {
+
+ private String indexName;
+ private MTable origTable;
+ private int createTime;
+ private int lastAccessTime;
+ private Map<String, String> parameters;
+ private MTable indexTable;
+ private MStorageDescriptor sd;
+ private String indexHandlerClass;
+ private boolean deferredRebuild;
+
+ public MIndex() {}
+
+/**
+ * @param indexName
+ * @param baseTable
+ * @param createTime
+ * @param lastAccessTime
+ * @param parameters
+ * @param indexTable
+ * @param sd
+ * @param indexHandlerClass
+ * @param deferredRebuild
+ */
+ public MIndex(String indexName, MTable baseTable, int createTime,
+ int lastAccessTime, Map<String, String> parameters, MTable indexTable,
+ MStorageDescriptor sd, String indexHandlerClass, boolean deferredRebuild) {
+ super();
+ this.indexName = indexName;
+ this.origTable = baseTable;
+ this.createTime = createTime;
+ this.lastAccessTime = lastAccessTime;
+ this.parameters = parameters;
+ this.indexTable = indexTable;
+ this.sd = sd;
+ this.indexHandlerClass = indexHandlerClass;
+ this.deferredRebuild = deferredRebuild;
+ }
+
+
+
+ /**
+ * @return index name
+ */
+ public String getIndexName() {
+ return indexName;
+ }
+
+ /**
+ * @param indexName index name
+ */
+ public void setIndexName(String indexName) {
+ this.indexName = indexName;
+ }
+
+ /**
+ * @return create time
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime create time
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * @return last access time
+ */
+ public int getLastAccessTime() {
+ return lastAccessTime;
+ }
+
+ /**
+ * @param lastAccessTime last access time
+ */
+ public void setLastAccessTime(int lastAccessTime) {
+ this.lastAccessTime = lastAccessTime;
+ }
+
+ /**
+ * @return parameters
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters parameters
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return original table
+ */
+ public MTable getOrigTable() {
+ return origTable;
+ }
+
+ /**
+ * @param origTable
+ */
+ public void setOrigTable(MTable origTable) {
+ this.origTable = origTable;
+ }
+
+ /**
+ * @return index table
+ */
+ public MTable getIndexTable() {
+ return indexTable;
+ }
+
+ /**
+ * @param indexTable
+ */
+ public void setIndexTable(MTable indexTable) {
+ this.indexTable = indexTable;
+ }
+
+ /**
+ * @return storage descriptor
+ */
+ public MStorageDescriptor getSd() {
+ return sd;
+ }
+
+ /**
+ * @param sd
+ */
+ public void setSd(MStorageDescriptor sd) {
+ this.sd = sd;
+ }
+
+ /**
+ * @return indexHandlerClass
+ */
+ public String getIndexHandlerClass() {
+ return indexHandlerClass;
+ }
+
+ /**
+ * @param indexHandlerClass
+ */
+ public void setIndexHandlerClass(String indexHandlerClass) {
+ this.indexHandlerClass = indexHandlerClass;
+ }
+
+ /**
+ * @return auto rebuild
+ */
+ public boolean isDeferredRebuild() {
+ return deferredRebuild;
+ }
+
+ /**
+ * @return auto rebuild
+ */
+ public boolean getDeferredRebuild() {
+ return deferredRebuild;
+ }
+
+ /**
+ * @param deferredRebuild
+ */
+ public void setDeferredRebuild(boolean deferredRebuild) {
+ this.deferredRebuild = deferredRebuild;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMasterKey.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMasterKey.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMasterKey.java
new file mode 100644
index 0000000..6b5c221
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMasterKey.java
@@ -0,0 +1,55 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MMasterKey {
+
+ public MMasterKey(int keyId, String masterKey) {
+ this.keyId = keyId;
+ this.masterKey = masterKey;
+ }
+
+ private int keyId;
+ private String masterKey;
+
+ public MMasterKey(String masterKey) {
+ this.masterKey = masterKey;
+ }
+
+ public MMasterKey(int keyId) {
+ this.keyId = keyId;
+ }
+
+ public String getMasterKey() {
+ return masterKey;
+ }
+
+ public void setMasterKey(String masterKey) {
+ this.masterKey = masterKey;
+ }
+
+ public int getKeyId() {
+ return keyId;
+ }
+
+ public void setKeyId(int keyId) {
+ this.keyId = keyId;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMetastoreDBProperties.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMetastoreDBProperties.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMetastoreDBProperties.java
new file mode 100644
index 0000000..c0a2485
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MMetastoreDBProperties.java
@@ -0,0 +1,56 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MMetastoreDBProperties {
+ private String propertyKey;
+ private String propertyValue;
+ private String description;
+
+ public MMetastoreDBProperties() {}
+
+ public MMetastoreDBProperties(String propertykey, String propertyValue, String description) {
+ this.propertyKey = propertykey;
+ this.propertyValue = propertyValue;
+ this.description = description;
+ }
+
+ public String getPropertykey() {
+ return propertyKey;
+ }
+
+ public void setPropertykey(String propertykey) {
+ this.propertyKey = propertykey;
+ }
+
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ public void setPropertyValue(String propertyValue) {
+ this.propertyValue = propertyValue;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationLog.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationLog.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationLog.java
new file mode 100644
index 0000000..d3a166f
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationLog.java
@@ -0,0 +1,98 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MNotificationLog {
+
+ private long eventId; // This is not the datanucleus id, but the id assigned by the sequence
+ private int eventTime;
+ private String eventType;
+ private String dbName;
+ private String tableName;
+ private String message;
+ private String messageFormat;
+
+ public MNotificationLog() {
+ }
+
+ public MNotificationLog(int eventId, String eventType, String dbName, String tableName,
+ String message) {
+ this.eventId = eventId;
+ this.eventType = eventType;
+ this.dbName = dbName;
+ this.tableName = tableName;
+ this.message = message;
+ }
+
+ public void setEventId(long eventId) {
+ this.eventId = eventId;
+ }
+
+ public long getEventId() {
+ return eventId;
+
+ }
+
+ public int getEventTime() {
+ return eventTime;
+ }
+
+ public void setEventTime(int eventTime) {
+ this.eventTime = eventTime;
+ }
+
+ public String getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(String eventType) {
+ this.eventType = eventType;
+ }
+
+ public String getDbName() {
+ return dbName;
+ }
+
+ public void setDbName(String dbName) {
+ this.dbName = dbName;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public String getMessageFormat() {
+ return messageFormat;
+ }
+
+ public void setMessageFormat(String messageFormat) {
+ this.messageFormat = messageFormat;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationNextId.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationNextId.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationNextId.java
new file mode 100644
index 0000000..ef15848
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MNotificationNextId.java
@@ -0,0 +1,42 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MNotificationNextId {
+
+ private long nextEventId;
+
+ public MNotificationNextId() {
+ }
+
+ public MNotificationNextId(long nextEventId) {
+ this.nextEventId = nextEventId;
+ }
+
+ public long getNextEventId() {
+ return nextEventId;
+ }
+
+ public void setNextEventId(long nextEventId) {
+ this.nextEventId = nextEventId;
+ }
+
+ public void incrementEventId() {
+ nextEventId++;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MOrder.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MOrder.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MOrder.java
new file mode 100644
index 0000000..732c278
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MOrder.java
@@ -0,0 +1,62 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MOrder {
+ private String col;
+ private int order;
+
+ /**
+ * @param col
+ * @param order
+ */
+ public MOrder(String col, int order) {
+ this.col = col;
+ this.order = order;
+ }
+
+ /**
+ * @return the col
+ */
+ public String getCol() {
+ return col;
+ }
+
+ /**
+ * @param col the col to set
+ */
+ public void setCol(String col) {
+ this.col = col;
+ }
+
+ /**
+ * @return the order
+ */
+ public int getOrder() {
+ return order;
+ }
+
+ /**
+ * @param order the order to set
+ */
+ public void setOrder(int order) {
+ this.order = order;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartition.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartition.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartition.java
new file mode 100644
index 0000000..4aef5ac
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartition.java
@@ -0,0 +1,155 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.List;
+import java.util.Map;
+
+public class MPartition {
+
+ private String partitionName; // partitionname ==> (key=value/)*(key=value)
+ private MTable table;
+ private List<String> values;
+ private int createTime;
+ private int lastAccessTime;
+ private MStorageDescriptor sd;
+ private Map<String, String> parameters;
+
+
+ public MPartition() {}
+
+ /**
+ * @param partitionName
+ * @param table
+ * @param values
+ * @param createTime
+ * @param lastAccessTime
+ * @param sd
+ * @param parameters
+ */
+ public MPartition(String partitionName, MTable table, List<String> values, int createTime,
+ int lastAccessTime, MStorageDescriptor sd, Map<String, String> parameters) {
+ this.partitionName = partitionName;
+ this.table = table;
+ this.values = values;
+ this.createTime = createTime;
+ this.lastAccessTime = lastAccessTime;
+ this.sd = sd;
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the lastAccessTime
+ */
+ public int getLastAccessTime() {
+ return lastAccessTime;
+ }
+
+ /**
+ * @param lastAccessTime the lastAccessTime to set
+ */
+ public void setLastAccessTime(int lastAccessTime) {
+ this.lastAccessTime = lastAccessTime;
+ }
+
+ /**
+ * @return the values
+ */
+ public List<String> getValues() {
+ return values;
+ }
+
+ /**
+ * @param values the values to set
+ */
+ public void setValues(List<String> values) {
+ this.values = values;
+ }
+
+ /**
+ * @return the table
+ */
+ public MTable getTable() {
+ return table;
+ }
+
+ /**
+ * @param table the table to set
+ */
+ public void setTable(MTable table) {
+ this.table = table;
+ }
+
+ /**
+ * @return the sd
+ */
+ public MStorageDescriptor getSd() {
+ return sd;
+ }
+
+ /**
+ * @param sd the sd to set
+ */
+ public void setSd(MStorageDescriptor sd) {
+ this.sd = sd;
+ }
+
+ /**
+ * @return the parameters
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters the parameters to set
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the partitionName
+ */
+ public String getPartitionName() {
+ return partitionName;
+ }
+
+ /**
+ * @param partitionName the partitionName to set
+ */
+ public void setPartitionName(String partitionName) {
+ this.partitionName = partitionName;
+ }
+
+ /**
+ * @return the createTime
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime the createTime to set
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnPrivilege.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnPrivilege.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnPrivilege.java
new file mode 100644
index 0000000..555222b
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnPrivilege.java
@@ -0,0 +1,161 @@
+/**
+ * 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.hive.metastore.model;
+
+
+public class MPartitionColumnPrivilege {
+
+ private String principalName;
+
+ private String principalType;
+
+ private MPartition partition;
+
+ private String columnName;
+
+ private String privilege;
+
+ private int createTime;
+
+ private String grantor;
+
+ private String grantorType;
+
+ private boolean grantOption;
+
+ public MPartitionColumnPrivilege() {
+ }
+
+ /**
+ * @param principalName
+ * @param principalType
+ * @param partition
+ * @param columnName
+ * @param privileges
+ * @param createTime
+ * @param grantor
+ * @param grantorType
+ * @param grantOption
+ */
+ public MPartitionColumnPrivilege(String principalName, String principalType,
+ MPartition partition, String columnName, String privileges, int createTime,
+ String grantor, String grantorType, boolean grantOption) {
+ super();
+ this.principalName = principalName;
+ this.principalType = principalType;
+ this.partition = partition;
+ this.columnName = columnName;
+ this.privilege = privileges;
+ this.createTime = createTime;
+ this.grantor = grantor;
+ this.grantorType = grantorType;
+ this.grantOption = grantOption;
+ }
+
+ /**
+ * @return column name
+ */
+ public String getColumnName() {
+ return columnName;
+ }
+
+ /**
+ * @param columnName column name
+ */
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ /**
+ * @return a set of privileges this user/role/group has
+ */
+ public String getPrivilege() {
+ return privilege;
+ }
+
+ /**
+ * @param dbPrivileges a set of privileges this user/role/group has
+ */
+ public void setPrivilege(String dbPrivileges) {
+ this.privilege = dbPrivileges;
+ }
+
+ /**
+ * @return create time
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime create time
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getPrincipalName() {
+ return principalName;
+ }
+
+ public void setPrincipalName(String principalName) {
+ this.principalName = principalName;
+ }
+
+ public MPartition getPartition() {
+ return partition;
+ }
+
+ public void setPartition(MPartition partition) {
+ this.partition = partition;
+ }
+
+ public String getGrantor() {
+ return grantor;
+ }
+
+ public void setGrantor(String grantor) {
+ this.grantor = grantor;
+ }
+
+ public String getGrantorType() {
+ return grantorType;
+ }
+
+ public void setGrantorType(String grantorType) {
+ this.grantorType = grantorType;
+ }
+
+ public boolean getGrantOption() {
+ return grantOption;
+ }
+
+ public void setGrantOption(boolean grantOption) {
+ this.grantOption = grantOption;
+ }
+
+ public String getPrincipalType() {
+ return principalType;
+ }
+
+ public void setPrincipalType(String principalType) {
+ this.principalType = principalType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java
new file mode 100644
index 0000000..20129bb
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java
@@ -0,0 +1,272 @@
+/**
+ * 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.hive.metastore.model;
+
+
+
+/**
+ *
+ * MPartitionColumnStatistics - Represents Hive's partiton level Column Statistics Description.
+ * The fields in this class with the exception of partition are persisted in the metastore.
+ * In case of partition, part_id is persisted in its place.
+ *
+ */
+public class MPartitionColumnStatistics {
+
+ private MPartition partition;
+
+ private String dbName;
+ private String tableName;
+ private String partitionName;
+ private String colName;
+ private String colType;
+
+ private Long longLowValue;
+ private Long longHighValue;
+ private Double doubleLowValue;
+ private Double doubleHighValue;
+ private String decimalLowValue;
+ private String decimalHighValue;
+ private Long numNulls;
+ private Long numDVs;
+ private byte[] bitVector;
+ private Double avgColLen;
+ private Long maxColLen;
+ private Long numTrues;
+ private Long numFalses;
+ private long lastAnalyzed;
+
+ public MPartitionColumnStatistics() {}
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getColName() {
+ return colName;
+ }
+
+ public void setColName(String colName) {
+ this.colName = colName;
+ }
+
+ public Long getNumNulls() {
+ return numNulls;
+ }
+
+ public void setNumNulls(long numNulls) {
+ this.numNulls = numNulls;
+ }
+
+ public Long getNumDVs() {
+ return numDVs;
+ }
+
+ public void setNumDVs(long numDVs) {
+ this.numDVs = numDVs;
+ }
+
+ public Double getAvgColLen() {
+ return avgColLen;
+ }
+
+ public void setAvgColLen(double avgColLen) {
+ this.avgColLen = avgColLen;
+ }
+
+ public Long getMaxColLen() {
+ return maxColLen;
+ }
+
+ public void setMaxColLen(long maxColLen) {
+ this.maxColLen = maxColLen;
+ }
+
+ public Long getNumTrues() {
+ return numTrues;
+ }
+
+ public void setNumTrues(long numTrues) {
+ this.numTrues = numTrues;
+ }
+
+ public Long getNumFalses() {
+ return numFalses;
+ }
+
+ public void setNumFalses(long numFalses) {
+ this.numFalses = numFalses;
+ }
+
+ public long getLastAnalyzed() {
+ return lastAnalyzed;
+ }
+
+ public void setLastAnalyzed(long lastAnalyzed) {
+ this.lastAnalyzed = lastAnalyzed;
+ }
+
+ public String getDbName() {
+ return dbName;
+ }
+
+ public void setDbName(String dbName) {
+ this.dbName = dbName;
+ }
+
+ public MPartition getPartition() {
+ return partition;
+ }
+
+ public void setPartition(MPartition partition) {
+ this.partition = partition;
+ }
+
+ public String getPartitionName() {
+ return partitionName;
+ }
+
+ public void setPartitionName(String partitionName) {
+ this.partitionName = partitionName;
+ }
+
+ public String getColType() {
+ return colType;
+ }
+
+ public void setColType(String colType) {
+ this.colType = colType;
+ }
+
+ public void setBooleanStats(Long numTrues, Long numFalses, Long numNulls) {
+ this.numTrues = numTrues;
+ this.numFalses = numFalses;
+ this.numNulls = numNulls;
+ }
+
+ public void setLongStats(Long numNulls, Long numNDVs, byte[] bitVector, Long lowValue, Long highValue) {
+ this.numNulls = numNulls;
+ this.numDVs = numNDVs;
+ this.bitVector = bitVector;
+ this.longLowValue = lowValue;
+ this.longHighValue = highValue;
+ }
+
+ public void setDoubleStats(Long numNulls, Long numNDVs, byte[] bitVector, Double lowValue, Double highValue) {
+ this.numNulls = numNulls;
+ this.numDVs = numNDVs;
+ this.bitVector = bitVector;
+ this.doubleLowValue = lowValue;
+ this.doubleHighValue = highValue;
+ }
+
+ public void setDecimalStats(
+ Long numNulls, Long numNDVs, byte[] bitVector, String lowValue, String highValue) {
+ this.numNulls = numNulls;
+ this.numDVs = numNDVs;
+ this.bitVector = bitVector;
+ this.decimalLowValue = lowValue;
+ this.decimalHighValue = highValue;
+ }
+
+ public void setStringStats(Long numNulls, Long numNDVs, byte[] bitVector, Long maxColLen, Double avgColLen) {
+ this.numNulls = numNulls;
+ this.numDVs = numNDVs;
+ this.bitVector = bitVector;
+ this.maxColLen = maxColLen;
+ this.avgColLen = avgColLen;
+ }
+
+ public void setBinaryStats(Long numNulls, Long maxColLen, Double avgColLen) {
+ this.numNulls = numNulls;
+ this.maxColLen = maxColLen;
+ this.avgColLen = avgColLen;
+ }
+
+ public void setDateStats(Long numNulls, Long numNDVs, byte[] bitVector, Long lowValue, Long highValue) {
+ this.numNulls = numNulls;
+ this.numDVs = numNDVs;
+ this.bitVector = bitVector;
+ this.longLowValue = lowValue;
+ this.longHighValue = highValue;
+ }
+
+ public Long getLongLowValue() {
+ return longLowValue;
+ }
+
+ public void setLongLowValue(Long longLowValue) {
+ this.longLowValue = longLowValue;
+ }
+
+ public Long getLongHighValue() {
+ return longHighValue;
+ }
+
+ public void setLongHighValue(Long longHighValue) {
+ this.longHighValue = longHighValue;
+ }
+
+ public Double getDoubleLowValue() {
+ return doubleLowValue;
+ }
+
+ public void setDoubleLowValue(Double doubleLowValue) {
+ this.doubleLowValue = doubleLowValue;
+ }
+
+ public Double getDoubleHighValue() {
+ return doubleHighValue;
+ }
+
+ public void setDoubleHighValue(Double doubleHighValue) {
+ this.doubleHighValue = doubleHighValue;
+ }
+
+ public String getDecimalLowValue() {
+ return decimalLowValue;
+ }
+
+ public void setDecimalLowValue(String decimalLowValue) {
+ this.decimalLowValue = decimalLowValue;
+ }
+
+ public String getDecimalHighValue() {
+ return decimalHighValue;
+ }
+
+ public void setDecimalHighValue(String decimalHighValue) {
+ this.decimalHighValue = decimalHighValue;
+ }
+
+ public byte[] getBitVector() {
+ return bitVector;
+ }
+
+ public void setBitVector(byte[] bitVector) {
+ this.bitVector = bitVector;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionEvent.java
new file mode 100644
index 0000000..266acd0
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionEvent.java
@@ -0,0 +1,90 @@
+/**
+ * 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.hive.metastore.model;
+
+
+public class MPartitionEvent {
+
+ private String dbName;
+
+ private String tblName;
+
+ private String partName;
+
+ private long eventTime;
+
+ private int eventType;
+
+ public MPartitionEvent(String dbName, String tblName, String partitionName, int eventType) {
+ super();
+ this.dbName = dbName;
+ this.tblName = tblName;
+ this.partName = partitionName;
+ this.eventType = eventType;
+ this.eventTime = System.currentTimeMillis();
+ }
+
+ public MPartitionEvent() {}
+
+ /**
+ * @param dbName the dbName to set
+ */
+ public void setDbName(String dbName) {
+ this.dbName = dbName;
+ }
+
+ /**
+ * @param tblName the tblName to set
+ */
+ public void setTblName(String tblName) {
+ this.tblName = tblName;
+ }
+
+ /**
+ * @param partName the partSpec to set
+ */
+ public void setPartName(String partName) {
+ this.partName = partName;
+ }
+
+ /**
+ * @param createTime the eventTime to set
+ */
+ public void setEventTime(long createTime) {
+ this.eventTime = createTime;
+ }
+
+ /**
+ * @param eventType the EventType to set
+ */
+ public void setEventType(int eventType) {
+ this.eventType = eventType;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "MPartitionEvent [dbName=" + dbName + ", tblName=" + tblName + ", partName=" + partName
+ + ", eventTime=" + eventTime + ", EventType=" + eventType + "]";
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionPrivilege.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionPrivilege.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionPrivilege.java
new file mode 100644
index 0000000..2af0d00
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPartitionPrivilege.java
@@ -0,0 +1,139 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MPartitionPrivilege {
+
+ private String principalName;
+
+ private String principalType;
+
+ private MPartition partition;
+
+ private String privilege;
+
+ private int createTime;
+
+ private String grantor;
+
+ private String grantorType;
+
+ private boolean grantOption;
+
+ public MPartitionPrivilege() {
+ }
+
+ public MPartitionPrivilege(String principalName, String principalType,
+ MPartition partition, String privilege, int createTime,
+ String grantor, String grantorType, boolean grantOption) {
+ super();
+ this.principalName = principalName;
+ this.principalType = principalType;
+ this.partition = partition;
+ this.privilege = privilege;
+ this.createTime = createTime;
+ this.grantor = grantor;
+ this.grantorType = grantorType;
+ this.grantOption = grantOption;
+ }
+
+ public String getPrincipalName() {
+ return principalName;
+ }
+
+ public void setPrincipalName(String principalName) {
+ this.principalName = principalName;
+ }
+
+
+ /**
+ * @return a set of privileges this user/role/group has
+ */
+ public String getPrivilege() {
+ return privilege;
+ }
+
+ /**
+ * @param dbPrivilege a set of privileges this user/role/group has
+ */
+ public void setPrivilege(String dbPrivilege) {
+ this.privilege = dbPrivilege;
+ }
+
+ /**
+ * @return create time
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime create time
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * @return the grantor
+ */
+ public String getGrantor() {
+ return grantor;
+ }
+
+ /**
+ * @param grantor
+ */
+ public void setGrantor(String grantor) {
+ this.grantor = grantor;
+ }
+
+ public String getPrincipalType() {
+ return principalType;
+ }
+
+ public void setPrincipalType(String principalType) {
+ this.principalType = principalType;
+ }
+
+ public MPartition getPartition() {
+ return partition;
+ }
+
+ public void setPartition(MPartition partition) {
+ this.partition = partition;
+ }
+
+ public boolean getGrantOption() {
+ return grantOption;
+ }
+
+ public void setGrantOption(boolean grantOption) {
+ this.grantOption = grantOption;
+ }
+
+ public String getGrantorType() {
+ return grantorType;
+ }
+
+ public void setGrantorType(String grantorType) {
+ this.grantorType = grantorType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPrincipalDesc.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPrincipalDesc.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPrincipalDesc.java
new file mode 100644
index 0000000..42062b1
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MPrincipalDesc.java
@@ -0,0 +1,59 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MPrincipalDesc {
+
+ private String name;
+ private String type;
+
+ public MPrincipalDesc() {}
+
+ public MPrincipalDesc(String name, String type) {
+ this.name = name;
+ this.type = type;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ @Override
+ public int hashCode() {
+ return type.hashCode() + name.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ MPrincipalDesc another = (MPrincipalDesc) object;
+ return type.equals(another.type) && name.equals(another.name);
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MResourceUri.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MResourceUri.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MResourceUri.java
new file mode 100644
index 0000000..0998cf7
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MResourceUri.java
@@ -0,0 +1,49 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MResourceUri {
+ private int resourceType;
+ private String uri;
+
+ public MResourceUri() {
+ }
+
+ public MResourceUri(int resourceType, String uri) {
+ super();
+ this.resourceType = resourceType;
+ this.uri = uri;
+ }
+
+ public int getResourceType() {
+ return resourceType;
+ }
+
+ public void setResourceType(int resourceType) {
+ this.resourceType = resourceType;
+ }
+
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRole.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRole.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRole.java
new file mode 100644
index 0000000..ce0f472
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRole.java
@@ -0,0 +1,80 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MRole {
+
+ private String roleName;
+
+ private int createTime;
+
+ private String ownerName;
+
+ public MRole() {
+ }
+
+ public MRole(String roleName, int createTime, String ownerName) {
+ super();
+ this.roleName = roleName;
+ this.createTime = createTime;
+ this.ownerName = ownerName;
+ }
+
+ /**
+ * @return role name
+ */
+ public String getRoleName() {
+ return roleName;
+ }
+
+ /**
+ * @param roleName
+ */
+ public void setRoleName(String roleName) {
+ this.roleName = roleName;
+ }
+
+ /**
+ * @return create time
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime
+ * role create time
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * @return the principal name who created this role
+ */
+ public String getOwnerName() {
+ return ownerName;
+ }
+
+ public void setOwnerName(String ownerName) {
+ this.ownerName = ownerName;
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRoleMap.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRoleMap.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRoleMap.java
new file mode 100644
index 0000000..ef8e17c
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MRoleMap.java
@@ -0,0 +1,120 @@
+/**
+ * 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.hive.metastore.model;
+
+public class MRoleMap {
+
+ private String principalName;
+
+ private String principalType;
+
+ private MRole role;
+
+ private int addTime;
+
+ private String grantor;
+
+ private String grantorType;
+
+ private boolean grantOption;
+
+ public MRoleMap() {
+ }
+
+ public MRoleMap(String principalName, String principalType, MRole role,
+ int addTime, String grantor, String grantorType, boolean grantOption) {
+ super();
+ this.principalName = principalName;
+ this.principalType = principalType;
+ this.role = role;
+ this.addTime = addTime;
+ this.grantor = grantor;
+ this.grantorType = grantorType;
+ this.grantOption = grantOption;
+ }
+
+ /**
+ * @return principal name
+ */
+ public String getPrincipalName() {
+ return principalName;
+ }
+
+ /**
+ * @param userName principal name
+ */
+ public void setPrincipalName(String userName) {
+ this.principalName = userName;
+ }
+
+ public String getPrincipalType() {
+ return principalType;
+ }
+
+ public void setPrincipalType(String principalType) {
+ this.principalType = principalType;
+ }
+
+ /**
+ * @return add time
+ */
+ public int getAddTime() {
+ return addTime;
+ }
+
+ /**
+ * @param addTime
+ */
+ public void setAddTime(int addTime) {
+ this.addTime = addTime;
+ }
+
+ public MRole getRole() {
+ return role;
+ }
+
+ public void setRole(MRole role) {
+ this.role = role;
+ }
+
+ public boolean getGrantOption() {
+ return grantOption;
+ }
+
+ public void setGrantOption(boolean grantOption) {
+ this.grantOption = grantOption;
+ }
+
+ public String getGrantor() {
+ return grantor;
+ }
+
+ public void setGrantor(String grantor) {
+ this.grantor = grantor;
+ }
+
+ public String getGrantorType() {
+ return grantorType;
+ }
+
+ public void setGrantorType(String grantorType) {
+ this.grantorType = grantorType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MSerDeInfo.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MSerDeInfo.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MSerDeInfo.java
new file mode 100644
index 0000000..2c16e61
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MSerDeInfo.java
@@ -0,0 +1,81 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.Map;
+
+public class MSerDeInfo {
+ private String name;
+ private String serializationLib;
+ private Map<String, String> parameters;
+
+ /**
+ * @param name
+ * @param serializationLib
+ * @param parameters
+ */
+ public MSerDeInfo(String name, String serializationLib, Map<String, String> parameters) {
+ this.name = name;
+ this.serializationLib = serializationLib;
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the serializationLib
+ */
+ public String getSerializationLib() {
+ return serializationLib;
+ }
+
+ /**
+ * @param serializationLib the serializationLib to set
+ */
+ public void setSerializationLib(String serializationLib) {
+ this.serializationLib = serializationLib;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the parameters
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters the parameters to set
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java
new file mode 100644
index 0000000..2e021af
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java
@@ -0,0 +1,277 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.List;
+import java.util.Map;
+
+public class MStorageDescriptor {
+ private MColumnDescriptor cd;
+ private String location;
+ private String inputFormat;
+ private String outputFormat;
+ private boolean isCompressed = false;
+ private int numBuckets = 1;
+ private MSerDeInfo serDeInfo;
+ private List<String> bucketCols;
+ private List<MOrder> sortCols;
+ private Map<String, String> parameters;
+ private List<String> skewedColNames;
+ private List<MStringList> skewedColValues;
+ private Map<MStringList, String> skewedColValueLocationMaps;
+ private boolean isStoredAsSubDirectories;
+
+ public MStorageDescriptor() {}
+
+
+ /**
+ * @param cd
+ * @param location
+ * @param inputFormat
+ * @param outputFormat
+ * @param isCompressed
+ * @param numBuckets
+ * @param serDeInfo
+ * @param bucketCols
+ * @param sortOrder
+ * @param parameters
+ */
+ public MStorageDescriptor(MColumnDescriptor cd, String location, String inputFormat,
+ String outputFormat, boolean isCompressed, int numBuckets, MSerDeInfo serDeInfo,
+ List<String> bucketCols, List<MOrder> sortOrder, Map<String, String> parameters,
+ List<String> skewedColNames, List<MStringList> skewedColValues,
+ Map<MStringList, String> skewedColValueLocationMaps, boolean storedAsSubDirectories) {
+ this.cd = cd;
+ this.location = location;
+ this.inputFormat = inputFormat;
+ this.outputFormat = outputFormat;
+ this.isCompressed = isCompressed;
+ this.numBuckets = numBuckets;
+ this.serDeInfo = serDeInfo;
+ this.bucketCols = bucketCols;
+ this.sortCols = sortOrder;
+ this.parameters = parameters;
+ this.skewedColNames = skewedColNames;
+ this.skewedColValues = skewedColValues;
+ this.skewedColValueLocationMaps = skewedColValueLocationMaps;
+ this.isStoredAsSubDirectories = storedAsSubDirectories;
+ }
+
+
+ /**
+ * @return the location
+ */
+ public String getLocation() {
+ return location;
+ }
+
+ /**
+ * @param location the location to set
+ */
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ /**
+ * @return the isCompressed
+ */
+ public boolean isCompressed() {
+ return isCompressed;
+ }
+
+ /**
+ * @param isCompressed the isCompressed to set
+ */
+ public void setCompressed(boolean isCompressed) {
+ this.isCompressed = isCompressed;
+ }
+
+ /**
+ * @return the numBuckets
+ */
+ public int getNumBuckets() {
+ return numBuckets;
+ }
+
+ /**
+ * @param numBuckets the numBuckets to set
+ */
+ public void setNumBuckets(int numBuckets) {
+ this.numBuckets = numBuckets;
+ }
+
+ /**
+ * @return the bucketCols
+ */
+ public List<String> getBucketCols() {
+ return bucketCols;
+ }
+
+ /**
+ * @param bucketCols the bucketCols to set
+ */
+ public void setBucketCols(List<String> bucketCols) {
+ this.bucketCols = bucketCols;
+ }
+
+ /**
+ * @return the parameters
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters the parameters to set
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the inputFormat
+ */
+ public String getInputFormat() {
+ return inputFormat;
+ }
+
+ /**
+ * @param inputFormat the inputFormat to set
+ */
+ public void setInputFormat(String inputFormat) {
+ this.inputFormat = inputFormat;
+ }
+
+ /**
+ * @return the outputFormat
+ */
+ public String getOutputFormat() {
+ return outputFormat;
+ }
+
+ /**
+ * @param outputFormat the outputFormat to set
+ */
+ public void setOutputFormat(String outputFormat) {
+ this.outputFormat = outputFormat;
+ }
+
+ /**
+ * @return the column descriptor
+ */
+ public MColumnDescriptor getCD() {
+ return cd;
+ }
+
+ /**
+ * @param cd the Column Descriptor to set
+ */
+ public void setCD(MColumnDescriptor cd) {
+ this.cd = cd;
+ }
+
+ /**
+ * @return the serDe
+ */
+ public MSerDeInfo getSerDeInfo() {
+ return serDeInfo;
+ }
+
+ /**
+ * @param serDe the serDe to set
+ */
+ public void setSerDeInfo(MSerDeInfo serDe) {
+ this.serDeInfo = serDe;
+ }
+
+
+ /**
+ * @param sortOrder the sortOrder to set
+ */
+ public void setSortCols(List<MOrder> sortOrder) {
+ this.sortCols = sortOrder;
+ }
+
+
+ /**
+ * @return the sortOrder
+ */
+ public List<MOrder> getSortCols() {
+ return sortCols;
+ }
+
+ /**
+ * @return the skewedColNames
+ */
+ public List<String> getSkewedColNames() {
+ return skewedColNames;
+ }
+
+ /**
+ * @param skewedColNames the skewedColNames to set
+ */
+ public void setSkewedColNames(List<String> skewedColNames) {
+ this.skewedColNames = skewedColNames;
+ }
+
+ /**
+ * @return the skewedColValues
+ */
+ public List<MStringList> getSkewedColValues() {
+ return skewedColValues;
+ }
+
+ /**
+ * @param skewedColValues the skewedColValues to set
+ */
+ public void setSkewedColValues(List<MStringList> skewedColValues) {
+ this.skewedColValues = skewedColValues;
+ }
+
+ /**
+ * @return the skewedColValueLocationMaps
+ */
+ public Map<MStringList, String> getSkewedColValueLocationMaps() {
+ return skewedColValueLocationMaps;
+ }
+
+ /**
+ * @param listBucketColValuesMapping the skewedColValueLocationMaps to set
+ */
+ public void setSkewedColValueLocationMaps(Map<MStringList, String> listBucketColValuesMapping) {
+ this.skewedColValueLocationMaps = listBucketColValuesMapping;
+ }
+
+
+ /**
+ * @return the storedAsSubDirectories
+ */
+ public boolean isStoredAsSubDirectories() {
+ return isStoredAsSubDirectories;
+ }
+
+
+ /**
+ * @param storedAsSubDirectories the storedAsSubDirectories to set
+ */
+ public void setStoredAsSubDirectories(boolean storedAsSubDirectories) {
+ this.isStoredAsSubDirectories = storedAsSubDirectories;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStringList.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStringList.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStringList.java
new file mode 100644
index 0000000..58b07fe
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MStringList.java
@@ -0,0 +1,62 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.List;
+
+/**
+ *
+ * It represents data structure of string list.
+ *
+ * workaround JDO limitation: no support for collection of collection.
+ *
+ */
+public class MStringList {
+ private List<String> internalList;
+
+ /**
+ *
+ * @param list
+ */
+ public MStringList(List<String> list) {
+ this.internalList = list;
+ }
+
+ /**
+ * @return the internalList
+ */
+ public List<String> getInternalList() {
+ return internalList;
+ }
+
+ /**
+ * @param internalList the internalList to set
+ */
+ public void setInternalList(List<String> internalList) {
+ this.internalList = internalList;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return internalList.toString();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/98ec28ed/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MTable.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MTable.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MTable.java
new file mode 100644
index 0000000..6cc7157
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MTable.java
@@ -0,0 +1,256 @@
+/**
+ * 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.hive.metastore.model;
+
+import java.util.List;
+import java.util.Map;
+
+public class MTable {
+
+ private String tableName;
+ private MDatabase database;
+ private MStorageDescriptor sd;
+ private String owner;
+ private int createTime;
+ private int lastAccessTime;
+ private int retention;
+ private List<MFieldSchema> partitionKeys;
+ private Map<String, String> parameters;
+ private String viewOriginalText;
+ private String viewExpandedText;
+ private boolean rewriteEnabled;
+ private String tableType;
+
+ public MTable() {}
+
+ /**
+ * @param tableName
+ * @param database
+ * @param sd
+ * @param owner
+ * @param createTime
+ * @param lastAccessTime
+ * @param retention
+ * @param partitionKeys
+ * @param parameters
+ * @param viewOriginalText
+ * @param viewExpandedText
+ * @param tableType
+ */
+ public MTable(String tableName, MDatabase database, MStorageDescriptor sd, String owner,
+ int createTime, int lastAccessTime, int retention, List<MFieldSchema> partitionKeys,
+ Map<String, String> parameters, String viewOriginalText, String viewExpandedText,
+ boolean rewriteEnabled, String tableType) {
+ this.tableName = tableName;
+ this.database = database;
+ this.sd = sd;
+ this.owner = owner;
+ this.createTime = createTime;
+ this.setLastAccessTime(lastAccessTime);
+ this.retention = retention;
+ this.partitionKeys = partitionKeys;
+ this.parameters = parameters;
+ this.viewOriginalText = viewOriginalText;
+ this.viewExpandedText = viewExpandedText;
+ this.rewriteEnabled = rewriteEnabled;
+ this.tableType = tableType;
+ }
+
+ /**
+ * @return the tableName
+ */
+ public String getTableName() {
+ return tableName;
+ }
+
+ /**
+ * @param tableName the tableName to set
+ */
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ /**
+ * @return the sd
+ */
+ public MStorageDescriptor getSd() {
+ return sd;
+ }
+
+ /**
+ * @param sd the sd to set
+ */
+ public void setSd(MStorageDescriptor sd) {
+ this.sd = sd;
+ }
+
+ /**
+ * @return the partKeys
+ */
+ public List<MFieldSchema> getPartitionKeys() {
+ return partitionKeys;
+ }
+
+ /**
+ * @param partKeys the partKeys to set
+ */
+ public void setPartitionKeys(List<MFieldSchema> partKeys) {
+ this.partitionKeys = partKeys;
+ }
+
+ /**
+ * @return the parameters
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters the parameters to set
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return the original view text, or null if this table is not a view
+ */
+ public String getViewOriginalText() {
+ return viewOriginalText;
+ }
+
+ /**
+ * @param viewOriginalText the original view text to set
+ */
+ public void setViewOriginalText(String viewOriginalText) {
+ this.viewOriginalText = viewOriginalText;
+ }
+
+ /**
+ * @return the expanded view text, or null if this table is not a view
+ */
+ public String getViewExpandedText() {
+ return viewExpandedText;
+ }
+
+ /**
+ * @param viewExpandedText the expanded view text to set
+ */
+ public void setViewExpandedText(String viewExpandedText) {
+ this.viewExpandedText = viewExpandedText;
+ }
+
+ /**
+ * @return whether the view can be used for rewriting queries
+ */
+ public boolean isRewriteEnabled() {
+ return rewriteEnabled;
+ }
+
+ /**
+ * @param rewriteEnabled whether the view can be used for rewriting queries
+ */
+ public void setRewriteEnabled(boolean rewriteEnabled) {
+ this.rewriteEnabled = rewriteEnabled;
+ }
+
+ /**
+ * @return the owner
+ */
+ public String getOwner() {
+ return owner;
+ }
+
+ /**
+ * @param owner the owner to set
+ */
+ public void setOwner(String owner) {
+ this.owner = owner;
+ }
+
+ /**
+ * @return the createTime
+ */
+ public int getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * @param createTime the createTime to set
+ */
+ public void setCreateTime(int createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * @return the database
+ */
+ public MDatabase getDatabase() {
+ return database;
+ }
+
+ /**
+ * @param database the database to set
+ */
+ public void setDatabase(MDatabase database) {
+ this.database = database;
+ }
+
+ /**
+ * @return the retention
+ */
+ public int getRetention() {
+ return retention;
+ }
+
+ /**
+ * @param retention the retention to set
+ */
+ public void setRetention(int retention) {
+ this.retention = retention;
+ }
+
+ /**
+ * @param lastAccessTime the lastAccessTime to set
+ */
+ public void setLastAccessTime(int lastAccessTime) {
+ this.lastAccessTime = lastAccessTime;
+ }
+
+ /**
+ * @return the lastAccessTime
+ */
+ public int getLastAccessTime() {
+ return lastAccessTime;
+ }
+
+ /**
+ * @param tableType the tableType to set
+ */
+ public void setTableType(String tableType) {
+ this.tableType = tableType;
+ }
+
+ /**
+ * @return the tableType
+ */
+ public String getTableType() {
+ return tableType;
+ }
+}