1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-30 21:42:05 +03:00
Commit Graph

92 Commits

Author SHA1 Message Date
f393ee0680 Change the debug variable to allow better control by the caller over how
debug output is managed.  The user can continue to use the current method
of passing a formatting string to have a replacement done and output will
be sent to the standard output exactly as it did before.  In addition they
can set it to a file object, sys.stderr for example, and the query string
will be printed to it.  Thay can also set it to a method (function) and the
query string will be passed to that method giving them the maximum flexibility
to do whatever they want with the query string.

I will be working with the PyGreSQL documentation shortly and at that time
will properly document this feature.
2002-11-25 01:28:32 +00:00
1b7f3cc02d This patch implements FOR EACH STATEMENT triggers, per my email to
-hackers a couple days ago.

Notes/caveats:

        - added regression tests for the new functionality, all
          regression tests pass on my machine

        - added pg_dump support

        - updated PL/PgSQL to support per-statement triggers; didn't
          look at the other procedural languages.

        - there's (even) more code duplication in trigger.c than there
          was previously. Any suggestions on how to refactor the
          ExecXXXTriggers() functions to reuse more code would be
          welcome -- I took a brief look at it, but couldn't see an
          easy way to do it (there are several subtly-different
          versions of the code in question)

        - updated the documentation. I also took the liberty of
          removing a big chunk of duplicated syntax documentation in
          the Programmer's Guide on triggers, and moving that
          information to the CREATE TRIGGER reference page.

        - I also included some spelling fixes and similar small
          cleanups I noticed while making the changes. If you'd like
          me to split those into a separate patch, let me know.

Neil Conway
2002-11-23 03:59:09 +00:00
0d3be98ae9 Move PyGreSQL usage documentation from README into DocBook. Some other
editing.
2002-09-23 21:10:13 +00:00
e50f52a074 pgindent run. 2002-09-04 20:31:48 +00:00
f5fea0808f This is a quick patch to fix a crash in pgquery_dictresult() introduced
recently. I just ran into it while running a set of python test scripts,
and I'm not sure who the normal maintainer is for interfaces/python.

John Nield
2002-08-28 20:18:58 +00:00
1991fe74e1 This fixes some text as well as enforces the use of "drop table cascade"
since we moved from an implicate to explicate implementation.


Greg Copeland
2002-08-15 03:33:36 +00:00
4f1ac055f1 Well, that certainly appeared to be very straight forward. pg.py and
syscat.py scripts were both modified.  pg.py uses it to cache a list of
pks (which is seemingly does for every db connection) and various
attributes.  syscat uses it to walk the list of system tables and
queries the various attributes from these tables.

In both cases, it seemingly makes sense to apply what you've requested.

Greg Copeland
2002-08-15 03:32:36 +00:00
147aa84c1a http://archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and never
saw a fix offered up.  Since I'm gearing up to use Postgres and Python
soon, I figured I'd have a hand at trying to get this sucker addressed.
Apologies if this has already been plugged.  I looked in the archives
and never saw a response.

