summaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Change ReleaseLruFile() usage so that if we cannot release any moreTom Lane2000-08-271-36/+51
| | | | | | 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().
* Remove configure tests for `signed', `volatile', and signal handler args;Peter Eisentraut2000-08-274-30/+30
| | | | the harm potential outweighs the possible benefits.
* Change pg_mblen and pg_encoding_mblen return types from voidTatsuo Ishii2000-08-274-89/+64
| | | | to int so that they return the number of whcars.
* Tired of seeing these warnings ...Tom Lane2000-08-261-2/+5
|
* Rename BITSPERBYTE to BITS_PER_BYTE to avoid conflict with <values.h>Tom Lane2000-08-264-36/+36
| | | | on some platforms.
* Tweak btree insertion to avoid O(N^2) slowdown with large numbers ofTom Lane2000-08-251-10/+33
| | | | equal keys. See discussion of today's date in pghackers list.
* Avoid creating a TOAST table if we can prove that the maximum tupleTom Lane2000-08-252-85/+147
| | | | | | | 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.
* Make the location of the Kerberos server key file run time configurablePeter Eisentraut2000-08-254-37/+40
| | | | | | | | | (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.
* GetAttributeByName and GetAttributeByNum should be declared to returnTom Lane2000-08-241-14/+11
| | | | Datum, not char*, for portability's sake.
* SQL-language functions are now callable in ordinary fmgr contexts ...Tom Lane2000-08-2421-826/+771
| | | | | | 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.
* Add functions to convert to and from text, and to truncate to MAC OUI.Thomas G. Lockhart2000-08-231-156/+69
| | | | | Remove hardcoded macaddr_manuf(), which had really old, obsolete info. Replace this with some contrib/mac/ code to maniag OUI info from IEEE.
* Make scanner multibyte aware. Currently it may produce an incorrectTatsuo Ishii2000-08-221-1/+21
| | | | multibyte sequence while truncating identifiers.
* Make makeObjectName multibyte aware. Currently, it may produceTatsuo Ishii2000-08-221-1/+12
| | | | incorrect multibyte sequence while truncating too long names.
* Add multibyte support for both LIKE and ILIKETatsuo Ishii2000-08-221-239/+100
| | | | Eliminate up-to-4-times memory allocation problem