aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Version number now set in configure, available through Makefile.globalPeter Eisentraut2000-07-02
| | | | | | | | | | and config.h. Adjusted all referring code. Scrapped pg_version and changed initdb accordingly. Integrated src/utils/version.c into src/backend/utils/init/miscinit.c. Changed all callers. Set version number to `7.1devel'. (Non-numeric version suffixes now allowed.)
* Don't run in CacheMemoryContext more than necessary.Tom Lane2000-07-02
|
* Don't run in CacheMemoryContext longer than necessary.Tom Lane2000-07-02
|
* Remove memory leak from VACUUM parsing.Tom Lane2000-07-02
|
* New memmgr logic in xact.c failed if AbortTransaction() is called whenTom Lane2000-07-02
| | | | there is no open transaction.
* Back out Karels to_char changes.Bruce Momjian2000-07-01
|
* We don't need config.status substituting anything into Gen_fmgrtab.sh, wePeter Eisentraut2000-07-01
| | | | just pass in CPP and AWK via the environment from the Makefile.
* In the attache is new to_date()/to_timestamp() version.Bruce Momjian2000-07-01
| | | | | | | | | | | | Now the to_timestamp() support WW,W,J,SSSS,DDD conversion from strings and the am/pm bug is fixed, the to_char() use week-of-year (WW) full compatible with Oracle. This patch update relevant regress-tests and docs too. Karel ~ ~
* Fixes for Solaris/cc suggested by <pgsql-hackers@thewrittenword.com>Peter Eisentraut2000-06-30
| | | | | | | | Don't use DISABLE_COMPLEX_MACRO on Solaris. Don't define the replacement function in the header file. Use -KPIC, not -K PIC. Use CC to link C++ libraries, not ld/ar. Eliminate file not found warnings in tcl build code.
* RemoveView was doing things the hard way...Tom Lane2000-06-30
|
* Use a private memory context to store rule information in each relcacheTom Lane2000-06-30
| | | | | | | | | | | | | | entry that has rules. This allows us to release the rule parsetrees on relcache flush without needing a working freeObject() routine. Formerly, the rule trees were leaked permanently at relcache flush. Also, clean up handling of rule creation and deletion --- there was not sufficient locking of the relation being modified, and there was no reliable notification of other backends that a relcache reload was needed. Also, clean up relcache.c code so that scans of system tables needed to load a relcache entry are done in the caller's memory context, not in CacheMemoryContext. This prevents any un-pfreed memory from those scans from becoming a permanent memory leak.
* Add test code to copy all parse/plan trees. Repair essential omissionsTom Lane2000-06-29
| | | | | | in copyfuncs and equalfuncs exposed by regression tests. We still have some work to do: these modules really ought to handle most or all of the utility statement node types. But it's better than it was.
* Remove freefuncs.c, which hasn't been used in a long time and is notTom Lane2000-06-29
| | | | | | | | | worth the effort to continue to maintain. Since freeObject() is not capable of coping with cases like multiple links to a node, it's unlikely that it ever will be useful again. We now have memory context management that offers a faster and more reliable way of getting rid of arbitrary node trees (at the cost of having to know in advance of building the tree that you'll want to get rid of it).
* Add SIGFPE to list of signals never to block. #ifdef all signals inTom Lane2000-06-29
| | | | that list to cope with platforms that don't have them all.
* Add #ifdef for LC_MESSAGES, because it is not ANSI C standard, and BSDIBruce Momjian2000-06-29
| | | | does not have it.
* Suppress memory leak in COPY WITH OIDS TO wherever.Tom Lane2000-06-28
|
* First phase of memory management rewrite (see backend/utils/mmgr/READMETom Lane2000-06-28
| | | | | | | | | | | | | for details). It doesn't really do that much yet, since there are no short-term memory contexts in the executor, but the infrastructure is in place and long-term contexts are handled reasonably. A few long- standing bugs have been fixed, such as 'VACUUM; anything' in a single query string crashing. Also, out-of-memory is now considered a recoverable ERROR, not FATAL. Eliminate a large amount of crufty, now-dead code in and around memory management. Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and backend startup.
* Tamotsu Nakagawa has posted a fix for this to a local mail list inBruce Momjian2000-06-27
| | | | | | | Japan. Can someone comment on this? According to him, with the patch now only the geometry test fails. Tatsuo Ishii
* Relaxed pickiness about user and group commands in transaction blocks.Peter Eisentraut2000-06-25
|
* Second pass over run-time configuration system. Adjust priorities on somePeter Eisentraut2000-06-22
| | | | | | | | | | | | | | | | | | | option settings. Sort out SIGHUP vs BACKEND -- there is no total ordering here, so make explicit checks. Add comments explaining all of this. Removed permissions check on SHOW command. Add examine_subclass to the game, rename to SQL_inheritance to fit the official data model better. Adjust documentation. Standalone backend needs to reset all options before it starts. To facilitate that, have IsUnderPostmaster be set by the postmaster itself, don't wait for the magic -p switch. Also make sure that all environment variables and argv's survive init_ps_display(). Use strdup where necessary. Have initdb make configuration files (postgresql.conf, pg_hba.conf) mode 0600 -- having configuration files is no fun if you can't edit them.
* Make renaming a temp table behave sensibly. We don't need to touchTom Lane2000-06-20
| | | | | the underlying table at all, just change the mapping entry ... but that logic was missing.
* Make inheritance planning logic a little simpler and clearer,Tom Lane2000-06-20
| | | | hopefully even a little faster.
* Fix handling of type tuple associated with a temp relation. We haveTom Lane2000-06-20
| | | | | | | | | to apply the tempname->realname mapping to type name lookup as well as relation name lookup, else the type tuple will not be found when wanted. This fixes bugs like this one: create temp table foo (f1 int); select foo.f2 from foo; ERROR: Unable to locate type name 'foo' in catalog
* Modify index-opening code to guarantee that the indexes of a relationTom Lane2000-06-19
| | | | | | | are opened in a consistent order by different backends (I ordered them by index OID because that's easy, but any other consistent order would do as well). This avoids potential deadlock for index types that we acquire exclusive locks on ... ie, rtree.
* Ensure that kernel error code is included in smgr-level error reports.Tom Lane2000-06-19
| | | | Tweak mdcreate a little bit so that it returns the right errno.
* Clean up bogosities in pg_opclass, pg_amop, pg_amproc. There are amprocTom Lane2000-06-19
| | | | | | | entries now for int8 and network hash indexes. int24_ops and int42_ops are gone. pg_opclass no longer contains multiple entries claiming to be the default opclass for the same datatype. opr_sanity regress test extended to catch errors like these in the future.
* Reimplement nodeMaterial to use a temporary BufFile (or even memory, if theTom Lane2000-06-18
| | | | | | | | | | materialized tupleset is small enough) instead of a temporary relation. This was something I was thinking of doing anyway for performance, and Jan says he needs it for TOAST because he doesn't want to cope with toasting noname relations. With this change, the 'noname table' support in heap.c is dead code, and I have accordingly removed it. Also clean up 'noname' plan handling in planner --- nonames are either sort or materialize plans, and it seems less confusing to handle them separately under those names.
* Reinstate BufFileTell().Tom Lane2000-06-18
|
* Get rid of IndexIsUniqueNoCache() kluge by the simple expedient ofTom Lane2000-06-17
| | | | | | | passing the index-is-unique flag to index build routines (duh! ... why wasn't it done this way to begin with?). Aside from eliminating an eyesore, this should save a few milliseconds in btree index creation because a full scan of pg_index is not needed any more.
* Fix performance problems with pg_index lookups (see, for example,Tom Lane2000-06-17
| | | | | | | | | | discussion of 5/19/00). pg_index is now searched for indexes of a relation using an indexscan. Moreover, this is done once and cached in the relcache entry for the relation, in the form of a list of OIDs for the indexes. This list is used by the parser and executor to drive lookups in the pg_index syscache when they want to know the properties of the indexes. Net result: index information will be fully cached for repetitive operations such as inserts.
* Clean out another pocket of functions called via nonspecific functionTom Lane2000-06-17
| | | | | | | pointers, namely the catcache tuple fetch routines. Also get rid of the unused and possibly confusing 'size' field in struct cachedesc. Since it doesn't allow for variable-length fields, anyone who actually trusted it would likely be making a mistake...
* Remove fmgrstamp-h business -- not needed and confusingPeter Eisentraut2000-06-17
| | | | | Add options to configure to automatically build for Kerberos support; no more editing of make files.
* Repair unforgivably brain-dead representation of CaseExpr nodes inTom Lane2000-06-16
| | | | stored rules. Bump catversion to reflect incompatibility.
* Repair Large Object bugs demonstrated by Ian Grant's example. inv_writeTom Lane2000-06-15
| | | | | | | was inappropriately relying on rel->rd_nblocks to tell if the LO is empty (apparently a hack to get around a long-dead index bug), causing misbehavior on a written-but-never-vacuumed LO. Also, inv_read failed to cope gracefully with 'holes' (unwritten regions) in the object.
* Final #include cleanup.Bruce Momjian2000-06-15
|
* Clean up #include's.Bruce Momjian2000-06-15
|
* Add () around define -1.Bruce Momjian2000-06-14
|
* Big warnings cleanup for Solaris/GCC. Down to about 40 now, butPeter Eisentraut2000-06-14
| | | | | | | | | | | we'll get there one day. Use `cat' to create aclocal.m4, not `aclocal'. Some people don't have automake installed. Only run the autoconf rule in the top-level GNUmakefile if the invoker specified `make configure', don't run it automatically because of CVS timestamp skew.
* I had overlooked the fact that some fmgr-callable functions return voidTom Lane2000-06-14
| | | | | | --- ie, they're only called for side-effects. Add a PG_RETURN_VOID() macro and use it where appropriate. This probably doesn't change the machine code by a single bit ... it's just for documentation.
* Fix for memory leak from Denis PerchineBruce Momjian2000-06-14
|
* > If read or write fails. Position will left the same. ThisBruce Momjian2000-06-14
| | | | | | | | | | | | | | | | | | | | | | > situation is already tracked in File routines, but a little bit > incorrectly. > After small survey in Linux kernel code, I am not sure about > it. New patch set pos to unknown in the case of read/write > fails. And do lseek again. > Here is the full patch for this. This patch reduce amount of > lseek call ten ti mes for update statement and twenty times for > select statement. I tested joined up date and count(*) select > for table with rows > 170000 and 10 indices. I think this is > worse of trying. Before lseek calls account for more than 5% o > f time. Now they are 0.89 and 0.15 respectevly. > > Due to only one file modification patch should be applied in > src/backedn/stora ge/file/ dir. -- Sincerely Yours, Denis Perchine
* Another batch of fmgr updates. I think I have gotten all old-styleTom Lane2000-06-13
| | | | | functions that take pass-by-value datatypes. Should be ready for port testing ...
* Rename rule CURRENT to OLD in source tree. Add mapping for backwardBruce Momjian2000-06-12
| | | | compatiblity with old rules.
* Back out pg_shadow changes to allow create table and locking permissions.Bruce Momjian2000-06-12
|
* Update sequence-related functions to new fmgr style. Remove downcasing,Tom Lane2000-06-11
| | | | | | | | quote-stripping, and acl-checking tasks for these functions from the parser, and do them at function execution time instead. This fixes the failure of pg_dump to produce correct output for nextval(Foo) used in a rule, and also eliminates the restriction that the argument of these functions must be a parse-time constant.
* Substituted new configure test for types of accept()Peter Eisentraut2000-06-11
| | | | | | | | | | | Interfaced a lot of the custom tests to the config.cache, in the process made them separate macros and grouped them out into files. Made naming adjustments. Removed a couple of useless/unused configure tests. Disabled C++ by default. C++ is no more special than Perl, Python, and Tcl. And it breaks equally often. :(
* Update rule dumper for the brave new world of ONLY.Tom Lane2000-06-10
|
* nodeAppend tried to deal with multiple result relations, but apparently it neverTom Lane2000-06-10
| | | | really worked. Until now.
* I have large database and with this DB work more users and I very needBruce Momjian2000-06-09
| | | | | | | | | | | | | | | | | | | | | | | | more restriction for fretful users. The current PG allow define only NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need NO-CREATE-TABLE and NO-LOCK-TABLE. This patch add to current code NOCREATETABLE and NOLOCKTABLE feature: CREATE USER username [ WITH [ SYSID uid ] [ PASSWORD 'password' ] ] [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ] -> [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ] ...etc. If CREATETABLE or LOCKTABLE is not specific in CREATE USER command, as default is set CREATETABLE or LOCKTABLE (true). A user with NOCREATETABLE restriction can't call CREATE TABLE or SELECT INTO commands, only create temp table is allow for him. Karel
* The enclosed patch changes the behaviour of the "ordinal" ('TH') format forBruce Momjian2000-06-09
| | | | | | | | | | | | | | | | | | | | | | to_char. I don't know about the rest of the world, but the "standard" in Australia is the following: 1st, 2nd, 3rd, 4th - 9th 10th - 19th 21st, 22nd, 23rd, 24th - 29th (similarly for 30s - 90s) 110th - 119th (and for all "teens") 121st, 122nd, 123rd, 124th - 129th I think you see the trend. The current code works fine except that it produces: 111st, 112nd, 113rd, 114th - 119th 211st, 212nd, 213rd, 214th - 219th ... and so on. Without knowing anything about what's supported (and what isn't) in the usual I18N libraries, should this type of behaviour be defined within the locales? Daniel Baldoni