OSDN Git Service
Tom Lane [Mon, 4 Aug 2003 15:06:45 +0000 (15:06 +0000)]
HPUX's horology behavior is OS-dependent, not hardware-dependent.
Teodor Sigaev [Mon, 4 Aug 2003 14:54:47 +0000 (14:54 +0000)]
make sub-Makefiles in the sub-directories
Teodor Sigaev [Mon, 4 Aug 2003 14:11:08 +0000 (14:11 +0000)]
Docs fixes
Peter Eisentraut [Mon, 4 Aug 2003 14:01:37 +0000 (14:01 +0000)]
Translation updates
Peter Eisentraut [Mon, 4 Aug 2003 14:00:14 +0000 (14:00 +0000)]
Add a note that AND and OR are commutative. Apparently, they are not in
certain other products.
Tom Lane [Mon, 4 Aug 2003 04:03:10 +0000 (04:03 +0000)]
Remove --enable-recode feature, since it's been broken by IPv6 changes,
and seems to have too few users to justify maintaining.
Bruce Momjian [Mon, 4 Aug 2003 02:40:20 +0000 (02:40 +0000)]
Update copyrights to 2003.
Bruce Momjian [Mon, 4 Aug 2003 02:27:25 +0000 (02:27 +0000)]
Fix for 2003 again.
Bruce Momjian [Mon, 4 Aug 2003 02:22:37 +0000 (02:22 +0000)]
Update copyright script for 2003.
Tom Lane [Mon, 4 Aug 2003 01:57:58 +0000 (01:57 +0000)]
Put back braces removed by pgindent (not really pgindent's fault).
Bruce Momjian [Mon, 4 Aug 2003 00:43:34 +0000 (00:43 +0000)]
pgindent run.
Bruce Momjian [Mon, 4 Aug 2003 00:26:49 +0000 (00:26 +0000)]
Remove extra paren in NOT_USED code, found by pgindent.
Tom Lane [Sun, 3 Aug 2003 23:46:37 +0000 (23:46 +0000)]
Tighten inline_function's test for overly complex parameters. This
should catch most situations where repeated inlining blows up the
expression complexity unreasonably, as in Joe Conway's recent example.
Tom Lane [Sun, 3 Aug 2003 23:44:44 +0000 (23:44 +0000)]
Reconsider context for calling callback functions --- original idea
that they aren't part of error processing is clearly faulty.
Bruce Momjian [Sun, 3 Aug 2003 23:27:24 +0000 (23:27 +0000)]
Update comments.
Bruce Momjian [Sun, 3 Aug 2003 23:26:05 +0000 (23:26 +0000)]
Update HISTORY file for 7.4.
Tom Lane [Sun, 3 Aug 2003 20:23:14 +0000 (20:23 +0000)]
Don't pull in libbind except on BeOS, per pgsql-bugs discussion around
12 Jun 2003.
Bruce Momjian [Sat, 2 Aug 2003 02:44:38 +0000 (02:44 +0000)]
Remove docs that say psql \encoding doesn't track SET client_encoding.
Tom Lane [Fri, 1 Aug 2003 23:40:10 +0000 (23:40 +0000)]
Comment out entries for IPv6 localhost connections, since they fail
on machines with no IPv6 support.
Tom Lane [Fri, 1 Aug 2003 23:25:00 +0000 (23:25 +0000)]
Postmaster erroneously rejected SSL connections on IPv6.
Tom Lane [Fri, 1 Aug 2003 23:24:28 +0000 (23:24 +0000)]
Fix some unprotected references to AF_UNIX ... wouldn't compile on
platforms without AF_UNIX sockets.
Tom Lane [Fri, 1 Aug 2003 23:22:52 +0000 (23:22 +0000)]
inet_recv() wasn't IPv6-ready.
Bruce Momjian [Fri, 1 Aug 2003 22:18:15 +0000 (22:18 +0000)]
Update, add Greg:
< * Fernando Nasser <fnasser@redhat.com> of Red Hat
< * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Fernando is Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin is Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Greg is Greg Sabino Mullane <greg@turnstep.com>
Bruce Momjian [Fri, 1 Aug 2003 21:44:05 +0000 (21:44 +0000)]
Add:
<
> o Allow PL/pgSQL EXECUTE query_var INTO record_var;
Tom Lane [Fri, 1 Aug 2003 21:27:27 +0000 (21:27 +0000)]
Code review for sslmode patch: eliminate memory leak, avoid giving a
completely useless error message in 'allow' case, don't retry connection
at the sendauth stage (by then the server will either let us in or not,
no point in wasting cycles on another try in the other SSL state).
Tom Lane [Fri, 1 Aug 2003 19:12:52 +0000 (19:12 +0000)]
Since HPUX now exists for Itanium, we should decouple the assumption
that OS=hpux is the same as CPU=hppa. First steps at doing this.
With these patches, we still work on hppa with either gcc or HP's cc.
We might work on hpux/itanium with gcc, but I can't test it. Definitely
will not work on hpux/itanium with non-gcc compiler, for lack of spinlock
code.
Tom Lane [Fri, 1 Aug 2003 19:01:49 +0000 (19:01 +0000)]
Get the include ordering right for TCL includes vs whatever is coming
from --with-includes.
Michael Meskes [Fri, 1 Aug 2003 18:19:03 +0000 (18:19 +0000)]
Missed two places to replace union member.
Tom Lane [Fri, 1 Aug 2003 18:10:43 +0000 (18:10 +0000)]
Fix a few of the more blatantly unportable constructs in this file.
Tom Lane [Fri, 1 Aug 2003 18:03:57 +0000 (18:03 +0000)]
Fix inconsistent static-vs-not-static declarations.
Tom Lane [Fri, 1 Aug 2003 16:46:06 +0000 (16:46 +0000)]
Fix compile warning.
Peter Eisentraut [Fri, 1 Aug 2003 16:19:14 +0000 (16:19 +0000)]
Russian translation updates by Serguei Mokhov
Peter Eisentraut [Fri, 1 Aug 2003 16:18:04 +0000 (16:18 +0000)]
Use only two-part shared library version numbers, for better portability
and consistency.
Peter Eisentraut [Fri, 1 Aug 2003 16:12:32 +0000 (16:12 +0000)]
While having a parallel-make-safe genbki.sh is good, it's better not to
uselessly invoke it in parallel in the first place.
Peter Eisentraut [Fri, 1 Aug 2003 13:53:36 +0000 (13:53 +0000)]
Make ecpg SQLSTATE-aware. Map existing SQLCODE assignments to SQLSTATEs,
rather than parsing the message. Add some documentation about embedded
SQL.
Bruce Momjian [Fri, 1 Aug 2003 13:48:58 +0000 (13:48 +0000)]
Update comments.
Bruce Momjian [Fri, 1 Aug 2003 13:48:25 +0000 (13:48 +0000)]
Update comments.
Michael Meskes [Fri, 1 Aug 2003 11:25:55 +0000 (11:25 +0000)]
Added missing TO keyword.
Michael Meskes [Fri, 1 Aug 2003 08:21:04 +0000 (08:21 +0000)]
- Added some Informix error codes in Informix mode.
- Added just another pgtypeslib function.
Bruce Momjian [Fri, 1 Aug 2003 05:52:44 +0000 (05:52 +0000)]
cvs log used -b for head, not -rHEAD.
Marc G. Fournier [Fri, 1 Aug 2003 04:28:13 +0000 (04:28 +0000)]
python needs to be removed from here
Marc G. Fournier [Fri, 1 Aug 2003 04:24:57 +0000 (04:24 +0000)]
clean python out of Makefile
Marc G. Fournier [Fri, 1 Aug 2003 04:19:06 +0000 (04:19 +0000)]
remove python module, as its moved to pygresql.org
Tom Lane [Fri, 1 Aug 2003 03:55:05 +0000 (03:55 +0000)]
Fix for Alpha portability.
Bruce Momjian [Fri, 1 Aug 2003 03:10:04 +0000 (03:10 +0000)]
--enable-thread-safeness -> --enable-thread-safety
Tom Lane [Fri, 1 Aug 2003 02:38:09 +0000 (02:38 +0000)]
Update contrib regression tests for recent error message editing.
Tom Lane [Fri, 1 Aug 2003 02:25:31 +0000 (02:25 +0000)]
Add missing #include.
Tom Lane [Fri, 1 Aug 2003 02:21:17 +0000 (02:21 +0000)]
Fix some minor portability issues, per Chris K-L.
Tom Lane [Fri, 1 Aug 2003 01:23:11 +0000 (01:23 +0000)]
Fix my own mistake in GUC variable annotation.
Tom Lane [Fri, 1 Aug 2003 01:01:52 +0000 (01:01 +0000)]
Improve description of restoring pg_dumpall backups, per gripe from
Havard Eidnes.
Tom Lane [Fri, 1 Aug 2003 00:15:26 +0000 (00:15 +0000)]
Adjust 'permission denied' messages to be more useful and consistent.
Tom Lane [Thu, 31 Jul 2003 22:17:11 +0000 (22:17 +0000)]
Very minor editing.
Tom Lane [Thu, 31 Jul 2003 21:34:18 +0000 (21:34 +0000)]
Fix mistaken error code assignments, per Peter's note 7/28/03.
Tom Lane [Thu, 31 Jul 2003 19:20:41 +0000 (19:20 +0000)]
When using a temp installation, unset PGUSER and other variables we
might have inherited from the environment that would possibly cause
psql to fail to connect to the temp installation properly. Per trouble
report from Markus Bertheau 7/1/03.
Tom Lane [Thu, 31 Jul 2003 18:36:46 +0000 (18:36 +0000)]
Cause library-preload feature to report error if specified initialization
function is not found. Also, make all the PL libraries have initialization
functions with standard names. Patch from Joe Conway.
Tom Lane [Thu, 31 Jul 2003 17:21:57 +0000 (17:21 +0000)]
Upgrade parsing code for ACLs to be less hokey and more cognizant of
the actual logical structure and quoting rules being used. Fixes bug
reported by Chris K-L on 7/8/03.
Bruce Momjian [Thu, 31 Jul 2003 15:07:17 +0000 (15:07 +0000)]
Modify:
> * Implement dirty reads or shared row locks and use them in RI triggers
Bruce Momjian [Thu, 31 Jul 2003 04:49:38 +0000 (04:49 +0000)]
Modify:
> * Implement dirty reads or shared locks and use them in RI triggers
Bruce Momjian [Thu, 31 Jul 2003 04:48:15 +0000 (04:48 +0000)]
contraints -> constraints
Rod Taylor
Bruce Momjian [Thu, 31 Jul 2003 04:41:56 +0000 (04:41 +0000)]
Update Turkish FAQ, Devrim GUNDUZ
Bruce Momjian [Thu, 31 Jul 2003 04:23:40 +0000 (04:23 +0000)]
Add fflush of stdout when outputing query.
Bruce Momjian [Thu, 31 Jul 2003 02:12:43 +0000 (02:12 +0000)]
dbf2pg - Insert xBase-style .dbf-files into a PostgreSQL-table
There is an option "-s oldname=newname", which changes the old field name of
the dbf-file to the newname in PostgeSQL. If the length of the new name is 0,
the field is skiped. If you want to skip the first field of the dbf-file,
you get the wildest error-messages from the backend.
dbf2pg load the dbf-file via "COPY tablename FROM STDIN". If you skip the
first field, it is an \t to much in STDIN.
A fix could be an counter j=0, which increments only, if a field is imported
(IF (strlen(fields[h].db_name)> 0) j++. And only if j > 1 (if an other field is
imported) the \t is printed.
An other small bug in the README:
-s start
Specify the first record-number in the xBase-file
we will insert.
should be
-e start
Specify the first record-number in the xBase-file
we will insert.
Thomas Behr
Tom Lane [Wed, 30 Jul 2003 22:56:24 +0000 (22:56 +0000)]
Add pretty-printing variants of pg_get_viewdef and related functions.
Patch from Andreas Pflug.
Bruce Momjian [Wed, 30 Jul 2003 20:23:32 +0000 (20:23 +0000)]
Add:;
> * Allow server log information to be output as INSERT statements
Tom Lane [Wed, 30 Jul 2003 19:48:41 +0000 (19:48 +0000)]
Fix numeric_smaller, numeric_larger, float4smaller, float4larger,
float8smaller, float8larger (and thereby the MIN/MAX aggregates on these
datatypes) to agree with the datatypes' comparison operations as
regards NaN handling. In all these datatypes, NaN is arbitrarily
considered larger than any normal value ... but MIN/MAX had not gotten
the word. Per recent discussion on pgsql-sql.
Bruce Momjian [Wed, 30 Jul 2003 19:16:18 +0000 (19:16 +0000)]
Modify:
> * Allow log lines to include session-level information, like database and user
Tom Lane [Wed, 30 Jul 2003 19:02:18 +0000 (19:02 +0000)]
Cause ARRAY[] construct to return a NULL array, rather than raising an
error, if any input element is NULL. This is not what we ultimately want,
but until arrays can have NULL elements, it will have to do. Patch from
Joe Conway.
Bruce Momjian [Wed, 30 Jul 2003 18:52:06 +0000 (18:52 +0000)]
Add:
> * Add database name and user name to logging options
Tom Lane [Wed, 30 Jul 2003 17:08:47 +0000 (17:08 +0000)]
When shutting down the regression test postmaster after 'make check',
wait for the postmaster to actually exit. Otherwise running repeated
'make check's tends to misbehave, because we try to remove and recreate
the data directory while the old PM is still alive.
Tom Lane [Tue, 29 Jul 2003 22:18:38 +0000 (22:18 +0000)]
Fix longstanding error in _bt_search(): should moveright at top of loop not
bottom. Otherwise we fail to moveright when the root page was split while
we were "in flight" to it. This is not a significant problem when the root
is above the leaf level, but if the root was also a leaf (ie, a single-page
index just got split) we may return the wrong leaf page to the caller,
resulting in failure to find a key that is in fact present. Bug has existed
at least since 7.1, probably forever.
Tom Lane [Tue, 29 Jul 2003 17:21:27 +0000 (17:21 +0000)]
Coerce unknown-literal-constant default values to the column type during
CREATE TABLE (or ALTER TABLE SET DEFAULT), rather than postponing it to
the time that the default is inserted into an INSERT command by the
rewriter. This reverses an old decision that was intended to make the
world safe for writing
f1 timestamp default 'now'
but in fact merely made the failure modes subtle rather than obvious.
Per recent trouble report and followup discussion.
initdb forced since there is a chance that stored default expressions
will change.
Tom Lane [Tue, 29 Jul 2003 14:17:37 +0000 (14:17 +0000)]
There is no reason to cast valuntil to timestamp, and a very good
reason not to: it fails for an 'invalid' abstime. Per bug report
of today's date.
Tom Lane [Tue, 29 Jul 2003 14:12:50 +0000 (14:12 +0000)]
Use a process-specific temp file name, per Andreas Haumer.
Tom Lane [Tue, 29 Jul 2003 00:03:19 +0000 (00:03 +0000)]
Apply (a somewhat revised version of) Greg Mullane's patch to eliminate
heuristic determination of day vs month in date/time input. Add the
ability to specify that input is interpreted as yy-mm-dd order (which
formerly worked, but only for yy greater than 31). DateStyle's input
component now has the preferred spellings DMY, MDY, or YMD; the older
keywords European and US are now aliases for the first two of these.
Per recent discussions on pgsql-general.
Tom Lane [Mon, 28 Jul 2003 19:31:32 +0000 (19:31 +0000)]
Code review for recent GUC changes --- try to make it less obvious that
these things were added at different times by different people ;-).
Includes Aizaz Ahmed's patch to remove duplicate array in help_config.c.
Tom Lane [Mon, 28 Jul 2003 18:33:18 +0000 (18:33 +0000)]
Add error stack traceback support for SQL-language functions.
Bruce Momjian [Mon, 28 Jul 2003 16:22:16 +0000 (16:22 +0000)]
There was enough code drift since this patch, that a couple of bugs
materialized.
New items have been added to GucContext and GucSource enums, but of
course they were not added to the corresponding GucContextName[] and
GucSourceName[] arrays in the patch. Here's a new patch to fix the
resulting bugs.
Joe Conway
Tom Lane [Mon, 28 Jul 2003 06:27:06 +0000 (06:27 +0000)]
Localizability improvement.
Tom Lane [Mon, 28 Jul 2003 00:25:21 +0000 (00:25 +0000)]
elog() is no longer a gettext trigger --- all remaining uses are considered
internal errors.
Tom Lane [Mon, 28 Jul 2003 00:14:43 +0000 (00:14 +0000)]
Rename psql's VERBOSE variable to VERBOSITY, per suggestion from Bruce.
Tom Lane [Mon, 28 Jul 2003 00:09:16 +0000 (00:09 +0000)]
A visit from the message-style police ...
Tom Lane [Sun, 27 Jul 2003 21:49:55 +0000 (21:49 +0000)]
elog mop-up: bring some straggling fprintf(stderr)'s into the elog world.
Bruce Momjian [Sun, 27 Jul 2003 20:12:06 +0000 (20:12 +0000)]
Updatge to skip composite types.
Bruce Momjian [Sun, 27 Jul 2003 19:39:13 +0000 (19:39 +0000)]
Tom, happier with the attached patch?
I'd have to disagree with regards to the memory leaks not being worth
a mention - any such leak can cause problems when the PostgreSQL
installation is either unattended, long-living andor has very high
connection levels. Half a kilobyte on start-up isn't negligible in
this light.
Regards, Lee.
Tom Lane writes:
> Lee Kindness <lkindness@csl.co.uk> writes:
> > Guys, attached is a patch to fix two memory leaks on start-up.
>
> I do not like the changes to miscinit.c. In the first place, it is not
> a "memory leak" to do a one-time allocation of state for a proc_exit
> function. A bigger complaint is that your proposed change introduces
> fragile coupling between CreateLockFile and its callers, in order to
> save no resources worth mentioning. More, it introduces an assumption
> that the globals directoryLockFile and socketLockFile don't change while
> the postmaster is running. UnlinkLockFile should unlink the file that
> it was originally told to unlink, regardless of what happens to those
> globals.
>
> If you are intent on spending code to free stuff just before the
> postmaster exits, a better fix would be for UnlinkLockFile to free its
> string argument after using it.
Lee Kindness
Bruce Momjian [Sun, 27 Jul 2003 19:30:24 +0000 (19:30 +0000)]
Adjust oid2name to skip certain row types, per Tom.
Tom Lane [Sun, 27 Jul 2003 18:38:26 +0000 (18:38 +0000)]
Fix some localizability issues with existing errcontext() calls.
Tom Lane [Sun, 27 Jul 2003 18:37:52 +0000 (18:37 +0000)]
Move ERRCODE_XXX macros into their own header file.
Tom Lane [Sun, 27 Jul 2003 18:07:19 +0000 (18:07 +0000)]
elog mop-up.
Tom Lane [Sun, 27 Jul 2003 17:10:07 +0000 (17:10 +0000)]
elog mop-up.
Tom Lane [Sun, 27 Jul 2003 16:32:34 +0000 (16:32 +0000)]
Remove unportable // comments.
Bruce Momjian [Sun, 27 Jul 2003 04:59:29 +0000 (04:59 +0000)]
Cleanup of timetravel compile warnings.
Tom Lane [Sun, 27 Jul 2003 04:53:12 +0000 (04:53 +0000)]
Error message editing in utils/adt. Again thanks to Joe Conway for doing
the bulk of the heavy lifting ...
Bruce Momjian [Sun, 27 Jul 2003 04:51:45 +0000 (04:51 +0000)]
Here is 4 file in tgz:
the new timetravel.c,
new timetravel.README (cut from spi/README and modified),
modified timetravel.sql.in
and modified timetravel.example.
Features:
- optionally 3 parameter for insert/update/delete user name
- work with CREATE UNIQUE INDEX ixxx on table xxx
(unique_field,time_off);
(the original version was work with unique index on 6.5.0-6.5.3,
and not work on 7.3.2,7.3.3)
(before 6.5.0 and between 6.5.3 and 7.3.2 I dont know)
- get_timetravel(tablename) function for check timetravel-status.
- timetravel trigger not change oid of the active record. (it is not a
good feature, because the old version is automatice prevent the paralel
update with "where oid=nnn")
B?jthe Zolt?n
Bruce Momjian [Sun, 27 Jul 2003 04:35:54 +0000 (04:35 +0000)]
> Joe Conway <mail@joeconway.com> writes:
>>ISTM that "source" is worth knowing.
>
> Hm, possibly. Any other opinions?
This version has the seven fields I proposed, including "source". Here's
an example that shows why I think it's valuable:
regression=# \x
Expanded display is on.
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | on
context | user
vartype | bool
source | default
min_val |
max_val |
regression=# update pg_settings set setting = 'off' where name =
'enable_seqscan';
-[ RECORD 1 ]---
set_config | off
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | off
context | user
vartype | bool
source | session
min_val |
max_val |
regression=# alter user postgres set enable_seqscan to 'off';
ALTER USER
(log out and then back in again)
regression=# \x
Expanded display is on.
regression=# select * from pg_settings where name = 'enable_seqscan';
-[ RECORD 1 ]-----------
name | enable_seqscan
setting | off
context | user
vartype | bool
source | user
min_val |
max_val |
In the first case, enable_seqscan is set to its default value. After
setting it to off, it is obvious that the value has been changed for the
session only. In the third case, you can see that the value has been set
specifically for the user.
Joe Conway
Bruce Momjian [Sun, 27 Jul 2003 03:51:59 +0000 (03:51 +0000)]
> Am Son, 2003-06-22 um 02.09 schrieb Joe Conway:
>>Sounds like all that's needed for your case. But to be complete, in
>>addition to changing tablefunc.c we'd have to:
>>1) come up with a new function call signature that makes sense and does
>>not cause backward compatibility problems for other people
>>2) make needed changes to tablefunc.sql.in
>>3) adjust the README.tablefunc appropriately
>>4) adjust the regression test for new functionality
>>5) be sure we don't break any of the old cases
>>
>>If you want to submit a complete patch, it would be gratefully accepted
>>-- for review at least ;-)
>
> Here's the patch, at least for steps 1-3
Nabil Sayegh
Joe Conway
Bruce Momjian [Sun, 27 Jul 2003 03:47:22 +0000 (03:47 +0000)]
This is a totally trivial patch for something that was a very minor nit that
annoyed me the other day while I was documenting my current project. It
makes pg_dump use the same layout for types as for tables, by putting "\n\t"
before the first field and "\n" before the final ");"
Can't really justify this too much except to say I had an itch and I
scratched it ;-)
Andrew Dunstan
Bruce Momjian [Sun, 27 Jul 2003 03:32:26 +0000 (03:32 +0000)]
here are the patches for psql on Win32:
psql4win32.patch - changes in the psql source code
psql-ref.patch - changes in the documentation psql-ref.sgml
(for new builtin variable WIN32_CONSOLE)
To apply them use "patch -p 1" in the root directory of the
postgres source directory.
These patches fix the following problems of psql on Win32
(all changes only have effect #ifdef WIN32):
a) Problem: Static library libpq.a did not work
Solution: Added WSAStartup() in fe-connect.c
b) Problem: Secret Password was echoed by psql
Solution: Password echoing disabled in sprompt.c
c) Problem: 8bit characters were displayed/interpreted wrong in psql
This is due to the fact that the Win32 "console" uses a
different encoding than the rest of the Windows system
Solution: Introduced a new psql variable WIN32_CONSOLE
When set with "\set WIN32_console", the function OemToChar()
is applied after reading input and CharToOem() before
displaying Output
Christoph Dalitz
Bruce Momjian [Sun, 27 Jul 2003 03:16:20 +0000 (03:16 +0000)]
This makes the initcap function compatible with Oracle 9i, it has been
tested on both redhat 8 and FreebSD.
--
Mike Nolan
Bruce Momjian [Sun, 27 Jul 2003 03:13:17 +0000 (03:13 +0000)]
The deferred trigger queue pushing to disk patch pointed out
that the regression tests for foreign keys didn't seem to test
a deferred constraint that was not satisified by a later
statement and was not made immediate by set constraints,
so here's a simple added test with a single invalid insert and
a commit.
Stephan Szabo
Bruce Momjian [Sat, 26 Jul 2003 23:58:23 +0000 (23:58 +0000)]
>>You can alias $0, similar to the argument variables. And, I confirmed
>>that you cannot change the value, similar to the argument variables:
>
> Perhaps you shouldn't mark it isconst; then it would actually have some
> usefulness (you could use it directly as a temporary variable to hold
> the intended result). I can't see much value in aliasing it if it's
> const, either.
OK; the only change in this version is "isconst = false;". Now you can
use $0 as a result placeholder if desired. E.g.:
create or replace function tmp(anyelement, anyelement) returns anyarray as '
declare
v_ret alias for $0;
v_el1 alias for $1;
v_el2 alias for $2;
begin
v_ret := ARRAY[v_el1, v_el2];
return v_ret;
end;
' language 'plpgsql';
create table f(f1 text, f2 text, f3 int, f4 int);
insert into f values ('a','b',1,2);
insert into f values ('z','x',3,4);
select tmp(f1,f2) from f;
select tmp(f3,f4) from f;
Joe Conway