public static TableChange deleteCell(long id, PropertyInfo prop, int row, Object value) { return new TableChange(ChangeType.DELETE_CELL, id, prop, null, value, row, false); }
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }
private void insertCell(DatastoreTransaction tx, PropertyInfo prop, long id, int row, Object value) { // INFORM INSIDER insider.insertingCell(clazz, id, prop.getName(), value); Column column = prop.getColumn(); Index index = prop.getIndex(); column.set(row, value); // CHANGE #1 if (index != null) { index.add(prop.getTransformer().transform(value), id); // CHANGE #2 } // CHANGELOG changelog.add(TableChange.insertCell(prop, id, row, value)); tx.changed(id); // PERSIST }
private Object setCell(DatastoreTransaction tx, long id, PropertyInfo prop, Object value, ComplexIndex<?>[] complexIndices) { int row = row(id); Column column = prop.getColumn(); Index index = prop.getIndex(); Object oldValue = column.get(row); column.set(row, value); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(oldValue), id); // CHANGE #2 index.add(tr.transform(value), id); // CHANGE #3 } prop.appendComplexIndices(complexIndices); changelog.add(TableChange.set(id, prop, oldValue, value)); // CHANGELOG tx.changed(id); // PERSIST return oldValue; }
private void deleteInTx(DatastoreTransaction tx, long id) { insider.deleting(clazz, id); E entity = get_(id); doTriggers(beforeDelete, TriggerAction.BEFORE_DELETE, id, entity, null); stats.deletes++; int row = row(id); // TODO check - changelog if not deleted rels? db.deleteRelsInTx(id, tx); // CHANGE #1 size--; // CHANGE #2 deletedCount++; // CHANGE #3 currentlyDeleted.add(row); // CHANGE #4 idColl.delete(id); // CHANGE #5 ids.remove(id); // CHANGE #6 changelog.add(TableChange.delete(id, row)); // CHANGELOG // TODO also delete old (renamed) columns? for (PropertyInfo prop : props) { deleteCell(tx, id, row, prop); } doTriggers(afterDelete, TriggerAction.AFTER_DELETE, id, entity, null); insider.deleted(clazz, id); }
changelog.add(TableChange.insertRow(id, row, reuseRow)); // CHANGELOG
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }
private void insertCell(DatastoreTransaction tx, PropertyInfo prop, long id, int row, Object value) { // INFORM INSIDER insider.insertingCell(clazz, id, prop.getName(), value); Column column = prop.getColumn(); Index index = prop.getIndex(); column.set(row, value); // CHANGE #1 if (index != null) { index.add(prop.getTransformer().transform(value), id); // CHANGE #2 } // CHANGELOG changelog.add(TableChange.insertCell(prop, id, row, value)); tx.changed(id); // PERSIST }
private Object setCell(DatastoreTransaction tx, long id, PropertyInfo prop, Object value, ComplexIndex<?>[] complexIndices) { int row = row(id); Column column = prop.getColumn(); Index index = prop.getIndex(); Object oldValue = column.get(row); column.set(row, value); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(oldValue), id); // CHANGE #2 index.add(tr.transform(value), id); // CHANGE #3 } prop.appendComplexIndices(complexIndices); changelog.add(TableChange.set(id, prop, oldValue, value)); // CHANGELOG tx.changed(id); // PERSIST return oldValue; }
private void deleteInTx(DatastoreTransaction tx, long id) { insider.deleting(clazz, id); E entity = get_(id); doTriggers(beforeDelete, TriggerAction.BEFORE_DELETE, id, entity, null); stats.deletes++; int row = row(id); // TODO check - changelog if not deleted rels? db.deleteRelsInTx(id, tx); // CHANGE #1 size--; // CHANGE #2 deletedCount++; // CHANGE #3 currentlyDeleted.add(row); // CHANGE #4 idColl.delete(id); // CHANGE #5 ids.remove(id); // CHANGE #6 changelog.add(TableChange.delete(id, row)); // CHANGELOG // TODO also delete old (renamed) columns? for (PropertyInfo prop : props) { deleteCell(tx, id, row, prop); } doTriggers(afterDelete, TriggerAction.AFTER_DELETE, id, entity, null); insider.deleted(clazz, id); }
changelog.add(TableChange.insertRow(id, row, reuseRow)); // CHANGELOG
public static TableChange delete(long id, int row) { return new TableChange(ChangeType.DELETE, id, null, null, null, row, false); }
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }
private void insertCell(DatastoreTransaction tx, PropertyInfo prop, long id, int row, Object value) { // INFORM INSIDER insider.insertingCell(clazz, id, prop.getName(), value); Column column = prop.getColumn(); Index index = prop.getIndex(); column.set(row, value); // CHANGE #1 if (index != null) { index.add(prop.getTransformer().transform(value), id); // CHANGE #2 } // CHANGELOG changelog.add(TableChange.insertCell(prop, id, row, value)); tx.changed(id); // PERSIST }
private Object setCell(DatastoreTransaction tx, long id, PropertyInfo prop, Object value, ComplexIndex<?>[] complexIndices) { int row = row(id); Column column = prop.getColumn(); Index index = prop.getIndex(); Object oldValue = column.get(row); column.set(row, value); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(oldValue), id); // CHANGE #2 index.add(tr.transform(value), id); // CHANGE #3 } prop.appendComplexIndices(complexIndices); changelog.add(TableChange.set(id, prop, oldValue, value)); // CHANGELOG tx.changed(id); // PERSIST return oldValue; }
private void deleteInTx(DatastoreTransaction tx, long id) { insider.deleting(clazz, id); E entity = get_(id); doTriggers(beforeDelete, TriggerAction.BEFORE_DELETE, id, entity, null); stats.deletes++; int row = row(id); // TODO check - changelog if not deleted rels? db.deleteRelsInTx(id, tx); // CHANGE #1 size--; // CHANGE #2 deletedCount++; // CHANGE #3 currentlyDeleted.add(row); // CHANGE #4 idColl.delete(id); // CHANGE #5 ids.remove(id); // CHANGE #6 changelog.add(TableChange.delete(id, row)); // CHANGELOG // TODO also delete old (renamed) columns? for (PropertyInfo prop : props) { deleteCell(tx, id, row, prop); } doTriggers(afterDelete, TriggerAction.AFTER_DELETE, id, entity, null); insider.deleted(clazz, id); }
changelog.add(TableChange.insertRow(id, row, reuseRow)); // CHANGELOG
public static TableChange insertCell(PropertyInfo prop, long id, int row, Object value) { return new TableChange(ChangeType.INSERT_CELL, id, prop, null, value, row, false); }
public static TableChange insertRow(long id, int row, boolean reuseRow) { return new TableChange(ChangeType.INSERT_ROW, id, null, null, null, row, reuseRow); }
public static TableChange set(long id, PropertyInfo prop, Object oldValue, Object value) { return new TableChange(ChangeType.SET_CELL, id, prop, oldValue, value, 0, false); }