Comments (11)
#10392 is the upgrade to sqlparser -- I think it is pretty close but @tisonkun hit an issue during upgrade.
We may need a 0.46.1 for resolving the regressions:
- sqlparser-rs/sqlparser-rs#1278
- And what's still unclear how to fix, #10392 (comment)
I've locally confirmed that array.slt
is last failure for cargo test --test sqllogictests
.
from datafusion.
Provide something I surveyed.
I think we can follow how Calcite handles the quoted issue. The SqlDialect
of Calcite has a check rule identifierNeedsQuote
.
It can be overridden according to the specific data source, such as BigQuery:
They implement some rules, such as regex patterns or reserved word lists. I think a dialect-specific rule is a nice choice.
from datafusion.
Indeed, there is already a function on the sqlparser::dialect trait that takes this into account:
The dialect specific implementations just need to be expanded on. For now they just always return a conservative quote character.
from datafusion.
The dialect specific implementations just need to be expanded on. For now they just always return a conservative quote character.
I think it's same as the dialect in datafusion::unparser::dialect
However, what we need is a checker to check if the identifier needs to be quoted.
I think I can make a PR for
DefaultDialect
first.from datafusion.
As the mentioned in dialect.rs
I think we need to use the Dialect in sqlparser-rs instead and extract identifier_needs_quote
in #10573 to sqlparser-rs. Just like sqlparser-rs/sqlparser-rs#1170
from datafusion.
Yes, these are basically the same object. The one in DataFusion was put there temporarily until the trait extension in the sqlparser repo is landed and pushed to crates.io. This may have happened in the meantime.
from datafusion.
#10392 is the upgrade to sqlparser -- I think it is pretty close but @tisonkun hit an issue during upgrade.
from datafusion.
I'm not sure but I think we can merge #10573 first because it also fix many unpasring tests. Then, I'll create PR for sqlparser to add the check rule in dialect.
from datafusion.
FWI #10573 is merged!
from datafusion.
Do we split off a ticket reduce the nr of brackets emitted?
from datafusion.
Do we split off a ticket reduce the nr of brackets emitted?
Excellent call -- I filed #10633
from datafusion.
Related Issues (20)
- Support extracting UInt{8, 16, 32, 64} statistics from Parquet Data Pages
- DataFusion weekly project plan (Andrew Lamb) - June 17, 2024
- Timezone `UTC` is not considered equal to `+00:00` HOT 5
- Create a branch for StringView / BinaryView development HOT 1
- Change `StatisticsConverter::row_group_counts` to return `None` for non existent columns in parquet files HOT 1
- Complete Possible Join Type Handling for EmptyRelation Propagation Rule HOT 3
- Presentation about DataFusion at Microsoft GSL (Grey Systems Lab)
- Conditionally allow to keep partition_by columns when using PARTITIONED BY HOT 1
- Inconsistent behavior in HashJoin Projections HOT 2
- regen.sh is failing in Ubuntu when working with recommended version of protoc HOT 2
- Implement `DynamicTableProvider` in DataFusion Core HOT 2
- Open Variant Type for semi-structured data HOT 2
- push down unnest filter only on non-unnest column HOT 4
- 'common_sub_expression_eliminate' failed on unnested structs field HOT 1
- Implement equality = and inequality <> support for `BinaryView` HOT 2
- Improve filter predicates with `Utf8View` literals
- Convert `ArrayAgg` to UDAF HOT 1
- Reduce test duplication in tests for data page stattistics
- Add drop_columns to dataframe api HOT 1
- Convert `BoolAndOr` to UDAF HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datafusion.