在 PostgreSQL 的这一天,25 年前

偶尔回顾一下四分之一世纪前的 PostgreSQL 提交。

RSS Feed

1 | 2 | 3 | 4 | 索引

25年前的今天(PostgreSQL 7.0 开发周期),提交了一个补丁,确保带有正引用计数的无效 relcache 条目会被重建而不是删除

commit 04103e00f1f0ce12c29954d069e1d4437467f700
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Sat Jan 29 19:51:59 2000 +0000

    Modify uses of RelationFlushRelation and RelationCacheInvalidate so that
    we *always* rebuild, rather than deleting, an invalidated relcache entry
    that has positive refcount.  Otherwise an SI cache overrun leads to
    dangling Relation pointers all over the place!
发布于下午8:53

25年前的今天(PostgreSQL 7.0 开发周期),进行了一项更改,使得可以使用 DNF(“析取范式”)而不是 CNF(“合取范式”),视情况而定

commit 003dd965d2380823624f58d0d0cf72c4edc3bcb4
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Fri Jan 28 03:22:36 2000 +0000

    Apply the heuristic proposed by Taral (see pgsql-general archives for
    2-Oct-98 or TODO.detail/cnfify) to decide whether we want to reduce
    WHERE clause to CNF form, DNF form, or neither.  This is a HUGE win.
    The heuristic conditions could probably still use a little tweaking to
    make sure we don't pick CNF when DNF would be better, or vice versa,
    but the risk of exponential explosion in cnfify() is gone.  I was able
    to run ten-thousand-AND-subclause queries through the planner in a
    reasonable amount of time.
发布于下午7:42

25年前的今天(PostgreSQL 7.0 开发周期),重构了 DISTINCT ON 子句,使其能够接受多个表达式

commit dd979f66be20fc54aad06da743f788fbc505bbe1
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Thu Jan 27 18:11:50 2000 +0000

    Redesign DISTINCT ON as discussed in pgsql-sql 1/25/00: syntax is now
    SELECT DISTINCT ON (expr [, expr ...]) targetlist ...
    and there is a check to make sure that the user didn't specify an ORDER BY
    that's incompatible with the DISTINCT operation.
    Reimplement nodeUnique and nodeGroup to use the proper datatype-specific
    equality function for each column being compared --- they used to do
    bitwise comparisons or convert the data to text strings and strcmp().
    (To add insult to injury, they'd look up the conversion functions once
    for each tuple...)  Parse/plan representation of DISTINCT is now a list
    of SortClause nodes.
    initdb forced by querytree change...
发布于上午11:25

25年前的今天(PostgreSQL 7.0 开发周期),添加了 to_char() 及其相关函数

commit b866d2e2d79416f8497e4dffa7e800298d018f6c
Author: Bruce Momjian <bruce@momjian.us>
Date:   Tue Jan 25 23:53:56 2000 +0000

     as attache of this mail is patch (to the main tree) with to_char's
    family functions. Contain:
    
      conversion from a datetype to formatted text:
    
            to_char( datetime,      text)
            to_char( timestamp,     text)
            to_char( int4,          text)
            to_char( int8,          text)
            to_char( float4,        text)
            to_char( float8,        text)
            to_char( numeric,       text)
    
      vice versa:
        
            to_date         ( text, text)
            to_datetime     ( text, text)
            to_timestamp    ( text, text)
            to_number       ( text, text)      (convert to numeric)
    
    
      PostgreSQL to_char is very compatible with Oracle's to_char(), but not
    total exactly (now). Small differentions are in number formating. It will
    fix in next to_char()

 (...)

     Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/

(为简洁起见,省略了一些提交消息文本)

发布于下午5:12

25年前的今天(PostgreSQL 7.0 开发周期),对范围查询的选择性估计进行了改进

commit 0dbffa704ab3235431b4caef675d9179109d4a0c
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Mon Jan 24 07:16:52 2000 +0000

    First cut at making useful selectivity estimates for range queries
    (ie, WHERE x > lowbound AND x < highbound).  It's not very bright yet
    but it does something useful. 
发布于下午7:37

25年前的今天(PostgreSQL 7.0 开发周期),首次尝试添加对 ALTER TABLE DROP COLUMN 的支持

commit fa5400c0a40eab95499da5a54d8a526593a1f243
Author: Peter Eisentraut <peter_e@gmx.net>
Date:   Sat Jan 22 14:20:56 2000 +0000

    added ALTER TABLE DROP COLUMN, early version
发布于下午9:41

25年前的今天(PostgreSQL 7.0 开发周期),决定即将发布的版本将命名为 PostgreSQL 7.0,而不是 PostgreSQL 7.0.0

commit e3415aa83447f1bad020572e69020b11d16f9a64
Author: Bruce Momjian <bruce@momjian.us>
Date:   Thu Jan 20 22:21:30 2000 +0000

    Rename 7.0.0 to 7.0 to be consistent with prior release numbering.
发布于晚上9:00

25年前的今天(PostgreSQL 7.0 开发周期),修复了 NULL 约束条件的处理

commit 6d1efd76fb9852b8bc242dcaf35916090d7c5899
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Wed Jan 19 23:55:03 2000 +0000

    Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
    from a constraint condition does not violate the constraint (cf. discussion
    on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
    specifying whether to return TRUE or FALSE when the qual result is
    really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
    the only caller that asks for TRUE, but if we find any other places that
    have the wrong response to NULL, it'll be easy to fix them.
发布于下午2:41

1 | 2 | 3 | 4 | 索引