Example #1
0
  public StatefulBuffer readStatefulBufferById(Transaction trans, int id, boolean lastCommitted) {
    if (id <= 0) {
      throw new IllegalArgumentException("id=" + id);
    }

    Slot slot =
        lastCommitted ? trans.idSystem().committedSlot(id) : trans.idSystem().currentSlot(id);

    if (DTrace.enabled) {
      DTrace.SLOT_READ.logLength(id, slot);
    }

    return readStatefulBufferBySlot(trans, id, slot);
  }
Example #2
0
  private Constraint addEvaluationToAllConstraints(QConEvaluation eval) {

    if (i_constraints.size() == 0) {
      _trans
          .container()
          .classCollection()
          .iterateTopLevelClasses(
              new Visitor4() {
                public void visit(Object obj) {
                  ClassMetadata classMetadata = (ClassMetadata) obj;
                  QConClass qcc = new QConClass(_trans, classMetadata.classReflector());
                  addConstraint(qcc);
                  toConstraint(i_constraints).or(qcc);
                }
              });
    }

    Iterator4 i = iterateConstraints();
    while (i.moveNext()) {
      ((QCon) i.current()).addConstraint(eval);
    }

    // FIXME: should return valid Constraint object
    return null;
  }
 private void debugCheckBuffer(ByteArrayBuffer buffer, FreeSlotNode node) {
   if (!(buffer instanceof StatefulBuffer)) {
     return;
   }
   Transaction trans = ((StatefulBuffer) buffer).transaction();
   if (!(trans.container() instanceof IoAdaptedObjectContainer)) {
     return;
   }
   StatefulBuffer checker = trans.container().getWriter(trans, node._peer._key, node._key);
   checker.read();
   for (int i = 0; i < node._key; i++) {
     if (checker.readByte() != (byte) 'X') {
       System.out.println("!!! Free space corruption at:" + node._peer._key);
       break;
     }
   }
 }
 public RawClassSpec readSpec(Transaction trans, ByteArrayBuffer reader) {
   byte[] nameBytes = readName(trans, reader);
   String className = trans.container().stringIO().read(nameBytes);
   readMetaClassID(reader); // skip
   int ancestorID = reader.readInt();
   reader.incrementOffset(Const4.INT_LENGTH); // index ID
   int numFields = reader.readInt();
   return new RawClassSpec(className, ancestorID, numFields);
 }
Example #5
0
 private ReflectClass reflectClassForClass(Object example) {
   if (example instanceof ReflectClass) {
     return (ReflectClass) example;
   }
   if (example instanceof Class) {
     return _trans.reflector().forClass((Class) example);
   }
   return null;
 }
Example #6
0
  public final boolean delete4(
      Transaction transaction, ObjectReference ref, Object obj, int cascade, boolean userCall) {
    int id = ref.getID();
    StatefulBuffer reader = readStatefulBufferById(transaction, id);
    if (reader != null) {
      if (obj != null) {
        if ((!showInternalClasses()) && Const4.CLASS_INTERNAL.isAssignableFrom(obj.getClass())) {
          return false;
        }
      }
      reader.setCascadeDeletes(cascade);
      transaction.idSystem().notifySlotDeleted(id, SlotChangeFactory.USER_OBJECTS);
      ClassMetadata classMetadata = ref.classMetadata();
      classMetadata.delete(reader, obj);

      return true;
    }
    return false;
  }
Example #7
0
 @Override
 public boolean isDeleted(Transaction trans, int id) {
   return trans.idSystem().isDeleted(id);
 }
Example #8
0
 public final Slot allocateSlotForNewUserObject(Transaction trans, int id, int length) {
   Slot slot = allocateSlot(length);
   trans.idSystem().notifySlotCreated(id, slot, SlotChangeFactory.USER_OBJECTS);
   return slot;
 }
Example #9
0
 public final void rollback1(Transaction trans) {
   trans.rollback();
 }
Example #10
0
 public final int idForNewUserObject(Transaction trans) {
   return trans.idSystem().newId(SlotChangeFactory.USER_OBJECTS);
 }
Example #11
0
 public void commit1(Transaction trans) {
   trans.commit();
 }
 public byte[] readName(Transaction trans, ByteArrayBuffer reader) {
   byte[] name = readName(trans.container().stringIO(), reader);
   return name;
 }
Example #13
0
 public void captureQueryResultConfig() {
   final Config4Impl config = _trans.container().config();
   _evaluationMode = config.evaluationMode();
   _prefetchDepth = config.prefetchDepth();
   _prefetchCount = config.prefetchObjectCount();
 }
Example #14
0
 protected ObjectContainerBase stream() {
   return _trans.container();
 }