- 10 7月, 2005 7 次提交
-
-
由 Bruce Momjian 提交于
< computations should adjust based on the time zone rules, e.g. < adding 24 hours to a timestamp would yield a different result from < adding one day. < > computations should adjust based on the time zone rules.
-
由 Bruce Momjian 提交于
when a plpython function returns unicode" thread: http://archives.postgresql.org/pgsql-bugs/2005-06/msg00105.php In several places PL/Python was calling PyObject_Str() and then PyString_AsString() without checking if the former had returned NULL to indicate an error. PyString_AsString() doesn't expect a NULL argument, so passing one causes a segmentation fault. This patch adds checks for NULL and raises errors via PLy_elog(), which prints details of the underlying Python exception. The patch also adds regression tests for these checks. All tests pass on my Solaris 9 box running HEAD and Python 2.4.1. In one place the patch doesn't call PLy_elog() because that could cause infinite recursion; see the comment I added. I'm not sure how to test that particular case or whether it's even possible to get an error there: the value that the code should check is the Python exception type, so I wonder if a NULL value "shouldn't happen." This patch converts NULL to "Unknown Exception" but I wonder if an Assert() would be appropriate. The patch is against HEAD but the same changes should be applied to earlier versions because they have the same problem. The patch might not apply cleanly against earlier versions -- will the committer take care of little differences or should I submit different versions of the patch? Michael Fuhr
-
由 Bruce Momjian 提交于
The specification of this function is as follows. regexp_replace(source text, pattern text, replacement text, [flags text]) returns text Replace string that matches to regular expression in source text to replacement text. - pattern is regular expression pattern. - replacement is replace string that can use '\1'-'\9', and '\&'. '\1'-'\9': back reference to the n'th subexpression. '\&' : entire matched string. - flags can use the following values: g: global (replace all) i: ignore case When the flags is not specified, case sensitive, replace the first instance only. Atsushi Ogawa
-
由 Bruce Momjian 提交于
of password-based encryption from RFC2440 (OpenPGP). The goal of this code is to be more featureful encryption solution than current encrypt(), which only functionality is running cipher over data. Compared to encrypt(), pgp_encrypt() does following: * It uses the equvialent of random Inital Vector to get cipher into random state before it processes user data * Stores SHA-1 of the data into result so any modification will be detected. * Remembers if data was text or binary - thus it can decrypt to/from text data. This was a major nuisance for encrypt(). * Stores info about used algorithms with result, so user needs not remember them - more user friendly! * Uses String2Key algorithms (similar to crypt()) with random salt to generate full-length binary key to be used for encrypting. * Uses standard format for data - you can feed it to GnuPG, if needed. Optional features (off by default): * Can use separate session key - user data will be encrypted with totally random key, which will be encrypted with S2K generated key and attached to result. * Data compression with zlib. * Can convert between CRLF<->LF line-endings - to get fully RFC2440-compliant behaviour. This is off by default as pgcrypto does not know the line-endings of user data. Interface is simple: pgp_encrypt(data text, key text) returns bytea pgp_decrypt(data text, key text) returns text pgp_encrypt_bytea(data bytea, key text) returns bytea pgp_decrypt_bytea(data bytea, key text) returns bytea To change parameters (cipher, compression, mdc): pgp_encrypt(data text, key text, parms text) returns bytea pgp_decrypt(data text, key text, parms text) returns text pgp_encrypt_bytea(data bytea, key text, parms text) returns bytea pgp_decrypt_bytea(data bytea, key text, parms text) returns bytea Parameter names I lifted from gpg: pgp_encrypt('message', 'key', 'compress-algo=1,cipher-algo=aes256') For text data, pgp_encrypt simply encrypts the PostgreSQL internal data. This maps to RFC2440 data type 't' - 'extenally specified encoding'. But this may cause problems if data is dumped and reloaded into database which as different internal encoding. My next goal is to implement data type 'u' - which means data is in UTF-8 encoding by converting internal encoding to UTF-8 and back. And there wont be any compatibility problems with current code, I think its ok to submit this without UTF-8 encoding by converting internal encoding to UTF-8 and back. And there wont be any compatibility problems with current code, I think its ok to submit this without UTF-8 support. Here is v4 of PGP encrypt. This depends on previously sent Fortuna-patch, as it uses the px_add_entropy function. - New function: pgp_key_id() for finding key id's. - Add SHA1 of user data and key into RNG pools. We need to get randomness from somewhere, and it is in user best interests to contribute. - Regenerate pgp-armor test for SQL_ASCII database. - Cleanup the key handling so that the pubkey support is less hackish. Marko Kreen
-
由 Bruce Momjian 提交于
- Move openssl random provider to openssl.c and builtin provider to internal.c - Make px_random_bytes use Fortuna, instead of giving error. - Retarget random.c to aquiring system randomness, for initial seeding of Fortuna. There is ATM 2 functions for Windows, reader from /dev/urandom and the regular time()/getpid() silliness. Marko Kreen
-
由 Bruce Momjian 提交于
New hashes: SHA256, SHA384, SHA512. Marko Kreen
-
由 Bruce Momjian 提交于
100.000,0. Eugen Nedelcu
-
- 09 7月, 2005 3 次提交
-
-
由 Tom Lane 提交于
is a ReturnSetInfo unless you've tested it with IsA.
-
由 Tom Lane 提交于
that has no terminating newline. Per report from maps.on at gmx.net.
-
由 Tom Lane 提交于
inspection of shared catalogs. This allows pg_dumpall to continue to work with pre-8.1 servers that likely won't have a database named postgres. Also, suppress output of SYSID options for users and groups, since server no longer does anything with these except emit a rude message. There is much more to be done to update pg_dumpall for the roles feature, but this at least makes it usable again. Per gripe from Chris K-L.
-
- 08 7月, 2005 8 次提交
-
-
由 Tom Lane 提交于
Also, back-patch fix into back branches.
-
由 PostgreSQL Daemon 提交于
testing activitymail
-
由 Neil Conway 提交于
functions as STRICT, and all functions except gen_salt() as IMMUTABLE. gen_salt() is VOLATILE. Although the functions are now STRICT, I left their PG_ARGISNULL() checks in place as a protective measure for users who install the new code but use old (non-STRICT) catalog entries (e.g., restored from a dump). Per recent discussion in pgsql-hackers. Patch from Michael Fuhr.
-
由 Neil Conway 提交于
XLOG_DBASE_DROP_OLD WAL records -- these records are no longer created in current sources. Adjust numbering of XLOG_DBASE_CREATE and XLOG_DBASE_DROP and bump the catversion. Patch from Gavin Sherry, adjusted by Neil Conway.
-
由 Tom Lane 提交于
a minimum requirement is that it not completely break the system meanwhile. Put the test in the right place.
-
由 Bruce Momjian 提交于
> * -Prevent dropping user that still owns objects, or auto-drop the objects
-
由 Tom Lane 提交于
have adequate mechanisms for tracking the contents of databases and tablespaces). This solves the longstanding problem that you can drop a user who still owns objects and/or has access permissions. Alvaro Herrera, with some kibitzing from Tom Lane.
-
由 Bruce Momjian 提交于
< writer. > writer. It might cause problems for applying WAL on recovery > into a partially-written page, but later the full page will be > replaced from WAL.
-
- 07 7月, 2005 12 次提交
-
-
由 Bruce Momjian 提交于
> > o -Add ability to turn off full page writes > o When off, write CRC to WAL and check file system blocks > on recovery > o Write full pages during file system write and not when > the page is modified in the buffer cache > > This allows most full page writes to happen in the background > writer.
-
由 Bruce Momjian 提交于
Andrew Dunstan
-
由 Bruce Momjian 提交于
Mark Kirkwood
-
由 Bruce Momjian 提交于
plperl - the attached small patch remedies that omission, and adds a small regression test for error and warning output - the new regression input and expected output are in separate attached files. Andrew Dunstan
-
由 Bruce Momjian 提交于
plperl - the attached small patch remedies that omission. Andrew Dunstan
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
problems: --------------------------------------------------------------------------- Support cross compilation by compiling "zic" with a native compiler. This relies on the output of zic being platform independent, but that is currently the case.
-
由 Bruce Momjian 提交于
possible compression. Mark Kirkwood
-
由 Tom Lane 提交于
before, but they were out of sync again. Per Kris Jurka.
-
由 Tom Lane 提交于
could not be reached before, but now that there is a plpgsql validator function, it can be. Check is needed to prevent core dump reported by Satoshi Nagayasu. Besides, this gives a more specific and useful error message for a fairly common novice error.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
-
- 06 7月, 2005 10 次提交
-
-
由 Bruce Momjian 提交于
Michael Paesold
-
由 Bruce Momjian 提交于
> * -Add function to return compressed length of TOAST data values
-
由 Bruce Momjian 提交于
find myself typing a command and then wanting to get the syntax for it. So I do a ctrl-a and add a \h: but psql does not recognize the command, because I have stuff attached to it (e.g. "alter table foobar"), so I have to scroll over and delete everything except the name of the command itself. This patch gives \h three chances to match: if nothing matches the complete string (current behavior), it tries to match the first two words (e.g. "ALTER TABLE"). If that fails, it tries to match the first word (e.g. "DELETE"). Greg Sabino Mullane
-
由 Tom Lane 提交于
to make. We ship the table file in the tarball and so this dependency just opens file timestamp skew problems without doing anything useful. (Not that it should hurt, either ... except for cross-compile builds.)
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
is used in the toplevel configure. Per Marko Kreen.
-
由 Bruce Momjian 提交于
< * Turn off full page writes if fsync is disabled < < If fsync is off, there is no purpose in writing full pages to WAL <
-
由 Bruce Momjian 提交于
< 881a881,882 > o Improve xid wraparound detection by recording per-table rather > than per-database
-
由 Bruce Momjian 提交于
--------------------------------------------------------------------------- This patch allows the PL/Python module to do (SRF) functions. The patch was taken from the CVS version. I have modified the plpython.c file and have added a test sql script for testing the functionality. It was actually the script that was in the 8.0.3 version but have since been removed. In order to signal the end of a set, the called python function must simply return plpy.EndOfSet and the set would be returned. Gerrit van Dyk
-
由 Tom Lane 提交于
-