forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitb0f24b5
committed
Fix edge-case behavior of pg_next_dst_boundary().
Due to rather sloppy thinking (on my part, I'm afraid) about theappropriate behavior for boundary conditions, pg_next_dst_boundary() gaveundefined, platform-dependent results when the input time is exactly thelast recorded DST transition time for the specified time zone, as a resultof fetching values one past the end of its data arrays.Change its specification to be that it always finds the next DST boundary*after* the input time, and adjust code to match that. The sole existingcaller, DetermineTimeZoneOffset, doesn't actually care about thisdistinction, since it always uses a probe time earlier than the instantthat it does care about. So it seemed best to me to change the API to makethe result=1 and result=0 cases more consistent, specifically to ensurethat the "before" outputs always describe the state at the given time,rather than hacking the code to obey the previous API comment exactly.Per bug #6605 from Sergey Burladyan. Back-patch to all supported versions.1 parent5969ee4 commitb0f24b5
1 file changed
+12
-11
lines changedLines changed: 12 additions & 11 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1290 | 1290 |
| |
1291 | 1291 |
| |
1292 | 1292 |
| |
1293 |
| - | |
| 1293 | + | |
1294 | 1294 |
| |
1295 | 1295 |
| |
1296 | 1296 |
| |
1297 | 1297 |
| |
1298 |
| - | |
| 1298 | + | |
1299 | 1299 |
| |
1300 |
| - | |
1301 |
| - | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
1302 | 1303 |
| |
1303 |
| - | |
| 1304 | + | |
1304 | 1305 |
| |
1305 | 1306 |
| |
1306 |
| - | |
| 1307 | + | |
1307 | 1308 |
| |
1308 | 1309 |
| |
1309 | 1310 |
| |
| |||
1383 | 1384 |
| |
1384 | 1385 |
| |
1385 | 1386 |
| |
1386 |
| - | |
| 1387 | + | |
1387 | 1388 |
| |
1388 |
| - | |
| 1389 | + | |
1389 | 1390 |
| |
1390 | 1391 |
| |
1391 | 1392 |
| |
1392 | 1393 |
| |
1393 | 1394 |
| |
1394 | 1395 |
| |
1395 |
| - | |
| 1396 | + | |
1396 | 1397 |
| |
1397 | 1398 |
| |
1398 | 1399 |
| |
| |||
1413 | 1414 |
| |
1414 | 1415 |
| |
1415 | 1416 |
| |
1416 |
| - | |
| 1417 | + | |
1417 | 1418 |
| |
1418 | 1419 |
| |
1419 |
| - | |
| 1420 | + | |
1420 | 1421 |
| |
1421 | 1422 |
| |
1422 | 1423 |
| |
|
0 commit comments
Comments
(0)