[rules-dev] need advice re null handling

Michael Neale michael.neale at gmail.com
Thu Mar 15 20:14:46 EDT 2007


Thats a good point tom. In fact, null can be kind of like a special "state"
- certainly with databases it is.

Keep the thoughts coming please.

On 3/16/07, Tom Gonzalez <tomgon at nortel.com> wrote:
>
>  We handle it as it can't be anything else but null cause null is returned
> when an access fails or some error occurs. This keeps it from falling into a
> valid evaluation and possibly a subtle bug going uncaught.
>
> Tom G
>
>  ------------------------------
> *From:* rules-dev-bounces at lists.jboss.org [mailto:
> rules-dev-bounces at lists.jboss.org] *On Behalf Of *Mark Proctor
> *Sent:* Thursday, March 15, 2007 12:42 PM
> *To:* Rules Dev List
> *Subject:* Re: [rules-dev] need advice re null handling
>
> Its not about giving it up, its how we handle when those fields are null,
> do we treat it like a primitive and assume its 0, or do we say it can't be
> equal to anything else but null.
>
> In the following example neither y or z is defined, thus y is null and z
> is 0;
>
> int x = 0;
> Integer y;
> in z;
> x == y // is false;
> x == z // is true
> y == null // is true
>
> Mark
>
> Tom Gonzalez wrote:
>
> The flexibility provided by an Object is very valuable. We use Integer and
> String objects all over the place today in our facts with drools. I would
> hate to give it up.
>
> Tom G
>
>  ------------------------------
> *From:* rules-dev-bounces at lists.jboss.org [
> mailto:rules-dev-bounces at lists.jboss.org<rules-dev-bounces at lists.jboss.org>]
> *On Behalf Of *Mark Proctor
> *Sent:* Thursday, March 15, 2007 6:29 AM
> *To:* Rules Dev List
> *Subject:* Re: [rules-dev] need advice re null handling
>
> if bar is an integer it will be 0, if its an Integer it will be null. The
> Q is do we make Integer work like the primitive, or do we make it work like
> an Object.
>
> Mark
> Michael Neale wrote:
>
> http://jira.jboss.com/jira/browse/JBRULES-627
>
> OK, this much is clear:
>
> Foo(field == null) can be true if field is null.
>
> but, what about Foo(field > 3), and field is null? should that be false?
> what about Foo(field != 3) - should that be true?
>
> in SQL, null will always result in a false condition, unless you
> explicitly use null.
>
> Thoughts?
>
> Michael.
>
> ------------------------------
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev
>
>
> ------------------------------
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20070316/fb1ebb5e/attachment.html 


More information about the rules-dev mailing list