Left join operator - broken?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- fsharp, postgresql, sqlite
- Domínio
- databases
Direção de pesquisa
Comece pelo teste unitário do PostgreSQL vinculado e compare sua asserção com o teste de left join existente, especialmente qual lado do join é verificado. Em seguida, rastreie o tratamento do operador (!!) e de UseOptionTypes=true em todo o código do provider; considera-se concluído quando a entidade unida por left join e suas colunas estiverem marcadas como opcionais e o teste de regressão passar.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
( ... 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.
- Linguagem predominante
- F#
- Estrelas
- 627
- Forks
- 148
- Merge médio
- 2h 2min
- PRs com merge (30d)
- 1
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de fsprojects/SQLProvider
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
fsprojects/SQLProvider#872 · 2 comentários ·
-
Repo Assist?Abertaenhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
fsprojects/SQLProvider#870 · 1 comentário ·
-
postgresql
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
fsprojects/SQLProvider#869 · 2 comentários ·
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 42/100
fsprojects/SQLProvider#868 · 2 comentários ·
-
sql server
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
fsprojects/SQLProvider#851 · 1 comentário ·
Todas as issues de fsprojects/SQLProvider
Issues semelhantes
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 82/100
sqlalchemy/sqlalchemy#13655 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
grokability/snipe-it#19767 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
It's not necessary to copy the memory block in the readWrite() of org.h2.store.fs.mem.FileMemDataAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
h2database/h2database#4435 ·
Mantenedores costumam responder em até 1 dia
-
Add: Max MovieAbertaapproved channels:add check:passed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 6 dias