🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# E.136\. 版本 8.0.16 > **发布日期:** never released 这个版本包含各种自8.0.15以来的修复。关于8.0主版本的新特性信息, 请参阅[Section E.152](#calibre_link-274)。 ## E.136.1\. 迁移到版本 8.0.16 运行8.0.X的用户不需要转储/恢复。不过,如果你是从一个早于8.0.6的版本升级而来, 那么请参阅8.0.6的版本声明。 ## E.136.2\. 修改列表 * 修复`ALTER TABLE ADD COLUMN ... PRIMARY KEY`, 以便新的字段被正确的检查,看看是否它被初始化为所有非空 (Brendan Jurd) 以前的版本忽略了检查这个必要条件。 * 修复从多个来自相同祖先的父关系中继承"相同"约束时, 可能的`CREATE TABLE`失败 (Tom) * 修复ISO-8859-5和其他编码之间的转换,以处理Cyrillic "Yo"字符 (`e`和`E`带有两个点) (Sergey Burladyan) * 修复一些允许未使用的字节出现在它们的结果中包含未初始化的、 不可预计的值的日期类型输入函数 (Tom) 这会导致两个看起来相同的文字值不被认为相等的失败,导致分析器抱怨不匹配的 `ORDER BY`和`DISTINCT`表达式。 * 修复正则表达式子串匹配中的极端情况 (`substring(``_string_` from `_pattern_`)) (Tom) 这个问题出现在:有一个到整个模式的匹配,但是用户指定了一个在括号中的子表达式, 并且该子表达式没有获得匹配的情况。一个例子是:`substring('foo' from 'foo(bar)?')`。 这应该返回NULL,因为`(bar)`没有匹配,但是它错误的返回了整个模式匹配 (也就是`foo`)。 * 更新时区数据文件到tzdata版本2008c (因为DST规律在Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba, Argentina/San_Luis, 和Chile改变了) * 修复ecpg的`PGTYPEStimestamp_sub()` 函数中的不正确的结果 (Michael) * 修复输入查询返回一个NULL值时,`contrib/xml2`的 `xpath_table()`函数中的内核转储 (Tom) * 修复`contrib/xml2`的makefile,以不覆盖`CFLAGS` (Tom) * 修复`DatumGetBool` macro,使其不在使用gcc 4.3时失败 (Tom) 这个问题影响返回布尔值的"old style" (V0) C函数。 该修复在8.3中就已经有了,但是返回打补丁的需要在当时并没有意识到。 * 修复长期存在的`LISTEN`/`NOTIFY`竞态条件 (Tom) 在少数情况下,一个刚刚执行了`LISTEN`的会话可能不会得到一个通知, 即使预计是有的,因为并发的事务执行`NOTIFY`是在提交后观察。 该修复的副作用是一个执行了至今未提交的`LISTEN`命令的事务, 将不会看到该`LISTEN`的任何`pg_listener`中的行, 而它应该选择查看的;以前的它是查看的。这个行为从未记录过, 但是有可能一些应用依赖于老的行为。 * 修复查询使用哈希索引期间发生错误时的少见的崩溃 (Heikki) * 修复二月29在公元前的年中的日期时间值的输入 (Tom) * 中文在此。。。 * 中文在此。。。 中文在此。。。 * 中文在此。。。 中文在此。。。 * 中文在此。。。 中文在此。。。 * 中文在此。。。 中文在此。。。