haizhou-zhao opened a new issue, #8832:
URL: https://github.com/apache/iceberg/issues/8832
### Apache Iceberg version
main (development)
### Query engine
Other
### Please describe the bug 🐞
Currently, JdbcCatalog relies on this sql statement to check whether a
namespace exists:
`"SELECT TABLE_NAMESPACE FROM CATALOG_TABLE_NAME WHERE CATALOG_NAME = {}
AND TABLE_NAMESPACE LIKE {}% LIMIT 1"`
It gives undesired result in this scenario:
1. Create a namespace `my_ns`
2. Create a namespace `my_ns_1`
3. Create a table `my_ns_1.tbl1`
4. Drop namespace `my_ns`
5. Check namespace exists on `my_ns` will return true, which should have
been false
It happens because, at step 5, `my_ns_1` still exists and matches query
`"SELECT TABLE_NAMESPACE FROM CATALOG_TABLE_NAME WHERE CATALOG_NAME = jdbc
AND TABLE_NAMESPACE LIKE my_ns% LIMIT 1"`. I believe the root cause is that
particular sql statement, with regex like "my_ns%", cannot different between
"my_ns" and "my_ns_1".
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]