Skip to content

Commit 97fdeb5

Browse files
committed
trying to make it work with windows
1 parent 2d52c3a commit 97fdeb5

File tree

7 files changed

+41
-28
lines changed

7 files changed

+41
-28
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ node_modules
44
*.sh
55
*.swp
66
.lock*
7+
.idea

src/connection.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ Handle<Value> Connection::Execute(const Arguments& args) {
6060
return Undefined();
6161
}
6262

63-
eio_custom(EIO_Execute, EIO_PRI_DEFAULT, EIO_AfterExecute, baton);
63+
uv_work_t* req = new uv_work_t();
64+
req->data = baton;
65+
uv_queue_work(uv_default_loop(), req, EIO_Execute, EIO_AfterExecute);
6466
ev_ref(EV_DEFAULT_UC);
6567

6668
connection->Ref();
@@ -91,7 +93,9 @@ Handle<Value> Connection::Commit(const Arguments& args) {
9193
return Undefined();
9294
}
9395

94-
eio_custom(EIO_Commit, EIO_PRI_DEFAULT, EIO_AfterCommit, baton);
96+
uv_work_t* req = new uv_work_t();
97+
req->data = baton;
98+
uv_queue_work(uv_default_loop(), req, EIO_Commit, EIO_AfterCommit);
9599
ev_ref(EV_DEFAULT_UC);
96100

97101
connection->Ref();
@@ -115,7 +119,9 @@ Handle<Value> Connection::Rollback(const Arguments& args) {
115119
return Undefined();
116120
}
117121

118-
eio_custom(EIO_Rollback, EIO_PRI_DEFAULT, EIO_AfterRollback, baton);
122+
uv_work_t* req = new uv_work_t();
123+
req->data = baton;
124+
uv_queue_work(uv_default_loop(), req, EIO_Rollback, EIO_AfterRollback);
119125
ev_ref(EV_DEFAULT_UC);
120126

121127
connection->Ref();
@@ -248,13 +254,13 @@ row_t* Connection::CreateRowFromCurrentResultSetRow(oracle::occi::ResultSet* rs,
248254
return row;
249255
}
250256

