[Monetdb-developers] specifying NULL when using ODBC param_query
sjoerd at acm.org
Sun Jun 20 23:46:41 CEST 2010
On 2010-06-20 17:10, kss ram wrote:
> Hello Everyone,
> Is there any way to specify a null value when using ODBC param_query, in
> case of SQL_Query we do not really end up facing this problem as we
> build our own query string and then execute sql_query, sql_query is
> potentially unsafe of sql injection attacks, and thus using param_query
> makes alot of sense, but param query makes it hard to specify the data
> type nuetral NULL value, if we try specifying blank values like 0 in
> case of number and "" in case of string, these blank values will end up
> taking space in the database and thus would be expensive in terms of
> memory consumption, a database specific NULL value would leave the field
> null with no memory consumption.
> Thank you everyone in advance.
I guess you're talking about using SQLPrepare/SQLExecute and using
SQLBindParameter to specify the values of the parameters. The final
argument of SQLBindParameter is a pointer which can point to a
SQLINTERGER buffer whose value can be SQL_NULL_DATA at the time of the
call the SQLExecute. If that is the case, this indicates that the
parameter value is NULL. This is supported by the driver, and I hope it
works. This is, as far as I know, the way to do it with ODBC.
Having said that, NULL values in MonetDB take up the same amount of
space as non-NULL values, so there is no reason to use NULLs to save space.
More information about the developers-list