On 2014-02-03 18:22, Johan Baltié wrote:
On Mon, Feb 3, 2014 at 5:56 PM, Klaim - Joël Lamotte
wrote: On Mon, Feb 3, 2014 at 5:33 PM, Edward Diener
wrote: In most usecases I encountered so far, it is totally OK to interpret
NULL values like default values, e.g. NULL strings and empty strings, or NULL foreign keys or 0LL. For those usecases it would be quite annoying to have to check if there really is a value, or always use get_optional_value_or...
You are wrong ! Having a database NULL value is completely different from having an empty string or a 0 value. Please reconsider. The boost::optional is the correct choice.
+1
I do agree. NULL means "no data", not "0".In SQL "NULL = NULL" is false.
Oracle chose empty string to be equivalent to NULL and it's quite a pain to handle from a developper point of view.
Yeah, heard of that. And it would certainly be bad, if sqlpp11 did the same. It does not. If you want to interpret NULL as NULL, fine, use the .is_null() method to check. If you want to interpret NULL as "" or 0, also fine, just get the value. Best, Roland