Package org.apache.derby.iapi.sql.execute

Examples of org.apache.derby.iapi.sql.execute.ExecIndexRow


                    String columnName,
                    long aiValue, boolean incrementNeeded)
      throws StandardException             
  {
    TabInfoImpl ti = coreInfo[SYSCOLUMNS_CORE_NUM];
    ExecIndexRow keyRow = null;

    keyRow = (ExecIndexRow)exFactory.getIndexableRow(2);
    keyRow.setColumn(1, getIDValueAsCHAR(tableUUID));
      keyRow.setColumn(2, new SQLChar(columnName));
   
    SYSCOLUMNSRowFactory  rf = (SYSCOLUMNSRowFactory) ti.getCatalogRowFactory();
    ExecRow row = rf.makeEmptyRow();

    boolean[] bArray = new boolean[2];
View Full Code Here


                      TableDescriptor td,
                      String columnName)
    throws StandardException                 
  {
    TabInfoImpl ti = coreInfo[SYSCOLUMNS_CORE_NUM];
    ExecIndexRow keyRow = null;
    ExecRow row;
    UUID tableUUID = td.getUUID();

    keyRow = (ExecIndexRow)exFactory.getIndexableRow(2);
    keyRow.setColumn(1, getIDValueAsCHAR(tableUUID));
      keyRow.setColumn(2, new SQLChar(columnName));
    return ti.getRowLocation(tc, keyRow,
                 SYSCOLUMNSRowFactory.SYSCOLUMNS_INDEX1_ID);
  }
