maria:columnstore_cache

Last commit made on 2020-08-11
Get this branch:
git clone -b columnstore_cache https://git.launchpad.net/maria

Branch merges

Branch information

Name:
columnstore_cache
Repository:
lp:maria

Recent commits

1ff23d0... by Monty <email address hidden>

Fixed bug in free locks that caused rows in cache to not be properly flushed

Fixed by doing adding external_lock(F_UNLCK) in free_locks.
I also moved unlock of cache_handler to be after changing lock type of
cached tables to ensure that no one can use cached table while this is
happening (as cache table is locked with write lock).
I also fixed a wrong mutex order bug in ha_cache::flush_insert_cache()

Other things:
- Addded share::cached_rows to track inserted rows. This is only used
  for asserts to check the number of rows in the cache.
- Fixed wrong mysql_file_chsize() in case of repair

36590b3... by Monty <email address hidden>

Added test of usage of two instances of a cached table

ba731bd... by Monty <email address hidden>

Fixed crashed bug on simple insert

Other things:
- Added test from columnstore team
- Fixed two reported bugs from columnstore team
- Call free_locks as part of start_trans() instead of get_status()
  to ensure that we have locks both for cached table and cache table
  before we try to free any.
- Store pointers to lock->get_status and lock->update_status for the
  cached table. Was needed by ha_tina in flush_insert_cache to make
  new insert rows visible for the SELECT that caused the flush

0463e1f... by Monty <email address hidden>

Fixed bug in cache:

- The THR_LOCK org_lock must be stored in a shared structure so that all
  instances of a table can use it. Fixed by adding a ha_cache_share object
  that keeps track of this one.
- Fixed wrong test in get_status_and_flush_cache to detect in insert command
- Fixed in get_status_and_flush_cache that we always free the insert lock
  if we don't need it.

0dd1407... by Monty <email address hidden>

Column_store_cache, stage 1

This is implemented on top of csv engine. Should be moved to ColumnStore
ASAP

6af0bd6... by Faustin

MDEV-15526 systemd unit files naming and installation

Drop Aliases from the service file directive. Aliases in the service
file only take effect when the service is enabled. This is the case
because Aliases in service files do not have to be unique across various
services.

Shipping symlinks guarantees that one can always enable mariadb service
using `systemctl enable mysql` or `systemctl enable mysqld` and makes
the commands indempotent.

afde33f... by Vicențiu Ciorbaru

Update plugins.pam_* tests to no longer provide --plugin-dir to mysqltest

Post change of 8447edb7473c5532ecb2544ce6d00d5a868f5bd5, --plugin-dir
is set in the default my.cnf file under [client]. The value is automatically
detected during mtr startup.

181f17c... by Kentoku SHIBA

MDEV-20502 Queries against spider tables return wrong values for columns following constant declarations.

When executing a query like "select id, 0 as const, val from ...", there are 3 columns(items) in Query->select at handlerton->create_group_by(). After that, MariaDB makes a temporary table with 2 columns. The skipped items are const item, so fixing Spider to skip const items for items at Query->select.

b4dd996... by Kentoku SHIBA

MDEV-21884 MariaDB with Spider crashes on a query

e2a932c... by Vladislav Vaintroub

Post-fixes for MDEV-18851 for Windows

- On Windows, do not handle lack of SeLockMemory privilege as fatal error.
Just like on any other platform, there is a fallback to ordinary pages.
It is better than server that does not start, silently.

- On Windows, remove incorrect irritating "fallback to conventional pages failed"
from the warning, when allocating large pages fails.