apache / apache/datafusion-sqlparser-rs
Support for spark `USING` and `OPTIONS` keyword
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 772
- Ø Merge
- 4 T. 9 Std.
- Gemergte PRs (30 T.)
- 17
Beschreibung
Hi,
I was trying to extract options from a create table query, but it seems like this syntax from spark is not supported:
```sql
CREATE TABLE chin_dbo_Track_LIMIT USING org.apache.spark.sql.jdbc OPTIONS (url "jdbc:sqlserver://localhost:1433;database=Chinook;user=sa;password=mypassword",dbtable "(SELECT TOP 100
[E12].[TrackId] [TrackId]
,[E12].[Name] [Name]
,[E12].[AlbumId] [AlbumId]
,[E12].[MediaTypeId] [MediaTypeId]
,[E12].[GenreId] [GenreId]
,[E12].[Composer] [Composer]
,[E12].[Milliseconds] [Milliseconds]
,[E12].[Bytes] [Bytes]
,[E12].[UnitPrice] [UnitPrice]
FROM
[Chinook].[dbo].[Track] [E12]) obj",driver "com.microsoft.sqlserver.jdbc.SQLServerDriver")
```
Parse error:
```
ParserError("Expected: end of statement, found: USING at Line: 2, Column: 43")
```
This also does not work if I remove the using JDBC part, then it does not expect `OPTIONS`
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Reproduzieren Sie den gemeldeten Parserfehler mit der bereitgestellten Spark-Anweisung CREATE TABLE und verfolgen Sie anschließend den Einstiegspunkt für das CREATE TABLE-Parsing sowie vorhandene Tests für Tabellenoptionen. Die Arbeit ist abgeschlossen, wenn unterstützte USING- und OPTIONS-Syntax erfolgreich geparst wird und die Regressionstestabdeckung das Beispiel verifiziert, ohne bestehende CREATE TABLE-Anweisungen zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, sql
- Bereich
- databases
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100