-
Notifications
You must be signed in to change notification settings - Fork 0
Description
On Debian/Ubuntu the isql executable in default $PATH (/usr/bin/isql) is from the unixodbc package (ubuntu/debian) and the isql from the firebird package (ubuntu/debian) has been renamed to isql-fb to avoid conflict.
On an Ubuntu 16.04 system:
$ dpkg -S $(which isql)
unixodbc: /usr/bin/isql
$ dpkg -S $(which isql-fb)
firebird2.5-super: /usr/bin/isql-fb
$
This means that using the src/1run_oltp_emul.sh script from the repository configured with $fbc=/usr/bin is failing of non-obvious reasons when it executes the unixodbc isql which takes different arguments than isql-fb:
...
Script that verifies finish of DB building process is NOT EMPTY.
...
db_build_finished_ok=|0|
Result: database needs to be REBUILT.
Database: >/web/db/oltp25_test.fdb< -- DOES exist but
process of creation its objects was not completed.
...
Error log /var/tmp/logs.oltp25/tmp_build_25.err is NOT EMPTY!
...
Additional info / advice:
Check SQL script at line that was specified in error message.
Script is terminated.
Even worse, a user cannot configure the script or environment to use the binaries directly from /usr/bin as the script is hardcoded to call the executables by absolute paths as $fbc/isql and $fbc/fbsvcmgr, respectively.
If the script just used the isql and fbsvcmgr in $PATH a user would be able to modify the path externally to satisfy oltp-emul.
Instead one has to do tricks like the below and point $fbc to ~/oltp-emul/bin to make the benchmark run:
$ mkdir ~/oltp-emul/bin
$ cd ~/oltp-emul/bin
$ ln -sv /usr/bin/fbsvcmgr .
'./fbsvcmgr' -> '/usr/bin/fbsvcmgr'
$ ln -sv /usr/bin/isql-fb isql
'isql' -> '/usr/bin/isql-fb'
$