From 23717bf8bed0ca30abaf2d4a5b63a98ea333c7b2 Mon Sep 17 00:00:00 2001 From: brianc Date: Fri, 25 Feb 2011 00:33:20 -0600 Subject: [PATCH] some bound exec work --- src/binding.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/binding.cc b/src/binding.cc index eb252e69..a84de417 100644 --- a/src/binding.cc +++ b/src/binding.cc @@ -102,14 +102,24 @@ public: if(!args[0]->IsString()) { return ThrowException(Exception::Error(String::New("First parameter must be a string query"))); } - printf("testing for logs",""); + if(!args[1]->IsArray()) { return ThrowException(Exception::Error(String::New("Values must be array"))); } String::Utf8Value queryText(args[0]->ToString()); - int result = self->Send(*queryText); - + Local params = Local::Cast(args[1]); + int len = params->Length(); + + for(int i = 0; i < len; i++) { + Handle val = params->Get(i); + if(!val->IsString()) { + return ThrowException(Exception::Error(String::New("Only string parameters supported"))); + } + } + char **rawParams; + self->SendQueryParams(*queryText, len, rawParams); + THROW("Not implemented"); return Undefined(); } @@ -163,6 +173,11 @@ protected: return PQsendQuery(connection_, queryText); } + int SendQueryParams(const char *command, const int nParams, const char * const *paramValues) + { + return PQsendQueryParams(connection_, command, nParams, NULL, paramValues, NULL, NULL, 0); + } + //flushes socket void Flush() {