Commit Graph

1324 Commits

Author SHA1 Message Date
f85f63cec6 build/CI/packaging: modernize autotools files
Fix warnings about obsolete/deprecated features reported by modern
autotools. Also updates third-party m4 macros.
2025-03-09 15:13:38 +03:00
de18a036cc Merge pull request #506 from dveeden/mysql__compression_alg__mariadb
Allow building the MySQL driver with MariaDB libraries.
2024-07-28 19:22:27 +03:00
0f27db3b8a Allow mysql-ssl option to differ 2023-07-14 15:20:40 +02:00
fae19ba27c CI: Test also with MariaDB 2023-07-14 15:07:03 +02:00
e17ce0fa59 Allow building the MySQL driver with MariaDB libraries.
Closes #505
2023-07-14 15:07:03 +02:00
2ca9e3f81f Merge pull request #502 from akopytov/fix_help_drv_pgsql
Fix help_drv_pgsql.t
2023-07-09 17:00:22 +03:00
9b5381dabc Fix help_drv_pgsql.t 2023-07-09 16:57:49 +03:00
d052b73f04 Merge pull request #493 from dveeden/ci_pgsql
CI: Also build with PostgreSQL support
2023-07-09 16:47:48 +03:00
b72e466d7e Merge pull request #491 from dveeden/ci_status_help
CI: Update help_drv_mysql.t and status badge
2023-07-09 16:45:49 +03:00
ec457a3625 CI: Also build with PostgreSQL support 2023-05-16 08:42:00 +02:00
39eb421f33 CI: Update help_drv_mysql.t and status badge 2023-05-16 08:11:28 +02:00
db694e7de2 Merge pull request #489 from dveeden/egrep
tests: Fix failing test due to egrep
2023-05-15 20:40:32 +03:00
b4aa9f192b Merge pull request #488 from dveeden/ci
Add GitHub actions
2023-05-15 20:39:40 +03:00
8e33758a18 Merge pull request #487 from dveeden/compress_alg
Add option for setting zlib/zstd compression algorithms
2023-05-15 20:37:11 +03:00
604c3c9f2b tests: Fix failing test due to egrep
Use `grep -E` instead of `egrep` as `egrep` now emits a warning.

```
t/opt_report_checkpoints.t: failed
--- t/opt_report_checkpoints.t
+++ t/opt_report_checkpoints.t.err
@@ -8,6 +8,7 @@
   > fi

   $ sysbench ${SBTEST_SCRIPTDIR}/oltp_read_write.lua --db-driver=mysql --mysql-dry-run --time=3 --events=0 --report-checkpoints=1,2 run | egrep '(Checkpoint report|SQL statistics)'
+  egrep: warning: egrep is obsolescent; using grep -E
   [ 1s ] Checkpoint report:
   SQL statistics:
   [ 2s ] Checkpoint report:
```

