-----BEGIN PGP SIGNED MESSAGE----- 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 -----BEGIN PGP SIGNATURE----- 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 -----END PGP SIGNATURE-----