In parts 1 to 3 of this series we have gone through the steps of taking the HammerDB code and adding support for a new database. At the moment these changes are on the local development system. in summary we have modified database.xml in the config directory, added a new mariadb.xml file, created a mariadb directory in the src directory and then added and updated the metrics, options, oltp, olap and transaction counter files for our new database. So the next stage is to add these changes:
~/HammerDB-Fork/HammerDB$ git add .
~/HammerDB-Fork/HammerDB$ git status
On branch 54
Changes to be committed:
(use "git reset HEAD ..." to unstage)
new file: config/mariadb.xml
new file: src/mariadb/mariamet.tcl
new file: src/mariadb/mariaolap.tcl
new file: src/mariadb/mariaoltp.tcl
new file: src/mariadb/mariaopt.tcl
new file: src/mariadb/mariaotc.tcl
and commit then to the branch we are working on.
~/HammerDB-Fork/HammerDB$ git commit -m "Template for adding MariaDB as separate database"
[54 8ababeb] Template for adding MariaDB as separate database
7 files changed, 3471 insertions(+)
create mode 100755 config/mariadb.xml
create mode 100755 src/mariadb/mariamet.tcl
create mode 100755 src/mariadb/mariaolap.tcl
create mode 100755 src/mariadb/mariaoltp.tcl
create mode 100755 src/mariadb/mariaopt.tcl
create mode 100755 src/mariadb/mariaotc.tcl
They can then be pushed to the repository.
~/HammerDB-Fork/HammerDB$ git push origin 54
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
remote: Create a pull request for '54' on GitHub by visiting:
* [new branch] 54 -> 54
If you think you are ready for the changes for your additional database to be included in HammerDB then you should open a pull request. In this example there is more work to do and therefore we will not be opening the pull request at this point in time.
At the same time as opening the pull request you should update the Issue you opened in part 1 to discuss the changes you made. In particular if there are new binaries required to support both Linux and Windows then this will be necessary for discussion to support the new binaries in a future release.
Finally bear in mind that the pull request to add a new database will be very much the start as opposed to the end of the process of adding a database. As users begin to use your contributions to test your chosen database they will inevitably have questions for support therefore you will be required to provide assistance and respond accordingly to any questions that they may have.