Skip to content

Commit df31a5f

Browse files
authored
chore: TableName use Arc<str> (#293)
* chore: TableName use Arc<str> * chore: update ci toolchain
1 parent c769347 commit df31a5f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+243
-219
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Install latest nightly
1919
uses: actions-rs/toolchain@v1
2020
with:
21-
toolchain: nightly-2024-10-10
21+
toolchain: stable
2222
override: true
2323
components: rustfmt, clippy
2424

@@ -54,7 +54,7 @@ jobs:
5454
- name: Install latest nightly
5555
uses: actions-rs/toolchain@v1
5656
with:
57-
toolchain: nightly-2024-10-10
57+
toolchain: stable
5858
override: true
5959
components: rustfmt, clippy
6060

@@ -75,7 +75,7 @@ jobs:
7575
- name: Install latest nightly
7676
uses: actions-rs/toolchain@v1
7777
with:
78-
toolchain: nightly-2024-10-10
78+
toolchain: stable
7979
override: true
8080
components: rustfmt, clippy
8181

src/binder/alter_table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
1919
name: &ObjectName,
2020
operation: &AlterTableOperation,
2121
) -> Result<LogicalPlan, DatabaseError> {
22-
let table_name: Arc<String> = Arc::new(lower_case_name(name)?);
22+
let table_name: Arc<str> = lower_case_name(name)?.into();
2323
let table = self
2424
.context
2525
.table(table_name.clone())?

src/binder/analyze.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use std::sync::Arc;
1111

1212
impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A> {
1313
pub(crate) fn bind_analyze(&mut self, name: &ObjectName) -> Result<LogicalPlan, DatabaseError> {
14-
let table_name = Arc::new(lower_case_name(name)?);
14+
let table_name: Arc<str> = lower_case_name(name)?.into();
1515

1616
let table = self
1717
.context

src/binder/copy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
8181
return Err(DatabaseError::UnsupportedStmt("'COPY SOURCE'".to_string()));
8282
}
8383
};
84-
let table_name = Arc::new(lower_case_name(&table_name)?);
84+
let table_name: Arc<str> = lower_case_name(&table_name)?.into();
8585

8686
if let Some(table) = self.context.table(table_name.clone())? {
8787
let schema_ref = table.schema_ref().clone();

src/binder/create_index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
2020
if_not_exists: bool,
2121
is_unique: bool,
2222
) -> Result<LogicalPlan, DatabaseError> {
23-
let table_name = Arc::new(lower_case_name(table_name)?);
23+
let table_name: Arc<str> = lower_case_name(table_name)?.into();
2424
let index_name = lower_case_name(name)?;
2525
let ty = if is_unique {
2626
IndexType::Unique

src/binder/create_table.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
2323
constraints: &[TableConstraint],
2424
if_not_exists: bool,
2525
) -> Result<LogicalPlan, DatabaseError> {
26-
let table_name = Arc::new(lower_case_name(name)?);
26+
let table_name: Arc<str> = lower_case_name(name)?.into();
2727

2828
if !is_valid_identifier(&table_name) {
2929
return Err(DatabaseError::InvalidTable(
@@ -196,7 +196,7 @@ mod tests {
196196

197197
match plan1.operator {
198198
Operator::CreateTable(op) => {
199-
assert_eq!(op.table_name, Arc::new("t1".to_string()));
199+
assert_eq!(op.table_name.as_ref(), "t1");
200200
assert_eq!(op.columns[0].name(), "id");
201201
assert_eq!(op.columns[0].nullable(), false);
202202
assert_eq!(

src/binder/create_view.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
2121
columns: &[Ident],
2222
query: &Query,
2323
) -> Result<LogicalPlan, DatabaseError> {
24-
let view_name = Arc::new(lower_case_name(name)?);
24+
let view_name: Arc<str> = lower_case_name(name)?.into();
2525
let mut plan = self.bind_query(query)?;
2626

2727
let mapping_schema = plan.output_schema();

src/binder/delete.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
1717
selection: &Option<Expr>,
1818
) -> Result<LogicalPlan, DatabaseError> {
1919
if let TableFactor::Table { name, alias, .. } = &from.relation {
20-
let table_name = Arc::new(lower_case_name(name)?);
20+
let table_name: Arc<str> = lower_case_name(name)?.into();
2121
let mut table_alias = None;
2222
let mut alias_idents = None;
2323

2424
if let Some(TableAlias { name, columns }) = alias {
25-
table_alias = Some(Arc::new(name.value.to_lowercase()));
25+
table_alias = Some(name.value.to_lowercase().into());
2626
alias_idents = Some(columns);
2727
}
2828
let Source::Table(table) = self

src/binder/describe.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
1313
&mut self,
1414
name: &ObjectName,
1515
) -> Result<LogicalPlan, DatabaseError> {
16-
let table_name = Arc::new(lower_case_name(name)?);
16+
let table_name: Arc<str> = lower_case_name(name)?.into();
1717

1818
Ok(LogicalPlan::new(
1919
Operator::Describe(DescribeOperator { table_name }),

src/binder/drop_index.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::planner::{Childrens, LogicalPlan};
66
use crate::storage::Transaction;
77
use crate::types::value::DataValue;
88
use sqlparser::ast::ObjectName;
9-
use std::sync::Arc;
109

1110
impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A> {
1211
pub(crate) fn bind_drop_index(
@@ -20,7 +19,7 @@ impl<T: Transaction, A: AsRef<[(&'static str, DataValue)]>> Binder<'_, '_, T, A>
2019
.ok_or(DatabaseError::InvalidTable(name.to_string()))?;
2120
let index_name = name.0.get(1).ok_or(DatabaseError::InvalidIndex)?;
2221

23-
let table_name = Arc::new(lower_ident(table_name));
22+
let table_name = lower_ident(table_name).into();
2423
let index_name = lower_ident(index_name);
2524

2625
Ok(LogicalPlan::new(

0 commit comments

Comments
 (0)