You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[OceanBase] Materialized views are missing from schema and SELECT fails with masking resource-not-found error #21326
When Bytebase connects to OceanBase 4.3.5, materialized views are not shown in the database schema browser.
Running a direct SELECT against an existing materialized view also fails in Bytebase with the following error (database and object names redacted):
internal: failed to mask data: resource not found: database: <redacted>, schema: , table: <redacted_materialized_view>
The same materialized view is displayed correctly in DBeaver and can be queried successfully there. Navicat does not list the materialized view separately in its object browser, but the same SELECT query still succeeds.
This suggests that Bytebase does not discover or classify OceanBase materialized views correctly, and the data-masking/resource lookup path then treats the materialized view as a missing table.
Steps to reproduce
Connect Bytebase 3.22.0 to an OceanBase 4.3.5 instance containing a materialized view.
Open the corresponding database/schema in Bytebase.
Observe that the materialized view is not listed in the schema browser.
Open the SQL editor and run:
SELECT*FROM<materialized_view>;
Observe the failed to mask data: resource not found error.
Run the same query with the same database account in DBeaver or Navicat and observe that it succeeds.
Expected behavior
OceanBase materialized views should be discovered and displayed in the schema browser.
Direct SELECT queries against existing materialized views should execute successfully.
If data masking applies, Bytebase should resolve the materialized view metadata correctly instead of reporting it as a missing table.
Provide the database you are using
OceanBase 4.3.5
Additional context
DBeaver displays the materialized view and queries it successfully.
Navicat may not display the materialized view separately, but queries it successfully.
Database, schema, and object names have been redacted from the error message for privacy.
Thanks for the detailed report! You're right — Bytebase doesn't currently discover OceanBase materialized views during schema sync, so they're missing from the schema browser, and queries against them then fail the resource lookup during masking checks.
Could you run these on your OceanBase 4.3.5 instance and share the output (redact names as needed)? This will help us see exactly where the metadata is exposed.
SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '<your_database>' AND TABLE_NAME = '<your_materialized_view>';
SHOW TABLES FROM oceanbase LIKE '%MVIEW%';
SHOW TABLES FROM information_schema LIKE '%MVIEW%';
So on this OceanBase instance, the materialized-view metadata appears to be exposed through oceanbase.DBA_MVIEWS, but not through information_schema.TABLES.
Activity
adela-bytebase commentedon Sep 3, 2026
Thanks for the detailed report! You're right — Bytebase doesn't currently discover OceanBase materialized views during schema sync, so they're missing from the schema browser, and queries against them then fail the resource lookup during masking checks.
Could you run these on your OceanBase 4.3.5 instance and share the output (redact names as needed)? This will help us see exactly where the metadata is exposed.
Myifan610 commentedon Sep 3, 2026
Thanks. I ran the queries on OceanBase 4.3.5.
Only the following command returned rows:
Output:
These two queries returned no rows:
However, querying
DBA_MVIEWSdirectly returns the materialized-view names:Output:
So on this OceanBase instance, the materialized-view metadata appears to be exposed through
oceanbase.DBA_MVIEWS, but not throughinformation_schema.TABLES.