All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.empire.dbms.oracle.OracleSYSDatabase Maven / Gradle / Ivy

The newest version!
/*
 * 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.empire.dbms.oracle;

// java
import org.apache.empire.data.DataType;
import org.apache.empire.db.*;

/**
 * Represents the data model of the system tables. They are required to parse the data models.
 * 

* * */ public class OracleSYSDatabase extends DBDatabase { // *Deprecated* private static final long serialVersionUID = 1L; // Table for all tables of a schema with their comments public static class DBTabComments extends DBTable { // *Deprecated* private static final long serialVersionUID = 1L; public DBTableColumn C_OWNER; public DBTableColumn C_TABLE_NAME; public DBTableColumn C_TABLE_TYPE; public DBTableColumn C_COMMENTS; // Constructor public DBTabComments(DBDatabase db) { super("ALL_TAB_COMMENTS", db); // add all Colums C_OWNER = addColumn("OWNER", DataType.VARCHAR, 50, false); C_TABLE_NAME = addColumn("TABLE_NAME", DataType.VARCHAR, 50, false); C_TABLE_TYPE = addColumn("TABLE_TYPE", DataType.VARCHAR, 50, false); C_COMMENTS = addColumn("COMMENTS", DataType.VARCHAR, 500, false); } } // Table for all constraints public static class DBConstraints extends DBTable { // *Deprecated* private static final long serialVersionUID = 1L; public DBTableColumn C_CONSTRAINT_NAME; public DBTableColumn C_TABLE_NAME; public DBTableColumn C_R_CONSTRAINT_NAME; public DBTableColumn C_CONSTRAINT_TYPE; public DBTableColumn C_STATUS; // Constructor public DBConstraints(DBDatabase db) { super("ALL_CONSTRAINTS", db); // add all Colums C_CONSTRAINT_NAME = addColumn("CONSTRAINT_NAME", DataType.VARCHAR, 100, false); C_TABLE_NAME = addColumn("TABLE_NAME", DataType.VARCHAR, 100, false); C_R_CONSTRAINT_NAME = addColumn("R_CONSTRAINT_NAME", DataType.VARCHAR, 100, false); C_CONSTRAINT_TYPE = addColumn("CONSTRAINT_TYPE", DataType.VARCHAR, 1, false); C_STATUS = addColumn("STATUS", DataType.VARCHAR, 20, false); } } // Table for Columns and Tables a constraint is associated to public static class DBUserConCol extends DBTable { // *Deprecated* private static final long serialVersionUID = 1L; public DBTableColumn C_CONSTRAINT_NAME; public DBTableColumn C_TABLE_NAME; public DBTableColumn C_COLUMN_NAME; public DBTableColumn C_OWNER; // Constructor public DBUserConCol(DBDatabase db) { super("USER_CONS_COLUMNS", db); // add all Colums C_CONSTRAINT_NAME = addColumn("CONSTRAINT_NAME", DataType.VARCHAR, 100, false); C_TABLE_NAME = addColumn("TABLE_NAME", DataType.VARCHAR, 100, false); C_COLUMN_NAME = addColumn("COLUMN_NAME", DataType.VARCHAR, 100, false); C_OWNER = addColumn("OWNER", DataType.VARCHAR, 100, false); setPrimaryKey(C_CONSTRAINT_NAME); } } // Table for all columns of a schema with their comments public static class DBColInfo extends DBTable { // *Deprecated* private static final long serialVersionUID = 1L; public DBTableColumn C_OWNER; public DBTableColumn C_TABLE_NAME; public DBTableColumn C_COLUMN_NAME; public DBTableColumn C_DATA_TYPE; public DBTableColumn C_DATA_TYPE_MOD; public DBTableColumn C_DATA_TYPE_OWNER; public DBTableColumn C_NULLABLE; public DBTableColumn C_DATA_LENGTH; public DBTableColumn C_DATA_PRECISION; public DBTableColumn C_DATA_SCALE; public DBTableColumn C_CHAR_LENGTH; // Constructor public DBColInfo(DBDatabase db) { super("ALL_TAB_COLUMNS", db); // add all Colums C_OWNER = addColumn("OWNER", DataType.VARCHAR, 30, false); C_TABLE_NAME = addColumn("TABLE_NAME", DataType.VARCHAR, 30, false); C_COLUMN_NAME = addColumn("COLUMN_NAME", DataType.VARCHAR, 30, false); C_DATA_TYPE = addColumn("DATA_TYPE", DataType.VARCHAR, 50, false); C_DATA_TYPE_MOD = addColumn("DATA_TYPE_MOD", DataType.VARCHAR, 50, false); C_DATA_TYPE_OWNER = addColumn("DATA_TYPE_OWNER", DataType.VARCHAR, 50, false); C_NULLABLE = addColumn("NULLABLE", DataType.VARCHAR, 1, false); C_DATA_LENGTH = addColumn("DATA_LENGTH", DataType.DECIMAL, 0, false); C_DATA_PRECISION = addColumn("DATA_PRECISION", DataType.DECIMAL, 0, false); C_DATA_SCALE = addColumn("DATA_SCALE", DataType.DECIMAL, 0, false); C_CHAR_LENGTH = addColumn("CHAR_LENGTH", DataType.DECIMAL, 0, false); } } // Table for all columns of a schema with their comments public static class DBColComments extends DBTable { // *Deprecated* private static final long serialVersionUID = 1L; public DBTableColumn C_OWNER; public DBTableColumn C_TABLE_NAME; public DBTableColumn C_COLUMN_NAME; public DBTableColumn C_COMMENTS; // Constructor public DBColComments(DBDatabase db) { super("ALL_COL_COMMENTS", db); // add all Colums C_OWNER = addColumn("OWNER", DataType.VARCHAR, 50, false); C_TABLE_NAME = addColumn("TABLE_NAME", DataType.VARCHAR, 50, false); C_COLUMN_NAME = addColumn("COLUMN_NAME", DataType.VARCHAR, 50, false); C_COMMENTS = addColumn("COMMENTS", DataType.VARCHAR, 500, false); } } public DBTabComments TC = null; public DBColInfo CI = null; public DBColComments CC = null; public DBConstraints CO = null; public DBUserConCol UC = null; public OracleSYSDatabase(DBMSHandlerOracle dbms) { // System schema super("SYS"); // Set Driver (do not use open(...)!) this.dbms = dbms; // Add Tables TC = new DBTabComments(this); CI = new DBColInfo(this); CC = new DBColComments(this); CO = new DBConstraints(this); UC = new DBUserConCol(this); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy