Problemas con bsddb3

lasizoillo lasizoillo en gmail.com
Sab Mar 28 10:44:47 CET 2009


El día 27 de marzo de 2009 19:42, Chema Cortes <pych3m4 en gmail.com> escribió:
> El día 27 de marzo de 2009 14:28, lasizoillo <lasizoillo en gmail.com> escribió:
>
>> $ python prueba.py insert 2donq10.txt
>> $ python prueba.py search lugar
>> Cursor: ug ('ug', '-Fugite,')
>> Cursor: lu ('lu', '-Malum')
>> Cursor: ar ('ar', "''Cardenio,")
>> Cursor: ga ('ga', '"Vengan')
>> Traceback (most recent call last):
>>  File "prueba.py", line 60, in <module>
>>    for i in c:
>>  File "prueba.py", line 42, in search_words
>>    res.first()
>> bsddb3.db.DBInvalidArgError: (22, 'Invalid argument -- illegal flag
>> specified to DBC->get')
>>
>> La cuestión es que no tengo ni idea de por qué falla (me inspire
>> bastante en el test de join del paquete que si que me funciona) y no
>> entiendo el mensaje de error que me da. ¿Hay alguna manera de mejorar
>> el nivel de debug de los errores? ¿Como se puede depurar la cosa para
>> ver cual es ese flag ilegal?
>
> Si no ves sentido en el mensaje de error, entonces es que te quiere engañar.
>

Me ofusque un poco. Llamar a first, next, ... llama por debajo a get
con distintos flags. Ciertamente era un mensaje significativo si sabes
eso. Bueno, solo le faltaba decir cual era el flag incorrecto ;-)

> Apostaría a que el .join() no encuentra la clave en la tabla
> secundaria o, lo que sería equivalente, que no le gusta el flag
> DB_FIRST cuando te posicionas al principio de todo. Me temo que la
> berkeley no es muy explícita con los errores; no es una cuestión de
> "ampliar" el nivel de debug.

Con get(0) si que funcionaba. Los metodos first, next, ... no van. La
verdad es que el cursor de los joins es un pelin engorroso y falto de
funcionalidades. Y cuando me ponia a probar todas las funciones del
cursor alguna incluso me dio segmentation fault. Ya mirare eso cuando
tenga más tiempo.

Perdonad por el ruido. Al final fue un error tontisimo de los que te
avergüenzas al ver simple que era la solución (y más después de creer
haberla probado antes y haber generado ruido en la lista).

Un saludo y gracias por la ayuda:

Javi

> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es