-
Notifications
You must be signed in to change notification settings - Fork 17
/
Changes
232 lines (218 loc) · 11.7 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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
1.23 2023-09-10
- Add a missing break
(https://github.com/perl5-dbi/DBD-MariaDB/issues/163)
- Signal error if mariadb_db_async_result() fails
(https://github.com/perl5-dbi/DBD-MariaDB/issues/162)
- Update links to project website, issues and years
- Fix compilation with some MariaDB client library 10.2 and 10.3 versions
- Fix mariadb_use_result attribute
(https://github.com/perl5-dbi/DBD-MariaDB/issues/173)
- Fix statements with multiple result sets in asynchronous mode
- Fix mariadb_sockfd attribute for Windows
- Croaks when changing AutoCommit attribute fails
(https://github.com/perl5-dbi/dbi/issues/104)
- Various documentation and tests fixes
- Fix support for MariaDB Connector/C prior to 3.1.3 version
- Fix usage of Win32::GetShortPathName() in Makefile.PL
- Build release tarball in TAR format (instead of PAX)
- Allow to query and change mariadb_multi_statements attribute
- Add connect option mariadb_auth_plugin for specifying auth plugin
- Fix support for MySQL 8.0+ client library
(https://github.com/perl5-dbi/DBD-MariaDB/issues/191)
(https://github.com/perl5-dbi/DBD-mysql/issues/329)
- Add Github Actions CI and Cirrus CI (FreeBSD) for automated testing
1.22 2022-04-22
- Disable usage of libmysqld.a from MySQL 8.x series
- Install README.pod into DBD/MariaDB/ subdirectory
(https://github.com/perl5-dbi/DBD-MariaDB/issues/146)
- Do not export driver private C functions
- Fix typo in error message
- Fix compatibility with new MariaDB client and server versions
(https://github.com/perl5-dbi/DBD-MariaDB/issues/164)
(https://github.com/perl5-dbi/DBD-MariaDB/issues/167)
(https://github.com/perl5-dbi/DBD-mysql/issues/333)
1.21 2019-02-27
- Fix skipping test t/14destruct.t
- Revert "MySQL bug #93276 is fixed in 8.0.15"
(https://github.com/perl5-dbi/DBD-MariaDB/issues/137)
1.20 2019-02-22
- Fix compilation on Windows
- Fix tests for MariaDB 10.2.20+, 10.3.12+ and 10.4.1+
- Fix processing of unfetched multi result sets
- Cover a protocol design error for multi result statements
- Fix $dbh->last_insert_id for async calls and multi result statements
- Add more robust solution to prevent deinitializing OpenSSL functions
(https://github.com/perl5-dbi/DBD-MariaDB/issues/119)
- Set $sth->{Active} to off after fetching all data
(https://github.com/jhthorsen/mojo-mysql/pull/47#issuecomment-448095164)
- Fix $sth->rows for async, multi results and when error occurred
- Fix disconnect_all() method to work also during global destruction phase
- Address MySQL bug #93276 which is fixed in 8.0.15
1.11 2019-01-02
- Fix breakage of Net::SSLeay / OpenSSL library after DBI disconnect
(https://github.com/perl5-dbi/DBD-MariaDB/issues/119)
1.10 2018-12-05
- Fix spelling error (https://github.com/perl5-dbi/DBD-MariaDB/issues/82)
- Fix MinGW build (https://github.com/perl5-dbi/DBD-MariaDB/issues/91)
- Fix DBI SQL types (https://github.com/perl5-dbi/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/perl5-dbi/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