E.163. 版本 7.4.20

发布日期: 从未发布

这个版本包含各种自7.4.19以来的修复。关于7.4主版本的新特性的信息, 请查阅Section E.183

E.163.1. 迁移到版本 7.4.20

运行7.4.X的用户不需要转储/恢复。不过,如果你是从一个早于7.4.11的版本升级而来, 请查看7.4.11的版本声明。

E.163.2. 修改列表

  • 修复ISO-8859-5和其他编码之间的转换,以处理Cyrillic "Yo"字符 (带有两个点的eE) (Sergey Burladyan)

  • 修复一些数据类型输入函数,他们允许未使用的字节在他们的结果中包含未初始化的、 不可预期的值 (Tom)

    这会导致两个表面上一样的字面值不被认为相等的失败,导致分析器抱怨不匹配的 ORDER BYDISTINCT表达式。

  • 修复正则表达式子字符串匹配中的极端情况 (substring(``_string_ from _pattern_)) (Tom)

    这个问题发生在有一个完全匹配的模式的时候,但是用户已经指定了一个加括号的子表达式, 并且该子表达式没有得到匹配。一个例子是substring('foo' from 'foo(bar)?')。 这个应该返回NULL,因为(bar)不匹配, 但是它错误的返回了整个模式匹配(也就是,foo)。

  • 修复ecpg的PGTYPEStimestamp_sub() 函数中不正确的结果 (Michael)

  • 修复DatumGetBool宏使用gcc 4.3时不会失败 (Tom)

    这个问题影响"老式风格" (V0)的C函数返回布尔值。 该修复已经在8.3中,但是当时没有意识到需要回来修补它。

  • 修复长期存在的LISTEN/NOTIFY竞态条件 (Tom)

    在少数情况下,刚刚执行了一个LISTEN的会话可能不会得到一个通知, 即使应该这样,因为并发事务执行NOTIFY会观察到提交以后。

    该修复的一个副作用是一个执行了还未提交的LISTEN 命令的事务将看不到任何在pg_listener中的行, 而它应该是能看到的;以前它也是能看到的。 这个行为从未有过这种或那种的记录,但是一些依赖于老的行为的应用是有可能出现的。

  • 修复ORDER BYGROUP BY中常数表达式的显示 (Tom)

    一个明确转换的常量会不正确的显示。这会导致,例如转储和重载期间视图定义损坏。

  • 修复libpq以正确的处理COPY OUT期间的NOTICE消息 (Tom)

    这个故障只在一个用户定义的数据类型的输出程序发出一个NOTICE时可以观察到发生, 但是不保证它不会由于其他原因发生。