[fix](auth)Auth support case insensitive (#36381) (#36557)

pick from: #36381
This commit is contained in:
zhangdong
2024-06-20 18:31:30 +08:00
committed by GitHub
parent f7f7b2b738
commit 22d37ba3fe
3 changed files with 56 additions and 1 deletions

View File

@ -5921,6 +5921,10 @@ public class Env {
return GlobalVariable.lowerCaseTableNames == 2;
}
public static boolean isTableNamesCaseSensitive() {
return GlobalVariable.lowerCaseTableNames == 0;
}
private static void getTableMeta(OlapTable olapTable, TGetMetaDBMeta dbMeta) {
if (LOG.isDebugEnabled()) {
LOG.debug("get table meta. table: {}", olapTable.getName());

View File

@ -17,6 +17,7 @@
package org.apache.doris.mysql.privilege;
import org.apache.doris.catalog.Env;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.PatternMatcher;
@ -58,7 +59,7 @@ public class TablePrivEntry extends DbPrivEntry {
ctl, CaseSensibility.CATALOG.getCaseSensibility(), ctl.equals(ANY_CTL));
PatternMatcher tblPattern = PatternMatcher.createFlatPattern(
tbl, CaseSensibility.TABLE.getCaseSensibility(), tbl.equals(ANY_TBL));
tbl, Env.isTableNamesCaseSensitive(), tbl.equals(ANY_TBL));
if (privs.containsNodePriv() || privs.containsResourcePriv()) {
throw new AnalysisException("Table privilege can not contains global or resource privileges: " + privs);