Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Fix
-
10.1.10
-
None
Description
This appears to be an issue where somehow a MariaDB dynamic column value has corrupted and a query can no longer be run on this row.
Running a query like:
SELECT COLUMN_GET(`Fields`, 'SampleName' AS CHAR) FROM `mytablehere`;
would generate an error like:
Character set '#0' is not a compiled character set and is not specified in the 'C:\Program Files\MariaDB 10.1\share\charsets\Index.xml' file
We realized that if we filtered on certain rows, some would work. We were able to isolate to the row(s) in question with a query like:
SELECT COLUMN_GET(`Fields`, 'SampleName' AS CHAR) FROM `mytablehere` WHERE Id IN(43) ;
In this case, Id=43 would fail as before. Looking at the next row, the (Id=44), it had a Sample Name of "[NUL]00 std" when it should have been "100 std", and in this case the NUL is the NULL (0x00) character code that I could see when pasting the value in Notepad++ and viewing all characters/symbols. You actually don't see anything when viewing the result of the query in SQLYog due to that leading NULL, but Notepad++ came to the rescue.
So, something managed to break an entry for the row before completely, and then carried over to the next row to corrupt it too. Any clue as to what may cause something like that? Was there inadvertently a control code character somehow entered in a particular Sample Name that could take out the query?