presto-main/src/main/java/io/prestosql/sql/planner/iterative/rule/CanonicalizeExpressionRewriter.java/CanonicalizeExpressionRewriter/rewriteCurrentTime
class CanonicalizeExpressionRewriter:        @Override
        public Expression rewriteCurrentTime(CurrentTime node, Void context, ExpressionTreeRewriter<Void> treeRewriter)
        {
            if (node.getPrecision() != null) {
                throw new UnsupportedOperationException("not yet implemented: non-default precision");
            }

            switch (node.getFunction()) {
                case DATE:
                    return new FunctionCallBuilder(metadata)
                            .setName(QualifiedName.of("current_date"))
                            .build();
                case TIME:
                    return new FunctionCallBuilder(metadata)
                            .setName(QualifiedName.of("current_time"))
                            .build();
                case LOCALTIME:
                    return new FunctionCallBuilder(metadata)
                            .setName(QualifiedName.of("localtime"))
                            .build();
                case TIMESTAMP:
                    return new FunctionCallBuilder(metadata)
                            .setName(QualifiedName.of("current_timestamp"))
                            .build();
                case LOCALTIMESTAMP:
                    return new FunctionCallBuilder(metadata)
                            .setName(QualifiedName.of("localtimestamp"))
                            .build();
                default:
                    throw new UnsupportedOperationException("not yet implemented: " + node.getFunction());
            }
        }