apache / apache/datafusion

`COLLATION` Support

Aperta
#9,192 10 commenti 1 reazione 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Rust
Stelle
9.3k
Fork
2.4k
Merge medio
3g 11h
PR unite (30g)
360

Descrizione

### Is your feature request related to a problem or challenge?

"Collation" generically means how to compare and sort string values.

Soem databases, most notably Postgres, allow you to change the default collation order to control this more carefully to match whatever the user wants rather than what the standard sort order means

Someone asked about this on discord: https://discord.com/channels/885562378132000778/1166447479609376850/1205554368292855868

Here are some details on how this works in Postgres: https://www.postgresql.org/docs/current/collation.html

### Describe the solution you'd like

Someone to design and implement `COLLATION`

This probably looks like a `SessionConfig` setting to control collation at the session level and possibly some way to define it as part of the table definition

### Describe alternatives you've considered

_No response_

### Additional context

This would likely require adding collation support to arrow-rs as well, though I am not 100% sure

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Non vengono indicati file o test. Inizia individuando SessionConfig e la gestione delle definizioni delle tabelle, quindi esamina come DataFusion e arrow-rs rappresentano il confronto e l'ordinamento delle stringhe. Il lavoro è completato quando COLLATION è progettato e implementato nell'ambito di sessione o tabella richiesto e il comportamento è stato convalidato rispetto ai requisiti di collazione di PostgreSQL descritti nell'issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
postgresql, rust, sql
Ambito
databases
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.