[Bug] When using the hive catalog the hive table name is uppercase, the Doris query is reported wrong #29058 (#29059)

This commit is contained in:
Guangming Lu
2023-12-31 13:48:08 +08:00
committed by GitHub
parent 74202fe7e2
commit f92c0acba0
3 changed files with 6 additions and 4 deletions

View File

@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
package org.apache.doris.datasource.hive.event;
import org.apache.doris.catalog.Env;
@ -29,6 +28,7 @@ import org.apache.hadoop.hive.metastore.messaging.json.JSONAlterTableMessage;
import java.security.SecureRandom;
import java.util.List;
import java.util.Locale;
/**
* MetastoreEvent for ALTER_TABLE event type
@ -65,6 +65,7 @@ public class AlterTableEvent extends MetastoreTableEvent {
(JSONAlterTableMessage) MetastoreEventsProcessor.getMessageDeserializer(event.getMessageFormat())
.getAlterTableMessage(event.getMessage());
tableAfter = Preconditions.checkNotNull(alterTableMessage.getTableObjAfter());
tableAfter.setTableName(tableAfter.getTableName().toLowerCase(Locale.ROOT));
tableBefore = Preconditions.checkNotNull(alterTableMessage.getTableObjBefore());
tblNameAfter = tableAfter.getTableName();
} catch (Exception e) {

View File

@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
package org.apache.doris.datasource.hive.event;
import org.apache.doris.catalog.Env;
@ -28,6 +27,7 @@ import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
import java.util.List;
import java.util.Locale;
/**
* MetastoreEvent for CREATE_TABLE event type
@ -51,6 +51,7 @@ public class CreateTableEvent extends MetastoreTableEvent {
MetastoreEventsProcessor.getMessageDeserializer(event.getMessageFormat())
.getCreateTableMessage(event.getMessage());
hmsTbl = Preconditions.checkNotNull(createTableMessage.getTableObj());
hmsTbl.setTableName(hmsTbl.getTableName().toLowerCase(Locale.ROOT));
} catch (Exception e) {
throw new MetastoreNotificationException(
debugString("Unable to deserialize the event message"), e);

View File

@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
package org.apache.doris.datasource.hive.event;
import org.apache.doris.datasource.hive.HMSCachedClient;
@ -25,6 +24,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.List;
import java.util.Locale;
import java.util.Map;
/**
@ -77,7 +77,7 @@ public abstract class MetastoreEvent {
protected MetastoreEvent(NotificationEvent event, String catalogName) {
this.event = event;
this.dbName = event.getDbName();
this.dbName = event.getDbName().toLowerCase(Locale.ROOT);
this.tblName = event.getTableName();
this.eventId = event.getEventId();
this.eventTime = event.getEventTime() * 1000L;