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:

https://mariadb.com/kb/en/library/engine-independent-table-statistics/

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:

https://mariadb.org/get-involved/getting-started-for-developers/writing-good-test-cases-mariadb-server/

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.

Vicentiu

On Tue, 20 Mar 2018 at 21:10 Teodor Niculescu <teodorniculescu@yahoo.com> wrote:
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 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@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp