Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Left join operator - broken?

Ouverte
#540 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
fsharp, postgresql, sqlite
Domaine
databases

Piste de recherche

Commencez par le test unitaire PostgreSQL lié et comparez son assertion avec le test de left join existant, en particulier le côté du join qui est vérifié. Suivez ensuite le traitement de l’opérateur (!!) et de UseOptionTypes=true dans l’ensemble du code du provider ; c’est terminé lorsque l’entité jointe par left join et ses colonnes sont marquées comme optionnelles et que le test de régression réussit.

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

Description

enhancement

( ... Unless I've completely misunderstood how it's supposed to work? ... )

I tried to use a left join in a query and neither the left-joined entity nor its columns are marked as optional. This happens on Postgres, MSSQL, and SQLite, using UseOptionTypes=true.

I thought I mustbe doing something wrong since there was a unit test for left join, but then I noticed that that unit test is wrong: by calling fst it checks the None status of the column in the main table, rather than the left-joined one. The column in the main table happens to be nullable so the test passes.

I added a unit test for PostgreSQL and it does make the build fail.

Diving into the code didn't quite work. I found what I strongly suspect is a bug here, because the compiler treats (!!) as an arbitrary pattern match identifier rather than matching against the actual operator, but changing it to MethodWithName "op_BangBang" didn't fix the test.

I even went back and installed older versions of the library, but couldn't find one where (!!) worked as I expected.

Langage dominant
F#
Étoiles
627
Forks
147
Merge moyen
2 h 2 min
PR mergées (30 j)
1

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fsprojects/SQLProvider

Toutes les issues de fsprojects/SQLProvider

Issues similaires

Plus d'issues Databases

Recevez les nouvelles issues par e-mail

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