Class SYSSTATEMENTSRowFactory

java.lang.Object
org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
org.apache.derby.impl.sql.catalog.SYSSTATEMENTSRowFactory

public class SYSSTATEMENTSRowFactory extends CatalogRowFactory
Factory for creating a SYSSTATEMENTS row.
Version:
0.1
  • Field Details

    • TABLENAME_STRING

      static final String TABLENAME_STRING
      See Also:
    • SYSSTATEMENTS_STMTID

      public static final int SYSSTATEMENTS_STMTID
      See Also:
    • SYSSTATEMENTS_STMTNAME

      public static final int SYSSTATEMENTS_STMTNAME
      See Also:
    • SYSSTATEMENTS_SCHEMAID

      public static final int SYSSTATEMENTS_SCHEMAID
      See Also:
    • SYSSTATEMENTS_TYPE

      public static final int SYSSTATEMENTS_TYPE
      See Also:
    • SYSSTATEMENTS_VALID

      public static final int SYSSTATEMENTS_VALID
      See Also:
    • SYSSTATEMENTS_TEXT

      public static final int SYSSTATEMENTS_TEXT
      See Also:
    • SYSSTATEMENTS_LASTCOMPILED

      public static final int SYSSTATEMENTS_LASTCOMPILED
      See Also:
    • SYSSTATEMENTS_COMPILATION_SCHEMAID

      public static final int SYSSTATEMENTS_COMPILATION_SCHEMAID
      See Also:
    • SYSSTATEMENTS_USINGTEXT

      public static final int SYSSTATEMENTS_USINGTEXT
      See Also:
    • SYSSTATEMENTS_CONSTANTSTATE

      public static final int SYSSTATEMENTS_CONSTANTSTATE
      See Also:
    • SYSSTATEMENTS_INITIALLY_COMPILABLE

      public static final int SYSSTATEMENTS_INITIALLY_COMPILABLE
      See Also:
    • SYSSTATEMENTS_COLUMN_COUNT

      public static final int SYSSTATEMENTS_COLUMN_COUNT
      See Also:
    • SYSSTATEMENTS_HIDDEN_COLUMN_COUNT

      public static final int SYSSTATEMENTS_HIDDEN_COLUMN_COUNT
      See Also:
    • SYSSTATEMENTS_INDEX1_ID

      protected static final int SYSSTATEMENTS_INDEX1_ID
      See Also:
    • SYSSTATEMENTS_INDEX2_ID

      protected static final int SYSSTATEMENTS_INDEX2_ID
      See Also:
    • indexColumnPositions

      private static final int[][] indexColumnPositions
    • uniqueness

      private static final boolean[] uniqueness
    • uuids

      private static final String[] uuids
  • Constructor Details

  • Method Details

    • makeSYSSTATEMENTSrow

      public ExecRow makeSYSSTATEMENTSrow(boolean compileMe, SPSDescriptor spsDescriptor) throws StandardException
      Make a SYSSTATEMENTS row.

      WARNING: When empty row is true, this method takes a snapshot of the SPSD and creates a row. It is imperative that that row remain consistent with the descriptor (the valid and StorablePreparedStatement fields must be in sync). If this row is to be written out and valid is true, then this call and the insert should be synchronized on the SPSD. This method has NO synchronization.

      Parameters:
      compileMe - passed into SPSDescriptorImpl.getPreparedStatement(). if true, we (re)compile the stmt
      spsDescriptor - In-memory tuple to be converted to a disk row.
      Returns:
      Row suitable for inserting into SYSSTATEMENTS.
      Throws:
      StandardException - thrown on failure
    • buildDescriptor

      public TupleDescriptor buildDescriptor(ExecRow row, TupleDescriptor parentTupleDescriptor, DataDictionary dd) throws StandardException
      Make an Tuple Descriptor out of a SYSSTATEMENTS row
      Specified by:
      buildDescriptor in class CatalogRowFactory
      Parameters:
      row - a SYSSTATEMENTS row
      parentTupleDescriptor - unused
      dd - dataDictionary
      Returns:
      a descriptor equivalent to a SYSSTATEMENTS row
      Throws:
      StandardException - thrown on failure
    • makeEmptyRow

      public ExecRow makeEmptyRow() throws StandardException
      Description copied from class: CatalogRowFactory
      Return an empty row for this conglomerate.
      Overrides:
      makeEmptyRow in class CatalogRowFactory
      Throws:
      StandardException
    • buildColumnList

      public SystemColumn[] buildColumnList() throws StandardException
      Builds a list of columns suitable for creating this Catalog. The last column, the serialized statement, is not added to the column list. This is done deliberately to make it a 'hidden' column -- one that is not visible to customers, but is visible to the system.
      Specified by:
      buildColumnList in class CatalogRowFactory
      Returns:
      array of SystemColumn suitable for making this catalog.
      Throws:
      StandardException
    • getCreateHeapProperties

      public Properties getCreateHeapProperties()
      Get the Properties associated with creating the heap.
      Overrides:
      getCreateHeapProperties in class CatalogRowFactory
      Returns:
      The Properties associated with creating the heap.