forked from perl5-dbi/DBD-MariaDB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
178 lines (168 loc) · 9.14 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
1.11 2019-01-02
- Fix breakage of Net::SSLeay / OpenSSL library after DBI disconnect
(https://github.com/gooddata/DBD-MariaDB/issues/119)
1.10 2018-12-05
- Fix spelling error (https://github.com/gooddata/DBD-MariaDB/issues/82)
- Fix MinGW build (https://github.com/gooddata/DBD-MariaDB/issues/91)
- Fix DBI SQL types (https://github.com/gooddata/DBD-MariaDB/issues/109)
- Fix overflow in mariadb_thread_id and mariadb_warning_count attributes
- Fix parsing LIMIT keyword (case-insensitive + allow whitespaces around)
- Fix allocating and releasing memory when using Embedded Server
- Fix escaping placeholders when sql_mode is NO_BACKSLASH_ESCAPES
- Fix output from Unicode related tests
- Fix setting client_flag for mysql_real_connect()
- Fix calling DBI->data_sources() without second argument
- Fix $dbh->last_insert_id() for multi and prepared server side statements
- Use dbd_db_do6 API from DBI 1.642 when available
- Add support for a new DBI method call $sth->last_insert_id()
- Add sanity check for Makefile.PL --testsocket, --testhost and --testport
- Report error when $dbh->{mariadb_ssl_cipher} attribute is not supported
- Check that correct number of bind parameters are in $dbh->do()
- Update workarounds for bugs in MariaDB client library (some were fixed)
- Allow to set zero read, write and connect timeout (which means infinite)
- Set default session collation to utf8mb4_unicode_ci for real Unicode
- Change minimal MySQL client version to 4.1.8 (older is incompatible)
- Skip tests which cannot be started on current system/architecture
- Move testrules.yml to t/ directory
- Miscellaneous fixes in tests
1.00 2018-07-12
- Do not remove test name and line from test error messages
- Update documentation for mariadb_length and mariadb_max_length
- Fix retrieving ODBC attribute SQL_USER_NAME via $dbh->get_info()
- Do not show internal DBI packages on cpan
- Fix checking for error value from mariadb_embedded options
- Makefile.PL shows error message when no client library was specified
- Fix checking if integer value should be signed or unsigned
0.90_01 2018-06-26 (beta)
- This is a new DBD::MariaDB driver, fork of DBD::mysql 4.041 with fixes
- Attributes and methods with mysql_* prefix were renamed to mariadb_*
[1. Security fixes]
- CVE-2017-10788: Fix use-after-free after calling mysql_stmt_close()
- CVE-2017-3302: Add workaround for defect of leaking dangling pointers
- CVE-2018-2767: Handle SSL problems of MySQL and MariaDB clients
[2. Client/server changes]
- New support for MySQL 8.0+ clients
- New support for MariaDB 10.2.4+ clients
- New support for MariaDB 10.3.0+ clients
- New support for MariaDB Connector/C 2.3.0+ clients
- New support for MariaDB Connector/C 3.0.2+ clients
- Minimal DBI version is now 1.608
- Minimal MySQL client library version is now 4.1.3
- Minimal MySQL server version is now 4.1.0
- Requirement for utf8mb4 (preferred) or utf8(mb3) connection charset
[3. Functional changes]
- Full Unicode support for all Perl strings in all methods according to
Perl Unicode model (same as in recent DBD::Pg and DBD::SQLite drivers),
activated by default, improperly written applications may have problems
- Embedded Server support is now in main DBD::MariaDB module and enabled
at compile time if MariaDB/MySQL linking library supports it, additional
module DBD::MariaDBEmb was therefore removed
- Fix lot of bugs related to Unicode, mysql utf8mb4 charset and login
- Remove support for Latin1 encoding
[4. Client compatibility changes]
- Fix initialization of MySQL/MariaDB client library, fix MariaDB 10.2.4+
- Fix crashing when prepared statements are used
- Do not access internal MYSQL* and MYSQL_STMT* structures
[5. Statement handling changes]
- Stop parsing SQL statements (exception are client side placeholders)
- Fix support for client side placeholder replacing with MySQL 5.7.6+
- Fix $dbh->quote() method for MySQL 5.7.6+ and MySQL 8.0+ clients
- Fix error handling for statements with LIMIT and OFFSET
- Fix processing statements with nul bytes
- Fix calculation of buffer size for client side placeholder replacing
- Fix checking if bind value is mysql number and if needs to be quoted
- Check that correct number of bind parameters were supplied
[6. Miscellaneous changes]
- Fix fetching numeric values of types with fixed-length of decimals
- Fix ChopBlanks for binary fields
- Fix $dbh->ping() and $dbh->last_insert_id() with MySQL 5.7+ and 8.0+
- Fix tests so can be run in parallel (via testrules.yml)
- Fix retrieving $sth attributes after $sth->fetchall* call
- Fix usage of normal eval, $@ and error handling
- Fix and simplify code which uses number of returned or affected rows
- Fix usage of boolean variables
- Fix creating perl scalars with unsigned numbers
- Fix autoreconnect for server side prepared statements
- Fix and cleanup ODBC attributes returned by $dbh->get_info() method
- Fix support for IMP_DATA
- Fix propagating server error code and messages to DBI
- Remove usage of %llu and %lld for PerlIO_printf
- Remove usage of stringified eval
- Remove old undocumented, legacy and hidden options and methods
- Remove nonsense prototypes for object methods
- Distinguish between undef (NULL) and "" for mysql_real_connect()
- Check for valid and supported attribute names
- Cleanup Makefile.PL options
- Hide passwords in trace logs
- Use DBI dbd_st_execute_iv() API when available
- Add support for mariadb_conn_attrs attribute with MariaDB 10+ clients
- Disable autoreconnect by default also for mod_perl
- Implement $dbh->disconnect_all() method
- Makefile.PL now depends on Devel::CheckLib 1.12 (ensure correct linking)
[7. List of fixed issues]
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866821#17
- https://github.com/gooddata/DBD-MariaDB/issues/13
- https://github.com/perl5-dbi/DBD-mysql/issues/78
- https://github.com/perl5-dbi/DBD-mysql/issues/110
- https://github.com/perl5-dbi/DBD-mysql/issues/120
- https://github.com/perl5-dbi/DBD-mysql/issues/126
- https://github.com/perl5-dbi/DBD-mysql/issues/139
- https://github.com/perl5-dbi/DBD-mysql/issues/140
- https://github.com/perl5-dbi/DBD-mysql/issues/149
- https://github.com/perl5-dbi/DBD-mysql/issues/165
- https://github.com/perl5-dbi/DBD-mysql/issues/167
- https://github.com/perl5-dbi/DBD-mysql/issues/169
- https://github.com/perl5-dbi/DBD-mysql/issues/170
- https://github.com/perl5-dbi/DBD-mysql/issues/182
- https://github.com/perl5-dbi/DBD-mysql/issues/185
- https://github.com/perl5-dbi/DBD-mysql/issues/187
- https://github.com/perl5-dbi/DBD-mysql/issues/197
- https://github.com/perl5-dbi/DBD-mysql/issues/201
- https://github.com/perl5-dbi/DBD-mysql/issues/203
- https://github.com/perl5-dbi/DBD-mysql/issues/204
- https://github.com/perl5-dbi/DBD-mysql/issues/207
- https://github.com/perl5-dbi/DBD-mysql/issues/211
- https://github.com/perl5-dbi/DBD-mysql/issues/212
- https://github.com/perl5-dbi/DBD-mysql/issues/214
- https://github.com/perl5-dbi/DBD-mysql/issues/215
- https://github.com/perl5-dbi/DBD-mysql/issues/218
- https://github.com/perl5-dbi/DBD-mysql/issues/219
- https://github.com/perl5-dbi/DBD-mysql/issues/220
- https://github.com/perl5-dbi/DBD-mysql/issues/221
- https://github.com/perl5-dbi/DBD-mysql/issues/228
- https://github.com/perl5-dbi/DBD-mysql/issues/232
- https://github.com/perl5-dbi/DBD-mysql/issues/244
- https://github.com/perl5-dbi/DBD-mysql/issues/249
- https://github.com/perl5-dbi/DBD-mysql/issues/250
- https://github.com/perl5-dbi/DBD-mysql/issues/251
- https://github.com/perl5-dbi/DBD-mysql/pull/133
- https://github.com/perl5-dbi/DBD-mysql/pull/138
- https://github.com/perl5-dbi/DBD-mysql/pull/223
- https://github.com/perl5-dbi/DBD-mysql/pull/224
- https://github.com/perl5-dbi/DBD-mysql/pull/225#issuecomment-357522793
- https://github.com/perl5-dbi/DBD-mysql/pull/227
- https://github.com/perl5-dbi/DBD-mysql/pull/230
- https://github.com/perl5-dbi/DBD-mysql/pull/245
- https://github.com/perl5-dbi/DBD-mysql/pull/246
- https://rt.cpan.org/Public/Bug/Display.html?id=25590
- https://rt.cpan.org/Public/Bug/Display.html?id=53130
- https://rt.cpan.org/Public/Bug/Display.html?id=60987
- https://rt.cpan.org/Public/Bug/Display.html?id=62516
- https://rt.cpan.org/Public/Bug/Display.html?id=87428
- https://rt.cpan.org/Public/Bug/Display.html?id=97541
- https://rt.cpan.org/Public/Bug/Display.html?id=103306
- https://rt.cpan.org/Public/Bug/Display.html?id=106527
- https://rt.cpan.org/Public/Bug/Display.html?id=108650
- https://rt.cpan.org/Public/Bug/Display.html?id=110983
- https://rt.cpan.org/Public/Bug/Display.html?id=118837
- https://rt.cpan.org/Public/Bug/Display.html?id=118977
- https://rt.cpan.org/Public/Bug/Display.html?id=119902
- https://rt.cpan.org/Public/Bug/Display.html?id=119904
- https://rt.cpan.org/Public/Bug/Display.html?id=120141
- https://rt.cpan.org/Public/Bug/Display.html?id=120709
- https://rt.cpan.org/Public/Bug/Display.html?id=122065
- https://rt.cpan.org/Public/Bug/Display.html?id=122429
- https://rt.cpan.org/Public/Bug/Display.html?id=122431
- https://rt.cpan.org/Public/Bug/Display.html?id=122541
- https://rt.cpan.org/Public/Bug/Display.html?id=123826
- https://rt.cpan.org/Public/Bug/Display.html?id=125517