El jue, 15-07-2010 a las 13:02 -0400, Aldrin Martoq escribió: > On Jul 15, 2010, at 10:03 AM, Franco Catrin L. wrote: > > El mié, 14-07-2010 a las 17:16 -0400, Aldrin Martoq escribió: > >> On Jul 14, 2010, at 3:14 PM, Franco Catrin L. wrote: > >>> Eso es lo que se ve por fuera, pero el día en que inventen un SELECT que > >>> ocupe cero bytes está lejos aún. > >>> Lectura recomendada: > >>> http://www.joelonsoftware.com/articles/LeakyAbstractions.html > >> Yo difiero de este pensamiento. La capa extra (en este caso, la base de > >> datos) debe ser lo suficientemente robusta para no gotear errores > >> inesperados, pues es quien tiene toda la información de saber qué paso > >> realmente. > > Mi mirada al documento es respecto a cómo las abstracciones pueden jugar > > en contra cuando no sabes qué está pasando realmente por debajo, algo > > que queda claro al leer los comentarios en este thread. > > > Un buen ejemplo que da el autor es cuando recorres una estructura de > > datos y perfectamente el programador puede recorrerla de una forma que > > el rendimiento se degrade. > > Las "abstracciones que gotean" no son un error, son un hecho. > > No, eso se llama usar la herramienta adecuada. Si estas usando un software > para lo que no está hecho, obvio que te vas a topar con cosas para las cuales > no estaba preparado.
No entiendo la relación? Leíste el artículo completo? > Si volvemos al tema original, el error de postgresql es algo que no espero de > una base de datos (bueno, en realidad puede fallar pero el mensaje te deja de > manos cruzadas). Y eso independiente de cómo este hecho por debajo. Por qué no? Es una situación de excepción, al igual que cuando el cliente te avisa que no se puede conectar a la base de datos. Si te fijas, el error dice que no pudo obtener la memoria que necesitaba para realizar la operación, algo que siempre puede suceder. En este caso es claro que no se justifica y el motor se confundió al estimar el tamaño, pero en el normal de los casos sí debería retornar una excepción cuando no puede hacer lo qué le estás pidiendo. ERROR: invalid memory alloc request size 1818585462 Puesto de otra forma, qué hubieras esperado que te informara el servidor si no hay suficiente memoria para realizar la operación? Datos inventados? Saludos -- Franco Catrin L. http://www.tuxpan.com/fcatrin TUXPAN Software S.A.

