Azure / Azure/data-api-builder

[Bug]: GraphQL pagination with order by statements omits values

Ouverte
#2,274 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
🛠️troubleshooting bug cri triage
Langage dominant
C#
Étoiles
1.5k
Forks
370
Merge moyen
3 j 22 h
PR mergées (30 j)
9

Description

### What happened?

We've noticed a potential issue with the SQL generation within the Data API Builder, specifically when handling GraphQL queries that include pagination and sorting. The SQL output appears to introduce unintended predicates affecting the sorting column. These predicates seem to cause records with null values in the sorting column to be excluded from the results, varying with the sort order (ascending showing null values and with descending excluding null values).

### Version

1.1.7

### What database are you using?

Azure SQL

### What hosting model are you using?

AppService

### Which API approach are you accessing DAB through?

GraphQL

### Relevant log output

```Text
query SomeQuery {
someentityA(first: 10, orderBy: {columnA:DESC}, filter: {
and: [{ columnB: { neq: "EntityA" } }
{ or: [ { columnC: { eq: "CountryB" } } ] }
]}) {
items {
id
columnD
columnE
columnF
columnG
columnH
columnI
columnJ
columnK
columnL
columnM
columnN
columnO
someentityB(first: 10000) {
items {
id
columnP
someentityC(first: 10000) {
items {
id
columnQ
columnR
columnS
columnT
columnU
columnV
// ... rest of the query
}
}
}
}
}
}
```

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire la requête GraphQL fournie sur Azure SQL et examinez le SQL généré à la recherche des prédicats de pagination et de orderBy. Suivez le chemin de génération du SQL pour le tri et la pagination ; l’issue est terminée lorsque les résultats en ordre décroissant et croissant conservent les enregistrements attendus avec des valeurs de tri null.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
azure, csharp, graphql, sql
Domaine
api, backend, databases
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.