@Override public void onClick(Optional<AjaxRequestTarget> target) { getDatabase().getMetadata().reload(); }
@Override public void onOpen(final ODatabaseInternal db) { unregisterLiveQueryHook(db); if (OSecurityNull.class.equals(db.getProperty(ODatabase.OPTIONS.SECURITY.toString()))) { return; // ignore maintenance operations which run without security, such as index repair } if (!startRecording(db)) { pendingDbs.add(db); } // reload metadata when (re-)opening a DB connection if old schema is gone // (can be removed after upgrading to OrientDB 2.2.33 as it does it for us) if (db.getMetadata().getSchema().countClasses() == 0) { log.debug("Reloading metadata for {} as storage has changed", db.getName()); db.getMetadata().reload(); } }
@Override protected void performMultiAction(AjaxRequestTarget target, List<ODocument> objects) { super.performMultiAction(target, objects); ODatabaseDocument db = getDatabase(); db.commit(true); db.begin(); DBClosure.sudoConsumer(sudoDb -> sudoDb.getMetadata().reload()); }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { boolean isActiveTransaction = getDatabase().getTransaction().isActive(); if(isActiveTransaction) getDatabase().commit(); // Schema changes should be done outside of transaction try { super.onClick(targetOptional); getDatabase().getMetadata().reload(); } finally { if(isActiveTransaction) getDatabase().begin(); } }
db.getMetadata().reload(); immutableSchema = ODocumentInternal.getImmutableSchemaClass(value); if (immutableSchema == null) {