← Back to team overview

maria-developers team mailing list archive

Re: To getting started for contribution at your GitHub repo

 

Hello Omkar!

I appreciate self-motivated letters, so I decided to guide you through
basic contribution.

Here is a simple task for you:
https://jira.mariadb.org/browse/MDEV-25374

The work here is concentrated in `mysql` client.

First, you need to compile the code base. I recommend going through these
links:
https://mariadb.org/get-involved/getting-started-for-developers/get-code-build-test/
https://mariadb.com/kb/en/generic-build-instructions/

If you use windows, here's another link
<https://mariadb.com/kb/en/Building_MariaDB_on_Windows/>.

Take a look into mysql.cc file and try to find what to fix.

For a comfortable development install some C++ IDE. For big projects like
MariaDB i recommend one of the following:
*  JetBrains CLion, but it 's hungry for RAM. Use it if you have more than
8GB.
* QTCreator is good and feature-rich IDE
* Visual Studio is a good choice if you use windows.


Omkar, there are some other beginner-friendly tasks i'll be glad to share
with you,
but to make a more serious and notable contribution, you have to study
computer science to a serious level. I want to give you some
recommendations on this as well.

SQL server work relies a lot on understanding how indexing works. So to
participate at full power, you need a very good knowledge on algorithms and
data structures.
* Basic algorithms and algorithm complexity, O-notation.
* Sorting algorithms, like qsort. binary search. Heap data structure.
* Dynamic programming. Substring finding algorithms, like
Knuth-Morris-Pratt
* Graph algorithms. BFS, DFS, Shortest path algorithms.
* Tree data structures: Binary balanced trees (AVL/red-black), Radix tree,
Trie, Disjoint-Set Forests.

I found some free course that resembles to what I mentioned: one
<https://www.coursera.org/learn/algorithms-part1>, two
<https://www.coursera.org/learn/algorithms-part2>, three
<https://www.coursera.org/learn/analysis-of-algorithms>.

* And I hardly recommend this amazing book:
Cormen, Leiserson. Rivest: Introduction to algorithms
<https://sd.blackball.lv/library/Introduction_to_Algorithms_Third_Edition_(2009).pdf>

* Participate in ICPC <https://icpc.global/>. Ask your teachers how, maybe
they'll help you find the training courses in your area. Programming
contests really help a lot to sharpen your programming skills.


Good luck!

Nikita Malyavin
MariaDB Developer


P.S.

You can email me back anytime, and I'll try to answer any questions and
provide help.
Also you can write me on Zulip: https://mariadb.zulipchat.com/. I am Nikita
Malyavin there:)

Follow ups

References