summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-08-29 13:36:16 +0100
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-08-30 11:33:11 +0100
commit73720f9a8330495b5dc130d761c577faa1a00ed1 (patch)
treea84493959e94f5277dfaebef3b212fdc8d869a4f /connectivity
parent84fe40e3699adea7b7ef6476d324d63aada9c5ad (diff)
Implement malloc'ing of date/time/timestamp (firebird-sdbc)
Change-Id: I22abb334a337ae2e25188ae43696789d37ecd7d4
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/firebird/Util.cxx14
1 files changed, 5 insertions, 9 deletions
diff --git a/connectivity/source/drivers/firebird/Util.cxx b/connectivity/source/drivers/firebird/Util.cxx
index 6941835f7877..3c80952b9ae0 100644
--- a/connectivity/source/drivers/firebird/Util.cxx
+++ b/connectivity/source/drivers/firebird/Util.cxx
@@ -216,7 +216,7 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda)
pVar->sqldata = (char *)malloc(sizeof(double));
break;
case SQL_TIMESTAMP:
- pVar->sqldata = (char *)malloc(sizeof(time_t));
+ pVar->sqldata = (char*) malloc(sizeof(ISC_TIMESTAMP));
break;
case SQL_BLOB:
pVar->sqldata = (char*) malloc(sizeof(ISC_QUAD));
@@ -225,10 +225,10 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda)
assert(false); // TODO: implement
break;
case SQL_TYPE_TIME:
- assert(false); // TODO: implement
+ pVar->sqldata = (char*) malloc(sizeof(ISC_TIME));
break;
case SQL_TYPE_DATE:
- assert(false); // TODO: implement
+ pVar->sqldata = (char*) malloc(sizeof(ISC_DATE));
break;
case SQL_INT64:
pVar->sqldata = (char *)malloc(sizeof(int));
@@ -269,17 +269,13 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda)
case SQL_TIMESTAMP:
case SQL_BLOB:
case SQL_INT64:
+ case SQL_TYPE_TIME:
+ case SQL_TYPE_DATE:
free(pVar->sqldata);
break;
case SQL_ARRAY:
assert(false); // TODO: implement
break;
- case SQL_TYPE_TIME:
- assert(false); // TODO: implement
- break;
- case SQL_TYPE_DATE:
- assert(false); // TODO: implement
- break;
case SQL_NULL:
assert(false); // TODO: implement
break;