Search in sources :

Example 6 with OSequence

use of com.orientechnologies.orient.core.metadata.sequence.OSequence in project orientdb by orientechnologies.

the class OSQLFunctionSequence method execute.

@Override
public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, OCommandContext iContext) {
    final String seqName;
    if (configuredParameters[0] instanceof OSQLFilterItem)
        seqName = (String) ((OSQLFilterItem) configuredParameters[0]).getValue(iCurrentRecord, iCurrentResult, iContext);
    else
        seqName = configuredParameters[0].toString();
    OSequence result = ODatabaseRecordThreadLocal.INSTANCE.get().getMetadata().getSequenceLibrary().getSequence(seqName);
    if (result == null) {
        throw new OCommandExecutionException("Sequence not found: " + seqName);
    }
    return result;
}
Also used : OSequence(com.orientechnologies.orient.core.metadata.sequence.OSequence) OCommandExecutionException(com.orientechnologies.orient.core.exception.OCommandExecutionException) OSQLFilterItem(com.orientechnologies.orient.core.sql.filter.OSQLFilterItem)

Aggregations

OSequence (com.orientechnologies.orient.core.metadata.sequence.OSequence)6 OSequenceException (com.orientechnologies.orient.core.exception.OSequenceException)3 OSequenceLibrary (com.orientechnologies.orient.core.metadata.sequence.OSequenceLibrary)3 OCommandExecutionException (com.orientechnologies.orient.core.exception.OCommandExecutionException)2 Test (org.testng.annotations.Test)2 ODatabaseDocument (com.orientechnologies.orient.core.db.document.ODatabaseDocument)1 OSQLFilterItem (com.orientechnologies.orient.core.sql.filter.OSQLFilterItem)1