diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 52e41e1b89012092512fe9c4a7f9818c8438e93b..412b88af8f38d00f1888f9232902437085c18aeb 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.40 2005/03/29 02:53:53 neilc Exp $ +$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.41 2005/05/02 00:37:06 neilc Exp $ --> <chapter id="spi"> @@ -292,7 +292,7 @@ void SPI_pop(void) <refsynopsisdiv> <synopsis> -int SPI_execute(const char * <parameter>command</parameter>, bool <parameter>read_only</parameter>, int <parameter>count</parameter>) +int SPI_execute(const char * <parameter>command</parameter>, bool <parameter>read_only</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -423,7 +423,7 @@ typedef struct </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to process or return @@ -598,7 +598,7 @@ typedef struct <refsynopsisdiv> <synopsis> -int SPI_exec(const char * <parameter>command</parameter>, int <parameter>count</parameter>) +int SPI_exec(const char * <parameter>command</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -627,7 +627,7 @@ int SPI_exec(const char * <parameter>command</parameter>, int <parameter>count</ </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to process or return @@ -963,7 +963,7 @@ bool SPI_is_cursor_plan(void * <parameter>plan</parameter>) <refsynopsisdiv> <synopsis> int SPI_execute_plan(void * <parameter>plan</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>, - bool <parameter>read_only</parameter>, int <parameter>count</parameter>) + bool <parameter>read_only</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -1030,7 +1030,7 @@ int SPI_execute_plan(void * <parameter>plan</parameter>, Datum * <parameter>valu </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to process or return @@ -1104,7 +1104,7 @@ int SPI_execute_plan(void * <parameter>plan</parameter>, Datum * <parameter>valu <refsynopsisdiv> <synopsis> -int SPI_execp(void * <parameter>plan</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>, int <parameter>count</parameter>) +int SPI_execp(void * <parameter>plan</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -1162,7 +1162,7 @@ int SPI_execp(void * <parameter>plan</parameter>, Datum * <parameter>values</par </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to process or return @@ -1375,7 +1375,7 @@ Portal SPI_cursor_find(const char * <parameter>name</parameter>) <refsynopsisdiv> <synopsis> -void SPI_cursor_fetch(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, int <parameter>count</parameter>) +void SPI_cursor_fetch(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -1411,7 +1411,7 @@ void SPI_cursor_fetch(Portal <parameter>portal</parameter>, bool <parameter>forw </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to fetch @@ -1448,7 +1448,7 @@ void SPI_cursor_fetch(Portal <parameter>portal</parameter>, bool <parameter>forw <refsynopsisdiv> <synopsis> -void SPI_cursor_move(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, int <parameter>count</parameter>) +void SPI_cursor_move(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, long <parameter>count</parameter>) </synopsis> </refsynopsisdiv> @@ -1485,7 +1485,7 @@ void SPI_cursor_move(Portal <parameter>portal</parameter>, bool <parameter>forwa </varlistentry> <varlistentry> - <term><literal>int <parameter>count</parameter></literal></term> + <term><literal>long <parameter>count</parameter></literal></term> <listitem> <para> maximum number of rows to move diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index 0a9bede0e042aefbc80ca7619dac8fde29cea3d6..71a4392a9afcc1698692673d4fe19b057b81ac11 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.138 2005/05/01 18:56:18 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.139 2005/05/02 00:37:06 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -39,13 +39,13 @@ static void _SPI_prepare_plan(const char *src, _SPI_plan *plan); static int _SPI_execute_plan(_SPI_plan *plan, Datum *Values, const char *Nulls, Snapshot snapshot, Snapshot crosscheck_snapshot, - bool read_only, int tcount); + bool read_only, long tcount); -static int _SPI_pquery(QueryDesc *queryDesc, int tcount); +static int _SPI_pquery(QueryDesc *queryDesc, long tcount); static void _SPI_error_callback(void *arg); -static void _SPI_cursor_operation(Portal portal, bool forward, int count, +static void _SPI_cursor_operation(Portal portal, bool forward, long count, DestReceiver *dest); static _SPI_plan *_SPI_copy_plan(_SPI_plan *plan, int location); @@ -278,9 +278,9 @@ SPI_restore_connection(void) _SPI_curid = _SPI_connected - 1; } -/* Parse, plan, and execute a querystring */ +/* Parse, plan, and execute a query string */ int -SPI_execute(const char *src, bool read_only, int tcount) +SPI_execute(const char *src, bool read_only, long tcount) { _SPI_plan plan; int res; @@ -309,7 +309,7 @@ SPI_execute(const char *src, bool read_only, int tcount) /* Obsolete version of SPI_execute */ int -SPI_exec(const char *src, int tcount) +SPI_exec(const char *src, long tcount) { return SPI_execute(src, false, tcount); } @@ -317,7 +317,7 @@ SPI_exec(const char *src, int tcount) /* Execute a previously prepared plan */ int SPI_execute_plan(void *plan, Datum *Values, const char *Nulls, - bool read_only, int tcount) + bool read_only, long tcount) { int res; @@ -342,7 +342,7 @@ SPI_execute_plan(void *plan, Datum *Values, const char *Nulls, /* Obsolete version of SPI_execute_plan */ int -SPI_execp(void *plan, Datum *Values, const char *Nulls, int tcount) +SPI_execp(void *plan, Datum *Values, const char *Nulls, long tcount) { return SPI_execute_plan(plan, Values, Nulls, false, tcount); } @@ -360,7 +360,7 @@ int SPI_execute_snapshot(void *plan, Datum *Values, const char *Nulls, Snapshot snapshot, Snapshot crosscheck_snapshot, - bool read_only, int tcount) + bool read_only, long tcount) { int res; @@ -979,7 +979,7 @@ SPI_cursor_find(const char *name) * Fetch rows in a cursor */ void -SPI_cursor_fetch(Portal portal, bool forward, int count) +SPI_cursor_fetch(Portal portal, bool forward, long count) { _SPI_cursor_operation(portal, forward, count, CreateDestReceiver(SPI, NULL)); @@ -993,7 +993,7 @@ SPI_cursor_fetch(Portal portal, bool forward, int count) * Move in a cursor */ void -SPI_cursor_move(Portal portal, bool forward, int count) +SPI_cursor_move(Portal portal, bool forward, long count) { _SPI_cursor_operation(portal, forward, count, None_Receiver); } @@ -1309,7 +1309,7 @@ _SPI_prepare_plan(const char *src, _SPI_plan *plan) static int _SPI_execute_plan(_SPI_plan *plan, Datum *Values, const char *Nulls, Snapshot snapshot, Snapshot crosscheck_snapshot, - bool read_only, int tcount) + bool read_only, long tcount) { volatile int res = 0; Snapshot saveActiveSnapshot; @@ -1493,7 +1493,7 @@ fail: } static int -_SPI_pquery(QueryDesc *queryDesc, int tcount) +_SPI_pquery(QueryDesc *queryDesc, long tcount) { int operation = queryDesc->operation; int res; @@ -1531,7 +1531,7 @@ _SPI_pquery(QueryDesc *queryDesc, int tcount) ExecutorStart(queryDesc, false); - ExecutorRun(queryDesc, ForwardScanDirection, (long) tcount); + ExecutorRun(queryDesc, ForwardScanDirection, tcount); _SPI_current->processed = queryDesc->estate->es_processed; save_lastoid = queryDesc->estate->es_lastoid; @@ -1599,7 +1599,7 @@ _SPI_error_callback(void *arg) * Do a FETCH or MOVE in a cursor */ static void -_SPI_cursor_operation(Portal portal, bool forward, int count, +_SPI_cursor_operation(Portal portal, bool forward, long count, DestReceiver *dest) { long nfetched; @@ -1621,7 +1621,7 @@ _SPI_cursor_operation(Portal portal, bool forward, int count, /* Run the cursor */ nfetched = PortalRunFetch(portal, forward ? FETCH_FORWARD : FETCH_BACKWARD, - (long) count, + count, dest); /* diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h index 10e4747dd9fde594a6b588fd79de46ee9e879fba..23562c75e5591fd5fb401e1136be6e51b1a913e4 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -2,7 +2,7 @@ * * spi.h * - * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.51 2005/03/29 02:53:53 neilc Exp $ + * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.52 2005/05/02 00:37:06 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -82,17 +82,17 @@ extern int SPI_finish(void); extern void SPI_push(void); extern void SPI_pop(void); extern void SPI_restore_connection(void); -extern int SPI_execute(const char *src, bool read_only, int tcount); +extern int SPI_execute(const char *src, bool read_only, long tcount); extern int SPI_execute_plan(void *plan, Datum *Values, const char *Nulls, - bool read_only, int tcount); -extern int SPI_exec(const char *src, int tcount); + bool read_only, long tcount); +extern int SPI_exec(const char *src, long tcount); extern int SPI_execp(void *plan, Datum *Values, const char *Nulls, - int tcount); + long tcount); extern int SPI_execute_snapshot(void *plan, Datum *Values, const char *Nulls, Snapshot snapshot, Snapshot crosscheck_snapshot, - bool read_only, int tcount); + bool read_only, long tcount); extern void *SPI_prepare(const char *src, int nargs, Oid *argtypes); extern void *SPI_saveplan(void *plan); extern int SPI_freeplan(void *plan); @@ -123,8 +123,8 @@ extern void SPI_freetuptable(SPITupleTable *tuptable); extern Portal SPI_cursor_open(const char *name, void *plan, Datum *Values, const char *Nulls, bool read_only); extern Portal SPI_cursor_find(const char *name); -extern void SPI_cursor_fetch(Portal portal, bool forward, int count); -extern void SPI_cursor_move(Portal portal, bool forward, int count); +extern void SPI_cursor_fetch(Portal portal, bool forward, long count); +extern void SPI_cursor_move(Portal portal, bool forward, long count); extern void SPI_cursor_close(Portal portal); extern void AtEOXact_SPI(bool isCommit); diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 71ded9da05f9ccc7a5316f2b6ddc3a407aa272d2..1b42e8bd4486f18c1c964a5339c821598c77bffa 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.136 2005/05/01 18:56:19 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.137 2005/05/02 00:37:07 neilc Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -158,7 +158,7 @@ static Datum exec_eval_expr(PLpgSQL_execstate *estate, bool *isNull, Oid *rettype); static int exec_run_select(PLpgSQL_execstate *estate, - PLpgSQL_expr *expr, int maxtuples, Portal *portalP); + PLpgSQL_expr *expr, long maxtuples, Portal *portalP); static void exec_move_row(PLpgSQL_execstate *estate, PLpgSQL_rec *rec, PLpgSQL_row *row, @@ -3482,7 +3482,7 @@ exec_eval_expr(PLpgSQL_execstate *estate, */ static int exec_run_select(PLpgSQL_execstate *estate, - PLpgSQL_expr *expr, int maxtuples, Portal *portalP) + PLpgSQL_expr *expr, long maxtuples, Portal *portalP) { int i; Datum *values; diff --git a/src/pl/plpython/plpython.c b/src/pl/plpython/plpython.c index 9fb4e114de646a2a5ca25e70bbd9aae94c02ecd4..27310feda8810e3909a81f51b79963b00e667fcb 100644 --- a/src/pl/plpython/plpython.c +++ b/src/pl/plpython/plpython.c @@ -29,7 +29,7 @@ * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.60 2005/03/29 00:17:24 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.61 2005/05/02 00:37:07 neilc Exp $ * ********************************************************************* */ @@ -1546,8 +1546,8 @@ static int PLy_result_ass_slice(PyObject *, int, int, PyObject *); static PyObject *PLy_spi_prepare(PyObject *, PyObject *); static PyObject *PLy_spi_execute(PyObject *, PyObject *); -static PyObject *PLy_spi_execute_query(char *query, int limit); -static PyObject *PLy_spi_execute_plan(PyObject *, PyObject *, int); +static PyObject *PLy_spi_execute_query(char *query, long limit); +static PyObject *PLy_spi_execute_plan(PyObject *, PyObject *, long); static PyObject *PLy_spi_execute_fetch_result(SPITupleTable *, int, int); @@ -1965,7 +1965,7 @@ PLy_spi_execute(PyObject * self, PyObject * args) char *query; PyObject *plan; PyObject *list = NULL; - int limit = 0; + long limit = 0; /* Can't execute more if we have an unhandled error */ if (PLy_error_in_progress) @@ -1974,12 +1974,12 @@ PLy_spi_execute(PyObject * self, PyObject * args) return NULL; } - if (PyArg_ParseTuple(args, "s|i", &query, &limit)) + if (PyArg_ParseTuple(args, "s|l", &query, &limit)) return PLy_spi_execute_query(query, limit); PyErr_Clear(); - if ((PyArg_ParseTuple(args, "O|Oi", &plan, &list, &limit)) && + if ((PyArg_ParseTuple(args, "O|Ol", &plan, &list, &limit)) && (is_PLyPlanObject(plan))) return PLy_spi_execute_plan(plan, list, limit); @@ -1988,7 +1988,7 @@ PLy_spi_execute(PyObject * self, PyObject * args) } static PyObject * -PLy_spi_execute_plan(PyObject * ob, PyObject * list, int limit) +PLy_spi_execute_plan(PyObject * ob, PyObject * list, long limit) { volatile int nargs; int i, @@ -2123,7 +2123,7 @@ PLy_spi_execute_plan(PyObject * ob, PyObject * list, int limit) } static PyObject * -PLy_spi_execute_query(char *query, int limit) +PLy_spi_execute_query(char *query, long limit) { int rv; MemoryContext oldcontext;