At any rate, I must admit I don't think I fully understand the
implications of some of the changes I made even though they appear to be
straight forward.  We all know the devil is in the details.  Anyone more
knowledgeable is requested to review my changes. :(

I also updated the advanced.py script in a somewhat nonsensical fashion
to make use of an int8 field in an effort to test this change.  It seems
to run okay, however, this is by no means an all exhaustive test.  So,
it's possible that a bumpy road may lay ahead for some.  On the other
hand...overflows (hopefully) previously lurked (long -> int conversion).

Greg Copeland
2002-08-15 03:31:45 +00:00
e0faed4bee Small patch to correct the default arraysize associated
with the Cursor object's fetchmany() method.  The API and
inline documentation state that the default is 1.  It
currently defaults to 5.

Patrick Macdonald
2002-06-03 17:42:11 +00:00
4a2fe8e03d Fix typo in usage instructions. 2002-05-03 14:21:38 +00:00
8338cc03a8 Remove the last traces of datatypes datetime and timespan. 2002-05-03 04:11:08 +00:00
be9728acf1 pgdb.connect() seems to be broken on Python 2.0.1 (which ships with
Slackware 8), and perhaps on other Pythons, haven't checked.  Something in
the _pg.connect() call isn't working.  I think the problem stems from the
fact that 'host' is a named parameter of both _pg.connect and pgdb.connect,
and so Python treats it as a variable assignment, not a named parameter.

Uses non-named parameters.

Andrew Johnson
2002-04-24 01:58:31 +00:00
a770da9d8d Back out python change, needs delay. 2002-04-18 03:38:30 +00:00
3cd9399d86 Change docs to do 20! rather than larger. 2002-04-18 03:37:13 +00:00
902a6a0a4b Restructure representation of aggregate functions so that they have pg_proc
entries, per pghackers discussion.  This fixes aggregates to live in
namespaces, and also simplifies/speeds up lookup in parse_func.c.
Also, add a 'proimplicit' flag to pg_proc that controls whether a type
coercion function may be invoked implicitly, or only explicitly.  The
current settings of these flags are more permissive than I would like,
but we will need to debate and refine the behavior; for now, I avoided
breaking regression tests as much as I could.
2002-04-11 20:00:18 +00:00
b2c89fa7af Fox for old python PyMem_DEL, was PyMem_Del, 2002-03-29 07:45:39 +00:00
ed6cce4c7b Fix '#' commant to be proper C comment. 2002-03-29 07:21:25 +00:00
102fe3f845 Further changes following discussion on INTERFACES mailing list:
- Use PyObject_Del() rather than macro version
  - Check version and drop back to PyMem_Del() for older systems.
2002-03-26 01:50:14 +00:00
861c336b51 PyGreSQL causes a segfault when used with a Python executable that was
compiled with --with-pymalloc.  This change fixes that.  Thanks to
Dave Wallace <dwallace@udel.edu>
2002-03-20 14:36:06 +00:00
b752788510 Bump version number to match tree. 2002-03-19 13:21:14 +00:00
d6b4153f93 Fix name in comments and add info about this module's place in PyGreSQL. 2002-03-19 13:20:52 +00:00
d3337c6e3f > I am backing out this patch. Please resubmit with this corrected. Thanks.
>
> I am running Python 1.5.

Therein lies the problem... :)

Since it appears you have the requirement of supporting old python
versions, attached is just the pgdb.py part of the patch (with a fix for
DateTime handling). It has the same functionality but certainly won't be
quite as fast. Given the absence of _PyString_Join in python1.5, it's a
pain to get the C variants working for all versions. The pgdb.py patch
does leaves the hooks in, should someone wish to do the optimization at a
later point.

Elliot Lee
2002-03-19 02:47:57 +00:00
fef790cc03 Back out python patch:
Elliot Lee wrote:
> This patch to the python bindings adds C versions of the often-used
query
> args quoting routines, as well as support for quoting lists e.g.
> dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))
2002-03-05 02:01:44 +00:00
14b05248cc This patch to the python bindings adds C versions of the often-used
query args quoting routines, as well as support for quoting lists e.g.
dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))

Elliot Lee
2002-03-05 00:23:13 +00:00
60e42602a0 revert last change 2001-12-13 18:39:04 +00:00
d75ed09b31 Bump version to 3.3. Mostly this is because there is some confusion about
the latest version and I wanted to make sure that there was a clean release.

I also change the build files as I discussed in my letter of Nov 6, 2001.  At
the time I was asked to hold off until after the release.
2001-12-03 12:39:44 +00:00
9b03776ff2 A bunch of small doco updates motivated by scanning the comments on
the interactive docs.
2001-11-19 03:58:25 +00:00
ea08e6cd55 New pgindent run with fixes suggested by Tom. Patch manually reviewed,
initdb/regression tests pass.
2001-11-05 17:46:40 +00:00
568cb6ab5c Version was 3.3 but last released version was 3.1. Setting to match rest
of the documentation in preparation for upcoming release.
2001-11-04 20:11:01 +00:00
5f067722bf Note that PyGreSQL has been checked against Python 2.1 now. 2001-11-04 19:47:16 +00:00
6395d86a9a The "%d", while syntactically correct, was confusing. Added a space to
make it clearer that d was the argument to the format operator.
2001-11-04 19:42:13 +00:00
6783b2372e Another pgindent run. Fixes enum indenting, and improves #endif
spacing.  Also adds space for one-line comments.
2001-10-28 06:26:15 +00:00
b81844b173 pgindent run on all C files. Java run to follow. initdb/regression
tests pass.
2001-10-25 05:50:21 +00:00
ece1b67f54 > This stops the interface from leaking the row tuples (and thus the
> results of every fetch).

