summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-01-05Remove BEOS port.Bruce Momjian
2006-01-05Remove QNX file.Bruce Momjian
2006-01-05Remove QNX port.Bruce Momjian
2006-01-04Rearrange backend startup sequence so that ShmemIndexLock can becomeTom Lane
an LWLock instead of a spinlock. This hardly matters on Unix machines but should improve startup performance on Windows (or any port using EXEC_BACKEND). Per previous discussion.
2006-01-04Fix another case in which autovacuum would fail while analyzingTom Lane
expressional indexes. Per report from Brian Hirt.
2006-01-03Fix incorrect treatment of RL_PROMPT_START_IGNORE/RL_PROMPT_END_IGNORE,Tom Lane
per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343616 via Martin Pitt.
2006-01-03Add checks to verify that a plpgsql function returning a rowtype is actuallyTom Lane
returning the rowtype it's supposed to return. Per reports from David Niblett and Michael Fuhr.
2006-01-03Assume select() might modify struct timeout, so remove previousBruce Momjian
optimization.
2006-01-03Use setitimer() for stats file write, rather than do a gettimeofday()Bruce Momjian
call for every stats packet read to adjust select() timeout. Other stylistic improvements.
2006-01-02Don't assume that LC_MESSAGES is always available on WIN32. Per Magnus.Tom Lane
2006-01-02Reset flex state in a way that works for both flex 2.5.4 and 2.5.31.Tom Lane
2006-01-02Remove the nexus between trial_buffs and trial_conns, and don't test shared ↵Andrew Dunstan
buffers lower than or equal to a value we already know is good, but use that value instead. This will make it easier to adjust the trial values and/or formulae in future if necessary.
2006-01-02Remove unnecessary assignment, per Tom.Bruce Momjian
2006-01-02Change if (!(x || y)) construct with if (!x && !y), for clarity.Bruce Momjian
2006-01-01Rewrite ProcessConfigFile() to avoid misbehavior at EOF, as per reportTom Lane
from Andrus Moor. The former state-machine-style coding wasn't actually doing much except obscuring the control flow, and it didn't extend readily to fix this case, so I just took it out. Also, add a YY_FLUSH_BUFFER call to ensure the lexer is reset correctly if the previous scan failed partway through the file.
2006-01-01Remove DOS line endings ("\r\n") from several .po files. DOS line endingsNeil Conway
are inconsistent with the rest of the .po files, and apparently cause problems for Sun's cc. Per report on IRC from "bitvector2".
2006-01-01Trim an obsolete comment: it is no longer relevant that "SELECT" wasNeil Conway
formerly "RETRIEVE", and so forth.
2005-12-31Clean up initdb's code for selecting max_connections and shared_buffersTom Lane
a little bit, and set the minimum buffers-per-connection ratio to 10 not 5. I folded the two test routines into one to counteract the illusion that the tests can be twiddled independently, and added some documentation pointing out the necessary connection between the sets of values tested. Fixes strange choices of parameters that I noticed CVS tip making on Darwin with Apple's undersized default SHMMAX.
2005-12-31Rename variable to cmd_str.Bruce Momjian
2005-12-31Rename variable 'what' to 'stat_msg'.Bruce Momjian
2005-12-31Prefix client-side prepare with '[protocol]' rather than '[client]'.Bruce Momjian
2005-12-30Rename send_rfq to send_ready_for_query.Bruce Momjian
2005-12-30Mmark client-side prepare/bind/execute statements with "[client]" soBruce Momjian
they can be easily distinguished from SQL commands.
2005-12-30Add support for Solaris x86_64 using Sun's compiler.Bruce Momjian
Pierre Girard
2005-12-30Repair EXPLAIN failure when trying to display a plan condition that involvesTom Lane
selection of a field from the result of a function returning RECORD. I believe this case is new in 8.1; it's due to the addition of OUT parameters. Per example from Michael Fuhr.
2005-12-30Disallow setting ssl = on if SSL is not compiled in.Peter Eisentraut
2005-12-29Index: src/pl/plpython/plpython.cNeil Conway
=================================================================== RCS file: /Users/neilc/postgres/cvs_root/pgsql/src/pl/plpython/plpython.c,v retrieving revision 1.67 diff -c -r1.67 plpython.c *** src/pl/plpython/plpython.c 26 Dec 2005 04:28:48 -0000 1.67 --- src/pl/plpython/plpython.c 29 Dec 2005 16:54:57 -0000 *************** *** 2,8 **** * plpython.c - python as a procedural language for PostgreSQL * * This software is copyright by Andrew Bosma ! * but is really shameless cribbed from pltcl.c by Jan Weick, and * plperl.c by Mark Hollomon. * * The author hereby grants permission to use, copy, modify, --- 2,8 ---- * plpython.c - python as a procedural language for PostgreSQL * * This software is copyright by Andrew Bosma ! * but is really shamelessly cribbed from pltcl.c by Jan Wieck, and * plperl.c by Mark Hollomon. * * The author hereby grants permission to use, copy, modify, *************** *** 1996,2002 **** int i, rv; PLyPlanObject *plan; - char *nulls; MemoryContext oldcontext; if (list != NULL) --- 1996,2001 ---- *************** *** 2018,2024 **** if (nargs != plan->nargs) { char *sv; - PyObject *so = PyObject_Str(list); if (!so) --- 2017,2022 ---- *************** *** 2036,2048 **** oldcontext = CurrentMemoryContext; PG_TRY(); { ! nulls = palloc(nargs * sizeof(char)); for (i = 0; i < nargs; i++) { PyObject *elem, *so; - char *sv; elem = PySequence_GetItem(list, i); if (elem != Py_None) --- 2034,2045 ---- oldcontext = CurrentMemoryContext; PG_TRY(); { ! char *nulls = palloc(nargs * sizeof(char)); for (i = 0; i < nargs; i++) { PyObject *elem, *so; elem = PySequence_GetItem(list, i); if (elem != Py_None) *************** *** 2051,2070 **** if (!so) PLy_elog(ERROR, "function \"%s\" could not execute plan", PLy_procedure_name(PLy_curr_procedure)); ! sv = PyString_AsString(so); ! /* ! * FIXME -- if this elogs, we have Python reference leak ! */ ! plan->values[i] = ! FunctionCall3(&(plan->args[i].out.d.typfunc), ! CStringGetDatum(sv), ! ObjectIdGetDatum(plan->args[i].out.d.typioparam), ! Int32GetDatum(-1)); ! Py_DECREF(so); ! Py_DECREF(elem); nulls[i] = ' '; } else --- 2048,2073 ---- if (!so) PLy_elog(ERROR, "function \"%s\" could not execute plan", PLy_procedure_name(PLy_curr_procedure)); ! Py_DECREF(elem); ! PG_TRY(); ! { ! char *sv = PyString_AsString(so); ! plan->values[i] = ! FunctionCall3(&(plan->args[i].out.d.typfunc), ! CStringGetDatum(sv), ! ObjectIdGetDatum(plan->args[i].out.d.typioparam), ! Int32GetDatum(-1)); ! } ! PG_CATCH(); ! { ! Py_DECREF(so); ! PG_RE_THROW(); ! } ! PG_END_TRY(); + Py_DECREF(so); nulls[i] = ' '; } else
2005-12-29Get rid of the SpinLockAcquire/SpinLockAcquire_NoHoldoff distinctionTom Lane
in favor of having just one set of macros that don't do HOLD/RESUME_INTERRUPTS (hence, these correspond to the old SpinLockAcquire_NoHoldoff case). Given our coding rules for spinlock use, there is no reason to allow CHECK_FOR_INTERRUPTS to be done while holding a spinlock, and also there is no situation where ImmediateInterruptOK will be true while holding a spinlock. Therefore doing HOLD/RESUME_INTERRUPTS while taking/releasing a spinlock is just a waste of cycles. Qingqing Zhou and Tom Lane.
2005-12-29Move declaration of check_function_bodies to where the perl headersAndrew Dunstan
haven't had a chance to mangle the definition of DLLIMPORT (thanks again, perl guys).
2005-12-29Revert some careless search-and-replace: "ADD" in comment text shouldNeil Conway
not be replaced with "ADD_P".
2005-12-28Arrange to set the LC_XXX environment variables to match our localeTom Lane
setup. This protects against undesired changes in locale behavior if someone carelessly does setlocale(LC_ALL, "") (and we know who you are, perl guys).
2005-12-28Update regression tests for new referential integrity error messageBruce Momjian
wording ("table" added).
2005-12-28Fix plperl validator to honor check_function_bodies: when that is OFF,Tom Lane
we want it to check the argument/result data types and no more. In particular, libperl shouldn't get initialized in this case.
2005-12-28Move plpgsql's fetchArgInfo() into funcapi.c, and rename toTom Lane
get_func_arg_info() for consistency with other names there. This code will probably be useful to other PLs when they start to support OUT parameters, so better to have it in the main backend. Also, fix plpgsql validator to detect bogus OUT parameters even when check_function_bodies is off.
2005-12-28Mention "table" in "violates foreign key constraint" message that wasBruce Momjian
lacking it. Perhaps it was suppressed because of line length considerations, but "table" should appear.
2005-12-28Remove silly use of DLLIMPORT.Tom Lane
2005-12-28Add COPY CSV test that tests CSV output of \.Bruce Momjian
2005-12-28Add regression tests for CSV and \., and add automatic quoting of aBruce Momjian
single column dump that has a \. value, so the load works properly. I also added documentation describing this issue.
2005-12-28Implement SQL-compliant treatment of row comparisons for < <= > >= casesTom Lane
(previously we only did = and <> correctly). Also, allow row comparisons with any operators that are in btree opclasses, not only those with these specific names. This gets rid of a whole lot of indefensible assumptions about the behavior of particular operators based on their names ... though it's still true that IN and NOT IN expand to "= ANY". The patch adds a RowCompareExpr expression node type, and makes some changes in the representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code with RowCompareExpr. I have not yet done anything about making RowCompareExpr an indexable operator, but will look at that soon. initdb forced due to changes in stored rules.
2005-12-27Increase amount of shared buffers initdb tries to allocate to 4000,Andrew Dunstan
and add logic to try max_fsm_pages up to 200000, plus accompanying minor docs changes.
2005-12-27Our code had:Bruce Momjian
if (c == '\\' && cstate->line_buf.len == 0) The problem with that is the because of the input and _output_ buffering, cstate->line_buf.len could be zero even if we are not on the first character of a line. In fact, for a typical line, it is zero for all characters on the line. The proper solution is to introduce a boolean, first_char_in_line, that we set as we enter the loop and clear once we process a character. I have restructured the line-reading code in copy.c by: o merging the CSV/non-CSV functions into a single function o used macros to centralize and clarify the buffering code o updated comments o renamed client_encoding_only to encoding_embeds_ascii o added a high-bit test to the encoding_embeds_ascii test for performance o in CSV mode, allow a backslash followed by a non-period to continue being processed as a data value There should be no performance impact from this patch because it is functionally equivalent. If you apply the patch you will see copy.c is much clearer in this area now and might suggest additional optimizations. I have also attached a 8.1-only patch to fix the CSV \. handling bug with no code restructuring.
2005-12-27Protect ADD and HEADER symbols from conflicting with MIPS includes.Bruce Momjian
2005-12-26More uses of IS_HIGHBIT_SET() macro.Bruce Momjian
2005-12-26Rename pg_make_encrypted_password to PQencryptPassword.Peter Eisentraut
2005-12-26Various cosmetic code cleanup for PL/Python:Neil Conway
- use "bool" rather than "int" for boolean variables - use "PLy_malloc" rather than "malloc" in two places - define "PLy_strdup", and use it rather than malloc() + strcpy() in two places (which should have been memcpy(), anyway). - remove a bunch of redundant parentheses from expressions that do not need the parentheses for code clarity
2005-12-25I have added these macros to c.h:Bruce Momjian
#define HIGHBIT (0x80) #define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT) and removed CSIGNBIT and mapped it uses to HIGHBIT. I have also added uses for IS_HIGHBIT_SET where appropriate. This change is purely for code clarity.
2005-12-24Previous commit message should have been:Bruce Momjian
Add comment marker for PG_ENCODING_BE_LAST.
2005-12-24AddBruce Momjian
2005-12-24Alignment cleanup.Bruce Momjian
2005-12-24Formatting cleanups.Bruce Momjian