git.postgresql.org Git - postgresql.git/log
Tom Lane [2001年5月28日 19:33:24 +0000 (19:33 +0000)]
Cause plpgsql's PERFORM to behave according to its documentation,
which says that PERFORM will execute any SELECT query and discard the
result. The former implementation would in fact raise an error if the
result contained more than one row or more than one column.
Also, change plpgsql's error-logging mechanism to emit the additional
messages about error location at NOTICE rather than DEBUG level. This
allows them to be seen by the client without having to dig into the
postmaster log file (which may be nonexistent or inaccessible by the
client).
Upgraded code to use the current version 1 calling conventions.
Tom Lane [2001年5月28日 15:29:51 +0000 (15:29 +0000)]
Suppress useless memmove() when buffer already contains left-justified
data.
markup fix
Update TODO list.
Sample output that appears below the table attributes for \d:
Indicies: palm_buy_date_idx
palm_user_date_idx
Primary Key: palm_buyers_pkey
Unique Key: palm_buyers_username
Constraint: "1ドル" ((sex = 'M'::bpchar) OR (sex = 'F'::bpchar))
Note that check constraint name now shown as well. (Makes it a lot easier
to test inheritance support in ADD/DROP constraint :) )
Attached is a docs change for psql.
Christopher Kings
This just breaks down the indices in to three groups:
non-unique: stay as they were
unique and primary: become listed as primary keys
unique and non-primary: become listed as unique keys
I also made it so that it shows the names of check constraints ie:
Check: "1ドル" (a > 5)
Christopher Kings
Fix a message error in utf_to_local
Attached is a patch to fix the problem Thomas mentions below. The JDBC
driver now correctly handles timezones that are offset fractional hours
from GMT (ie. -06:30).
Barry Lind
Don't use multi-line string literals.
Tom Lane [2001年5月27日 20:48:51 +0000 (20:48 +0000)]
When using a junkfilter, the output tuple should NOT be stored back into
the same tuple slot that the raw tuple came from, because that slot has
the wrong tuple descriptor. Store it into its own slot with the correct
descriptor, instead. This repairs problems with SPI functions seeing
inappropriate tuple descriptors --- for example, plpgsql code failing to
cope with SELECT FOR UPDATE.
Tom Lane [2001年5月27日 20:42:20 +0000 (20:42 +0000)]
Cause ExecCountSlots() accounting to bear some relationship to reality.
Rather surprising we hadn't seen bug reports about this ...
Changed use of macros for extracting information. According to comments
in c.h we should be using the visible structure. We should only see
de-TOASTed values in this program. The old method refused to compile
because the length macro was no longer an lvalue.
Tom Lane [2001年5月27日 17:37:48 +0000 (17:37 +0000)]
Fix eqjoinsel() to make use of new statistics.
Update TODO list.
Make UPDATE and DELETE privileges distinct. Add REFERENCES and TRIGGER
privileges. INSERT and COPY FROM now require INSERT (only). Add
privileges regression test.
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.
Mention failure of ANT to delete directories on clean.
See attached for a small patch that enables plpython to build cleanly
under Cygwin. This patch together with my previous Python patch:
http://postgresql.readysetnet.com/mhonarc/pgsql-patches/2001-05/msg00075.htm
l
enables full Python support (i.e., configure --with-python) for Cygwin
PostgreSQL.
Jason Tishler
Oops, only wanted python change in the last commit. Backing out.
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
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.
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
The following patch corrects a make install problem when building
under Cygwin. The root cause of this problem is that (Sun) java is a
native Win32 app and hence does not understand Cygwin Posix style paths.
The solution is to use Cygwin's cygpath utility to convert the Posix style
JDBC installation directory path into a Win32 one before invoking ant.
I'm not sure if my patch is the best way to correct this issue but
my goal was to confine the Cygwin specific constructs to
Jason Tishler
Get rid of the following size limit.
1) Query size limit(was 65536) for >=7.0 servers.
2) Text size limit(was 8190) for 7.1 servers.
Another Makefile fix for qnx patch.
Fix tabs in Makefile.
Back out qnx plpgsql/Makefile change and move to src/Makefile.
I haven't tried building postgres with the Watcom compiler for 7.1 because
it does not support 64bit integers. AFAIK that's the default data type for
OIDs, so I am not surprised that this does not work. Use gcc instead.
BTW., 7.1 does not compile as is with gcc either, I believed the
required patches made it into the 7.1.1 release but obviously I missed
the deadline.
Since the ports mailing list does not seem to be archived I have attached
a copy of the patch (for 7.1 and 7.1.1).
I've just performed a build of a Watcom compiled version and found a couple
of bugs in the watcom specific part of that patch. Please use the attached
version instead.
Tegge, Bernd
There are a number of changes. The main ones are:
return oid on insert
handle all primitive data types
handle single quotes and newlines in Strings
handle null variables
deal with non public and final variables (not very
well, though)
Ken K
Update TODO list.
SQL function bit_length
Unset PGLIB so it doesn't slip in from the environment.
Make createlang use dynamic loader enhancements (automatic path and suffix).
Fix ANT for *.properties files.
Fix ANT so it only has '*.class' files, not the 'tags' file.
Update TODO list.
Update TODO list.
Update FAQ.
Update TODO list.
Back out timezone fix. Not needed in jdbc1.
Fix for comments at top of functions.
I found the answer to this: the partition had filled up, and so the problem
was lack of disk space.
Oliver Elphick
Make bit and bit varying types reject too long input. (They already tried
to do that, but inconsistently.) Make bit type reject too short input,
too, per SQL. Since it no longer zero pads, 'zpbit*' has been renamed to
'bit*' in the source, hence initdb.
more indices -> indexes
ELSEIF PL/PgSQL doc patch.
Klaus Reger
Update TODO list.
Update TODO list.
The Watcom preprocessor adds a space at the start of each line. Therefore
the output of "egrep '^[0-9]' " is empty. Changing the pattern to
"egrep '^[ ]*[0-9]" generates the correct file.
Tegge, Bernd
Bump major libpq++ version after API changes, Patrick Welche
Update TODO list.
Pgindent fixes for Tom, mostly indenting problems.
Print error on SELECT tab FROM tab:
You can't use relation names alone in the target list, try relation.*
Update TODO list.
Make char(n) and varchar(n) types raise an error if the inserted string is
too long. While I was adjusting the regression tests I moved the array
things all into array.sql, to make things more manageable.
Jan Wieck [2001年5月21日 14:22:19 +0000 (14:22 +0000)]
Enhancement of SPI to get access to portals
- New functions to create a portal using a prepared/saved
SPI plan or lookup an existing portal by name.
- Functions to fetch/move from/in portals. Results are placed
in the usual SPI_processed and SPI_tuptable, so the entire
set of utility functions can be used to gain attribute access.
- Prepared/saved SPI plans now use their own memory context
and SPI_freeplan(plan) can remove them.
- Tuple result sets (SPI_tuptable) now uses it's own memory
context and can be free'd by SPI_freetuptable(tuptab).
Enhancement of PL/pgSQL
- Uses generic named portals internally in FOR ... SELECT
loops to avoid running out of memory on huge result sets.
- Support for CURSOR and REFCURSOR syntax using the new SPI
functionality. Cursors used internally only need no explicit
transaction block. Refcursor variables can be used inside
of explicit transaction block to pass cursors between main
application and functions.
Jan
Tom Lane [2001年5月20日 20:28:20 +0000 (20:28 +0000)]
Modify optimizer data structures so that IndexOptInfo lists built for
create_index_paths are not immediately discarded, but are available for
subsequent planner work. This allows avoiding redundant syscache lookups
in several places. Change interface to operator selectivity estimation
procedures to allow faster and more flexible estimation.
Initdb forced due to change of pg_proc entries for selectivity functions!
Update TODO list.
Make sure fmgr_info() fills in fn_oid last, so that no partially
initialized FmgrInfo structs linger after elog.
Allow special '$libdir' macro to show up in object file path in CREATE
FUNCTION command. Guard against trying to load a directory. Update
documentation some.
Prevent ANT from recreating the JAR files just because the
errors.properties files were being copied.
Comment additions in parser.
Move ParserFuncOrColumn function higher in the file.
New comment. This func/column things has always confused me.
/*
* parse function
* This code is confusing because the database can accept
* relation.column, column.function, or relation.column.function.
* In these cases, funcname is the last parameter, and fargs are
* the rest.
*
* It can also be called as func(col) or func(col,col).
* In this case, Funcname is the part before parens, and fargs
* are the part in parens.
*
*/
Node *
ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
bool agg_star, bool agg_distinct,
int precedence)
Undo \dT change. Not worth it.
Rename ParseFuncOrColumn() to ParseColumnOrFunc().
Small code cleanups,formatting.
Jan Wieck [2001年5月18日 21:16:59 +0000 (21:16 +0000)]
Adding ELSIF support contributed by Klaus Reger.
Jan
Tom Lane [2001年5月18日 17:49:52 +0000 (17:49 +0000)]
Suppress compiler warnings about pid_t vs int.
Update TODO list.
Tom Lane [2001年5月18日 16:02:01 +0000 (16:02 +0000)]
Add regression test to catch future breakage of avg(interval). This
aggregate seems uniquely fragile, because it's the only one with an
agginitval that's at all likely to change in format.
Tom Lane [2001年5月18日 15:59:04 +0000 (15:59 +0000)]
Correct recently-broken avg(interval) definition.
Update TODO list.
Update TODO list.
Update TODO list.
Change "indices" to "indexes", per OED.
Add -U and -W options to pg_dump and friends to support non-interactive
specification of username (like in psql). pg_dumpall now works with
password authentication.
Add dynamic_library_path parameter and automatic appending of shared
library extension.
OK, now pgindent has blank lines before comment blocks, except when
there is a brace on the line above it.
Prevent forced blank line before comment block in pgindent.
Spacing cleanup.
Small cleanup of spacing.
Add HISTORY items for 7.1.2.
Add missing space to sample cvs call.
Fix pg_index statistics query to join proper relation.
Included is a patch that fixes a bug introduced in the lastest version
(1.22) of interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java. That
change removed a line that set the variable s to the value of the
stringbuffer. This fix changes the following if checks to check the
length of the stringbuffer instead of s, since s no longer contains the
string the if conditions are expecting.
The bug manifests itself in getTimestamp() loosing the timezone
information of timestamps selected from the database, thereby causing
the time to be incorrect.
Barry Lind
Cleanup of backpatch of jdbc2 improvements to jdbc1:
Here's what I came up with. The biggest difference api between JDK1.x and
later versions is the support for collections. The problem was with the
Vector class; in jdk1.x there is no method called add, so I changed the
calls to addElement. Also no addAll, so I rewrote the method slightly to not
require addAll. While reviewing this I notices some System.out.println
statements that weren't commented out. So I commented them out in both
versions.
The upshot of all of this is that I have clean compile, but no idea if the
code works ;(
Dave Cramer
Fix 'make clean' with jdbc and ant by using filesets.
1) Decrease the size of some buffers.
2) Repair broken SQLStatistics().
Tom Lane [2001年5月17日 01:28:50 +0000 (01:28 +0000)]
Replace poorly-coded vac_find_eq routine with call to standard bsearch
library code. Tweak progress messages to include elapsed real time,
not only CPU time.
Mark column as not used.
Update TODO list.
Update TODO list.
Add missing paren.
Tom Lane [2001年5月16日 22:35:12 +0000 (22:35 +0000)]
Repair race condition introduced into heap_update() in 7.1 ---
PageGetFreeSpace() was being called while not holding the buffer lock, which
not only could yield a garbage answer, but even if it's the right answer there
might be less space available after we reacquire the buffer lock.
Also repair potential deadlock introduced by my recent performance improvement
in RelationGetBufferForTuple(): it was possible for two heap_updates to try to
lock two buffers in opposite orders. The fix creates a global rule that
buffers of a single heap relation should be locked in decreasing block number
order. Currently, this only applies to heap_update; VACUUM can get away with
ignoring the rule since it holds exclusive lock on the whole relation anyway.
However, if we try to implement a VACUUM that can run in parallel with other
transactions, VACUUM will also have to obey the lock order rule.
Update TODO list.
Fix for HASH for index lookups in ODBC.
autoconf
The configure.in file erraneous assumes that FreeBSD 1.x and 2.x have
ELF capability.
While this is true to some extent, this assumption makes it impossible
to compile PostgreSQL 7.1 and 7.2devel without the --disable-shared
switch during configuration.
Trond Endrest
This patch fixes a bug which occurs when setObject(1,obj) is called and obj
is of type Object, and is null
Dave Cramer
This is the main PostgreSQL git repository.
RSS
Atom