mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack
This commit is contained in:
commit
4c0dca210a
|
@ -37,6 +37,7 @@
|
|||
#include "Cluster/ServerState.h"
|
||||
#include "V8/v8-conv.h"
|
||||
#include "V8/v8-globals.h"
|
||||
#include "V8/v8-utils.h"
|
||||
#include "V8Server/v8-shape-conv.h"
|
||||
|
||||
using namespace triagens::aql;
|
||||
|
@ -556,6 +557,8 @@ void Executor::HandleV8Error (v8::TryCatch& tryCatch,
|
|||
v8::Handle<v8::Array> objValue = v8::Handle<v8::Array>::Cast(tryCatch.Exception());
|
||||
v8::Handle<v8::String> errorNum = TRI_V8_ASCII_STRING("errorNum");
|
||||
v8::Handle<v8::String> errorMessage = TRI_V8_ASCII_STRING("errorMessage");
|
||||
|
||||
TRI_Utf8ValueNFC stacktrace(TRI_UNKNOWN_MEM_ZONE, tryCatch.StackTrace());
|
||||
|
||||
if (objValue->HasOwnProperty(errorNum) &&
|
||||
objValue->HasOwnProperty(errorMessage)) {
|
||||
|
@ -566,14 +569,25 @@ void Executor::HandleV8Error (v8::TryCatch& tryCatch,
|
|||
if ((errorNumValue->IsNumber() || errorNumValue->IsNumberObject()) &&
|
||||
(errorMessageValue->IsString() || errorMessageValue->IsStringObject())) {
|
||||
int errorCode = static_cast<int>(TRI_ObjectToInt64(errorNumValue));
|
||||
std::string const errorMessage(TRI_ObjectToString(errorMessageValue));
|
||||
std::string errorMessage(TRI_ObjectToString(errorMessageValue));
|
||||
|
||||
if (*stacktrace && stacktrace.length() > 0) {
|
||||
errorMessage += "\nstacktrace of offending AQL function: ";
|
||||
errorMessage += *stacktrace;
|
||||
}
|
||||
|
||||
THROW_ARANGO_EXCEPTION_MESSAGE(errorCode, errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
// exception is no ArangoError
|
||||
std::string const details(TRI_ObjectToString(tryCatch.Exception()));
|
||||
std::string details(TRI_ObjectToString(tryCatch.Exception()));
|
||||
|
||||
if (*stacktrace && stacktrace.length() > 0) {
|
||||
details += "\nstacktrace of offending AQL function: ";
|
||||
details += *stacktrace;
|
||||
}
|
||||
|
||||
THROW_ARANGO_EXCEPTION_MESSAGE(TRI_ERROR_QUERY_SCRIPT, details);
|
||||
}
|
||||
|
||||
|
|
|
@ -7428,10 +7428,10 @@ function AQL_NEIGHBORS (vertexCollection,
|
|||
var collectionFromVertex = vertex.slice(0, vertexCollection.length);
|
||||
if (collectionFromVertex !== vertexCollection) {
|
||||
THROW("AQL_NEIGBORS",
|
||||
INTERNAL.errors.ERROR_ARANGO_DOCUMENT_KEY_BAD,
|
||||
INTERNAL.errors.ERROR_GRAPH_INVALID_PARAMETER,
|
||||
"",
|
||||
"You specified vertex collection `" + collectionFromVertex +
|
||||
"...` for start vertext from the collection`" + vertexCollection + "`");
|
||||
"...` for start vertext from the collection `" + vertexCollection + "`");
|
||||
|
||||
}
|
||||
options = CLONE(options) || {};
|
||||
|
|
|
@ -112,8 +112,8 @@ _.extend(Engine.prototype, {
|
|||
modelInstance = collectionStart.toLowerCase() + modelBase;
|
||||
repositoryName = collectionStart.toUpperCase() + repositoryBase;
|
||||
repositoryInstance = collectionStart.toLowerCase() + repositoryBase;
|
||||
repositoryPath = '../repositories/' + collectionName;
|
||||
modelPath = '../models/' + modelName.toLowerCase();
|
||||
repositoryPath = 'repositories/' + collectionName;
|
||||
modelPath = 'models/' + modelName.toLowerCase();
|
||||
|
||||
this.collectionNames.push(collectionName);
|
||||
this.controllers.push({
|
||||
|
|
|
@ -3,8 +3,8 @@ var _ = require('underscore');
|
|||
var joi = require('joi');
|
||||
var Foxx = require('org/arangodb/foxx');
|
||||
var ArangoError = require('org/arangodb').ArangoError;
|
||||
var <%= repository %> = require('<%= repositoryPath %>');
|
||||
var <%= model %> = require('<%= modelPath %>');
|
||||
var <%= repository %> = require('../<%= repositoryPath %>');
|
||||
var <%= model %> = require('../<%= modelPath %>');
|
||||
var controller = new Foxx.Controller(applicationContext);
|
||||
|
||||
var <%= modelInstance %>IdSchema = joi.string().required()
|
||||
|
|
Loading…
Reference in New Issue