[Monetdb-developers] specifying NULL when using ODBC param_query
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. kss ram
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. -- Sjoerd Mullender
participants (2)
-
kss ram
-
Sjoerd Mullender