251-
void Connection::EIO_Commit(eio_req* req) {
257+
void Connection::EIO_Commit(uv_work_t* req) {
252258
CommitBaton* baton = static_cast<CommitBaton*>(req->data);
253259

254260
baton->connection->m_connection->commit();
255261
}
256262

257-
int Connection::EIO_AfterCommit(eio_req* req) {
263+
void Connection::EIO_AfterCommit(uv_work_t* req) {
258264
CommitBaton* baton = static_cast<CommitBaton*>(req->data);
259265
ev_unref(EV_DEFAULT_UC);
260266
baton->connection->Unref();
@@ -264,16 +270,15 @@ int Connection::EIO_AfterCommit(eio_req* req) {
264270
baton->callback->Call(Context::GetCurrent()->Global(), 1, argv);
265271

266272
delete baton;
267-
return 0;
268273
}
269274

270-
void Connection::EIO_Rollback(eio_req* req) {
275+
void Connection::EIO_Rollback(uv_work_t* req) {
271276
RollbackBaton* baton = static_cast<RollbackBaton*>(req->data);
272277

273278
baton->connection->m_connection->rollback();
274279
}
275280

276-
int Connection::EIO_AfterRollback(eio_req* req) {
281+
void Connection::EIO_AfterRollback(uv_work_t* req) {
277282
RollbackBaton* baton = static_cast<RollbackBaton*>(req->data);
278283
ev_unref(EV_DEFAULT_UC);
279284
baton->connection->Unref();
@@ -283,10 +288,9 @@ int Connection::EIO_AfterRollback(eio_req* req) {
283288
baton->callback->Call(Context::GetCurrent()->Global(), 1, argv);
284289

285290
delete baton;
286-
return 0;
287291
}
288292

289-
void Connection::EIO_Execute(eio_req* req) {
293+
void Connection::EIO_Execute(uv_work_t* req) {
290294
ExecuteBaton* baton = static_cast<ExecuteBaton*>(req->data);
291295

292296
baton->rows = NULL;
@@ -436,7 +440,7 @@ Local<Array> Connection::CreateV8ArrayFromRows(ExecuteBaton* baton) {
436440
return rows;
437441
}
438442

439-
int Connection::EIO_AfterExecute(eio_req* req) {
443+
void Connection::EIO_AfterExecute(uv_work_t* req) {
440444
ExecuteBaton* baton = static_cast<ExecuteBaton*>(req->data);
441445
ev_unref(EV_DEFAULT_UC);
442446
baton->connection->Unref();
@@ -469,7 +473,6 @@ int Connection::EIO_AfterExecute(eio_req* req) {
469473
}
470474

471475
delete baton;
472-
return 0;
473476
}
474477

475478
void Connection::setConnection(oracle::occi::Environment* environment, oracle::occi::Connection* connection) {

src/connection.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
#include <v8.h>
66
#include <node.h>
7-
#include <unistd.h>
7+
#ifndef WIN32
8+
#include <unistd.h>
9+
#endif
810
#include <occi.h>
911
#include <oro.h>
1012
#include "utils.h"
@@ -24,12 +26,12 @@ class Connection : ObjectWrap {
2426
static Handle<Value> Rollback(const Arguments& args);
2527
static Handle<Value> SetAutoCommit(const Arguments& args);
2628
static Persistent<FunctionTemplate> constructorTemplate;
27-
static void EIO_Execute(eio_req* req);
28-
static int EIO_AfterExecute(eio_req* req);
29-
static void EIO_Commit(eio_req* req);
30-
static int EIO_AfterCommit(eio_req* req);
31-
static void EIO_Rollback(eio_req* req);
32-
static int EIO_AfterRollback(eio_req* req);
29+
static void EIO_Execute(uv_work_t* req);
30+
static void EIO_AfterExecute(uv_work_t* req);
31+
static void EIO_Commit(uv_work_t* req);
32+
static void EIO_AfterCommit(uv_work_t* req);
33+
static void EIO_Rollback(uv_work_t* req);
34+
static void EIO_AfterRollback(uv_work_t* req);
3335
void closeConnection();
3436

3537
Connection();

src/executeBaton.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ class Connection;
66

77
#include <v8.h>
88
#include <node.h>
9-
#include <unistd.h>
9+
#ifndef WIN32
10+
#include <unistd.h>
11+
#endif
1012
#include <occi.h>
1113
#include <string>
1214
#include <sstream>

src/oracle_bindings.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,15 @@ Handle<Value> OracleClient::Connect(const Arguments& args) {
6868

6969
client->Ref();
7070

71-
eio_custom(EIO_Connect, EIO_PRI_DEFAULT, EIO_AfterConnect, baton);
71+
uv_work_t* req = new uv_work_t();
72+
req->data = baton;
73+
uv_queue_work(uv_default_loop(), req, EIO_Connect, EIO_AfterConnect);
7274
ev_ref(EV_DEFAULT_UC);
7375

7476
return Undefined();
7577
}
7678

77-
void OracleClient::EIO_Connect(eio_req* req) {
79+
void OracleClient::EIO_Connect(uv_work_t* req) {
7880
connect_baton_t* baton = static_cast<connect_baton_t*>(req->data);
7981

8082
baton->error = NULL;
@@ -88,7 +90,7 @@ void OracleClient::EIO_Connect(eio_req* req) {
8890
}
8991
}
9092

91-
int OracleClient::EIO_AfterConnect(eio_req* req) {
93+
void OracleClient::EIO_AfterConnect(uv_work_t* req) {
9294
HandleScope scope;
9395
connect_baton_t* baton = static_cast<connect_baton_t*>(req->data);
9496
ev_unref(EV_DEFAULT_UC);
@@ -111,7 +113,6 @@ int OracleClient::EIO_AfterConnect(eio_req* req) {
111113
if(baton->error) delete baton->error;
112114

113115
delete baton;
114-
return 0;
115116
}
116117

117118
extern "C" {

src/oracle_bindings.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
#include <v8.h>
66
#include <node.h>
7-
#include <unistd.h>
7+
#ifndef WIN32
8+
#include <unistd.h>
9+
#endif
810
#include <occi.h>
911
#include "utils.h"
1012

@@ -16,8 +18,8 @@ class OracleClient : ObjectWrap {
1618
static void Init(Handle<Object> target);
1719
static Handle<Value> New(const Arguments& args);
1820
static Handle<Value> Connect(const Arguments& args);
19-
static void EIO_Connect(eio_req* req);
20-
static int EIO_AfterConnect(eio_req* req);
21+
static void EIO_Connect(uv_work_t* req);
22+
static void EIO_AfterConnect(uv_work_t* req);
2123

2224
OracleClient();
2325
~OracleClient();

src/outParam.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
#include <v8.h>
66
#include <node.h>
7-
#include <unistd.h>
7+
#ifndef WIN32
8+
#include <unistd.h>
9+
#endif
810
#include "utils.h"
911

1012
using namespace node;

0 commit comments

Comments
 (0)