maria:bb-10.2-decimal

Last commit made on 2016-06-23
Get this branch:
git clone -b bb-10.2-decimal https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-decimal
Repository:
lp:maria

Recent commits

a0d9f20... by Monty <email address hidden> on 2016-06-23

Fixed compiler warnings and test failures found by buildbot
Fixed ccfilter to detect errors where the column is included in the error message

ec38c7e... by Monty <email address hidden> on 2016-06-19

MDEV-10219 rpl.rpl_parallel_temptable failed in buildbot: Assertion `!table || !table->in_use || table->in_use == _current_thd()' failed

Problem was that table->in_use was not properly set when dropping a temporary for the slave.

838205f... by Monty <email address hidden> on 2016-06-19

Fixed compiler warnings and test failures found by buildbot

34eb10e... by Monty <email address hidden> on 2016-06-18

MDEV-10138 Support for decimals up to 38 digits

Decimals with float, double and decimal now works the following way:

- DECIMAL_NOT_SPECIFIED is used when declaring DECIMALS without a firm number
  of decimals. It's only used in asserts and my_decimal_int_part.
- FLOATING_POINT_DECIMALS (31) is used to mark that a FLOAT or DOUBLE
  was defined without decimals. This is regarded as a floating point value.
- Max decimals allowed for FLOAT and DOUBLE is FLOATING_POINT_DECIMALS-1
- Clients assumes that float and double with decimals >= NOT_FIXED_DEC are
  floating point values (no decimals)
- In the .frm decimals=FLOATING_POINT_DECIMALS are used to define
  floating point for float and double (31, like before)

To ensure compatibility with old clients we do:

- When storing float and double, we change NOT_FIXED_DEC to
  FLOATING_POINT_DECIMALS.
- When creating fields from .frm we change for float and double
  FLOATING_POINT_DEC to NOT_FIXED_DEC
- When sending definition for a float/decimal field without decimals
  to the client as part of a result set we convert NOT_FIXED_DEC to
  FLOATING_POINT_DECIMALS.
- variance() and std() has changed to limit the decimals to
  FLOATING_POINT_DECIMALS -1 to not get the double converted floating point.
  (This was to preserve compatiblity)
- FLOAT and DOUBLE still have 30 as max number of decimals.

Bugs fixed:

variance() printed more decimals than we support for double values.

New behaviour:
- Strings now have 38 decimals instead of 30 when converted to decimal
- CREATE ... SELECT with a decimal with > 30 decimals will create a column
  with a smaller range than before as we are trying to preserve the number of
  decimals.

Other changes
- We are now using the obsolete bit FIELDFLAG_LEFT_FULLSCREEN to specify
  decimals > 31
- NOT_FIXED_DEC is now declared in one place
- For clients, NOT_FIXED_DEC is always 31 (to ensure compatibility).
  On the server NOT_FIXED_DEC is DECIMAL_NOT_SPECIFIED (39)
- AUTO_SEC_PART_DIGITS is taken from DECIMAL_NOT_SPECIFIED
- DOUBLE conversion functions are now using DECIMAL_NOT_SPECIFIED instead of
  NOT_FIXED_DEC

e4062d4... by Monty <email address hidden> on 2016-06-18

Fixed compiler warnings
Added my_global.h to PerconeFT to avoid "error <my_config.h> MUST be included first"

cc3190e... by Elena Stepanova <email address hidden> on 2016-06-19

Follow-up for MDEV-6720 (enable connection log in mysqltest by default)

Some rdiff files in storage_engine test suite need to be updated accordingly

5b008d4... by Sergey Vojtovich on 2016-06-14

Merge pull request #181 from ottok/ok-debpkg-10.2

General spell fixing in comments and strings

9f9eb68... by Sergei Golubchik on 2016-06-13

MDEV-10098 main.create_delayed fails with ps-protocol: assertion `global_status_var.global_memory_used >= 0' failed

Remove the assert. We cannot verify that
global_memory_used value is valid (>=0)
because some of updates are cached in individual THD's
(e.g. THD1 can have +300 cached, while the other THD2
can have -300 cached. If the second THD exists before
the first one, global_memory_used will be -300
temporarily).

Instead add the assert just before the exit, when all
THDs been already destroyed.

e65703c... by Sergei Golubchik on 2016-06-13

cleanup

always update global_status_var.global_memory_used
through update_global_memory_status()

b2ae32a... by Nirbhay Choubey on 2016-06-10

MDEV-5535: Cannot reopen temporary table

Since a query can now refer to the same temporary table
multiple times, find_dup_table()/find_table_in_list()
have been updated to also consider this new possibility.