apache / apache/datafusion-sqlparser-rs

Support for spark `USING` and `OPTIONS` keyword

Offen
#1,505 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.