SQLite column_info statement is inactive, breaking ActiveRecord auto_load
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 85/100
Direção de pesquisa
Comece por src/main/java/org/perlonjava/runtime/perlmodule/DBI.java e pelo ponto de entrada columnInfoViaPragma, depois inspecione src/main/perl/lib/DBI.pm fetchall_arrayref e sua verificação de Active. Execute t/07-auto_load.t; concluído significa que as linhas SQLite column_info são retornadas e que os acessors first_name e id passam.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
ActiveRecord::Simple 1.11 fails to discover SQLite columns on PerlOnJava because the synthetic statement handle returned by SQLite DBI.column_info is not marked active. The bundled DBI.pm implementation of fetchall_arrayref returns undef immediately for an inactive statement handle, so auto_load receives no columns and does not generate column accessors.
This causes t/07-auto_load.t to fail its first_name and id accessor assertions.
Evidence
- CPAN random tester run:
20261002-084902-54310 - Distribution/version:
ActiveRecord-Simple1.11 - System Perl 5.42.2 on macOS 26.6.2 arm64: all 16 test files passed (206 tests).
- PerlOnJava 5.44.1, build
f25d551c1, Java 24.0.2 on macOS 26.6.2 arm64:t/07-auto_load.treproducibly fails tests 2 and 3 on both JVM and interpreter backends. - A focused metadata check returned
COLUMN_NAMErows throughcolumn_info, butfetchall_arrayref({})yielded no rows; afterauto_load,Customer->can('first_name')andCustomer->can('id')were false.
Suspected cause
columnInfoViaPragma in src/main/java/org/perlonjava/runtime/perlmodule/DBI.java stores the rows in _pragma_rows, but unlike the ordinary metadata result handle it does not set the statement handle's Active flag. src/main/perl/lib/DBI.pm checks $sth->{Active} at the start of fetchall_arrayref and returns undef when false.
Expected result
The synthetic SQLite metadata statement should behave as an active DBI statement handle, and fetchall_arrayref({}) should return the column rows so auto_load can generate accessors.
The same CPAN run also found a separate SQLite identifier quoting failure for a table named order; that behavior is tracked separately.
- Linguagem predominante
- Perl
- Estrelas
- 64
- Forks
- 8
- Merge médio
- 5h 39min
- PRs com merge (30d)
- 213
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o 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 fglock/PerlOnJava
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
fglock/PerlOnJava#1579 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
fglock/PerlOnJava#1835 ·
Mantenedores costumam responder em até 1 dia
-
area:cpan-port bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
fglock/PerlOnJava#1820 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 Meio dia Facilidade para iniciantes 45/100
fglock/PerlOnJava#1808 ·
Mantenedores costumam responder em até 1 dia
-
area:cpan-port area:runtime bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 28/100
fglock/PerlOnJava#1802 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de fglock/PerlOnJava
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
libwww-perl/URI#211 ·
-
Type: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
inverse-inc/packetfence#9549 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
jimsalterjrs/sanoid#1116 · 1 reação ·
-
Add .gitattributes so share/skel keeps LF on a Windows git checkoutTalvez já em andamento @sadhana-s-codez assumiu há 4 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
PerlDancer/Dancer2#1854 · 1 comentário ·