b and g must be aligned

Miguel Ping miguel.ping at telecom.pt
Fri Jul 26 12:23:33 CEST 2013

On 07/25/2013 01:51 PM, Sjoerd Mullender wrote:
> Hash: SHA1
> On 2013-07-25 14:04, Miguel Ping wrote:
>> Hi all,
>> We're hitting this error "b and g must be aligned". I tracked the
>> src to a commit about some alignment code thing in gdk_calc:
>> http://www.mail-archive.com/checkin-list@monetdb.org/msg09731.html
>> (Fix alignment conversion in compatibility code for grouped
>> aggregates.)
>> Can you guys please explain what's the reason behind this error? I
>> can't understand by just looking to the src of gdk_calc.c
>> Thanks!
> When using grouped aggregates, the grouping bat must be aligned with
> the value bat.  The value bat is b and contains the values you want to
> aggregate.  The group bat is g and contains for each value in b the
> group (an oid) it belongs to.  Equal group ids means the same group.
> These bats must be aligned, because we need to know for each value in
> b to which group it belongs.
> Aligned means: same length, and same head column values.  The head
> columns must be dense (a sequence of numbers starting at some value,
> and each next value exactly one larger than the previous).  Dense
> sequences are usually not stored explicitly in MonetDB.  We only store
> the first value in the hseqbase field.  So the hseqbase fields of b
> and g must be equal.  The one exception to this is when the bats are
> both empty.  This last exception is the change to gdk_calc.c in that
> changeset.
> - -- 
> Sjoerd Mullender
> Version: GnuPG v1.4.13 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
> iQCVAwUBUfEfQj7g04AjvIQpAQI2ZwQAh7JLNlArqhQhY07k+N/Cxgv21p0YiRGu
> DwZ9T4tRZMcgqjtnK6IdMZ9frFon8OXHNQ1PIyHP/waz0tpxIlygnc9OWfCqLtE1
> K2pafzsLFxz1dxKBI+FtDg266tLNEEvgFXqtJhY8IVbTDOLzFe52MYUY7VnBCwEv
> 4vu+aR5Irn4=
> =65VI
> _______________________________________________
> users-list mailing list
> users-list at monetdb.org
> http://mail.monetdb.org/mailman/listinfo/users-list
Thanks for  your explanation. I still don't understand how can there be 
a misalignment. I would expect MonetDB to feed my hll aggregate 
functions with the correct values. Can it be that I may have some NULL 
values and the validation is failing because of that?


More information about the users-list mailing list