in database-jones/Adapter/api/UserContext.js [1512:1565]
var executeScanQuery = function() {
// validate order, skip, and limit parameters
var params = userContext.user_arguments[0];
var orderToUpperCase;
var order = params.order, skip = params.skip, limit = params.limit;
var error;
if (limit !== undefined) {
if (limit < 0 || limit > MAX_LIMIT) {
// limit is out of valid range
error = new Error('Bad limit parameter \'' + limit + '\'; limit must be >= 0 and <= ' + MAX_LIMIT + '.');
}
}
if (skip !== undefined) {
if (skip < 0 || skip > MAX_SKIP) {
// skip is out of valid range
error = new Error('Bad skip parameter \'' + skip + '\'; skip must be >= 0 and <= ' + MAX_SKIP + '.');
} else {
if (!order) {
// skip is in range but order is not specified
error = new Error('Bad skip parameter \'' + skip + '\'; if skip is specified, order must be specified.');
}
}
}
if (order !== undefined) {
if (typeof order !== 'string') {
error = new Error('Bad order parameter \'' + order + '\'; order must be ignoreCase asc or desc.');
} else {
orderToUpperCase = order.toUpperCase();
if (!(orderToUpperCase === 'ASC' || orderToUpperCase === 'DESC')) {
error = new Error('Bad order parameter \'' + order + '\'; order must be ignoreCase asc or desc.');
}
}
}
if (error) {
userContext.applyCallback(error, null);
} else {
dbSession = userContext.session.dbSession;
transactionHandler = dbSession.getTransactionHandler();
// TODO: should this also collect other pending operations?
userContext.operation = dbSession.buildScanOperation(
queryDomainType, userContext.user_arguments[0], transactionHandler, executeQueryScanOnResult);
transactionHandler.execute([userContext.operation], function() {
if(udebug.is_detail()) { udebug.log('executeScanQuery transactionHandler.execute callback.'); }
});
}
// TODO: this currently does not support batching
// if (userContext.execute) {
// transactionHandler.execute([userContext.operation], function() {
// if(udebug.is_detail()) udebug.log('find transactionHandler.execute callback.');
// });
//} else if (typeof(userContext.operationDefinedCallback) === 'function') {
// userContext.operationDefinedCallback(1);
//}
};