Class SqlParseUtils


  • public class SqlParseUtils
    extends Object
    Utils methods for parsing DDLs.
    • Method Detail

      • getPartitionKVs

        public static LinkedHashMap<String,​String> getPartitionKVs​(org.apache.calcite.sql.SqlNodeList partitionSpec)
        Get static partition key value pair as strings.

        For character literals we return the unquoted and unescaped values. For other types we use SqlNode.toString() to get the string format of the value literal.

        Returns:
        the mapping of column names to values of partition specifications, returns an empty map if there is no partition specifications.
      • extractString

        @Nullable
        public static String extractString​(@Nullable
                                           org.apache.calcite.sql.SqlLiteral literal)
      • extractString

        @Nullable
        public static String extractString​(@Nullable
                                           org.apache.calcite.sql.SqlNode node)
      • extractMap

        public static Map<String,​String> extractMap​(@Nullable
                                                          org.apache.calcite.sql.SqlNodeList propList)
      • extractList

        public static List<String> extractList​(@Nullable
                                               org.apache.calcite.sql.SqlNodeList sqlNodeList,
                                               Function<org.apache.calcite.sql.SqlNode,​String> mapper)
      • extractSet

        public static Set<String> extractSet​(@Nullable
                                             org.apache.calcite.sql.SqlNodeList sqlNodeList,
                                             Function<org.apache.calcite.sql.SqlNode,​String> mapper)
      • extractEnum

        @Nullable
        public static <T extends Enum<T>> T extractEnum​(@Nullable
                                                        org.apache.calcite.sql.SqlLiteral literal,
                                                        Class<T> enumClass)