Hi, I have been interested in this project for many years, and I have used in different occasions.
Currently, I have used this project for a class I give, to compare different RDBMS and test performance. I tried to use the version 5, but this requires many modifications in the code for each DB. I haven't tried version 6 yet, but I see the lack of documentation for extension to other RDBMS which makes this version very difficult to use for a student that is just learning database. I do not want them to port the application, I just want they focus in the database side.
I have done a big refactoring for version 4, which is available at: https://github.com/ECI-SGBD/BenchmarkSQL-4
I propose you I could do the same refactoring in version 6, in order to update some old dependencies this project. The changes I propose are:
- Use Maven instead of Ant.
- Include drivers in Maven's pom, instead of manual downloading o including in this code.
- Use packages for all classes.
- Use log4j v2, instead of log4j v1.
- Change System.output to loggers, for all classes (the 3 main methods: sql, local and benchmark).
- Organize files according Maven structure. This refers to resources directory, and a directory for each kind of file: r, python, Bash scripts, etc. This organize the run directory.
- All documentation in one directory, separated from code or scripts.
- Documentation for each RDBMS, not just one for all of them.
- Format the code according Eclipse format, which is a standard one.
- Organize imports.
- Use PMD, findbugs and checkstyle for better code.
- Create javadoc headers, in order to be capable of generating a documentation of the code.
- Put a FIXME or TODO, in each part of the code where an extension should be done for other RDBMS.
- Use Wiki, to explain things about this project. How to use the python script, generation of the diagrams with r, etc.
- Documentation about the parameters that receives the application.
- Scripts to run in Windows.
- Scripts to run based on the Maven structure (target directory).
- Extra parameters, like:
- schema, which is useful for databases like MySQL that do not use schemas. Or for other databases which uses default schema. This do not force to use
benchmarksql schema.
- Statement terminator, when ; is not available. This could use another one like 'GO' or '@', or even EOL.
If you agree with some of these changes, I could do them, and then I will create a pull request. In fact, I do not want to do a big refactoring in a program, and not being integrated into the master.
Please tell me which ones are you interested in.
Hi, I have been interested in this project for many years, and I have used in different occasions.
Currently, I have used this project for a class I give, to compare different RDBMS and test performance. I tried to use the version 5, but this requires many modifications in the code for each DB. I haven't tried version 6 yet, but I see the lack of documentation for extension to other RDBMS which makes this version very difficult to use for a student that is just learning database. I do not want them to port the application, I just want they focus in the database side.
I have done a big refactoring for version 4, which is available at: https://github.com/ECI-SGBD/BenchmarkSQL-4
I propose you I could do the same refactoring in version 6, in order to update some old dependencies this project. The changes I propose are:
benchmarksqlschema.If you agree with some of these changes, I could do them, and then I will create a pull request. In fact, I do not want to do a big refactoring in a program, and not being integrated into the master.
Please tell me which ones are you interested in.