all simple query tests now passing

This commit is contained in:
Brian Carlson 2011-02-23 19:15:16 -06:00
parent 7b365ffc24
commit 8fe4f85714
2 changed files with 13 additions and 4 deletions

View File

@ -226,8 +226,7 @@ protected:
int fieldCount = PQnfields(result);
for(int fieldNumber = 0; fieldNumber < fieldCount; fieldNumber++) {
char* fieldName = PQfname(result, fieldNumber);
char* fieldValue = PQgetvalue(result, rowNumber, fieldNumber);
row->Set(String::New(fieldName), String::New(fieldValue));
row->Set(String::New(fieldName), WrapFieldValue(result, rowNumber, fieldNumber));
}
//not sure about what to dealloc or scope#Close here
@ -258,6 +257,18 @@ protected:
}
}
Handle<Value> WrapFieldValue(PGresult* result, int rowNumber, int fieldNumber)
{
int fieldType = PQftype(result, fieldNumber);
char* fieldValue = PQgetvalue(result, rowNumber, fieldNumber);
switch(fieldType) {
case 23:
return Integer::New(atoi(fieldValue));
default:
return String::New(fieldValue);
}
}
void End()
{
StopRead();

View File

@ -36,7 +36,6 @@ test("simple query interface", function() {
});
test("multiple simple queries", function() {
return false;
var client = helper.client();
client.query("create temp table bang(id serial, name varchar(5));insert into bang(name) VALUES('boom');")
client.query("insert into bang(name) VALUES ('yes');");
@ -51,7 +50,6 @@ test("multiple simple queries", function() {
});
test("multiple select statements", function() {
return false;
var client = helper.client();
client.query("create temp table boom(age integer); insert into boom(age) values(1); insert into boom(age) values(2); insert into boom(age) values(3)");
client.query("create temp table bang(name varchar(5)); insert into bang(name) values('zoom');");