Wednesday, May 6, 2009

ArenaAllocator complete (Dbspj)

and i created a new DataBuffer2, which has pool-type as template argument.
it was "impossible" to alter DataBuffer to do this...it was simply to hard-wired to ArrayPool. too bad.

---

so now everything in Dbspj can/will be using the ArenaAllocator...
rationale for ArenaAllocator is really not to have a "quick" release (the code still releases each object individually...to reset magic values) but that it's a kind of variable length allocation strategy that provide great locality of data...

---

also pushed infrastructure for "result-set correlation".
Dbspj will (at least for now) when joining only return rows once so in the case of a 2-way join, a SQL result set will return the rows from the first table one time *for each* match in second table.
Dbspj will not...(but ha_ndbcluster will have to do this...when presenting things for mysqld) and since it will not, there has to be a way to correlate rows from the 2 tables.
this we call "result-set correlation".

2 comments:

Matthew Montgomery said...

Will pushed down join need to be integrated with QFPD on the mysqld nodes or is that an altogether separate thing? Is it expected that this feature will first appear in 6.1 in some stabilized state?

Jonas Oreland said...

It will need to be integrated with QFPD to be utilized from SQL.

But ndbapi application might potentially use it prior to this happening.

when "stabilized state" will occur
is currently unknown.

/jonas