| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
concurrent modifications to the page by other backends.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
vacuum.c. This is needed to make the world safe for pg_upgrade.
|
| |
|
|
|
|
|
| |
query representation. Note that GEQO_RELS setting is now interpreted
as the number of top-level items in the FROM list, not necessarily the
number of relations in the query. This seems appropriate since we are
only doing join-path searching over the top-level items.
|
| |
|
|
|
|
| |
There is still no effective difference but it will kick in once setuid
functions exist (not included here). Make old getpgusername() alias for
current_user.
|
| |
|
|
| |
been given an alias. Otherwise, results are incorrect.
|
| |
|
|
|
|
|
|
| |
ie, consider only the columns coming from the JOIN clause's sub-clauses.
Also detect attempts to reference columns belonging to other tables
(which would still be possible using an explicitly-qualified name).
I'm not sure this implements the spec's semantics 100% accurately, but
at least it gives plausible behavior.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DESTDIR=/else/where' and prepends the value of DESTDIR to the full
installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows
users to install the package into a location different from the one that
was configured and hard-coded into various scripts, e.g., for creating
binary packages.
DESTDIR is in many cases preferrable over `make install
prefix=/else/where' because
a) `prefix' affects the path that is hard-coded into the files, which can
lead to a `make install prefix=xxx' (as done by the regression test
driver) corrupting the files in the source tree with wrong paths.
b) it doesn't work at all if a directory was overridden to not depend on
`prefix', e.g., --sysconfdir=/etc.
(Updating the regression test driver to use DESTDIR is a separate
undertaking.)
See also autoconf@gnu.org, From: Akim Demaille <akim@epita.fr>, Date: 08
Sep 2000 12:48:59 +0200, Message-ID:
<mv4em2vb1lw.fsf@nostromo.lrde.epita.fr>, Subject: Re: HTML format
documentation.
|
| |
|
|
|
| |
can still work, per recent discussion on pghackers. Correct some bugs
in ILIKE implementation.
|
| |
|
|
|
| |
ends to clean up (see my message of same date to pghackers), but mostly
it works. INITDB REQUIRED!
|
| |
|
|
| |
relation to a view when you create an ON INSERT/UPDATE/DELETE rule ...
|
| | |
|
| | |
|
| |
|
|
|
| |
This should do better than before around Daylight Savings Time
transitions.
|
| |
|
|
|
|
|
|
|
|
| |
ALTER TABLE <tablename> OWNER TO <username>
Only a superuser may execute the command.
--
Mark Hollomon
mhh@mindspring.com
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for views. Views are now have a "relkind" of
RELKIND_VIEW instead of RELKIND_RELATION.
Also, views no longer have actual heap storage
files.
The following changes were made
1. CREATE VIEW sets the new relkind
2. The executor complains if a DELETE or
INSERT references a view.
3. DROP RULE complains if an attempt is made
to delete a view SELECT rule.
4. CREATE RULE "_RETmytable" AS ON SELECT TO mytable DO INSTEAD ...
1. checks to make sure mytable is empty.
2. sets the relkind to RELKIND_VIEW.
3. deletes the heap storage files.
5. LOCK myview is not allowed. :)
6. the regression test type_sanity was changed to
account for the new relkind value.
7. CREATE INDEX ON myview ... is not allowed.
8. VACUUM myview is not allowed.
VACUUM automatically skips views when do the entire
database.
9. TRUNCATE myview is not allowed.
THINGS LEFT TO THINK ABOUT
o pg_views
o pg_dump
o pgsql (\d \dv)
o Do we really want to be able to inherit from views?
o Is 'DROP TABLE myview' OK?
--
Mark Hollomon
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here is a patch against CVS (without my earlier patch)
to disallow
LOCK x
if x is a view.
It does not use the SPI interface.
--
Mark Hollomon
|
| |
|
|
|
|
|
|
|
| |
* Disallow LOCK on view
src/backend/commands/command.c is the only affected file
--
Mark Hollomon
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here's the multibyte aware version of my patch to fix the truncation
of the rulename autogenerated during a CREATE VIEW. I've modified all
the places in the backend that want to construct the rulename to use
the MakeRetrieveViewRuleName(), where I put the #ifdef MULTIBYTE, so
that's the only place that knows how to construct a view rulename. Except
pg_dump, where I replicated the code, since it's a standalone binary.
The only effect the enduser will see is that views with names len(name)
> NAMEDATALEN-4 will fail to be created, if the derived rulename clases
with an existing rule: i.e. the user is trying to create two views with
long names whose first difference is past NAMEDATALEN-4 (but before
NAMEDATALEN: that'll error out after the viewname truncation.) In no
case will the user get left with a table without a view rule, as the
current code does.
Ross Reedstrom
|
| | |
|
| |
|
|
| |
documentation.
|
| |
|
|
|
|
|
|
|
|
|
| |
user is now defined in terms of the user id, the user name is only computed
upon request (for display purposes). This is kind of the opposite of the
previous state, which would maintain the user name and compute the user id
for permission checks.
Besides perhaps saving a few cycles (integer vs string), this now creates a
single point of attack for changing the user id during a connection, for
purposes of "setuid" functions, etc.
|
| |
|
|
|
|
|
|
|
|
|
| |
quote_ident(text) returns text
quote_literal(text) returns text
These are handy to build up properly quoted query strings
for the new PL/pgSQL EXECUTE functionality to submit
dynamic DDL statements.
Jan
|
| |
|
|
|
| |
to one another. Sort out builddir vs srcdir variable namings. Remove some
now obsoleted make variables.
|
| |
|
|
|
| |
resources are cleaned up if the user disconnected mid-transaction.
Great thanks to Hiroshi for pointing out what should have been obvious...
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
=# create table t (id int4 unique);
NOTICE: CREATE TABLE/UNIQUE will create implicit index 't_id_key' for table 't'
=# begin;
query: drop table t;
NOTICE: Caution: DROP TABLE cannot be rolled back, so don't abort now
NOTICE: Caution: DROP INDEX cannot be rolled back, so don't abort now
=# rollback;
=# drop table t;
NOTICE: mdopen: couldn't open t: No such file or directory
NOTICE: RelationIdBuildRelation: smgropen(t): No such file or directory
NOTICE: mdopen: couldn't open t: No such file or directory
NOTICE: mdopen: couldn't open t: No such file or directory
NOTICE: mdopen: couldn't open t_id_key: No such file or directory
NOTICE: RelationIdBuildRelation: smgropen(t_id_key): No such file or directory
NOTICE: mdopen: couldn't open t: No such file or directory
NOTICE: RelationIdBuildRelation: smgropen(t): No such file or directory
NOTICE: mdopen: couldn't open t: No such file or directory
ERROR: cannot open relation t
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- full support for IW (ISO week) and vice versa conversion for IW too
(the to_char 'week' support is now complete and I hope correct).
Thomas, I use for IW code from timestamp.c, for this I create separate
function date2isoweek() from original 'case DTK_WEEK:' code in the
timestamp_part(). I mean will better use one code for same feature in
date_part() and in to_char(). The isoweek2date() is added to timestamp.c
too. Right?
IMHO in 7.1 will all to_char's features complete. It is cca 41 templates
for date/time and cca 21 for numbers.
* to_ascii:
- gcc, is it correct now? :-)
In the patch is documentation for to_char's IW and for to_ascii().
Karel
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
didn't hear anything about, but which would
have broken with the function manager changes
anyway.
Well, this patch checks that a unique constraint
of some form (unique or pk) is on the referenced
columns of an FK constraint and that the columns
in the referencing table exist at creation time.
The former is to move closer to SQL compatibility
and the latter is in answer to a bug report.
I also added a basic check of this functionality
to the alter table and foreign key regression
tests.
Stephan Szabo
sszabo@bigpanda.com
|
| | |
|
| |
|
|
|
|
| |
incarnations (I hope). When an acceptable flex version is not found, print
instructive error messages from both configure and the makefiles, so that
users can continue building anyway.
|
| |
|
|
|
| |
a reasonable error message (including the kernel errno message)
is reported on any file open failure.
|
| |
|
|
|
|
| |
virtual FDs, we just return the ENFILE/EMFILE error to the caller,
rather than immediate elog(). This allows more robust behavior in
the postmaster, which uses AllocateFile() but does not want elog().
|
| |
|
|
| |
the harm potential outweighs the possible benefits.
|
| |
|
|
| |
to int so that they return the number of whcars.
|
| | |
|
| |
|
|
| |
on some platforms.
|
| |
|
|
| |
equal keys. See discussion of today's date in pghackers list.
|
| |
|
|
|
|
|
| |
length is < TOAST_TUPLE_THRESHOLD, even with toastable column types
present. For example, CREATE TABLE foo (f1 int, f2 varchar(100))
does not require a toast table, even though varchar is a toastable
type.
|
| |
|
|
|
|
|
|
|
| |
(rather than compile time). For libpq, even when Kerberos support is
compiled in, the default user name should still fall back to geteuid()
if it can't be determined via the Kerberos system.
A couple of fixes for string type configuration parameters, now that there
is one.
|
| |
|
|
| |
Datum, not char*, for portability's sake.
|
| |
|
|
|
|
| |
for example, an SQL function can be used in a functional index. (I make
no promises about speed, but it'll work ;-).) Clean up and simplify
handling of functions returning sets.
|
| |
|
|
|
| |
Remove hardcoded macaddr_manuf(), which had really old, obsolete info.
Replace this with some contrib/mac/ code to maniag OUI info from IEEE.
|
| |
|
|
| |
multibyte sequence while truncating identifiers.
|
| |
|
|
| |
incorrect multibyte sequence while truncating too long names.
|
| |
|
|
| |
Eliminate up-to-4-times memory allocation problem
|