Release Notes for MariaDB Xpand 6.0.5

Overview

MariaDB Xpand is a distributed SQL database.

MariaDB Xpand 6.0.5 was released on 2022-08-16.

Notable Changes

  • statd.py can accept the database user password from an environment variable. (XPT-320)

    • Providing the password via an environment variable can be more secure than providing it using the --password command-line option, because the command-line option appears in the output of ps.

    • When the -E command-line option is specified, the database user password is read from the XPAND_SQL_PASSWD environment variable:

      $ export XPAND_SQL_PASSWD='USER_PASSWORD'
      $ /opt/clustrix/bin/statd.py --host 'HOSTNAME' --user 'USER_NAME' -E
      
  • The clx_import utility is Generally Available (GA) and installed by default. (XPT-351)

Issues Fixed

Can result in a hang or crash

  • When a SELECT statement contains a IS NOT NULL filter and the table contains a Columnar index, Xpand can crash with a segmentation fault.

  • When the TYPEOF() function is called with incorrect number of parameters, Xpand crashes with a segmentation fault. (XPT-349)

Can result in unexpected behavior

  • When an UPDATE is executed on a table that has a TIMESTAMP or DATETIME column defined with ON UPDATE NOW(), the column's value is not updated to the current timestamp if the table also has a trigger defined with BEFORE UPDATE .. FOR EACH ROW. (XPT-416)

    • Starting with this release, Xpand updates columns defined with ON UPDATE NOW() when the table also has a trigger defined with BEFORE UPDATE .. FOR EACH ROW.

  • When a complex view or query uses distributed scalar aggregation, compilation can fail with an error. (XPT-344)

    • In previous releases, the following error could be raised:

      ERROR 1 (42000): [1024] Generic Error: Cannot rewire column(s) to column "COLUMN_NAME":
      t_column<name="COLUMN_NAME", row=HEX:t_container_read#, value_type=:HEX; from=; to=COLUMN_NAME<t_column_edge>>
      
  • When a join predicate has an expression, the cardinality estimation can be incorrect. (XPT-328)

  • When a device fails to activate due to memory pressure, Xpand disables the device, which prevents the device from being activated after fixing the memory issues. (XPT-444)

  • Symbolic links for the current log file use absolute paths instead of relative paths. (XPT-436)

  • When Xpand transmits a YEAR value with the binary protocol, Xpand transmits the value in its internal encoding, which does not match the actual value. (XPT-269)

  • Xpand logs contain spurious license errors. (XPT-347)

    • In previous releases, the following spurious license error could be written to the logs:

      clxnode: ERROR dbcore/license.ct:120 required_mac(): can't find default network
      
  • The clx_import utility fails with an error when single quotes are used. (XPT-417)

    • In previous releases, the following error could be raised:

      Unrecognized string: 'FILE' into table TABLE columns terminated by ',' optionally enclosed by '''
      Traceback (most recent call last):
        File "./clx_import", line 1495, in run
          super(CFThread, self).run(*args, **kwargs)
        File "/usr/lib64/python2.7/threading.py", line 765, in run
          self.__target(*self.__args, **self.__kwargs)
        File "./clx_import", line 1098, in ldi_main
          dialect, fname, table, charset, ignore, repign = parse_ldi(ldi_re, gargs.ldi)
        File "./clx_import", line 1070, in parse_ldi
          raise RuntimeError("Unrecognized option string. See documentation for supported options.")
      RuntimeError: Unrecognized option string. See documentation for supported options.
      

Installation Instructions

Upgrade Instructions