The problem was that in debugging binaries it try to print item to assign human readable name to the item.
But subquery item was already freed (join_free/cleanup with full cleanup) so Item_field refers to temporary
table which memory had been already freed.
When inserting a record with update on duplicate keys the server calls
the ha_index_read_idx_map handler function to look for the record
that violates unique key constraints. The third parameter of this call
should mark only the base components of the index where the server is
searched for the record. Possible hidden components of the primary key
are to be unmarked.
If the setting of system variables does not allow to use join buffer
for a join query with GROUP BY <f1,...> / ORDER BY <f1,...> then
filesort is not needed if the first joined table is scanned in
the order compatible with order specified by the list <f1,...>.
Fix some problems in the TC_LOG_MMAP commit processing, which could
lead to assertions in some cases.
Problems are mostly reproducible in MariaDB 10.0 with asynchroneous
commit checkpoints, but most of the problems were present in earlier
versions also.
Debian packaging, part II.
Changes in the set of package-related files. Some were removed, some renamed,
as we only keep the mariadb-galera-server package.
Debian/Ubuntu packages fixed.
The mariadb-server-5.5 and mariadb-server packages became
mariadb-galera-server-5.5 and mariadb-galera-server respectively.
The rest of packages are removed from the build.
This patch reflects only files that were changed.
Second part of this patch has only file renaming/deletions.
fix: don't call field->val_decimal() if the field->is_null()
because the buffer at field->ptr might not hold a valid decimal value
sql/item_sum.cc:
do not call field->val_decimal() if the field->is_null()
storage/maria/ma_blockrec.c:
cleanup
storage/maria/ma_rrnd.c:
cleanup
strings/decimal.c:
typo
mysql_config:
- add not only $pkgincludedir, but also $pkgincludedir/.. to the header search path,
for #include <mysql/plugin.h> to work
scripts/mysql_config.sh:
- don't support headers in */include anymore. only in */include/mysql
- remove the incorrect "bug fix" (fixed correctly long time ago)
- add not only $pkgincludedir, but also $pkgincludedir/.. to the header search path,
for #include <mysql/plugin.h> to work
- but don't do it, if $pkgincludedir/.. is /usr/include
Take into account that length of strings passed down to this function can be up to FN_REFLEN+1 bytes. including terminating zero.
The overwrite was caused by incomplete fix to MySQL Bug # 44834
If triggers are used for an insert/update/delete statement than the values of
all virtual columns must be computed as any of them may be used by the triggers.
The problem is that memory alocated by copy_andor_structure() well be freed,
but if level of SELECT_LEX it will be excluded (in case of merge derived tables and view)
then sl->where/having will not be updated here but still can be accessed (so it will be access to freed memory).
(patch by Sanja)
Avoid inclusion of Windows headers via client API headers, since it traditionally
lead to different subtle compilation problems. Instead define my_socket in a way that is compatible with SOCKET (unsigned int in 32 bit , unsigned longlong in 64 bit)