| | 69 | |
|---|
| | 70 | <sect1 id="release-8-3-1"> |
|---|
| | 71 | <title>Release 8.3.1</title> |
|---|
| | 72 | |
|---|
| | 73 | <note> |
|---|
| | 74 | <title>Release date</title> |
|---|
| | 75 | <simpara>2008-03-17</simpara> |
|---|
| | 76 | </note> |
|---|
| | 77 | |
|---|
| | 78 | <para> |
|---|
| | 79 | This release contains a variety of fixes from 8.3.0. |
|---|
| | 80 | </para> |
|---|
| | 81 | |
|---|
| | 82 | <sect2> |
|---|
| | 83 | <title>Migration to Version 8.3.1</title> |
|---|
| | 84 | |
|---|
| | 85 | <para> |
|---|
| | 86 | A dump/restore is not required for those running 8.3.X. |
|---|
| | 87 | However, you might need to <command>REINDEX</command> indexes on textual |
|---|
| | 88 | columns after updating, if you are affected by the Windows locale |
|---|
| | 89 | issue described below. |
|---|
| | 90 | </para> |
|---|
| | 91 | |
|---|
| | 92 | </sect2> |
|---|
| | 93 | |
|---|
| | 94 | <sect2> |
|---|
| | 95 | <title>Changes</title> |
|---|
| | 96 | |
|---|
| | 97 | <itemizedlist> |
|---|
| | 98 | |
|---|
| | 99 | <listitem> |
|---|
| | 100 | <para> |
|---|
| | 101 | Fix character string comparison for Windows locales that consider |
|---|
| | 102 | different character combinations as equal (Tom) |
|---|
| | 103 | </para> |
|---|
| | 104 | |
|---|
| | 105 | <para> |
|---|
| | 106 | This fix applies only on Windows and only when using UTF-8 |
|---|
| | 107 | database encoding. The same fix was made for all other cases |
|---|
| | 108 | over two years ago, but Windows with UTF-8 uses a separate code |
|---|
| | 109 | path that was not updated. If you are using a locale that |
|---|
| | 110 | considers some non-identical strings as equal, you may need to |
|---|
| | 111 | <command>REINDEX</command> to fix existing indexes on textual columns. |
|---|
| | 112 | </para> |
|---|
| | 113 | </listitem> |
|---|
| | 114 | |
|---|
| | 115 | <listitem> |
|---|
| | 116 | <para> |
|---|
| | 117 | Repair corner-case bugs in <command>VACUUM FULL</command> (Tom) |
|---|
| | 118 | </para> |
|---|
| | 119 | |
|---|
| | 120 | <para> |
|---|
| | 121 | A potential deadlock between concurrent <command>VACUUM FULL</command> |
|---|
| | 122 | operations on different system catalogs was introduced in 8.2. |
|---|
| | 123 | This has now been corrected. 8.3 made this worse because the |
|---|
| | 124 | deadlock could occur within a critical code section, making it |
|---|
| | 125 | a PANIC rather than just ERROR condition. |
|---|
| | 126 | </para> |
|---|
| | 127 | |
|---|
| | 128 | <para> |
|---|
| | 129 | Also, a <command>VACUUM FULL</command> that failed partway through |
|---|
| | 130 | vacuuming a system catalog could result in cache corruption in |
|---|
| | 131 | concurrent database sessions. |
|---|
| | 132 | </para> |
|---|
| | 133 | |
|---|
| | 134 | <para> |
|---|
| | 135 | Another <command>VACUUM FULL</command> bug introduced in 8.3 could |
|---|
| | 136 | result in a crash or out-of-memory report when dealing with |
|---|
| | 137 | pages containing no live tuples. |
|---|
| | 138 | </para> |
|---|
| | 139 | </listitem> |
|---|
| | 140 | |
|---|
| | 141 | <listitem> |
|---|
| | 142 | <para> |
|---|
| | 143 | Fix misbehavior of foreign key checks involving <type>character</type> |
|---|
| | 144 | or <type>bit</type> columns (Tom) |
|---|
| | 145 | </para> |
|---|
| | 146 | |
|---|
| | 147 | <para> |
|---|
| | 148 | If the referencing column were of a different but compatible type |
|---|
| | 149 | (for instance <type>varchar</type>), the constraint was enforced incorrectly. |
|---|
| | 150 | </para> |
|---|
| | 151 | </listitem> |
|---|
| | 152 | |
|---|
| | 153 | <listitem> |
|---|
| | 154 | <para> |
|---|
| | 155 | Avoid needless deadlock failures in no-op foreign-key checks (Stephan |
|---|
| | 156 | Szabo, Tom) |
|---|
| | 157 | </para> |
|---|
| | 158 | </listitem> |
|---|
| | 159 | |
|---|
| | 160 | <listitem> |
|---|
| | 161 | <para> |
|---|
| | 162 | Fix possible core dump when re-planning a prepared query (Tom) |
|---|
| | 163 | </para> |
|---|
| | 164 | |
|---|
| | 165 | <para> |
|---|
| | 166 | This bug affected only protocol-level prepare operations, not |
|---|
| | 167 | SQL <command>PREPARE</command>, and so tended to be seen only with |
|---|
| | 168 | JDBC, DBI, and other client-side drivers that use prepared |
|---|
| | 169 | statements heavily. |
|---|
| | 170 | </para> |
|---|
| | 171 | </listitem> |
|---|
| | 172 | |
|---|
| | 173 | <listitem> |
|---|
| | 174 | <para> |
|---|
| | 175 | Fix possible failure when re-planning a query that calls an SPI-using |
|---|
| | 176 | function (Tom) |
|---|
| | 177 | </para> |
|---|
| | 178 | </listitem> |
|---|
| | 179 | |
|---|
| | 180 | <listitem> |
|---|
| | 181 | <para> |
|---|
| | 182 | Fix failure in row-wise comparisons involving columns of different |
|---|
| | 183 | datatypes (Tom) |
|---|
| | 184 | </para> |
|---|
| | 185 | </listitem> |
|---|
| | 186 | |
|---|
| | 187 | <listitem> |
|---|
| | 188 | <para> |
|---|
| | 189 | Fix longstanding <command>LISTEN</command>/<command>NOTIFY</command> |
|---|
| | 190 | race condition (Tom) |
|---|
| | 191 | </para> |
|---|
| | 192 | |
|---|
| | 193 | <para> |
|---|
| | 194 | In rare cases a session that had just executed a |
|---|
| | 195 | <command>LISTEN</command> might not get a notification, even though |
|---|
| | 196 | one would be expected because the concurrent transaction executing |
|---|
| | 197 | <command>NOTIFY</command> was observed to commit later. |
|---|
| | 198 | </para> |
|---|
| | 199 | |
|---|
| | 200 | <para> |
|---|
| | 201 | A side effect of the fix is that a transaction that has executed |
|---|
| | 202 | a not-yet-committed <command>LISTEN</command> command will not see any |
|---|
| | 203 | row in <structname>pg_listener</structname> for the <command>LISTEN</command>, |
|---|
| | 204 | should it choose to look; formerly it would have. This behavior |
|---|
| | 205 | was never documented one way or the other, but it is possible that |
|---|
| | 206 | some applications depend on the old behavior. |
|---|
| | 207 | </para> |
|---|
| | 208 | </listitem> |
|---|
| | 209 | |
|---|
| | 210 | <listitem> |
|---|
| | 211 | <para> |
|---|
| | 212 | Disallow <command>LISTEN</command> and <command>UNLISTEN</command> within a |
|---|
| | 213 | prepared transaction (Tom) |
|---|
| | 214 | </para> |
|---|
| | 215 | |
|---|
| | 216 | <para> |
|---|
| | 217 | This was formerly allowed but trying to do it had various unpleasant |
|---|
| | 218 | consequences, notably that the originating backend could not exit |
|---|
| | 219 | as long as an <command>UNLISTEN</command> remained uncommitted. |
|---|
| | 220 | </para> |
|---|
| | 221 | </listitem> |
|---|
| | 222 | |
|---|
| | 223 | <listitem> |
|---|
| | 224 | <para> |
|---|
| | 225 | Disallow dropping a temporary table within a |
|---|
| | 226 | prepared transaction (Heikki) |
|---|
| | 227 | </para> |
|---|
| | 228 | |
|---|
| | 229 | <para> |
|---|
| | 230 | This was correctly disallowed by 8.1, but the check was inadvertently |
|---|
| | 231 | broken in 8.2 and 8.3. |
|---|
| | 232 | </para> |
|---|
| | 233 | </listitem> |
|---|
| | 234 | |
|---|
| | 235 | <listitem> |
|---|
| | 236 | <para> |
|---|
| | 237 | Fix rare crash when an error occurs during a query using a hash index |
|---|
| | 238 | (Heikki) |
|---|
| | 239 | </para> |
|---|
| | 240 | </listitem> |
|---|
| | 241 | |
|---|
| | 242 | <listitem> |
|---|
| | 243 | <para> |
|---|
| | 244 | Fix incorrect comparison of <type>tsquery</type> values (Teodor) |
|---|
| | 245 | </para> |
|---|
| | 246 | </listitem> |
|---|
| | 247 | |
|---|
| | 248 | <listitem> |
|---|
| | 249 | <para> |
|---|
| | 250 | Fix incorrect behavior of <literal>LIKE</literal> with non-ASCII characters |
|---|
| | 251 | in single-byte encodings (Rolf Jentsch) |
|---|
| | 252 | </para> |
|---|
| | 253 | </listitem> |
|---|
| | 254 | |
|---|
| | 255 | <listitem> |
|---|
| | 256 | <para> |
|---|
| | 257 | Disable <function>xmlvalidate</function> (Tom) |
|---|
| | 258 | </para> |
|---|
| | 259 | |
|---|
| | 260 | <para> |
|---|
| | 261 | This function should have been removed before 8.3 release, but |
|---|
| | 262 | was inadvertently left in the source code. It poses a small |
|---|
| | 263 | security risk since unprivileged users could use it to read the |
|---|
| | 264 | first few characters of any file accessible to the server. |
|---|
| | 265 | </para> |
|---|
| | 266 | </listitem> |
|---|
| | 267 | |
|---|
| | 268 | <listitem> |
|---|
| | 269 | <para> |
|---|
| | 270 | Fix memory leaks in certain usages of set-returning functions (Neil) |
|---|
| | 271 | </para> |
|---|
| | 272 | </listitem> |
|---|
| | 273 | |
|---|
| | 274 | <listitem> |
|---|
| | 275 | <para> |
|---|
| | 276 | Make <function>encode(<replaceable>bytea</replaceable>, 'escape')</function> convert all |
|---|
| | 277 | high-bit-set byte values into <literal>\</literal><replaceable>nnn</replaceable> octal |
|---|
| | 278 | escape sequences (Tom) |
|---|
| | 279 | </para> |
|---|
| | 280 | |
|---|
| | 281 | <para> |
|---|
| | 282 | This is necessary to avoid encoding problems when the database |
|---|
| | 283 | encoding is multi-byte. This change could pose compatibility issues |
|---|
| | 284 | for applications that are expecting specific results from |
|---|
| | 285 | <function>encode</function>. |
|---|
| | 286 | </para> |
|---|
| | 287 | </listitem> |
|---|
| | 288 | |
|---|
| | 289 | <listitem> |
|---|
| | 290 | <para> |
|---|
| | 291 | Fix input of datetime values for February 29 in years BC (Tom) |
|---|
| | 292 | </para> |
|---|
| | 293 | |
|---|
| | 294 | <para> |
|---|
| | 295 | The former coding was mistaken about which years were leap years. |
|---|
| | 296 | </para> |
|---|
| | 297 | </listitem> |
|---|
| | 298 | |
|---|
| | 299 | <listitem> |
|---|
| | 300 | <para> |
|---|
| | 301 | Fix <quote>unrecognized node type</quote> error in some variants of |
|---|
| | 302 | <command>ALTER OWNER</command> (Tom) |
|---|
| | 303 | </para> |
|---|
| | 304 | </listitem> |
|---|
| | 305 | |
|---|
| | 306 | <listitem> |
|---|
| | 307 | <para> |
|---|
| | 308 | Avoid tablespace permissions errors in <command>CREATE TABLE LIKE |
|---|
| | 309 | INCLUDING INDEXES</command> (Tom) |
|---|
| | 310 | </para> |
|---|
| | 311 | </listitem> |
|---|
| | 312 | |
|---|
| | 313 | <listitem> |
|---|
| | 314 | <para> |
|---|
| | 315 | Ensure <structname>pg_stat_activity</structname>.<structfield>waiting</structfield> flag |
|---|
| | 316 | is cleared when a lock wait is aborted (Tom) |
|---|
| | 317 | </para> |
|---|
| | 318 | </listitem> |
|---|
| | 319 | |
|---|
| | 320 | <listitem> |
|---|
| | 321 | <para> |
|---|
| | 322 | Fix handling of process permissions on Windows Vista (Dave, Magnus) |
|---|
| | 323 | </para> |
|---|
| | 324 | |
|---|
| | 325 | <para> |
|---|
| | 326 | In particular, this fix allows starting the server as the Administrator |
|---|
| | 327 | user. |
|---|
| | 328 | </para> |
|---|
| | 329 | </listitem> |
|---|
| | 330 | |
|---|
| | 331 | <listitem> |
|---|
| | 332 | <para> |
|---|
| | 333 | Update time zone data files to <application>tzdata</application> release 2008a |
|---|
| | 334 | (in particular, recent Chile changes); adjust timezone abbreviation |
|---|
| | 335 | <literal>VET</literal> (Venezuela) to mean UTC-4:30, not UTC-4:00 (Tom) |
|---|
| | 336 | </para> |
|---|
| | 337 | </listitem> |
|---|
| | 338 | |
|---|
| | 339 | <listitem> |
|---|
| | 340 | <para> |
|---|
| | 341 | Fix <application>ecpg</application> problems with arrays (Michael) |
|---|
| | 342 | </para> |
|---|
| | 343 | </listitem> |
|---|
| | 344 | |
|---|
| | 345 | <listitem> |
|---|
| | 346 | <para> |
|---|
| | 347 | Fix <application>pg_ctl</application> to correctly extract the postmaster's port |
|---|
| | 348 | number from command-line options (Itagaki Takahiro, Tom) |
|---|
| | 349 | </para> |
|---|
| | 350 | |
|---|
| | 351 | <para> |
|---|
| | 352 | Previously, <literal>pg_ctl start -w</literal> could try to contact the |
|---|
| | 353 | postmaster on the wrong port, leading to bogus reports of startup |
|---|
| | 354 | failure. |
|---|
| | 355 | </para> |
|---|
| | 356 | </listitem> |
|---|
| | 357 | |
|---|
| | 358 | <listitem> |
|---|
| | 359 | <para> |
|---|
| | 360 | Use <option>-fwrapv</option> to defend against possible misoptimization |
|---|
| | 361 | in recent <application>gcc</application> versions (Tom) |
|---|
| | 362 | </para> |
|---|
| | 363 | |
|---|
| | 364 | <para> |
|---|
| | 365 | This is known to be necessary when building <productname>PostgreSQL</productname> |
|---|
| | 366 | with <application>gcc</application> 4.3 or later. |
|---|
| | 367 | </para> |
|---|
| | 368 | </listitem> |
|---|
| | 369 | |
|---|
| | 370 | <listitem> |
|---|
| | 371 | <para> |
|---|
| | 372 | Enable building <filename>contrib/uuid-ossp</filename> with MSVC (Hiroshi Saito) |
|---|
| | 373 | </para> |
|---|
| | 374 | </listitem> |
|---|
| | 375 | |
|---|
| | 376 | </itemizedlist> |
|---|
| | 377 | |
|---|
| | 378 | </sect2> |
|---|
| | 379 | </sect1> |
|---|
| | 2984 | </sect2> |
|---|
| | 2985 | </sect1> |
|---|
| | 2986 | |
|---|
| | 2987 | <sect1 id="release-8-2-7"> |
|---|
| | 2988 | <title>Release 8.2.7</title> |
|---|
| | 2989 | |
|---|
| | 2990 | <note> |
|---|
| | 2991 | <title>Release date</title> |
|---|
| | 2992 | <simpara>2008-03-17</simpara> |
|---|
| | 2993 | </note> |
|---|
| | 2994 | |
|---|
| | 2995 | <para> |
|---|
| | 2996 | This release contains a variety of fixes from 8.2.6. |
|---|
| | 2997 | </para> |
|---|
| | 2998 | |
|---|
| | 2999 | <sect2> |
|---|
| | 3000 | <title>Migration to Version 8.2.7</title> |
|---|
| | 3001 | |
|---|
| | 3002 | <para> |
|---|
| | 3003 | A dump/restore is not required for those running 8.2.X. |
|---|
| | 3004 | However, you might need to <command>REINDEX</command> indexes on textual |
|---|
| | 3005 | columns after updating, if you are affected by the Windows locale |
|---|
| | 3006 | issue described below. |
|---|
| | 3007 | </para> |
|---|
| | 3008 | |
|---|
| | 3009 | </sect2> |
|---|
| | 3010 | |
|---|
| | 3011 | <sect2> |
|---|
| | 3012 | <title>Changes</title> |
|---|
| | 3013 | |
|---|
| | 3014 | <itemizedlist> |
|---|
| | 3015 | |
|---|
| | 3016 | <listitem> |
|---|
| | 3017 | <para> |
|---|
| | 3018 | Fix character string comparison for Windows locales that consider |
|---|
| | 3019 | different character combinations as equal (Tom) |
|---|
| | 3020 | </para> |
|---|
| | 3021 | |
|---|
| | 3022 | <para> |
|---|
| | 3023 | This fix applies only on Windows and only when using UTF-8 |
|---|
| | 3024 | database encoding. The same fix was made for all other cases |
|---|
| | 3025 | over two years ago, but Windows with UTF-8 uses a separate code |
|---|
| | 3026 | path that was not updated. If you are using a locale that |
|---|
| | 3027 | considers some non-identical strings as equal, you may need to |
|---|
| | 3028 | <command>REINDEX</command> to fix existing indexes on textual columns. |
|---|
| | 3029 | </para> |
|---|
| | 3030 | </listitem> |
|---|
| | 3031 | |
|---|
| | 3032 | <listitem> |
|---|
| | 3033 | <para> |
|---|
| | 3034 | Repair potential deadlock between concurrent <command>VACUUM FULL</command> |
|---|
| | 3035 | operations on different system catalogs (Tom) |
|---|
| | 3036 | </para> |
|---|
| | 3037 | </listitem> |
|---|
| | 3038 | |
|---|
| | 3039 | <listitem> |
|---|
| | 3040 | <para> |
|---|
| | 3041 | Fix longstanding <command>LISTEN</command>/<command>NOTIFY</command> |
|---|
| | 3042 | race condition (Tom) |
|---|
| | 3043 | </para> |
|---|
| | 3044 | |
|---|
| | 3045 | <para> |
|---|
| | 3046 | In rare cases a session that had just executed a |
|---|
| | 3047 | <command>LISTEN</command> might not get a notification, even though |
|---|
| | 3048 | one would be expected because the concurrent transaction executing |
|---|
| | 3049 | <command>NOTIFY</command> was observed to commit later. |
|---|
| | 3050 | </para> |
|---|
| | 3051 | |
|---|
| | 3052 | <para> |
|---|
| | 3053 | A side effect of the fix is that a transaction that has executed |
|---|
| | 3054 | a not-yet-committed <command>LISTEN</command> command will not see any |
|---|
| | 3055 | row in <structname>pg_listener</command> for the <command>LISTEN</command>, |
|---|
| | 3056 | should it choose to look; formerly it would have. This behavior |
|---|
| | 3057 | was never documented one way or the other, but it is possible that |
|---|
| | 3058 | some applications depend on the old behavior. |
|---|
| | 3059 | </para> |
|---|
| | 3060 | </listitem> |
|---|
| | 3061 | |
|---|
| | 3062 | <listitem> |
|---|
| | 3063 | <para> |
|---|
| | 3064 | Disallow <command>LISTEN</command> and <command>UNLISTEN</command> within a |
|---|
| | 3065 | prepared transaction (Tom) |
|---|
| | 3066 | </para> |
|---|
| | 3067 | |
|---|
| | 3068 | <para> |
|---|
| | 3069 | This was formerly allowed but trying to do it had various unpleasant |
|---|
| | 3070 | consequences, notably that the originating backend could not exit |
|---|
| | 3071 | as long as an <command>UNLISTEN</command> remained uncommitted. |
|---|
| | 3072 | </para> |
|---|
| | 3073 | </listitem> |
|---|
| | 3074 | |
|---|
| | 3075 | <listitem> |
|---|
| | 3076 | <para> |
|---|
| | 3077 | Disallow dropping a temporary table within a |
|---|
| | 3078 | prepared transaction (Heikki) |
|---|
| | 3079 | </para> |
|---|
| | 3080 | |
|---|
| | 3081 | <para> |
|---|
| | 3082 | This was correctly disallowed by 8.1, but the check was inadvertently |
|---|
| | 3083 | broken in 8.2. |
|---|
| | 3084 | </para> |
|---|
| | 3085 | </listitem> |
|---|
| | 3086 | |
|---|
| | 3087 | <listitem> |
|---|
| | 3088 | <para> |
|---|
| | 3089 | Fix rare crash when an error occurs during a query using a hash index |
|---|
| | 3090 | (Heikki) |
|---|
| | 3091 | </para> |
|---|
| | 3092 | </listitem> |
|---|
| | 3093 | |
|---|
| | 3094 | <listitem> |
|---|
| | 3095 | <para> |
|---|
| | 3096 | Fix memory leaks in certain usages of set-returning functions (Neil) |
|---|
| | 3097 | </para> |
|---|
| | 3098 | </listitem> |
|---|
| | 3099 | |
|---|
| | 3100 | <listitem> |
|---|
| | 3101 | <para> |
|---|
| | 3102 | Fix input of datetime values for February 29 in years BC (Tom) |
|---|
| | 3103 | </para> |
|---|
| | 3104 | |
|---|
| | 3105 | <para> |
|---|
| | 3106 | The former coding was mistaken about which years were leap years. |
|---|
| | 3107 | </para> |
|---|
| | 3108 | </listitem> |
|---|
| | 3109 | |
|---|
| | 3110 | <listitem> |
|---|
| | 3111 | <para> |
|---|
| | 3112 | Fix <quote>unrecognized node type</quote> error in some variants of |
|---|
| | 3113 | <command>ALTER OWNER</command> (Tom) |
|---|
| | 3114 | </para> |
|---|
| | 3115 | </listitem> |
|---|
| | 3116 | |
|---|
| | 3117 | <listitem> |
|---|
| | 3118 | <para> |
|---|
| | 3119 | Ensure <structname>pg_stat_activity</structname>.<structfield>waiting</structfield> flag |
|---|
| | 3120 | is cleared when a lock wait is aborted (Tom) |
|---|
| | 3121 | </para> |
|---|
| | 3122 | </listitem> |
|---|
| | 3123 | |
|---|
| | 3124 | <listitem> |
|---|
| | 3125 | <para> |
|---|
| | 3126 | Fix handling of process permissions on Windows Vista (Dave, Magnus) |
|---|
| | 3127 | </para> |
|---|
| | 3128 | |
|---|
| | 3129 | <para> |
|---|
| | 3130 | In particular, this fix allows starting the server as the Administrator |
|---|
| | 3131 | user. |
|---|
| | 3132 | </para> |
|---|
| | 3133 | </listitem> |
|---|
| | 3134 | |
|---|
| | 3135 | <listitem> |
|---|
| | 3136 | <para> |
|---|
| | 3137 | Update time zone data files to <application>tzdata</application> release 2008a |
|---|
| | 3138 | (in particular, recent Chile changes); adjust timezone abbreviation |
|---|
| | 3139 | <literal>VET</literal> (Venezuela) to mean UTC-4:30, not UTC-4:00 (Tom) |
|---|
| | 3140 | </para> |
|---|
| | 3141 | </listitem> |
|---|
| | 3142 | |
|---|
| | 3143 | <listitem> |
|---|
| | 3144 | <para> |
|---|
| | 3145 | Fix <application>pg_ctl</application> to correctly extract the postmaster's port |
|---|
| | 3146 | number from command-line options (Itagaki Takahiro, Tom) |
|---|
| | 3147 | </para> |
|---|
| | 3148 | |
|---|
| | 3149 | <para> |
|---|
| | 3150 | Previously, <literal>pg_ctl start -w</literal> could try to contact the |
|---|
| | 3151 | postmaster on the wrong port, leading to bogus reports of startup |
|---|
| | 3152 | failure. |
|---|
| | 3153 | </para> |
|---|
| | 3154 | </listitem> |
|---|
| | 3155 | |
|---|
| | 3156 | <listitem> |
|---|
| | 3157 | <para> |
|---|
| | 3158 | Use <option>-fwrapv</option> to defend against possible misoptimization |
|---|
| | 3159 | in recent <application>gcc</application> versions (Tom) |
|---|
| | 3160 | </para> |
|---|
| | 3161 | |
|---|
| | 3162 | <para> |
|---|
| | 3163 | This is known to be necessary when building <productname>PostgreSQL</productname> |
|---|
| | 3164 | with <application>gcc</application> 4.3 or later. |
|---|
| | 3165 | </para> |
|---|
| | 3166 | </listitem> |
|---|
| | 3167 | |
|---|
| | 3168 | |
|---|
| | 3169 | <listitem> |
|---|
| | 3170 | <para> |
|---|
| | 3171 | Correctly enforce <varname>statement_timeout</varname> values longer |
|---|
| | 3172 | than <literal>INT_MAX</literal> microseconds (about 35 minutes) (Tom) |
|---|
| | 3173 | </para> |
|---|
| | 3174 | |
|---|
| | 3175 | <para> |
|---|
| | 3176 | This bug affects only builds with <option>--enable-integer-datetimes</option>. |
|---|
| | 3177 | </para> |
|---|
| | 3178 | </listitem> |
|---|
| | 3179 | |
|---|
| | 3180 | <listitem> |
|---|
| | 3181 | <para> |
|---|
| | 3182 | Fix <quote>unexpected PARAM_SUBLINK ID</quote> planner error when |
|---|
| | 3183 | constant-folding simplifies a sub-select (Tom) |
|---|
| | 3184 | </para> |
|---|
| | 3185 | </listitem> |
|---|
| | 3186 | |
|---|
| | 3187 | <listitem> |
|---|
| | 3188 | <para> |
|---|
| | 3189 | Fix logical errors in constraint-exclusion handling of <literal>IS |
|---|
| | 3190 | NULL</literal> and <literal>NOT</literal> expressions (Tom) |
|---|
| | 3191 | </para> |
|---|
| | 3192 | |
|---|
| | 3193 | <para> |
|---|
| | 3194 | The planner would sometimes exclude partitions that should not |
|---|
| | 3195 | have been excluded because of the possibility of NULL results. |
|---|
| | 3196 | </para> |
|---|
| | 3197 | </listitem> |
|---|
| | 3198 | |
|---|
| | 3199 | <listitem> |
|---|
| | 3200 | <para> |
|---|
| | 3201 | Fix another cause of <quote>failed to build any N-way joins</quote> |
|---|
| | 3202 | planner errors (Tom) |
|---|
| | 3203 | </para> |
|---|
| | 3204 | |
|---|
| | 3205 | <para> |
|---|
| | 3206 | This could happen in cases where a clauseless join needed to be |
|---|
| | 3207 | forced before a join clause could be exploited. |
|---|
| | 3208 | </para> |
|---|
| | 3209 | </listitem> |
|---|
| | 3210 | |
|---|
| | 3211 | <listitem> |
|---|
| | 3212 | <para> |
|---|
| | 3213 | Fix incorrect constant propagation in outer-join planning (Tom) |
|---|
| | 3214 | </para> |
|---|
| | 3215 | |
|---|
| | 3216 | <para> |
|---|
| | 3217 | The planner could sometimes incorrectly conclude that a variable |
|---|
| | 3218 | could be constrained to be equal to a constant, leading |
|---|
| | 3219 | to wrong query results. |
|---|
| | 3220 | </para> |
|---|
| | 3221 | </listitem> |
|---|
| | 3222 | |
|---|
| | 3223 | <listitem> |
|---|
| | 3224 | <para> |
|---|
| | 3225 | Fix display of constant expressions in <literal>ORDER BY</literal> |
|---|
| | 3226 | and <literal>GROUP BY</literal> (Tom) |
|---|
| | 3227 | </para> |
|---|
| | 3228 | |
|---|
| | 3229 | <para> |
|---|
| | 3230 | An explictly casted constant would be shown incorrectly. This could |
|---|
| | 3231 | for example lead to corruption of a view definition during |
|---|
| | 3232 | dump and reload. |
|---|
| | 3233 | </para> |
|---|
| | 3234 | </listitem> |
|---|
| | 3235 | |
|---|
| | 3236 | <listitem> |
|---|
| | 3237 | <para> |
|---|
| | 3238 | Fix <application>libpq</application> to handle NOTICE messages correctly |
|---|
| | 3239 | during COPY OUT (Tom) |
|---|
| | 3240 | </para> |
|---|
| | 3241 | |
|---|
| | 3242 | <para> |
|---|
| | 3243 | This failure has only been observed to occur when a user-defined |
|---|
| | 3244 | datatype's output routine issues a NOTICE, but there is no |
|---|
| | 3245 | guaranteee it couldn't happen due to other causes. |
|---|
| | 3246 | </para> |
|---|
| | 3247 | </listitem> |
|---|
| | 3248 | |
|---|
| | 3249 | </itemizedlist> |
|---|
| | 3250 | |
|---|