http://qs1969.pair.com?node_id=1087106


in reply to Re^2: Code cleanup; how best to deal with: defined(%hash) is deprecated at... (defined--)
in thread Code cleanup; how best to deal with: defined(%hash) is deprecated at...

From a relational database theorists' perspective, I would have preferred to declare "not '' default null" but that isn't supported so simply or easily.

From a practical perspective, I actually ended up preferring the route we went.

A quick aside: The behavior of sum() and avg() when given values that are null makes perfect sense. But I think count() would have been better implemented as count(BOOL) so one would write things like count(foo <> '') or count(foo is null). Then avg(foo) would be roughly sum(foo)/count(foo is not null). I find the behavior of count(blah) to fairly often be a source of mistakes. And I also find the desire for "count how many times this isn't null" to be pretty rare in practice.

So I was happy to avoid (the more frequent but still somewhat rare but also more problematic, IME) problems like "where foo <> 'bar'" skipping null values.

- tye        

  • Comment on Re^3: Code cleanup; how best to deal with: defined(%hash) is deprecated at... (null)
  • Download Code