@Override public void analyze(Analyzer analyzer) throws AnalysisException { if (isAnalyzed) { return; } super.analyze(analyzer); desc = analyzer.registerColumnRef(tblName, col); type = desc.getType(); if (!type.isSupported()) { throw new AnalysisException( "Unsupported type '" + type.toString() + "' in '" + toSql() + "'."); } numDistinctValues = desc.getStats().getNumDistinctValues(); }