PerconaFT encodes already encoded database name for directory name

Description

PerconaFT encodes all single or runs of non alphanumeric characters in a database.table.index name into a single underscore (''). With tokudb_dir_per_db=1 this means that the directory name for the database is also encoded. In MySQL, all database.table.index names are already encoded before going to the storage engine with '@xxxx'. PerconaFT changes the '@' to '' and creates a new directory. For example, database.table named `a:a`.`t1` will be a database given to the storage engine as `a@003aa`.`t1`. There will be a MySQL managed directory in the datadir for this database named 'a@003aa'. PerconaFT changes this to 'a_003aa' and creates a directory with this name. Now SHOW DATABASES command will show databases named `a:a` and `a_003aa`. This causes problems with some automated tools that rely on SHOW DATABASES functionality.

Environment

None

Smart Checklist

Activity

Show:
Done

Details

Assignee

Reporter

Components

Affects versions

Priority

Smart Checklist

Created August 22, 2017 at 10:20 PM
Updated March 6, 2024 at 1:17 PM
Resolved August 31, 2017 at 7:04 PM

Flag notifications