aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Give error message, rather than coredump, for utility statements inTom Lane2001-06-04
| | | | | | | conditional rules (rules with WHERE clauses). We cannot support these since there's noplace to hang a condition on a utility statement. We caught the other case (attempt to attach a condition at rewrite time) awhile ago, but this one escaped notice until now.
* Mark many strings in backend not covered by elog for translation. Also,Peter Eisentraut2001-06-03
| | | | make strings in xlog.c look more like English and less like binary noise.
* Accept and output '-Infinity' as well as 'Infinity', per long-agoTom Lane2001-06-02
| | | | | suggestion from Ross Reedstrom. Still needs work to make those symbols convert to actual IEEE infinities (on machines where such things exist).
* Tweak sorting so that nulls appear at the front of a descending sortTom Lane2001-06-02
| | | | | | | | | | | (vs. at the end of a normal sort). This ensures that explicit sorts yield the same ordering as a btree index scan. To be really sure that that equivalence holds, we use the btree entries in pg_amop to decide whether we are looking at a '<' or '>' operator. For a sort operator that has no btree association, we put the nulls at the front if the operator is named '>' ... pretty grotty, but it does the right thing in simple ASC and DESC cases, and at least there's no possibility of getting a different answer depending on the plan type chosen.
* Native Language Support (NLS)Peter Eisentraut2001-06-02
| | | | | | | | | | | Use --enable-nls to turn it on; see installation instructions for details. See developer's guide how to make use of it in programs and how to add translations. psql sources have been almost fully prepared and an incomplete German translation has been provided. In the backend, only elog() calls are currently translatable, and the provided German translation file is more of a placeholder.
* Paranoia about unordered comparisons in IEEE float math. If we areTom Lane2001-06-02
| | | | | | given values that compare as unordered, make sure we reply that they are equal, which is better than giving an arbitrary answer --- at least it doesn't depend on which one is passed as which arg.
* dllist.c is included in the frontend libpq interface via symlink.Jan Wieck2001-06-02
| | | | | | | There is no elog() available. Used fprintf(stderr, ...) and exit instead. Jan
* Check for malloc failure.Tom Lane2001-06-01
|
* Guard against malloc failure. Also, don't examine segP->lastBackendTom Lane2001-06-01
| | | | until we hold the spinlock.
* Check for malloc failure.Tom Lane2001-06-01
|
* If spi.c wants to use malloc, it better test for malloc failure.Tom Lane2001-06-01
|
* New improved version of bpcharin() may have got the truncation caseTom Lane2001-06-01
| | | | | | | | | right, but it failed to get the padding case right. This was obscured by subsequent application of bpchar() in all but one regression test case, and that one didn't fail in an obvious way --- trailing blanks are hard to see. Add another test case to make it more obvious if it breaks again.
* Remove fastpath.c's lame attempt at caching function lookup info acrossTom Lane2001-06-01
| | | | | | | | | calls. This has never actually cached anything, because postgres.c does each fastpath call as a separate transaction command, and so fastpath.c would always decide that its cache was outdated. If it had worked, it would now be failing for calls of oldstyle functions due to dangling pointers in the FmgrInfo struct. Rip it out for simplicity and bug- proofing.
* Clean up some minor problems exposed by further thought about Panon's bugTom Lane2001-06-01
| | | | | | | | | | | | | | report on old-style functions invoked by RI triggers. We had a number of other places that were being sloppy about which memory context FmgrInfo subsidiary data will be allocated in. Turns out none of them actually cause a problem in 7.1, but this is for arcane reasons such as the fact that old-style triggers aren't supported anyway. To avoid getting burnt later, I've restructured the trigger support so that we don't keep trigger FmgrInfo structs in relcache memory. Some other related cleanups too: it's not really necessary to call fmgr_info at all while setting up the index support info in relcache entries, because those ScanKeyEntry structs are never used to invoke the functions. This should speed up relcache initialization a tiny bit.
* Updates to make GIST work with multi-key indexes (from Oleg BartunovTom Lane2001-05-31
| | | | | and Teodor Sigaev). Declare key values as Datum where appropriate, rather than char* (Tom Lane).
* RI triggers would fail for datatypes using old-style equal function,Tom Lane2001-05-31
| | | | | | because cached fmgr info contained reference to a shorter-lived data structure. Also guard against possibility that fmgr_info could fail, leaving an incomplete entry present in the hash table.
* Remove OLD_FILE_NAMING code. No longer used.Bruce Momjian2001-05-30
|
* Tweak StrategyEvaluation data structure to eliminate hardwired limit onTom Lane2001-05-30
| | | | | number of strategies supported by an index AM. Add missing copyright notices and CVS $Header$ markers to GIST source files.
* Fix broken $Header$ declaration.Tom Lane2001-05-30
|
* Remove SEP_CHAR, replace with / or '/' as appropriate.Bruce Momjian2001-05-30
|
* These patches should fix check constraints not inheritingBruce Momjian2001-05-30
| | | | | | | | when added by alter table add constraint. The first file patches backend/commands/command.c and the latter is a patch to the alter table regression test. Stephan Szabo
* Attached is my patch that adds DROP CONSTRAINT support to PostgreSQL. IBruce Momjian2001-05-30
| | | | | | | | | | | | | | | | | | | | basically want your guys feedback. I have sprinkled some of my q's thru the text delimited with the @@ symbol. It seems to work perfectly. [ Removed @@ comments because patch was reviewed. ] At the moment it does CHECK constraints only, with inheritance. However, due to the problem mentioned before with the mismatching between inherited constraints it may be wise to disable the inheritance feature for a while. it is written in an extensible fashion to support future dropping of other types of constraint, and is well documented. Please send me your comments, check my use of locking, updating of indices, use of ERROR and NOTICE, etc. and I will rework the patch based on feedback until everyone is happy with it... Christopher Kings
* Make text <=> char conversion functions convert zero character to andTom Lane2001-05-28
| | | | | | from an empty text string. This makes them consistent with the de facto behavior of type char's I/O conversion functions, and avoids generating text values with embedded nulls, which confuse many text operators.
* Fix a message error in utf_to_localTatsuo Ishii2001-05-28
|
* When using a junkfilter, the output tuple should NOT be stored back intoTom Lane2001-05-27
| | | | | | | | 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.
* Cause ExecCountSlots() accounting to bear some relationship to reality.Tom Lane2001-05-27
| | | | Rather surprising we hadn't seen bug reports about this ...
* Fix eqjoinsel() to make use of new statistics.Tom Lane2001-05-27
|
* Make UPDATE and DELETE privileges distinct. Add REFERENCES and TRIGGERPeter Eisentraut2001-05-27
| | | | | privileges. INSERT and COPY FROM now require INSERT (only). Add privileges regression test.
* Oops, only wanted python change in the last commit. Backing out.Bruce Momjian2001-05-25
|
* While changing Cygwin Python to build its core as a DLL (like Win32Bruce Momjian2001-05-25
| | | | | | | | | | | | | | | 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
* I haven't tried building postgres with the Watcom compiler for 7.1 becauseBruce Momjian2001-05-24
| | | | | | | | | | | | | | | | 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
* I found the answer to this: the partition had filled up, and so the problemBruce Momjian2001-05-22
| | | | | | was lack of disk space. Oliver Elphick
* Make bit and bit varying types reject too long input. (They already triedPeter Eisentraut2001-05-22
| | | | | | 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.
* The Watcom preprocessor adds a space at the start of each line. ThereforeBruce Momjian2001-05-22
| | | | | | | the output of "egrep '^[0-9]' " is empty. Changing the pattern to "egrep '^[ ]*[0-9]" generates the correct file. Tegge, Bernd
* Print error on SELECT tab FROM tab:Bruce Momjian2001-05-21
| | | | You can't use relation names alone in the target list, try relation.*
* Make char(n) and varchar(n) types raise an error if the inserted string isPeter Eisentraut2001-05-21
| | | | | too long. While I was adjusting the regression tests I moved the array things all into array.sql, to make things more manageable.
* Enhancement of SPI to get access to portalsJan Wieck2001-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Modify optimizer data structures so that IndexOptInfo lists built forTom Lane2001-05-20
| | | | | | | | 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!
* Make sure fmgr_info() fills in fn_oid last, so that no partiallyPeter Eisentraut2001-05-19
| | | | initialized FmgrInfo structs linger after elog.
* Allow special '$libdir' macro to show up in object file path in CREATEPeter Eisentraut2001-05-19
| | | | | FUNCTION command. Guard against trying to load a directory. Update documentation some.
* Comment additions in parser.Bruce Momjian2001-05-19
|
* Move ParserFuncOrColumn function higher in the file.Bruce Momjian2001-05-19
|
* New comment. This func/column things has always confused me.Bruce Momjian2001-05-19
| | | | | | | | | | | | | | | | | | | /* * 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.Bruce Momjian2001-05-18
|
* Rename ParseFuncOrColumn() to ParseColumnOrFunc().Bruce Momjian2001-05-18
|
* Small code cleanups,formatting.Bruce Momjian2001-05-18
|
* Suppress compiler warnings about pid_t vs int.Tom Lane2001-05-18
|
* Add dynamic_library_path parameter and automatic appending of sharedPeter Eisentraut2001-05-17
| | | | library extension.
* Prevent forced blank line before comment block in pgindent.Bruce Momjian2001-05-17
|
* Spacing cleanup.Bruce Momjian2001-05-17
|