Hi, Alexander!

On Nov 03, Alexander Barkov wrote:
> Hello Sergei,
> 
> Please review a patch for MDEV-13790.
> 
> It removes the attempt to search the best suitable buffer
> and just returns the result in "str" passed to val_str().
> 
> I'm quite sure this optimization gives nothing.
> In can be useful only under very rare conditions,
> but generates so many bugs.

There're bunch of tricks. What do they all do, could you list them?

One handles the case when an argument is a substring of the already
concatenated string - this is very weird and rare, I agree.

Other accumulates the result in the first argument's result - this
avoids one memcpy per row. Doesn't sound like much, but it's not rare,
so should be very easy to benchmark.

Yet another doubles the buffer size every time - this might be useful to
keep, it easily fits in your new code.

What are other tricks that concat was using?

Btw, one comment about your patch — please don't call current_thd in a
loop.

Regards,
Sergei
Chief Architect MariaDB
and [email protected]

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to