Bug #101504 ERROR 3566 (HY000): Access to native function is rejected
Submitted: 7 Nov 2020 19:05 Modified: 24 Nov 2020 18:25
Reporter: Tomer Shay Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Information schema Severity:S3 (Non-critical)
Version:8.0.22 OS:Ubuntu
Assigned to: CPU Architecture:Any
Tags: regression

[7 Nov 2020 19:05] Tomer Shay
When executing the query below in MySQL 8.0.22, the following error occurs:

ERROR 3566 (HY000): Access to native function 'internal_table_rows' is rejected.

A very similar error is shown when using other columns as well, for example when replacing TABLE_ROWS with INDEX_LENGTH, but it doesn't occur with columns such as TABLE_NAME.

It seems that this change of behavior was introduced in version 8.0.22, as the same query is working properly in previous versions, including 8.0.21.

How to repeat:
1. Install MySQL 8.0.22
2. Run the following demo query:

    (SELECT (@tbls:=1),
            (SELECT 1 FROM information_schema.tables tbls
             WHERE 123 IN (CONCAT_WS(TABLE_ROWS, '')))
    tbls) x);
[8 Nov 2020 3:43] MySQL Verification Team
Hello Tomer Shay,

Thank you for the report and feedback.

[24 Nov 2020 18:24] Paul DuBois
Posted by developer:
Fixed in 8.0.23.

Queries on INFORMATION_SCHEMA tables that involved materialized
derived tables could fail.
[24 Nov 2020 19:18] John Carew
This same error occurs internal_index_column_cardinality as well.