Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

241120 sync upstream master #12

Closed
wants to merge 24 commits into from

Conversation

zmstone
Copy link
Member

@zmstone zmstone commented Nov 20, 2024

No description provided.

juhlig and others added 24 commits October 12, 2020 10:43

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
* Possibility to send numbers as decimals using {decimal, Value}.
* New option {float_as_decimal, boolean() | non_neg_integer()} to
  do this automatically for floats, optionally rounded to a given
  number of decimals.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
As per the mysql specs at https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse.

Fixes a handshake error with some mysql proxy.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…tp#190)

If query/N or execute/N is called on a connection which is
currently in a transaction owned by another process, `{error,
busy}` is returned.

If transaction/N is called is called on a connection which is
currently in a transaction owned by another process, `{aborted,
busy}` is returned.

The other process and its transaction are unaffected.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
MySQL < 5.7.0 and MariaDB < 10.1.0 only support tlsv1. In all other cases
we use all TLS versions available in the running Erlang/OTP ssl application.

This fixes problems such as this:

> ssl:connect(Port, [{versions,[tlsv1]},{verify,verify_none},{active,false}], 5000)
{error,{tls_alert,{bad_record_mac,"TLS client: In state hello at tls_record.erl:571 generated CLIENT ALERT: Fatal - Bad Record MAC\n {unsupported_version,{0,0}}"}}}

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
If a socket error occurs when fetching a response, the mysql connection exits with the socket error as the exit reason instead of a crash.

Fixes mysql-otp#196.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
* Fix undetected closing of connection
* Non-normal exit when connection closed by server

Co-authored-by: Maria Scott <maria-12648430@hnc-agency.org>
Co-authored-by: Viktor Söderqvist <viktor.soderqvist@est.tech>

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…ql-otp#194)

The new option `{decode_decimal, auto | number | float | binary}` controls how a
DECIMAL value is translated to an Erlang term. The default 'auto' is the legacy behaviour which returns an integer or a float when no precision loss can happen for the column and a binary otherwise. The options 'number' and 'float' may return a float even if it can result in precision loss, while 'binary' always returns the textual representation of the number.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
This is to avoid creating atoms when making use of prepared statements.

---------

Co-authored-by: Stefan Strigler <stefan@strigler.de>

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Build and run tests in GitHub Actions.
Docker is used to for starting MySQL or MariaDB.

Additional changes:

* Changed 0.0 matches to +0.0 to make it compile on OTP 27.
* Fix test case to work with MySQL running remote (not localhost).
* Update minimal Erlang/OTP version to 19.
* Ensure database dropped before testing create.
* Simplify test prep instructions in README and refer to scripts.
* Add instructions how to run tests against MySQL or MariaDB in localhost.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* Delete backported code for OTP < 18
* Delete .travis.yml
@zmstone zmstone marked this pull request as draft November 20, 2024 12:55
@zmstone zmstone closed this Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants