[MDEV-26227] Convert Character Set of backing table leads to empty graph table Created: 2021-07-23  Updated: 2021-07-23

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - OQGRAPH
Affects Version/s: 10.5.8
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Lennard Dietz Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: character-set, oqgraph

Issue Links:
Relates
relates to MDEV-17172 ALTER TABLE on the base table of a OQ... Confirmed

 Description   

Hello guys,
we have a problem that could be very similar to the one mentioned in MDEV-17172.

When updating the charset of an empty backing table, we will no more get any results when calling the OQGRAPH table, i.e. every request returns an empty set.

It only happens in the following case:

# Create empty backing and oqgraph tables
 
# Initially the result set is empty, which is expected
SELECT * FROM graph;
 
/*
This changes some varchar columns of the backing table to be a different CHARSET
and COLLATION. None of these columns are used in the graph table.
*/
ALTER TABLE backing CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
 
# Insert some data into backing table
# INSERT INTO backing ...
#
 
# Here it returns an empty result set
SELECT * FROM graph;

The error does not seem to happen, if we remove the first `
SELECT * FROM graph;` query, so for us it seems like the state of the database is cached (or something alike) in the state before the ALTER TABLE call and when later adding data, it is not reflected in the graph table.

Recreating the graph table or restarting the database server helped in 95% of the time.


Generated at Thu Feb 08 09:43:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.