View Full Code Here

  void computeSequenceRowLocation
        ( TransactionController tc, String sequenceIDstring, RowLocation[] rowLocation, SequenceDescriptor[] sequenceDescriptor )
    throws StandardException                 
  {
    TabInfoImpl ti = getNonCoreTI(SYSSEQUENCES_CATALOG_NUM);
    ExecIndexRow keyRow = null;

    keyRow = (ExecIndexRow)exFactory.getIndexableRow(1);
    keyRow.setColumn(1, new SQLChar( sequenceIDstring ) );
       
    rowLocation[ 0 ] = ti.getRowLocation( tc, keyRow, SYSSEQUENCESRowFactory.SYSSEQUENCES_INDEX1_ID );
       
        sequenceDescriptor[ 0 ] = (SequenceDescriptor)
            getDescriptorViaIndex
View Full Code Here

  {
    TabInfoImpl          ti = getNonCoreTI(SYSSTATISTICS_CATALOG_NUM);
    DataValueDescriptor first, second;
    first = getIDValueAsCHAR(tableUUID);

    ExecIndexRow keyRow;
    if (referenceUUID != null)
    {
      keyRow = exFactory.getIndexableRow(2);
      second = getIDValueAsCHAR(referenceUUID);
      keyRow.setColumn(2, second);
    }
    else
    {
      keyRow = exFactory.getIndexableRow(1);
    }

    keyRow.setColumn(1, first);

    ti.deleteRow(tc, keyRow,
           SYSSTATISTICSRowFactory.SYSSTATISTICS_INDEX1_ID);
   
  }
View Full Code Here

        finally
        {
            heapCC.close();
            heapCC = null;
        }
        ExecIndexRow key = rf.buildIndexKeyRow( primaryIndexNumber, perm);
        ExecRow existingRow = ti.getRow( tc, key, primaryIndexNumber);
        if( existingRow == null)
        {
            if( ! add)
            {
View Full Code Here

                                                              PermissionsDescriptor key)
        throws StandardException
    {
    TabInfoImpl ti = getNonCoreTI( catalogNumber);
        PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory();
        ExecIndexRow keyRow = rowFactory.buildIndexKeyRow( indexNumber, key);
        return
          getDescriptorViaIndex( indexNumber,
                                 keyRow,
                                 (ScanQualifier [][]) null,
                                 ti,
View Full Code Here

     * scan.
     */
    UUIDStringOrderable = getIDValueAsCHAR(uuid);

    /* Set up the start/stop position for the scan */
    ExecIndexRow keyRow = exFactory.getIndexableRow(1);
    keyRow.setColumn(1, UUIDStringOrderable);

    return (RoleGrantDescriptor)
          getDescriptorViaIndex(
            SYSROLESRowFactory.SYSROLES_INDEX_UUID_IDX,
            keyRow,
View Full Code Here

     */
    roleNameOrderable = new SQLVarchar(roleName);
    isDefOrderable = new SQLVarchar("Y");

    /* Set up the start/stop position for the scan */
    ExecIndexRow keyRow = exFactory.getIndexableRow(2);
    keyRow.setColumn(1, roleNameOrderable);
    keyRow.setColumn(2, isDefOrderable);

    return (RoleGrantDescriptor)
          getDescriptorViaIndex(
            SYSROLESRowFactory.SYSROLES_INDEX_ID_DEF_IDX,
            keyRow,
View Full Code Here

    // Use constraintIDOrderable in both start and stop positions for scan
    DataValueDescriptor constraintIDOrderable = getIDValueAsCHAR(constraintId);

    /* Set up the start/stop position for the scan */
    ExecIndexRow keyRow = (ExecIndexRow) exFactory.getIndexableRow(1);
    keyRow.setColumn(1, constraintIDOrderable);

    getDescriptorViaIndex(
            SYSFOREIGNKEYSRowFactory.SYSFOREIGNKEYS_INDEX2_ID,
            keyRow,
            (ScanQualifier [][]) null,
View Full Code Here

   * @exception StandardException    Thrown on error
   */
  public List getConstraints(UUID uuid, int indexId, int columnNum)
      throws StandardException
  {
    ExecIndexRow        indexRow1;
    ExecIndexRow      indexTemplateRow;
    ExecRow         outRow;
    RowLocation        baseRowLocation;
    ConglomerateController  heapCC = null;
    ScanController      scanController = null;
    TransactionController  tc;
    TabInfoImpl         ti = getNonCoreTI(SYSCONSTRAINTS_CATALOG_NUM);
    SYSCONSTRAINTSRowFactory rf = (SYSCONSTRAINTSRowFactory) ti.getCatalogRowFactory();
    TableDescriptor      td = null;
    List          slist = newSList();

    if (SanityManager.DEBUG)
    {
      SanityManager.ASSERT(indexId == SYSCONSTRAINTSRowFactory.SYSCONSTRAINTS_INDEX1_ID ||
                 indexId == SYSCONSTRAINTSRowFactory.SYSCONSTRAINTS_INDEX3_ID,
                  "bad index id, must be one of the indexes on a uuid");
      SanityManager.ASSERT(columnNum > 0 &&
                 columnNum <= SYSCONSTRAINTSRowFactory.SYSCONSTRAINTS_COLUMN_COUNT,
                  "invalid column number for column to be retrieved");
    }

    try
    {
      /* Use tableIDOrderable in both start and stop positions for scan */
      DataValueDescriptor orderable = getIDValueAsCHAR(uuid);
 
      /* Set up the start/stop position for the scan */
      ExecIndexRow keyRow = (ExecIndexRow) exFactory.getIndexableRow(1);
      keyRow.setColumn(1, orderable);

      // Get the current transaction controller
      tc = getTransactionCompile();
 
      outRow = rf.makeEmptyRow();
 
      heapCC =
                tc.openConglomerate(
                    ti.getHeapConglomerate(), false, 0,
                    TransactionController.MODE_RECORD,
                    TransactionController.ISOLATION_REPEATABLE_READ);

      // create an index row template
      indexRow1 = getIndexRowFromHeapRow(
                ti.getIndexRowGenerator(indexId),
                heapCC.newRowLocationTemplate(),
                outRow);
 
      // just interested in one column
      DataValueDescriptor[] rowTemplate    =
              new DataValueDescriptor[SYSCONSTRAINTSRowFactory.SYSCONSTRAINTS_COLUMN_COUNT];
      FormatableBitSet  columnToGetSet =
              new FormatableBitSet(SYSCONSTRAINTSRowFactory.SYSCONSTRAINTS_COLUMN_COUNT);
      columnToGetSet.set(columnNum - 1);

      rowTemplate[columnNum - 1] = new SQLChar();
 
      // Scan the index and go to the data pages for qualifying rows
      scanController = tc.openScan(
          ti.getIndexConglomerate(indexId),// conglomerate to open
          false,               // don't hold open across commit
          0,                 // for read
                  TransactionController.MODE_RECORD,
                  TransactionController.ISOLATION_REPEATABLE_READ,// RESOLVE: should be level 2
          (FormatableBitSet) null,                 // all fields as objects
          keyRow.getRowArray(),      // start position - exact key match.
          ScanController.GE,         // startSearchOperation
          null,               // scanQualifier (none)
          keyRow.getRowArray(),      // stop position - exact key match.
          ScanController.GT);        // stopSearchOperation

      while (scanController.fetchNext(indexRow1.getRowArray()))
      { 
        baseRowLocation = (RowLocation
View Full Code Here

TOP

Related Classes of org.apache.derby.iapi.sql.execute.ExecIndexRow

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.