1
1
#include " dbdimp.h"
2
+ #include " ProductVersion.h"
2
3
3
4
DBISTATE_DECLARE;
4
5
@@ -26,8 +27,11 @@ int dbd_db_login6_sv(SV *dbh, imp_dbh_t *imp_dbh, SV *dbname, SV *uid, SV *pwd,
26
27
hv = (HV*) SvRV (sv);
27
28
if (SvTYPE (hv) != SVt_PVHV)
28
29
return FALSE ;
29
-
30
+ #if NUODB_PRODUCT_VERSION_MAJOR >= 3
31
+ NuoDB::Connection *conn = NuoDB_createConnection ();
32
+ #else
30
33
NuoDB::Connection *conn = createConnection ();
34
+ #endif
31
35
32
36
if (!conn)
33
37
return FALSE ;
@@ -50,7 +54,7 @@ int dbd_db_login6_sv(SV *dbh, imp_dbh_t *imp_dbh, SV *dbname, SV *uid, SV *pwd,
50
54
DBIc_ACTIVE_on (imp_dbh);
51
55
DBIc_IMPSET_on (imp_dbh);
52
56
} catch (NuoDB::SQLException& xcp) {
53
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
57
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
54
58
conn->close ();
55
59
imp_dbh->conn = NULL ;
56
60
return FALSE ;
@@ -77,7 +81,7 @@ int dbd_st_prepare_sv(SV *sth, imp_sth_t *imp_sth, SV *statement, SV *attribs)
77
81
NuoDB::ParameterMetaData* md = imp_sth->pstmt ->getParameterMetaData ();
78
82
DBIc_NUM_PARAMS (imp_sth) = md->getParameterCount ();
79
83
} catch (NuoDB::SQLException& xcp) {
80
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
84
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
81
85
return FALSE ;
82
86
}
83
87
@@ -114,7 +118,7 @@ int dbd_st_execute(SV* sth, imp_sth_t* imp_sth)
114
118
NuoDB::ResultSetMetaData *md = imp_sth->rs ->getMetaData ();
115
119
DBIc_NUM_FIELDS (imp_sth) = md->getColumnCount ();
116
120
} catch (NuoDB::SQLException& xcp) {
117
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
121
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
118
122
return FALSE ;
119
123
}
120
124
@@ -147,7 +151,7 @@ AV* dbd_st_fetch(SV *sth, imp_sth_t* imp_sth)
147
151
return Nullav;
148
152
}
149
153
} catch (NuoDB::SQLException& xcp) {
150
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
154
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
151
155
}
152
156
153
157
av = DBIc_DBISTATE (imp_sth)->get_fbav (imp_sth);
@@ -180,7 +184,7 @@ void dbd_st_destroy(SV *sth, imp_sth_t *imp_sth)
180
184
imp_sth->pstmt ->close ();
181
185
182
186
} catch (NuoDB::SQLException& xcp) {
183
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
187
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
184
188
}
185
189
186
190
DBIc_IMPSET_off (imp_sth);
@@ -205,7 +209,7 @@ const char * dbd_st_analyze(SV *sth)
205
209
try {
206
210
return imp_sth->pstmt ->analyze (2 );
207
211
} catch (NuoDB::SQLException& xcp) {
208
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
212
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
209
213
return NULL ;
210
214
}
211
215
}
@@ -221,7 +225,7 @@ int dbd_db_commit(SV* dbh, imp_dbh_t* imp_dbh)
221
225
try {
222
226
imp_dbh->conn ->commit ();
223
227
} catch (NuoDB::SQLException& xcp) {
224
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
228
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
225
229
return FALSE ;
226
230
}
227
231
@@ -238,7 +242,7 @@ int dbd_db_rollback(SV* dbh, imp_dbh_t* imp_dbh)
238
242
try {
239
243
imp_dbh->conn ->rollback ();
240
244
} catch (NuoDB::SQLException& xcp) {
241
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
245
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
242
246
return FALSE ;
243
247
}
244
248
@@ -278,7 +282,7 @@ int dbd_db_STORE_attrib(SV* dbh, imp_dbh_t* imp_dbh, SV* keysv, SV* valuesv)
278
282
imp_dbh->conn ->setAutoCommit (bool_value);
279
283
DBIc_set (imp_dbh, DBIcf_AutoCommit, bool_value);
280
284
} catch (NuoDB::SQLException& xcp) {
281
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
285
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
282
286
return FALSE ;
283
287
}
284
288
} else {
@@ -313,7 +317,7 @@ int dbd_db_disconnect(SV* dbh, imp_dbh_t* imp_dbh)
313
317
imp_dbh->conn ->close ();
314
318
imp_dbh->conn = NULL ;
315
319
} catch (NuoDB::SQLException& xcp) {
316
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
320
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
317
321
return FALSE ;
318
322
}
319
323
@@ -347,7 +351,7 @@ int dbd_bind_ph (SV *sth, imp_sth_t *imp_sth, SV *param, SV *value, IV sql_type,
347
351
imp_sth->pstmt ->setString (SvIV (param), value_str);
348
352
}
349
353
} catch (NuoDB::SQLException& xcp) {
350
- do_error (sth, xcp.getSqlcode (), ( char *) xcp.getText ());
354
+ do_error (sth, xcp.getSqlcode (), xcp.getText ());
351
355
return FALSE ;
352
356
}
353
357
@@ -374,15 +378,15 @@ const char * dbd_db_version(SV *dbh)
374
378
try {
375
379
return metaData->getDatabaseProductVersion ();
376
380
} catch (NuoDB::SQLException& xcp) {
377
- do_error (dbh, xcp.getSqlcode (), ( char *) xcp.getText ());
381
+ do_error (dbh, xcp.getSqlcode (), xcp.getText ());
378
382
return NULL ;
379
383
}
380
384
381
385
return NULL ;
382
386
}
383
387
384
388
385
- void do_error (SV* h, int rc, char * what)
389
+ void do_error (SV* h, int rc, const char * what)
386
390
{
387
391
D_imp_xxh (h);
388
392
0 commit comments