Thank you, I will check it out. And I'll do my best On Sat, Jan 28, 2023 at 6:53 PM Nikita Malyavin <nikitamalyavin@gmail.com> wrote:
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-bui... 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:)