Package io.trino.plugin.hive.metastore
Class MetastoreUtil
java.lang.Object
io.trino.plugin.hive.metastore.MetastoreUtil
-
Method Summary
Modifier and TypeMethodDescriptionadjustRowCount(Map<String, String> parameters, String description, long rowCountAdjustment) static PrincipalPrivilegesbuildInitialPrivilegeSet(String tableOwner) static booleancanConvertSqlTypeToStringForParts(Type type, boolean assumeCanonicalPartitionKeys) static TupleDomain<String>computePartitionKeyFilter(List<HiveColumnHandle> partitionKeys, TupleDomain<HiveColumnHandle> effectivePredicate) This method creates a TupleDomain for each partitionKey specifiedstatic PropertiesgetHiveSchema(Partition partition, Table table) static PropertiesgetHiveSchema(Table table) static StringgetPartitionLocation(Table table, Optional<Partition> partition) static ProtectModegetProtectMode(Partition partition) static ProtectModegetProtectMode(Table table) static booleanisAvroTableWithSchemaSet(Table table) static StringmakePartitionName(Table table, Partition partition) static StringmakePartitionName(List<Column> partitionColumns, List<String> values) partitionKeyFilterToStringList(List<String> columnNames, TupleDomain<String> partitionKeysFilter, boolean assumeCanonicalPartitionKeys) static StringsqlScalarToString(Type type, Object value, String nullString) static StringsqlScalarToStringForParts(Type type, Object value, boolean assumeCanonicalPartitionKeys, String partitionWildcardString) static StringtoPartitionName(List<String> names, List<String> values) static voidverifyCanDropColumn(HiveMetastore metastore, String databaseName, String tableName, String columnName) static voidverifyOnline(SchemaTableName tableName, Optional<String> partitionName, ProtectMode protectMode, Map<String, String> parameters)
-
Method Details
-
getHiveSchema
-
getHiveSchema
-
getProtectMode
-
getProtectMode
-
isAvroTableWithSchemaSet
-
makePartitionName
-
makePartitionName
-
toPartitionName
-
getPartitionLocation
-
verifyOnline
public static void verifyOnline(SchemaTableName tableName, Optional<String> partitionName, ProtectMode protectMode, Map<String, String> parameters) -
verifyCanDropColumn
public static void verifyCanDropColumn(HiveMetastore metastore, String databaseName, String tableName, String columnName) -
buildInitialPrivilegeSet
-
partitionKeyFilterToStringList
public static Optional<List<String>> partitionKeyFilterToStringList(List<String> columnNames, TupleDomain<String> partitionKeysFilter, boolean assumeCanonicalPartitionKeys) - Parameters:
assumeCanonicalPartitionKeys- allow conversion of non-char types (eg BIGINT, timestamp) to canonical string formats. If false, non-char types will be replaced with the wildcard- Returns:
- the domain for each partition key to either the wildcard or an equals check, or empty if
TupleDomain.isNone()
-
canConvertSqlTypeToStringForParts
public static boolean canConvertSqlTypeToStringForParts(Type type, boolean assumeCanonicalPartitionKeys) -
sqlScalarToStringForParts
public static String sqlScalarToStringForParts(Type type, Object value, boolean assumeCanonicalPartitionKeys, String partitionWildcardString) - Returns:
- canonical string representation of a given value according to its type. If there isn't a valid conversion, returns ""
-
sqlScalarToString
- Returns:
- canonical string representation of a given value according to its type.
- Throws:
TrinoException- if the type is not supported
-
computePartitionKeyFilter
public static TupleDomain<String> computePartitionKeyFilter(List<HiveColumnHandle> partitionKeys, TupleDomain<HiveColumnHandle> effectivePredicate) This method creates a TupleDomain for each partitionKey specified- Returns:
- filtered version of relevant Domains in effectivePredicate.
-
adjustRowCount
-