Somehow I got a test database into a state where the "OUser" class is missing. Luckily there is nothing I care about in the db, but it got me thinking about how I can defend against this in the field. Can I still get data out if there are no users? Can I add users back in? How are essential OrientDb classes protected against accidental deletes?
This is the error I see when trying to log into Orient Studio: --> com.orientechnologies.orient.core.exception.OCommandExecutionException: > Class 'OUSER' was not found in current database [ONetworkProtocolHttpDb] > 2014-05-22 15:17:38:424 SEVE Internal server error: > com.orientechnologies.orient.core.exception.OQueryParsingException: Error > on parsing query at position #6: Error on parsing query > Query: OUser where name = 'admin' limit 1 > -----------^ And this is the error I see when trying to write to the database in my Java code: Error on parsing query at position #6: Error on parsing query > Query: OUser where name = 'admin' limit 1 > -----------^ > > com.orientechnologies.orient.core.sql.filter.OSQLTarget.<init>(OSQLTarget.java:70) > > com.orientechnologies.orient.core.sql.OSQLEngine.parseTarget(OSQLEngine.java:330) > > com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.parse(OCommandExecutorSQLSelect.java:109) > > com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.parse(OCommandExecutorSQLSelect.java:65) > > com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:49) > > com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:33) > > com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:83) > > com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:69) > > com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:82) > > com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:29) > > com.orientechnologies.orient.core.metadata.security.OSecurityShared.getUser(OSecurityShared.java:179) > > com.orientechnologies.orient.core.metadata.security.OSecurityShared.authenticate(OSecurityShared.java:148) > > com.orientechnologies.orient.core.metadata.security.OSecurityProxy.authenticate(OSecurityProxy.java:83) > > com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.open(ODatabaseRecordAbstract.java:166) > > com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.open(ODatabaseWrapperAbstract.java:54) > > com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.openOrCreate(OrientBaseGraph.java:878) > > com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.<init>(OrientBaseGraph.java:134) > > com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:58) > > com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:54) > > com.tinkerpop.blueprints.impls.orient.OrientGraph.<init>(OrientGraph.java:34) > ... > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
