Hello Omkar!
I appreciate self-motivated letters, so I decided to guide you through basic contribution.
Here is a simple task for you:
The work here is concentrated in `mysql` client.
First, you need to compile the code base. I recommend going through these links:
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,
two,
three.
* And I hardly recommend this amazing book:
* Participate in
ICPC. 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.