Пример #1
0
    void OdbcOperation::CompleteForeground()
    {
        HandleScope scope;

        if (!callback->IsUndefined())
        {
            int argc;
            Local<Value> args[3];
            if (!completed) {
                args[0] = Local<Value>::New(Boolean::New(false));
                argc = 1;
            }
            else if (failed)
            {
                args[0] = Local<Value>::New(Boolean::New(true));
                args[1] = Exception::Error(String::New(failure.what()));
                argc = 2;
            }
            else
            {
                args[0] = Local<Value>::New(Boolean::New(true));
                args[1] = Local<Value>::New(Undefined());
                args[2] = Local<Value>::New(CreateCompletionArg());
                argc = 3;
            }

            callback->Call(Undefined().As<Object>(), argc, args);
        }

        callback.Dispose();
    }
Пример #2
0
    void OdbcOperation::CompleteForeground()
    {
        HandleScope scope;

        if (!callback->IsUndefined())
        {
            int argc;
            Local<Value> args[3];
            if( failed )
            {
                Local<Object> err = Local<Object>::Cast( Exception::Error( String::New( failure->Message() )));
                err->Set( String::NewSymbol( "sqlstate" ), String::New( failure->SqlState() ));
                err->Set( String::NewSymbol( "code" ), Integer::New( failure->Code() ));
                args[0] = err;
                argc = 1;
            }
            else
            {
                args[0] = Local<Value>::New( Boolean::New( false ));
                args[1] = Local<Value>::New( CreateCompletionArg() );
                argc = 2;
            }

			//DMGambone: Implementing the fix that clintwood documented
			//for issue #62 - Debugging query callback with node-inspector!
			//The original line:
			//  callback->Call(Undefined().As<Object>(), argc, args);
			//causes node-inspector to crash if breakpoints are added in any
			//query callback function
			callback->Call(Context::GetCurrent()->Global(), argc, args);
        }
    }