```
$ echo | egrep 'abc'
egrep: warning: egrep is obsolescent; using grep -E
$ grep --version
grep (GNU grep) 3.8
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others; see
<https://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
```
2023-05-08 10:39:39 +02:00
0139aa569f Run the test as well 2023-05-08 10:24:19 +02:00
41057e4f09 Add GitHub actions 2023-05-08 10:19:54 +02:00
5f669c98eb Add option for setting zlib/zstd compression algorithms 2023-05-07 16:29:46 +02:00
4228c85ff9 Replace bundled LuaJIT with upstream @ commit 224129a 2023-05-03 17:02:41 +03:00
df89d34c41 Merge pull request #353 from ddinu/master
Command line flag to set the sslmode for PostgreSQL (Closes: #326)
2021-12-08 21:57:05 +03:00
1947e5387a Command line flag to set the sslmode for PostgreSQL (Closes: #326)
The flag name and its values match libpq's sslmode connection parameter.
The default value (prefer) will first try an SSL connection; if that
fails, it will try a non-SSL connection.

Libpq documentation: https://www.postgresql.org/docs/14/libpq-connect.html#LIBPQ-CONNECT-SSLMODE
2021-11-18 23:39:39 -08:00
ead2689ac6 SQL API: add multiple result sets API
MySQL may return multiple result sets from a call to a stored
procedure (the CALL statement), or when multiple queries are specified
in a single client request. The application is supposed to process those
multiple result sets one by one with calls to `mysql_next_result()`, or
its prepared statements counterpart, `mysql_stmt_next_result()`.

Additionally, there is the `mysql_more_results()` call which allows the
application to check if more result sets are available and works for
both regular queries and prepared statements API.

One way to handle multiple results in sysbench would be consuming all
result sets silently in the MySQL driver, but that would make it
impossible for scripts to get access to individual result sets returned
by a stored procedure.

Now sysbench exposes those MySQL client API calls to the SQL API, so it
is up to the script authors to handle multiple result sets when either
stored procedures are used in a benchmark script, or multiple queries
are passed to `sql_connection:query()`:

- sql_connection:next_result()
- sql_connection:more_results()
- sql_statement:next_results()

Here is an example how multiple results can be handled in a benchmark
script:

```lua
   local rs = con:query([[CALL p1("foo")]])
   while rs ~= nil do
      -- handle the result set
      rs = con:next_result()
   end
```

Here is a prepared statement example:

```lua
   stmt = con:prepare("CALL p1(?)")
   param = stmt:bind_create(sysbench.sql.type.CHAR, 10)
   stmt:bind_param(param)
   param:set("bar")
   rs = stmt:execute()

   while rs ~= nil do
      rs = stmt:next_result()
   end
```

Fixes GH-304.
2021-03-25 21:20:15 +03:00
98ff2a66c1 build/CI/packaging: re-enable Ubuntu Groovy
Re-enable Ubuntu Groovy as packagecloud support has been added.

This reverts commit a4a5374ed1481df7826c130a3cd9ae3680088ca5.
2021-03-25 21:20:15 +03:00
7af54b4426 build/CI/packaging: disable Fedora 33 temporarily
Disable Fedora 33 temporarily, because it is unsupported by packagecloud
t the moment.
2021-03-25 21:20:15 +03:00
b5b2aa4f57 build/CI/packaging: add diagnostic to fix MySQL in macOS Travis builds 2021-03-25 21:20:15 +03:00
515a307eaf build/CI/packaging: disable Ubuntu Groovy temporarily
Disable Ubuntu Groovy temporarily, because it is unsupported by
packagecloud at the moment.
2021-03-25 21:20:15 +03:00
e4cacaa723 build/CI/packaging: use the latest OSX image in Travis CI
The default one (with MacOS 10.13) is too old with most Homebrew
packages (including MySQL) available in the source code form only
without prebuilt bottles.
2021-03-25 21:20:15 +03:00
08e0789964 build/CI/packaging: add libzstd-dev to Debian build dependencies
In Debian Sid the MySQL client library now depends on libzstd, so we
have to pull that dependency as well.
2021-03-25 21:20:15 +03:00
3f9d4c1382 build/CI/packaging: remove EL 6 (EOL) 2021-03-25 21:20:15 +03:00
ed340267e6 build/CI/packaging: remove Debian Jessie (EOL) 2021-03-25 21:20:15 +03:00
e1635b8ccf build/CI/packaging: remove Fedora 29/39/31 (EOL) 2021-03-25 21:20:15 +03:00
989f3fea39 build/CI/packaging: add Fedora 32/33 2021-03-25 21:20:15 +03:00
9e00772a68 build/CI/packaging: add Ubuntu Groovy 2021-03-25 21:20:15 +03:00
56c48d3eb0 build/CI/packaging: remove Ubuntu Eoan (EOL) 2021-03-25 21:20:15 +03:00
cfe594bd42 SQL API: fix prepared statements with FLOAT/DOUBLE type arguments
SQL API failed to prepare correctly SQL statements containing floating
point arguments.
2021-03-25 21:20:15 +03:00
bbee5d5dc5 Prefer python3 to python2 (#379)
Some distributions do not alias /usr/bin/python3 to /usr/bin/python
2020-09-10 17:03:29 +03:00
797e4c468f Update LuaJIT 2020-06-09 21:23:49 +03:00
805825fa81 --rand-type: remove 'special' from available distributions
Remove the legacy 'special' distribution, because it was unscientific
and hard to explain.

Pareto and Zipfian distributions provide more clearly defined
alternatives.
2020-05-05 11:33:09 +03:00
0bd7771533 --rand-type: use 'uniform' by default
By a popular request, change the default --rand-type value from
'special' to 'uniform'.

Fixes GH-329.
2020-05-05 11:32:42 +03:00
5657d594ee Merge branch '1.0' 2020-04-24 19:47:27 +03:00
ebf1c90da0 Release 1.0.20 2020-04-24 18:51:47 +03:00
af99299e13 Merge branch '1.0' 2020-04-19 20:37:53 +03:00
ae506b0976 build/CI/packaging: Add arm64 to Travis CI matrix (#358) 2020-04-19 20:37:09 +03:00
ae47ed7c17 Merge branch '1.0' 2020-04-18 20:55:24 +03:00
77144dac5e build/CI/packaging: add Ubuntu Focal 2020-04-18 18:47:22 +03:00
15daec80b2 Merge branch '1.0' 2020-04-18 14:00:16 +03:00
921708f440 build/CI/packaging: remove Fedora Rawhide from CI matrix 2020-04-18 13:22:03 +03:00
849ddc59e8 build/CI/packaging: fix regression tests to work with MySQL 8.0.19+ 2020-04-18 12:00:45 +03:00
0a1734346c build/CI/packaging: fix macOS builds in Travis 2020-04-18 09:54:18 +03:00
ee74f24f38 build/CI/packaging: remove Ubuntu Disco (EOL) 2020-04-18 08:57:17 +03:00