1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack

This commit is contained in:
Jan Steemann 2015-11-17 10:29:56 +01:00
commit 4c0dca210a
4 changed files with 22 additions and 8 deletions

View File

@ -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);
}

View File

@ -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) || {};

View File

@ -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({

View File

@ -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()