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

0.3.x latin1 to utf8 with mariadbclient support #29

Open
wants to merge 72 commits into
base: 0.3.x_force_latin1_to_utf8
Choose a base branch
from

Conversation

lewispb
Copy link
Member

@lewispb lewispb commented Apr 13, 2023

tenderlove and others added 30 commits March 27, 2012 17:10
Rather than use the MySQL specific TINYTEXT, MEDIUMTEXT and LONGTEXT
datatypes, Active Record migrations use TEXT(n) where n is the limit
specified by the developer. Unfortunately how MySQL interprets n
depends on the column's encoding so any limit above 5592405 will be
interpreted as a LONGTEXT.

This commit fixes this by interpreting the limit within the adapter
and using the specific MySQL datatype as appropriate.
The backport of table_exists? expects tables to accept an arity of 2,
whereas the version in the Mysql2Adapter only has an arity of 1. The
second parameter provides for querying tables in databases other than
the currently selected database.

This commit fixes this by backporting the tables method from the
MysqlAdapter in Rails 3.0.x.
brianmario and others added 29 commits July 9, 2013 16:17
Support has moved to the em-synchrony gem.
…in, just hack the generated charset mapping to force mysql latin1 to ruby utf8
Unix systems using libtool do not need to do a version check against the
client version string as the libraries themselves are versioned.
Only do version check in Windows environment
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-3.html#mysqld-8-0-3-capi
> The deprecated secure_auth system variable and --secure-auth client option have been removed.
> The MYSQL_SECURE_AUTH option for the mysql_options() C API function was removed.
MySQL 8.0 replaces my_bool with C99 bool. Earlier versions of MySQL had
a typedef to char. Gem users reported failures on big endian systems when
using C99 bool types with older MySQLs due to mismatched behavior.
Unix systems using libtool do not need to do a version check against the
client version string as the libraries themselves are versioned.
libmariadb-client-lgpl-dev in newly released Debian stable (jessie)
ships `/usr/bin/mariadb_config`.
* mariadbclient-support: (34 commits)
  Support microseconds
  Also search for mariadb_config on compile
  Fix for MariaDB 10.2 which does not define CLIENT_LONG_PASSWORD
  Only do version check in Windows environment
  Bump version to 0.2.24
  Rather than keeping the CHARSET_MAP hack around, through thick and thin, just hack the generated charset mapping to force mysql latin1 to ruby utf8
  Bump version to 0.2.23 (matching 0.3.16)
  bump version for 0.2.22 release
  bump for 0.2.21 release
  bump version for 0.2.20 release
  bump version for 0.2.19 release
  Remove EM/fiber support from this gem
  symbolize keys sooner
  bump version to 0.2.19b6
  only use default limit value if offset is used without limit
  use local db config if avail
  active_record: Delegate BigDecimal quoting to abstract adapter.
  bump version for 0.2.19b4 release
  whitespace
  ensure connect_timeout is a positive integer
  ...
…lient-support

* makandra/0.3.x-lts:
  Use a typedef my_bool to improve compatibility across MySQL versions
  MYSQL_SECURE_AUTH has been removed in MySQL 8.0.3 RC (brianmario#892)
  Only do version check in Windows environment
  Fix for MariaDB 10.2 which does not define CLIENT_LONG_PASSWORD
@lewispb lewispb requested a review from jeremy April 13, 2023 11:23
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.