[Improvement](data types) enhance show data types stmt (#18831)
This commit is contained in:
@ -24,6 +24,8 @@ import org.apache.doris.common.AnalysisException;
|
||||
import org.apache.doris.common.UserException;
|
||||
import org.apache.doris.qe.ShowResultSetMetaData;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
@ -41,6 +43,20 @@ public class ShowDataTypesStmt extends ShowStmt {
|
||||
return PrimitiveType.getSupportedTypes();
|
||||
}
|
||||
|
||||
public static List<List<String>> getTypesAvailableInDdl() {
|
||||
ArrayList<PrimitiveType> supportedTypes = getTypes();
|
||||
List<List<String>> rows = Lists.newArrayList();
|
||||
for (PrimitiveType type : supportedTypes) {
|
||||
List<String> row = new ArrayList<>();
|
||||
if (type.isAvailableInDdl()) {
|
||||
row.add(type.toString());
|
||||
row.add(Integer.toString(type.getSlotSize()));
|
||||
rows.add(row);
|
||||
}
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void analyze(Analyzer analyzer) throws AnalysisException, UserException {
|
||||
super.analyze(analyzer);
|
||||
|
||||
@ -478,14 +478,7 @@ public class ShowExecutor {
|
||||
|
||||
private void handleShowDataTypes() throws AnalysisException {
|
||||
ShowDataTypesStmt showStmt = (ShowDataTypesStmt) stmt;
|
||||
ArrayList<PrimitiveType> supportedTypes = showStmt.getTypes();
|
||||
List<List<String>> rows = Lists.newArrayList();
|
||||
for (PrimitiveType type : supportedTypes) {
|
||||
List<String> row = new ArrayList<>();
|
||||
row.add(type.toString());
|
||||
row.add(Integer.toString(type.getSlotSize()));
|
||||
rows.add(row);
|
||||
}
|
||||
List<List<String>> rows = showStmt.getTypesAvailableInDdl();
|
||||
showStmt.sortMetaData(rows);
|
||||
resultSet = new ShowResultSet(showStmt.getMetaData(), rows);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user