Package org.hsqldb.index

Examples of org.hsqldb.index.RowIterator


  private Boolean getAnyAllValue(Session paramSession, Object paramObject, SubQuery paramSubQuery)
    throws HsqlException
  {
    boolean bool = paramSubQuery.table.isEmpty(paramSession);
    Index localIndex = paramSubQuery.table.getPrimaryIndex();
    RowIterator localRowIterator = localIndex.findFirstRowNotNull(paramSession);
    Row localRow1 = localRowIterator.next();
    int i;
    Row localRow2;
    Object localObject1;
    Object localObject2;
    int j;
    int k;
    switch (this.eArg2.exprType)
    {
    case 33:
      if (bool)
        return Boolean.FALSE;
      if (localRow1 == null)
        return null;
      i = Column.compareToTypeRange(paramObject, this.eArg2.eArg.getDataType());
      if (i != 0)
        switch (this.exprType)
        {
        case 21:
          return Boolean.FALSE;
        case 26:
          return Boolean.TRUE;
        case 22:
        case 23:
          return i > 0 ? Boolean.TRUE : Boolean.FALSE;
        case 24:
        case 25:
          return i < 0 ? Boolean.TRUE : Boolean.FALSE;
        }
      paramObject = Column.convertObject(paramObject, this.eArg2.eArg.getDataType());
      if (this.exprType == 21)
      {
        localRowIterator = localIndex.findFirstRow(paramSession, paramObject, 21);
        return localRowIterator.hasNext() ? Boolean.TRUE : Boolean.FALSE;
      }
      localRow2 = localIndex.lastRow(paramSession);
      localObject1 = localRow1.getData()[0];
      localObject2 = localRow2.getData()[0];
      j = Column.compare(paramSession.database.collation, paramObject, localObject1, this.eArg.getDataType());
      k = Column.compare(paramSession.database.collation, paramObject, localObject2, this.eArg.getDataType());
      switch (this.exprType)
      {
      case 26:
        return (j == 0) && (k == 0) ? Boolean.FALSE : Boolean.TRUE;
      case 23:
        return j > 0 ? Boolean.TRUE : Boolean.FALSE;
      case 22:
        return j >= 0 ? Boolean.TRUE : Boolean.FALSE;
      case 24:
        return k < 0 ? Boolean.TRUE : Boolean.FALSE;
      case 25:
        return k <= 0 ? Boolean.TRUE : Boolean.FALSE;
      }
      break;
    case 32:
      if (bool)
        return Boolean.TRUE;
      if (localRow1 == null)
        return null;
      i = Column.compareToTypeRange(paramObject, this.eArg2.eArg.getDataType());
      if (i != 0)
        switch (this.exprType)
        {
        case 21:
          return Boolean.FALSE;
        case 26:
          return Boolean.TRUE;
        case 22:
        case 23:
          return i > 0 ? Boolean.TRUE : Boolean.FALSE;
        case 24:
        case 25:
          return i < 0 ? Boolean.TRUE : Boolean.FALSE;
        }
      paramObject = Column.convertObject(paramObject, this.eArg2.eArg.getDataType());
      if ((this.exprType == 21) || (this.exprType == 26))
      {
        localRowIterator = localIndex.findFirstRow(paramSession, paramObject, 21);
        if (this.exprType == 21)
          return (localRowIterator.hasNext()) && (paramSubQuery.table.getRowCount(paramSession) == 1) ? Boolean.TRUE : Boolean.FALSE;
        return localRowIterator.hasNext() ? Boolean.FALSE : Boolean.TRUE;
      }
      localRow2 = localIndex.lastRow(paramSession);
      localObject1 = localRow1.getData()[0];
      localObject2 = localRow2.getData()[0];
      paramObject = Column.convertObject(paramObject, this.eArg2.eArg.getDataType());
View Full Code Here


    throws HsqlException
  {
    int i = 0;
    if (paramInt3 != paramInt2)
      i = Column.compareToTypeRange(paramObject, paramInt3);
    RowIterator localRowIterator;
    if (i == 0)
    {
      paramObject = Column.convertObject(paramObject, paramInt3);
      localRowIterator = paramIndex.findFirstRow(paramSession, paramObject, paramInt1);
    }
View Full Code Here

    int[] arrayOfInt = paramTable.getIndexRootsArray();
    long l = this.fileOffset;
    int i = 0;
    localDoubleIntIndex.setKeysSearchTarget();
    Trace.printSystemOut("lookup begins: " + this.stopw.elapsedTime());
    RowIterator localRowIterator = paramTable.rowIterator(localSession);
    Row localRow;
    while (localRowIterator.hasNext())
    {
      localRow = localRowIterator.next();
      localDoubleIntIndex.addUnsorted(localRow.getPos(), (int)(l / this.scale));
      if (i % 50000 == 0)
        Trace.printSystemOut("pointer pair for row " + i + " " + localRow.getPos() + " " + l);
      l += localRow.getStorageSize();
      i++;
    }
    Trace.printSystemOut(paramTable.getName().name + " list done ", this.stopw.elapsedTime());
    i = 0;
    localRowIterator = paramTable.rowIterator(localSession);
    while (localRowIterator.hasNext())
    {
      localRow = localRowIterator.next();
      localRowOutputBinary.reset();
      localRow.write(localRowOutputBinary, localDoubleIntIndex);
      this.fileStreamOut.write(localRowOutputBinary.getOutputStream().getBuffer(), 0, localRowOutputBinary.size());
      this.fileOffset += localRow.getStorageSize();
      if (i % 50000 == 0)
View Full Code Here

  void checkConvertColDataType(Column paramColumn1, Column paramColumn2)
    throws HsqlException
  {
    int i = this.table.getColumnNr(paramColumn1.columnName.name);
    RowIterator localRowIterator = this.table.getPrimaryIndex().firstRow(this.session);
    while (localRowIterator.hasNext())
    {
      Row localRow = localRowIterator.next();
      Object localObject = localRow.getData()[i];
      Column.convertObject(this.session, localObject, paramColumn2.getType(), paramColumn2.getSize(), paramColumn2.getScale());
    }
  }
View Full Code Here

        throw Trace.error(10);
      this.table.checkColumnInFKConstraint(i, 2);
    }
    else
    {
      RowIterator localRowIterator = this.table.getPrimaryIndex().firstRow(this.session);
      while (localRowIterator.hasNext())
      {
        Row localRow = localRowIterator.next();
        Object localObject = localRow.getData()[i];
        if (localObject != null)
          continue;
        throw Trace.error(10);
      }
View Full Code Here

  }

  static void checkReferencedRows(Session paramSession, Table paramTable, int[] paramArrayOfInt, Index paramIndex)
    throws HsqlException
  {
    RowIterator localRowIterator = paramTable.getPrimaryIndex().firstRow(paramSession);
    while (true)
    {
      Row localRow = localRowIterator.next();
      if (localRow == null)
        break;
      Object[] arrayOfObject = localRow.getData();
      if (hasReferencedRow(paramSession, arrayOfObject, paramArrayOfInt, paramIndex))
        continue;
View Full Code Here

TOP

Related Classes of org.hsqldb.index.RowIterator

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.