← Back to team overview

maria-developers team mailing list archive

Re: GSoC 2018 - Histograms with equal-width bins


Hi Teodor,

In order to get started with the project you need to see how we currently
gather statistics from tables. You should first read up on:


Note we are interested in *engine independent table statistics*, not engine
specific table statistics. InnoDB does perform statistics collection when
you call ANALYZE TABLE, however you also have to specify PERSISTENT FOR ...
to have the server collect the statistics separately.

I assume you have compiled the server already, I recommend you create a
testcase as outlined in this page:


The page is still a draft but should have sufficient information to get you
started. Afterwards start the test case under debugger. You can do that
with ./mtr --gdb <test-case>

Put a breakpoint in collect_statistics_for_table. You will find the
function in sql/sql_statistics.cc

When the server executes an ANALYZE TABLE t PERSISTENT FOR ALL, that
function should be called. See if you can figure out how we gather data and
store equal-height histograms. That should give you an idea how one would
proceed to create similar histograms as equal-width ones instead.

Feel free to reach out on IRC #maria on freenode or via this mailing list
if you have any more questions.


On Tue, 20 Mar 2018 at 21:10 Teodor Niculescu <teodorniculescu@xxxxxxxxx>

> Greetings,
> My name is Teodor Niculescu and I am a second year undergraduate student
> at the The Faculty of Automatic Control and Computers, University
> Politehnica of Bucharest, Romania. I am interested in contributing to
> MariaDB as part of this years Google Summer of Code.
> I am interested in the project: MDEV-12313
> <https://jira.mariadb.org/browse/MDEV-12313> Histograms with equal-width
> bins.
> I would like to ask you about a good place to start reading the codebase, in order to help me get an idea about what I need to do for this project.
> I look forward to hearing from you.
> Sincerely,
> Teodor.
> _______________________________________________
> Mailing list: https://launchpad.net/~maria-developers
> Post to     : maria-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp