Commit Graph

1311 Commits

Author SHA1 Message Date
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
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
f86d7473a0 build/CI/packaging: remove Ubuntu Disco (EOL) 2020-04-18 08:56:08 +03:00
bd4b418cf4 build/CI/packaging: remove Fedora Rawhide from CI matrix 2020-03-01 19:59:53 +03:00
fbe81fb1aa Merge pull request #346 from aminvakil/patch-1
Add ArchLinux Installation
2020-03-01 14:59:13 +03:00
4eb9685440 Add ArchLinux Installation 2020-02-28 13:26:46 +03:30
636b1f6bf8 build/CI/packaging: fix regression tests to work with MySQL 8.0.19+ 2020-02-10 09:38:39 +03:00
175cc66e22 Merge pull request #342 from patrickbussmann/dockerfile
Added Dockerfile
2020-02-10 08:27:36 +03:00
2be4b772b0 Added Dockerfile 2020-02-10 03:00:08 +01:00
bcd950b714 Merge branch '1.0' 2019-12-08 15:11:02 +03:00
89428b1298 build/CI/packaging: fix version number in Changelog 2019-12-08 15:08:41 +03:00
8a4d96dd9b Release 1.0.19 2019-12-08 15:04:05 +03:00
69980c0610 build/CI/packaging: fix Ubuntu packaging for Bionic and later versions 2019-12-08 14:24:09 +03:00
cf310c37c2 regression tests: compatibility fix for PostgreSQL 12 2019-12-08 14:23:21 +03:00
2776a24ce8 build/CI/packaging: another attempt to fix macOS builds in Travis 2019-12-08 13:41:24 +03:00