summaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAgeFilesLines
* Please apply the following patch to fix problems with the AIX portBruce Momjian2000-09-293-9/+34
| | | | | | | | | | | | | | and the fmgr redesign. It makes the homebrewn dl*() functions for more recent Versions of AIX obsolete by using the system dl*() functions instead. It also fixes the expected file for the horology regression test. Please regenerate configure from configure.in, I don't have the environment/time. Andreas
* Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias.Tom Lane2000-09-2956-2497/+2883
| | | | | | | | | (Don't forget that an alias is required.) Views reimplemented as expanding to subselect-in-FROM. Grouping, aggregates, DISTINCT in views actually work now (he says optimistically). No UNION support in subselects/views yet, but I have some ideas about that. Rule-related permissions checking moved out of rewriter and into executor. INITDB REQUIRED!
* New unified regression test driver, test/regress makefile cleanup,Peter Eisentraut2000-09-292-6/+6
| | | | | add "check" and "installcheck" targets, straighten out make variable naming of host_os, host_cpu, etc.
* Standardize on __CYGWIN__ rather than __CYGWIN32__ macro. Doesn't matterPeter Eisentraut2000-09-291-2/+2
| | | | | either way (although the former is preferred by the Cygwin folks themselves), but using only one seems nicer.
* Cygwin uses _sys_nerr for sys_nerrPeter Eisentraut2000-09-292-7/+15
|
* BufferAlloc() doesn't allocate write error buffers.Hiroshi Inoue2000-09-291-2/+12
| | | | Remove compiler waring(my fault).
* avoid database-wide restart on write errorHiroshi Inoue2000-09-291-5/+4
|
* Fixes for Cygwin, with help from Pete Forman <gsez020@kryten.bedford.waii.com>.Peter Eisentraut2000-09-271-4/+6
| | | | | | | Update the installation instructions (formerly misnamed "FAQ"), add configure checks for some headers rather than having users copy stubs manually (ugh!). Use Autoconf check for exe extension. This also avoids inheriting the value of $(X) from the environment.
* Reset current user id to session user id during transaction abortPeter Eisentraut2000-09-271-1/+7
|
* When the RI triggers lock the PK table, temporarily switch the current userPeter Eisentraut2000-09-251-1/+35
| | | | id to the owner of the PK table, to avoid permission problems.
* Correct error in grammar for subselect-in-FROM: SQL spec does not allowTom Lane2000-09-251-8/+5
| | | | omission of alias_clause for a subselect.
* Use variable aliases, if supplied, rather than real column names inTom Lane2000-09-255-49/+51
| | | | | | | complaints about ungrouped variables. This is for consistency with behavior elsewhere, notably the fact that the relname is reported as an alias in these same complaints. Also, it'll work with subselect- in-FROM where old code didn't.
* System neglected to complain about ungrouped variables passed toTom Lane2000-09-251-2/+2
| | | | sublinks when outer query contained aggregates but no GROUP clause.
* the patch include:Bruce Momjian2000-09-253-19/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - rename ichar() to chr() (discussed with Tom) - add docs for oracle compatible routines: btrim() ascii() chr() repeat() - fix bug with timezone in to_char() - all to_char() variants return NULL instead textin("") if it's needful. The contrib/odbc is without changes and contains same routines as main tree ... because I not sure how plans are Thomas with this :-) Karel --------------------------------------------------------------------------- This effectively one line patch should fix the fact that foreign key definitions in create table were erroring if a primary key was defined. I was using the columns list to get the columns of the table for comparison, but it got reused as a temporary list inside the primary key stuff. Stephan Szabo
* Acquire read lock on a buffer while writing it out, to preventTom Lane2000-09-251-32/+45
| | | | concurrent modifications to the page by other backends.
* Clean up some ugly coding (hardwired constants) in index_formtuple.Tom Lane2000-09-231-12/+14
|
* SetPGVariable() crashed on SET DateStyle TO DEFAULT and related cases.Tom Lane2000-09-221-8/+13
|
* Fix coredump in copyCommentStmt().Tom Lane2000-09-201-2/+3
|
* Make sure that FlushRelationBuffers() is invoked by all paths throughTom Lane2000-09-191-42/+72
| | | | vacuum.c. This is needed to make the world safe for pg_upgrade.
* Fix GEQO optimizer to work correctly with new outer-join-capableTom Lane2000-09-194-41/+47
| | | | | | | 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.
* Implement differentiation between CURRENT_USER and SESSION_USER as per SQL.Peter Eisentraut2000-09-195-45/+85
| | | | | | 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.
* Make rule lister use aliases from FROM clause when a table column hasTom Lane2000-09-181-19/+49
| | | | been given an alias. Otherwise, results are incorrect.
* Parse JOIN/ON conditions with the proper visibility of input columns,Tom Lane2000-09-171-30/+115
| | | | | | | | 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.
* Support for DESTDIR make variable. This is used as in `make installPeter Eisentraut2000-09-172-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Reimplement LIKE/ESCAPE as operators so that indexscan optimizationTom Lane2000-09-154-337/+328
| | | | | can still work, per recent discussion on pghackers. Correct some bugs in ILIKE implementation.
* First cut at full support for OUTER JOINs. There are still a few looseTom Lane2000-09-1254-3442/+5161
| | | | | ends to clean up (see my message of same date to pghackers), but mostly it works. INITDB REQUIRED!
* Fix relation-to-view conversion so that it doesn't try to convert a plainTom Lane2000-09-121-35/+33
| | | | relation to a view when you create an ON INSERT/UPDATE/DELETE rule ...
* Suppress compile warnings caused by failure to use PG_RETURN macro.Tom Lane2000-09-121-3/+3
|
* Remove incorrect extra heap_close when deleting a builtin function.Tom Lane2000-09-121-5/+2
|
* Modify date->timestamp conversion to use mktime().Thomas G. Lockhart2000-09-122-102/+31
| | | | | This should do better than before around Daylight Savings Time transitions.
* This patch implements the following command:Bruce Momjian2000-09-124-5/+85
| | | | | | | | | | ALTER TABLE <tablename> OWNER TO <username> Only a superuser may execute the command. -- Mark Hollomon mhh@mindspring.com
* This patch implements a different "relkind"Bruce Momjian2000-09-1210-32/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Previous patch backed out.Bruce Momjian2000-09-121-26/+65
| | | | | | | | | | | | | | 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
* This patch is for the TODO itemBruce Momjian2000-09-121-30/+37
| | | | | | | | | * Disallow LOCK on view src/backend/commands/command.c is the only affected file -- Mark Hollomon
* O.K. -Bruce Momjian2000-09-123-24/+32
| | | | | | | | | | | | | | | | | | | 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
* Heap redo/undo (except for tuple moving used by vacuum).Vadim B. Mikheev2000-09-072-72/+456
|
* A bit of cleanup after SSL patch. Add it to config file, improvePeter Eisentraut2000-09-062-12/+11
| | | | documentation.
* Code cleanup of user name and user id handling in the backend. The currentPeter Eisentraut2000-09-0624-262/+203
| | | | | | | | | | | 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.
* Added functionsJan Wieck2000-09-052-2/+293
| | | | | | | | | | | 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
* Fix relative path references so that make knowns which dependencies referPeter Eisentraut2000-08-3150-205/+190
| | | | | to one another. Sort out builddir vs srcdir variable namings. Remove some now obsoleted make variables.
* AbortOutOfAnyTransaction() just before backend exit, to ensure thatTom Lane2000-08-301-17/+20
| | | | | resources are cleaned up if the user disconnected mid-transaction. Great thanks to Hiroshi for pointing out what should have been obvious...
* SSL patch from MagnusBruce Momjian2000-08-301-30/+22
|
* Improve the following.Hiroshi Inoue2000-08-301-2/+5
| | | | | | | | | | | | | | | | | | | | | =# 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
* Include kernel error message in failed-to-open file reports.Tom Lane2000-08-291-7/+6
|
* Revert removal of signed, volatile, and signal handler arg type tests.Peter Eisentraut2000-08-294-30/+30
|
* * to_char:Bruce Momjian2000-08-293-59/+151
| | | | | | | | | | | | | | | | | | | | | | | - 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
* This is mostly the same as an earlier patch IBruce Momjian2000-08-292-7/+239
| | | | | | | | | | | | | | | | | | | 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
* Maybe "shared_buffers" is a slightly better name than "shmem_buffers" for -B.Peter Eisentraut2000-08-281-2/+2
|
* New configure test for flex, which recognizes only flex but does so in allPeter Eisentraut2000-08-283-14/+22
| | | | | | 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.
* Clean up callers of AllocateFile and BasicOpenFile to ensure thatTom Lane2000-08-274-38/+34
| | | | | a reasonable error message (including the kernel errno message) is reported on any file open failure.