Me respondo a mi mismo y a cualquier persona que tenga este problema
La clausula LIMIT en versiones de MySQL anteriores a 5.5.6, no acepta otro tipo de datos que no sean constantes de tipo entero. Recién en la versión 5.5.6 se pueden usar variables y otras cosas.
Cita: Noted in 5.5.6, 6.0.14 changelogs.
Within stored programs, LIMIT clauses now accept integer-valued
routine parameters or local variables as parameters.
Pero existe una solución para versiones anteriores a esta
Código SQL:
Ver originalDROP PROCEDURE IF EXISTS get_product_range $$
CREATE PROCEDURE get_product_range (
IN _START INTEGER,
IN _LIMIT INTEGER
)
BEGIN
PREPARE STMT FROM
" SELECT *
FROM products LIMIT ?,? ";
SET @START = _START;
SET @LIMIT = _LIMIT;
EXECUTE STMT USING @START, @LIMIT; /* Known bug in mySQL5 - exists as feature req. */
END $$