Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Limite de espacio en un stored procedure?? (https://www.clubdelphi.com/foros/showthread.php?t=1956)

ALMERA 03-07-2003 20:02:44

Limite de espacio en un stored procedure??
 
¿hay un limite de espacio de código a la hora de hacer un procedimiento almacenado?

sospecho que si, ya que he echo uno enormemente grande y me da el siguiente error :
"Invalid request blr at offset 27165"
uso firebird 1.5.

La cosa es que quito unas 10 lineas y ya no da el error, por eso sospecho lo del limite.


Si es así que solución hay???

que no sea la de meter parte del codigo en otro procedimiento almacenado y meterlo en el general como llamada, que esta solución me parece bastante obvia pero coñazo al mismo tiempo, a ver si alguién sabe otra mejor.


Muchas gracias de antemano a todos, no solo al que conteste también al que se digne a leerlo.

guillotmarc 03-07-2003 20:35:19

Hola.

En esta misma, en la sección Interbase tienes un artículo con las especificaciones de los limites de Interbase / Firebird.

Parece ser que efectivamente, los procedimientos almacenados están limitados a 48 kb de código compilado (código BLR). Por lo que, o simplificas el procedimiento, o vas a tener que pasar parte del código a otro procedimiento, llamandolo desde el primero (como comentabas).

NOTA : Personalmente no me gusta tener rutinas muy grandes, en estos casos prefiero separarlo en distintos procedimientos, y llamarlos desde el procedimiento principal, donde está el flujo de ejecución del algoritmo.

Saludos.

jachguate 04-07-2003 02:45:07

Oye... ya 48KB de blr es bastante.... me parece que estas tratando de hacer demasiadas cosas en un mismo lugar.... te recomiendo que revises tu diseño.

Yo por lo general acepto procedimientos de no mas de 25 líneas de código (unos 0.5k a lo sumo), salvo que sea realmente imposible dividirlo.

Además, tener procedimientos pequeños y específicos es parte de un buen diseño, una alta generalización de la aplicación y favorece la reutilización del código.

Hasta luego.

;)

Iván 04-07-2003 10:08:44

A pesar de que se que a veces es necesario hacer unos procedimientos un poco más largos de 100 líneas, la verdad es que me parece bastante serio llegar a usar 48KB.

Yo de ti revisaría el procedimiento e intentaría estructurarlo un poco más.

Un saludo.


La franja horaria es GMT +2. Ahora son las 23:33:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi