Just a quick announcement that we've put beta3 up for download today ...

Since there has been very little bug reports between beta2 and beta3, this
one is considered to be the first Candidate for Release.  Altho its still
beta, there should be negligible risk of a subsequence "beta requiring an
initdb" happening ...

The actual tar ball and web page changes were made at ~midnight, so that
the mirror sites had a chance to get sync'd up before the announcement,
with changes from beta2 as follows.

Any bugs or problems with this beta should be reported to 
[EMAIL PROTECTED] using the bug report template that is included
with the distribution ...

Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
Systems Administrator @ hub.org 
primary: [EMAIL PROTECTED]           secondary: scrappy@{freebsd|postgresql}.org 

---------------------------------------------------------------------------

- Since PORTNAME is no longer used at the level of C code (it's only in
  Makefiles now), there's no reason for os2client to maintain its own
  copy of c.h just to change #define PORTNAME.  Simplify Makefile
  accordingly.  Get rid of horribly-out-of-date modified copy of c.h,
  which should never have been in the distribution to start with, since
  it's actually a derived file.  Now it's not needed anyway.

- Add exp(), ln(), and some other functions to numeric-functions table.

- Fold PQsetenv working state into PGconn, rather than trying to maintain
  it in a separate object.  There's no value in keeping the state
  separate, and it creates dangling-pointer problems.  Also, remove
  PQsetenv routines from public API, until and unless they are redesigned
  to have a safer interface.  Since they were never part of the documented
  API before 7.0, it's unlikely that anyone is calling them.

- Add note that ':' and ';' operators are deprecated.

- Modify lexing of multi-char operators per pghackers discussion around
  16-Mar-00: trailing + or - is not part of the operator unless the
  operator also contains characters not present in SQL92-defined
  operators.  This solves the 'X=-Y' problem without unduly constraining
  users' choice of operator names --- in particular, no existing Postgres
  operator names become invalid.

- Also, remove processing of // comments, as agreed in the same thread.

- empty define that results in an empty but terminated line ( ; ) easy
  (maybe dumb) fix for 5 in attachment define.patch greetings, Andreas

- Back out // compiler flag.

- absolute pathnames for the copy 

- This patch corrects spelling, grammar and euphony for the psql reference
  page for 7.0: Oliver Elphick

- Add safety check on expression nesting depth.  Default value is set by a
  config.h #define, and the runtime value can be controlled via SET.

- Change configure.in to note that since we are using expr(1)'s regex
  match command, the entries in template/.similar can really be regular
  expressions.  This isn't a new feature, just an observation of what the
  code already did.

- Turn XLOG off (do not create log file).

- ExecSubPlan needs to be able to cope with RelabelType nodes atop the
  Const placeholder nodes for subplan result values.

- Correct typo in error message.

- Several calls to StrNCpy incorrectly subtracted 1 from the length arg,
  leading to postmaster accepting args 1 shorter than it had room for.

- Repair logic flaw in cost estimator: cost_nestloop() was estimating CPU
  costs using the inner path's parent->rows count as the number of tuples
  processed per inner scan iteration.  

- Restructure planning code so that preprocessing of targetlist and quals
  to simplify constant expressions and expand SubLink nodes into SubPlans
  is done in a separate routine subquery_planner() that calls
  union_planner().

- A little further tweaking of the range-query selectivity logic: to avoid
  undue sensitivity to roundoff error, believe that a zero or slightly
  negative range estimate should represent a small positive selectivity,
  rather than falling back on a generic default estimate.

- If we cannot get a real estimate for the selectivity of a range query,
  use a default value that's fairly small.  We were generating a result of
  about 0.1, but I think 0.01 is probably better --- want to encourage use
  of an indexscan in this situation.

- Minor code rearrangement & doc improvement in eval_const_expressions().

- Add syntax for BIT() and BIT VARYING(), but no underlying implementation
  is available yet.

- Remove redundant call to xlateSqlType() in the character type handling
  code.

- Emit 'this operator is deprecated' warnings for ':' and ';'.

- Add FORCE keyword to ColID

- Just noticed that the grammar actually has no provision for '+' as a
  prefix operator :-(.  Bad enough that we have no implementation of unary
  plus, but at least with this fix the grammar will take it.

- Add translation of timespan to interval.

- Remove no-longer-necessary restriction against uplevel correlation vars
  outside WHERE clause.  Fix a couple of places that didn't handle uplevel
  refs cleanly.

- Hack parse_coerce so it won't try to constant-fold the dummy Const nodes
  introduced by make_subplan().  It'd be better if we used a different
  node type for subplan result placeholders, but for now...

- Reverse out BYTEA type coersion.

- Add compatiblity information for bytea.

- In can_coerce_type, verify that a possible type-coercion function
  actually returns the type it is named for.

- transformExpr() did the Wrong Thing if applied to a SubLink node that
  had already been transformed.  This led to failure in examples like
  UPDATE table SET fld = (SELECT ...).  Repair this, and revise the
  comments to explain that transformExpr has to be robust against this
  condition. 

- Another go-round with resolution of ambiguous functions and operators.
  In function parsing, try for an actual function of the given name and
  input types before trying to interpret the function call as a type
  coercion request, rather than after.  Before, a function that had the
  same name as a type and operated on a binary-compatible type wouldn't
  get invoked.  Also, cross-pollinate between func_select_candidates and
  oper_select_candidates to ensure that they use as nearly the same
  resolution rules as possible.  A few other minor code cleanups too.

- Improve error message wording in unary_op_error() --- suggest that
  problem could be lack of parentheses.  This addresses cases like X
  UserOp UserOp Y, which will be parsed as (X UserOp) UserOp Y, whereas
  what likely was wanted was X UserOp (UserOp Y).

- cash_words_out function truncated its output by 1 character due to
  incorrect use of StrNCpy.

- Float-to-int conversion functions should return NULL when given NULL
  input, not throw a gratuitous elog().

- Clean up minor compiler warnings.

- Improve selectivity estimation involving string constants: pay attention
  to more than one character, and try to do the right thing in non-ASCII
  locales.

- Update for BYTEAOID.

- Rename bytea functions to not have upper-case letters in their names.
  Clean up grotty coding in them, too.  AFAICS from the CVS logs, these
  have been broken since Postgres95, so I'm not going to insist on an
  initdb to fix them now...

- Update pg_dumpall again.

- Fix pg_dumpall for new psql output.

- it seems in the beta2 release DBUSERID in pg_dumpall is the _name_ of
  the user, so it doesn't need to be translated from the number to the
  name. also ``create database ...'' does not take numbers for the
  encoding, so the ENCODING variable does not need to be translated to a
  number, but left as the text representation.  a patch is supplied to
  make the changes i have found to work.  i was successful dumping and
  reloading my database after these changes. - John M. Flinchbaugh

- Fixed psql -c "\slashcmd"

- Change MemSet and StrNCpy to evaluate their arguments only once. 

- Fix inadequate parenthesization in several other macros.

- Fix incorrect implementation of log(x) for numeric, as well as incorrect
  descriptions of a couple of log-related functions. I will not force an
  initdb for this, but log() on a numeric won't work until you do one...

- Update bytea type description

- Patch possible portability problem: a few places had // style comments,
  which is not ANSI C, even though some compilers will take it...

- Repair typos: <xb> EOF rule should be <xh>, likewise <xq> to <xd>

- compiler finds wrong include file extern.h in ecpg/lib/descriptor.c from
  include path instead of workdir (rename it ?)

- fe-connect getsockopt takes a socklen_t as fifth arg not int (use
  SOCKET_SIZE_TYPE instead)

- char vs unsigned char in psql calls to libpq

- empty define that results in an empty but terminated line ( ; )

- This would allow to write applications which do not have a link to
  postgres_ext.h in their source directory. Andreas Kardos

- Forgot that odbc had its own copies of config.sub/config.guess. Update
  those to latest Autoconf sources, too.

- Fix query for primary keys to reflect new DISTINCT ON () syntax.

- Make use of pre-existing regexp match capability to eliminate redundant
  entries in template selection rules.  

- change alpha-dec-osf pattern to cope with version info attached to the
  'alpha' part.

- Convert float8 regress test to use exp() and ln() instead of ':' and ';'
  operators.

- Update test for new ORDER BY clause from Tom Lane.

- subselect regress test was kind of silly; it claimed to test correlation
  cases but actually did no such thing.  Make it test some more cases than
  before (including things that didn't work in 6.5).

- Typo correction (// -> /)

Reply via email to