Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
MazterQyou committed Sep 25, 2024
1 parent 1ba356b commit d82f84b
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,16 @@ fn expr_to_column_with_relation(e: &Expr, schema: &Arc<DFSchema>) -> Result<Colu
}
}

fn create_truncated_alias(original_alias: &str) -> String {
static NON_ID_REGEX: LazyLock<Regex> = LazyLock::new(|| Regex::new(r"[^a-zA-Z0-9_]").unwrap());
let mut truncated_alias = NON_ID_REGEX
.replace_all(&original_alias, "_")
.trim_start_matches("_")
.to_lowercase();
truncated_alias.truncate(16);
truncated_alias
}

pub struct SqlGenerationResult {
pub data_source: Option<String>,
pub from_alias: Option<String>,
Expand Down Expand Up @@ -343,7 +353,7 @@ impl CubeScanWrapperNode {
schema
.fields()
.iter()
.map(|f| MemberField::Member(column_remapping.get(&Column::from_name(f.name().to_string())).map(|x| x.name.to_string()).unwrap_or(f.name().to_string())))
.map(|f| MemberField::Member(column_remapping.get(&Column::from_name(f.name().to_string())).map(|x| x.name.to_string()).unwrap_or(create_truncated_alias(f.name()))))
.collect()
} else {
schema
Expand Down Expand Up @@ -970,9 +980,6 @@ impl CubeScanWrapperNode {
ungrouped_scan_node: Option<Arc<CubeScanNode>>,
subqueries: Arc<HashMap<String, String>>,
) -> result::Result<(Vec<AliasedColumn>, SqlQuery), CubeError> {
static NON_ID_REGEX: LazyLock<Regex> =
LazyLock::new(|| Regex::new(r"[^a-zA-Z0-9_]").unwrap());

let mut aliased_columns = Vec::new();
for original_expr in exprs {
let expr = if let Some(column_remapping) = column_remapping.as_ref() {
Expand Down Expand Up @@ -1022,11 +1029,7 @@ impl CubeScanWrapperNode {
let original_alias = expr_name(&original_expr, &schema)?;
let alias = if can_rename_columns {
let alias = expr_name(&expr, &schema)?;
let mut truncated_alias = NON_ID_REGEX
.replace_all(&alias, "_")
.trim_start_matches("_")
.to_lowercase();
truncated_alias.truncate(16);
let truncated_alias = create_truncated_alias(&alias);
let mut alias = truncated_alias.clone();
for i in 1..10000 {
if !next_remapping
Expand Down

0 comments on commit d82f84b

Please sign in to comment.