Stephen Robert Norris
2001-10-19 15:00:26 +00:00
076026bba9 Python handle as string all int8 values from postgresql. This could be
view when using the aggregate function count() and function nextval
that returns an int8 value, but in python is represented like string:

>> db.query("select nextval('my_seq')").getresult()
[('2',)]

>> db.query("select count(*) from films").dictresult()
[{'count': '120'}]



Ricardo Caesar Lenzi
2001-10-16 13:42:57 +00:00
ae64196acb Change the version. We are moving towards the next release.
Fixed a nasty bug that messed up negative money amounts.
2001-09-19 18:58:47 +00:00
da1696b5c1 Remove INV_ARCHIVE mention in python readme. 2001-09-10 04:21:14 +00:00
968d7733a1 Rename config.h to pg_config.h and os.h to pg_config_os.h, fix a number of
places that were including the wrong files.
2001-08-24 14:07:50 +00:00
f7eedfdff2 This patch fixes the well-known but unfixed bug that fetchone() always returns
the first result in the DB-API compliant wrapper. It turned out that the bug
was way down in the C code.

Gerhard Häring
2001-08-16 15:21:16 +00:00
d674b48307 Add prototypes to supress warnings. 2001-07-11 22:00:57 +00:00
8237d89c0f Support fake root install, separate build dir, dependency tracking, our
choice of compiler and flags, uninstall, and peculiar Python installation
layouts for PyGreSql.  Also install into site-packages now, as officially
recommended.  And pgdb.py is also installed now, used to be forgotten.
2001-07-10 16:33:02 +00:00
31fe394cd8 Include catalog/pg_type.h instead of manually extracting the interesting
oid values.
2001-06-22 17:48:39 +00:00
588463a449 Make sure that everything says version 3.2. 2001-06-20 11:20:34 +00:00
54e374c9e6 Add NUMERICOID to this script. This script can be run occasionally to
make sure that we are using the right #defines in pgmodule.c but the
OIDs are never actually expected to change.
2001-06-20 11:19:56 +00:00
f09546fabf Add bpchar to list of string types.
Thanks to Steve McClure <smcclure@racemi.com> for the patch.
2001-06-15 02:23:18 +00:00
d34a5d8e2d Add missing comma. 2001-05-30 02:04:49 +00:00
52350c7ad9 Add NUMERICOID return type. Treat it as floating point for now. This
could be changed if we create a new Python type that matches it better
but NUMERIC <==> FLOAT probably works fine for most cases.
2001-05-27 08:24:52 +00:00
dffb673692 While changing Cygwin Python to build its core as a DLL (like Win32
Python) to support shared extension modules, I have learned that Guido
prefers the style of the attached patch to solve the above problem.
I feel that this solution is particularly appropriate in this case
because the following:

    PglargeType
    PgType
    PgQueryType

are already being handled in the way that I am proposing for PgSourceType.

Jason Tishler
2001-05-25 15:34:50 +00:00
3f7c542a60 Back out, per Peter E.
> > The attached patch changes src/interfaces/python/GNUmakefile to use the
> > value of DESTDIR like the rest (or at least most) of the PostgreSQL
> > makefiles.  I found this problem when trying to package a pre-built
> > Cygwin PostgreSQL distribution, but this problem is platform independent.
2001-05-25 15:32:33 +00:00
eeca4bdb31 The attached patch changes src/interfaces/python/GNUmakefile to use the
value of DESTDIR like the rest (or at least most) of the PostgreSQL
makefiles.  I found this problem when trying to package a pre-built
Cygwin PostgreSQL distribution, but this problem is platform independent.

The problem manifests itself when one tries to install into a stagging
area (e.g., to build a tarball) instead of a real install.  In this case,
pg.py and _pgmodule$(SO) still end up being installed in the configured
prefix directory ignoring the value of DESTDIR.

Unfortunately, this patch does not handle the case where PostgreSQL
and Python are configured with different prefixes.  Since the Python
Makefile is automatically generated and does not use DESTDIR, I believe
that this issue will be difficult to correct.  If anyone has ideas on
how to fix this issue, then I'm quite willing to rework the patch to
take the suggestion into account.

Jason Tishler
2001-05-25 14:29:39 +00:00