Package org.h2.engine

Class DbObject

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DbObject​(Database db, int objectId, java.lang.String name, int traceModuleId)
      Initialize some attributes of this object.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void checkRename()
      Check if renaming is allowed.
      java.util.ArrayList<DbObject> getChildren()
      Get the list of dependent children (for tables, this includes indexes and so on).
      java.lang.String getComment()
      Get the current comment of this object.
      abstract java.lang.String getCreateSQL()
      Construct the CREATE ...
      abstract java.lang.String getCreateSQLForCopy​(Table table, java.lang.String quotedName)
      Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table
      java.lang.String getCreateSQLForMeta()
      Construct the CREATE ...
      Database getDatabase()
      Get the database.
      java.lang.String getDropSQL()
      Construct a DROP ...
      int getId()
      Get the unique object id.
      long getModificationId()  
      java.lang.String getName()
      Get the name.
      java.lang.String getSQL​(int sqlFlags)
      Get the SQL statement of this expression.
      java.lang.StringBuilder getSQL​(java.lang.StringBuilder builder, int sqlFlags)
      Appends the SQL statement of this object to the specified builder.
      abstract int getType()
      Get the object type.
      protected void invalidate()
      Set the main attributes to null to make sure the object is no longer used.
      boolean isTemporary()
      Check if this object is temporary (for example, a temporary table).
      boolean isValid()  
      abstract void removeChildrenAndResources​(SessionLocal session)
      Delete all dependent children objects and resources of this object.
      void rename​(java.lang.String newName)
      Rename the object.
      void setComment​(java.lang.String comment)
      Change the comment of this object.
      void setModified()
      Tell the object that is was modified.
      protected void setObjectName​(java.lang.String name)  
      void setTemporary​(boolean temporary)
      Tell this object that it is temporary or not.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • TABLE_OR_VIEW

        public static final int TABLE_OR_VIEW
        The object is of the type table or view.
        See Also:
        Constant Field Values
      • CONSTRAINT

        public static final int CONSTRAINT
        This object is a constraint (check constraint, unique constraint, or referential constraint).
        See Also:
        Constant Field Values
      • FUNCTION_ALIAS

        public static final int FUNCTION_ALIAS
        This object is an alias for a Java function.
        See Also:
        Constant Field Values
      • AGGREGATE

        public static final int AGGREGATE
        This object is a user-defined aggregate function.
        See Also:
        Constant Field Values
      • database

        protected Database database
        The database.
      • trace

        protected Trace trace
        The trace module.
      • comment

        protected java.lang.String comment
        The comment (if set).
      • id

        private int id
      • objectName

        private java.lang.String objectName
      • modificationId

        private long modificationId
      • temporary

        private boolean temporary
    • Constructor Detail

      • DbObject

        protected DbObject​(Database db,
                           int objectId,
                           java.lang.String name,
                           int traceModuleId)
        Initialize some attributes of this object.
        Parameters:
        db - the database
        objectId - the object id
        name - the name
        traceModuleId - the trace module id
    • Method Detail

      • setModified

        public final void setModified()
        Tell the object that is was modified.
      • getModificationId

        public final long getModificationId()
      • setObjectName

        protected final void setObjectName​(java.lang.String name)
      • getSQL

        public java.lang.String getSQL​(int sqlFlags)
        Description copied from interface: HasSQL
        Get the SQL statement of this expression. This may not always be the original SQL statement, specially after optimization.
        Specified by:
        getSQL in interface HasSQL
        Parameters:
        sqlFlags - formatting flags
        Returns:
        the SQL statement
      • getSQL

        public java.lang.StringBuilder getSQL​(java.lang.StringBuilder builder,
                                              int sqlFlags)
        Description copied from interface: HasSQL
        Appends the SQL statement of this object to the specified builder.
        Specified by:
        getSQL in interface HasSQL
        Parameters:
        builder - string builder
        sqlFlags - formatting flags
        Returns:
        the specified string builder
      • getChildren

        public java.util.ArrayList<DbObject> getChildren()
        Get the list of dependent children (for tables, this includes indexes and so on).
        Returns:
        the list of children, or null
      • getDatabase

        public final Database getDatabase()
        Get the database.
        Returns:
        the database
      • getId

        public final int getId()
        Get the unique object id.
        Returns:
        the object id
      • getName

        public final java.lang.String getName()
        Get the name.
        Returns:
        the name
      • invalidate

        protected void invalidate()
        Set the main attributes to null to make sure the object is no longer used.
      • isValid

        public final boolean isValid()
      • getCreateSQLForCopy

        public abstract java.lang.String getCreateSQLForCopy​(Table table,
                                                             java.lang.String quotedName)
        Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table
        Parameters:
        table - the new table
        quotedName - the quoted name
        Returns:
        the SQL statement
      • getCreateSQLForMeta

        public java.lang.String getCreateSQLForMeta()
        Construct the CREATE ... SQL statement for this object for meta table.
        Returns:
        the SQL statement
      • getCreateSQL

        public abstract java.lang.String getCreateSQL()
        Construct the CREATE ... SQL statement for this object.
        Returns:
        the SQL statement
      • getDropSQL

        public java.lang.String getDropSQL()
        Construct a DROP ... SQL statement for this object.
        Returns:
        the SQL statement
      • getType

        public abstract int getType()
        Get the object type.
        Returns:
        the object type
      • removeChildrenAndResources

        public abstract void removeChildrenAndResources​(SessionLocal session)
        Delete all dependent children objects and resources of this object.
        Parameters:
        session - the session
      • checkRename

        public void checkRename()
        Check if renaming is allowed. Does nothing when allowed.
      • rename

        public void rename​(java.lang.String newName)
        Rename the object.
        Parameters:
        newName - the new name
      • isTemporary

        public boolean isTemporary()
        Check if this object is temporary (for example, a temporary table).
        Returns:
        true if is temporary
      • setTemporary

        public void setTemporary​(boolean temporary)
        Tell this object that it is temporary or not.
        Parameters:
        temporary - the new value
      • setComment

        public void setComment​(java.lang.String comment)
        Change the comment of this object.
        Parameters:
        comment - the new comment, or null for no comment
      • getComment

        public java.lang.String getComment()
        Get the current comment of this object.
        Returns:
        the comment, or null if not set
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object