Changeset: a6d834db6449 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a6d834db6449
Modified Files:
clients/odbc/driver/SQLExecute.c
Branch: Feb2013
Log Message:
Initialize precision and scale information with data from server.
This fixes part of bug 3337: the decimal value is now displayed in full.
diffs (25 lines):
diff --git a/clients/odbc/driver/SQLExecute.c b/clients/odbc/driver/SQLExecute.c
--- a/clients/odbc/driver/SQLExecute.c
+++ b/clients/odbc/driver/SQLExecute.c
@@ -290,12 +290,17 @@ ODBCInitResult(ODBCStmt *stmt)
rec->sql_desc_concise_type = tp->concise_type;
rec->sql_desc_type = tp->type;
rec->sql_desc_datetime_interval_code = tp->code;
- if (tp->precision != UNAFFECTED)
- rec->sql_desc_precision = tp->precision;
+ if (concise_type == SQL_DECIMAL) {
+ rec->sql_desc_precision = mapi_get_digits(hdl, i);
+ rec->sql_desc_scale = mapi_get_scale(hdl, i);
+ } else {
+ if (tp->precision != UNAFFECTED)
+ rec->sql_desc_precision = tp->precision;
+ if (tp->scale != UNAFFECTED)
+ rec->sql_desc_scale = tp->scale;
+ }
if (tp->datetime_interval_precision != UNAFFECTED)
rec->sql_desc_datetime_interval_precision =
tp->datetime_interval_precision;
- if (tp->scale != UNAFFECTED)
- rec->sql_desc_scale = tp->scale;
rec->sql_desc_fixed_prec_scale = tp->fixed;
rec->sql_desc_num_prec_radix = tp->radix;
rec->sql_desc_unsigned = tp->radix == 0 ? SQL_TRUE : SQL_FALSE;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list