Oracle: a sort by a list puts a null item first and a number before a text
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Start with drivine/cypher/sql/sql_cypher_compiler.py around line 3487, where the issue says the sort term is the JSON value itself, and compare the listed results with Neo4j’s ordering. The issue notes that the earlier subquery approach fails in some Oracle contexts, so investigate an Oracle-compatible way to match Cypher list ordering. Done means both examples order as shown for Neo4j, without the reported session or aggregate failures.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Port of liberation-data/drivine4j#205.
On Oracle, a sort by a list orders its items as Oracle's JSON orders them: a null item first, and a number before a text, where Cypher orders null last and a text before a number. UNWIND [[1, 2], [1, null], [1], [null], [0]] AS xs RETURN xs ORDER BY xs gives [null], [0], [1], [1, null], [1, 2] (Neo4j: [0], [1], [1, 2], [1, null], [null]), and UNWIND [[1, 'a'], [1, 2], ['a'], [1.5]] AS xs RETURN xs ORDER BY xs gives [1, 2], [1, 'a'], [1.5], ['a'] (Neo4j: ['a'], [1, 'a'], [1, 2], [1.5]).
Here the sort term is the JSON value itself (sortTerm, drivine/cypher/sql/sql_cypher_compiler.py:3487), as in drivine4j. drivine4j has no fix yet: a subquery over the list's items, which sorts these right, closes Oracle's session or fails beside an aggregate (see the drivine4j issue). The spec's two steps in "Sorted by a list" skip Oracle until it's fixed.
- Langage dominant
- Python
- Étoiles
- 1
- Forks
- 0
- Merge moyen
- 1 h 29 min
- PR mergées (30 j)
- 136
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de liberation-data/drivine-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
liberation-data/drivine-python#250 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
liberation-data/drivine-python#209 ·
Les mainteneurs répondent en général sous 1 jour
-
CI: three Oracle-only tests in test_cypher_compiled.py never run, as -k oracle doesn't select themOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
liberation-data/drivine-python#178 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
liberation-data/drivine-python#297 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
liberation-data/drivine-python#295 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de liberation-data/drivine-python
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
BCDA-APS/polar-bits#93 ·
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedPeut-être pris @Steve-20-ai l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
[BUG] - ssh_config `Match tagged` statement always appliesPeut-être pris @AtharvRG l’a pris aujourd’hui. OuverteBug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
paramiko/paramiko#2715 · 1 commentaire ·
Les mainteneurs répondent en général sous 9 jours
-
auto-rejected intake mcp-intake needs-salvage priority:high type:feature
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Ikalus1988/MisakaNet#4221 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour