Commit 873e91e6 by Konstantin Käfer

* ev_ref -> uv_ref

* remove 0.2.x Buffer compatibility
parent 25388bcd
...@@ -30,14 +30,14 @@ public: ...@@ -30,14 +30,14 @@ public:
rows.swap(async->data); rows.swap(async->data);
pthread_mutex_unlock(&async->mutex); pthread_mutex_unlock(&async->mutex);
for (unsigned int i = 0, size = rows.size(); i < size; i++) { for (unsigned int i = 0, size = rows.size(); i < size; i++) {
ev_unref(EV_DEFAULT_UC); uv_unref(uv_default_loop());
async->callback(async->parent, rows[i]); async->callback(async->parent, rows[i]);
} }
} }
inline void add(Item* item) { inline void add(Item* item) {
// Make sure node runs long enough to deliver the messages. // Make sure node runs long enough to deliver the messages.
ev_ref(EV_DEFAULT_UC); uv_ref(uv_default_loop());
pthread_mutex_lock(&mutex); pthread_mutex_lock(&mutex);
data.push_back(item); data.push_back(item);
pthread_mutex_unlock(&mutex); pthread_mutex_unlock(&mutex);
......
...@@ -657,7 +657,7 @@ void Database::Destruct(Persistent<Value> value, void *data) { ...@@ -657,7 +657,7 @@ void Database::Destruct(Persistent<Value> value, void *data) {
if (db->handle) { if (db->handle) {
eio_custom(EIO_Destruct, EIO_PRI_DEFAULT, EIO_AfterDestruct, db); eio_custom(EIO_Destruct, EIO_PRI_DEFAULT, EIO_AfterDestruct, db);
ev_ref(EV_DEFAULT_UC); uv_ref(uv_default_loop());
} }
else { else {
delete db; delete db;
...@@ -673,7 +673,7 @@ void Database::EIO_Destruct(eio_req *req) { ...@@ -673,7 +673,7 @@ void Database::EIO_Destruct(eio_req *req) {
int Database::EIO_AfterDestruct(eio_req *req) { int Database::EIO_AfterDestruct(eio_req *req) {
Database* db = static_cast<Database*>(req->data); Database* db = static_cast<Database*>(req->data);
ev_unref(EV_DEFAULT_UC); uv_unref(uv_default_loop());
delete db; delete db;
return 0; return 0;
} }
...@@ -38,12 +38,12 @@ public: ...@@ -38,12 +38,12 @@ public:
Baton(Database* db_, Handle<Function> cb_) : Baton(Database* db_, Handle<Function> cb_) :
db(db_), status(SQLITE_OK) { db(db_), status(SQLITE_OK) {
db->Ref(); db->Ref();
ev_ref(EV_DEFAULT_UC); uv_ref(uv_default_loop());
callback = Persistent<Function>::New(cb_); callback = Persistent<Function>::New(cb_);
} }
virtual ~Baton() { virtual ~Baton() {
db->Unref(); db->Unref();
ev_unref(EV_DEFAULT_UC); uv_unref(uv_default_loop());
callback.Dispose(); callback.Dispose();
} }
}; };
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
#include <v8.h> #include <v8.h>
#include <node.h> #include <node.h>
#include <node_buffer.h> #include <node_buffer.h>
#include <node_version.h>
#include "macros.h" #include "macros.h"
#include "database.h" #include "database.h"
...@@ -185,13 +184,8 @@ template <class T> Values::Field* ...@@ -185,13 +184,8 @@ template <class T> Values::Field*
return new Values::Null(pos); return new Values::Null(pos);
} }
else if (Buffer::HasInstance(source)) { else if (Buffer::HasInstance(source)) {
#if NODE_VERSION_AT_LEAST(0,3,0)
Local<Object> buffer = source->ToObject(); Local<Object> buffer = source->ToObject();
return new Values::Blob(pos, Buffer::Length(buffer), Buffer::Data(buffer)); return new Values::Blob(pos, Buffer::Length(buffer), Buffer::Data(buffer));
#else
Buffer* buffer = ObjectWrap::Unwrap<Buffer>(source->ToObject());
return new Values::Blob(pos, buffer->length(), buffer->data());
#endif
} }
else if (source->IsDate()) { else if (source->IsDate()) {
return new Values::Float(pos, source->NumberValue()); return new Values::Float(pos, source->NumberValue());
...@@ -774,12 +768,7 @@ Local<Object> Statement::RowToJS(Row* row) { ...@@ -774,12 +768,7 @@ Local<Object> Statement::RowToJS(Row* row) {
value = Local<Value>(String::New(((Values::Text*)field)->value.c_str(), ((Values::Text*)field)->value.size())); value = Local<Value>(String::New(((Values::Text*)field)->value.c_str(), ((Values::Text*)field)->value.size()));
} break; } break;
case SQLITE_BLOB: { case SQLITE_BLOB: {
#if NODE_VERSION_AT_LEAST(0,3,0)
Buffer *buffer = Buffer::New(((Values::Blob*)field)->value, ((Values::Blob*)field)->length); Buffer *buffer = Buffer::New(((Values::Blob*)field)->value, ((Values::Blob*)field)->length);
#else
Buffer *buffer = Buffer::New(((Values::Blob*)field)->length);
memcpy(buffer->data(), ((Values::Blob*)field)->value, buffer->length());
#endif
value = Local<Value>::New(buffer->handle_); value = Local<Value>::New(buffer->handle_);
} break; } break;
case SQLITE_NULL: { case SQLITE_NULL: {
......
...@@ -85,7 +85,7 @@ public: ...@@ -85,7 +85,7 @@ public:
Baton(Statement* stmt_, Handle<Function> cb_) : stmt(stmt_) { Baton(Statement* stmt_, Handle<Function> cb_) : stmt(stmt_) {
stmt->Ref(); stmt->Ref();
ev_ref(EV_DEFAULT_UC); uv_ref(uv_default_loop());
callback = Persistent<Function>::New(cb_); callback = Persistent<Function>::New(cb_);
} }
virtual ~Baton() { virtual ~Baton() {
...@@ -94,7 +94,7 @@ public: ...@@ -94,7 +94,7 @@ public:
DELETE_FIELD(field); DELETE_FIELD(field);
} }
stmt->Unref(); stmt->Unref();
ev_unref(EV_DEFAULT_UC); uv_unref(uv_default_loop());
callback.Dispose(); callback.Dispose();
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment