|
@@ -58,7 +58,35 @@ int db_oracle_val2bind(bmap_t* _m, const db_val_t* _v, OCIDate* _o)
|
|
if (VAL_NULL(_v)) {
|
|
if (VAL_NULL(_v)) {
|
|
_m->addr = NULL;
|
|
_m->addr = NULL;
|
|
_m->size = 0;
|
|
_m->size = 0;
|
|
- _m->type = SQLT_NON;
|
|
|
|
|
|
+ switch (VAL_TYPE(_v)) {
|
|
|
|
+ case DB1_INT:
|
|
|
|
+ _m->type = SQLT_INT;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_BIGINT:
|
|
|
|
+ LM_ERR("BIGINT not supported");
|
|
|
|
+ return -1;
|
|
|
|
+ case DB1_BITMAP:
|
|
|
|
+ _m->type = SQLT_UIN;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_DOUBLE:
|
|
|
|
+ _m->type = SQLT_FLT;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_STRING:
|
|
|
|
+ _m->type = SQLT_STR;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_STR:
|
|
|
|
+ _m->type = SQLT_CHR;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_DATETIME:
|
|
|
|
+ _m->type = SQLT_ODT;
|
|
|
|
+ break;
|
|
|
|
+ case DB1_BLOB:
|
|
|
|
+ _m->type = SQLT_CLOB;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ LM_ERR("unknown data type\n");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -130,8 +158,8 @@ int db_oracle_val2bind(bmap_t* _m, const db_val_t* _v, OCIDate* _o)
|
|
break;
|
|
break;
|
|
|
|
|
|
default:
|
|
default:
|
|
- LM_ERR("unknown data type\n");
|
|
|
|
- return -1;
|
|
|
|
|
|
+ LM_ERR("unknown data type\n");
|
|
|
|
+ return -1;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|