(improvement)(headless) When retrieving all field names, consider alias fields. (#1751)

This commit is contained in:
lexluo09
2024-10-05 13:24:16 +08:00
committed by GitHub
parent 71a9954be5
commit ff709aec60
2 changed files with 18 additions and 2 deletions

View File

@@ -1,7 +1,10 @@
package com.tencent.supersonic.common.jsqlparser;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.ExpressionVisitorAdapter;
import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.statement.select.SelectItem;
import java.util.Set;
@@ -18,4 +21,16 @@ public class FieldAcquireVisitor extends ExpressionVisitorAdapter {
String columnName = column.getColumnName();
fields.add(columnName);
}
@Override
public void visit(SelectItem selectItem) {
Alias alias = selectItem.getAlias();
if (alias != null) {
fields.add(alias.getName());
}
Expression expression = selectItem.getExpression();
if (expression != null) {
expression.accept(this);
}
}
}

View File

@@ -1,12 +1,13 @@
package com.tencent.supersonic.common.util;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest;
import java.security.spec.KeySpec;
import java.util.Arrays;