When checking for datetime field overflow, we should allow a fractional-second part that rounds up to exactly 1.0 second.  The previous coding rejected input like "00:12:57.9999999999999999999999999999", with the exact number of nines needed to cause failure varying depending on float-timestamp option and possibly on platform.  Obviously this should round up to the next integral second, if we don't have enough precision to distinguish the value from that. Per bug #4789 from Robert Kruus.
When checking for datetime field overflow, we should allow a fractional-second
part that rounds up to exactly 1.0 second.  The previous coding rejected input
like "00:12:57.9999999999999999999999999999", with the exact number of nines
needed to cause failure varying depending on float-timestamp option and
possibly on platform.  Obviously this should round up to the next integral
second, if we don't have enough precision to distinguish the value from that.
Per bug #4789 from Robert Kruus.

In passing, fix a missed check for fractional seconds in one copy of the
"is it greater than 24:00:00" code.

Broken all the way back, so patch all the way back.

snaga/postgres-xl,jmcatamney/gpdb,ashwinstar/gpdb,adam8157/gpdb,zeroae/postgres-xl,Postgres-XL/Postgres-XL,xinzweb/gpdb,pavanvd/postgres-xl,50wu/gpdb,postmind-net/postgres-xl,postmind-net/postgres-xl,50wu/gpdb,ashwinstar/gpdb,50wu/gpdb,edespino/gpdb,zeroae/postgres-xl,zeroae/postgres-xl,postmind-net/postgres-xl,yazun/postgres-xl,ashwinstar/gpdb,edespino/gpdb,greenplum-db/gpdb,Chibin/gpdb,50wu/gpdb,greenplum-db/gpdb,Chibin/gpdb,techdragon/Postgres-XL,yazun/postgres-xl,Chibin/gpdb,edespino/gpdb,jmcatamney/gpdb,zeroae/postgres-xl,50wu/gpdb,xinzweb/gpdb,jmcatamney/gpdb,oberstet/postgres-xl,snaga/postgres-xl,arcivanov/postgres-xl,yazun/postgres-xl,xinzweb/gpdb,greenplum-db/gpdb,techdragon/Postgres-XL,ashwinstar/gpdb,postmind-net/postgres-xl,edespino/gpdb,edespino/gpdb,lisakowen/gpdb,adam8157/gpdb,tpostgres-projects/tPostgres,lisakowen/gpdb,lisakowen/gpdb,Chibin/gpdb,kmjungersen/PostgresXL,xinzweb/gpdb,tpostgres-projects/tPostgres,adam8157/gpdb,Postgres-XL/Postgres-XL,pavanvd/postgres-xl,zeroae/postgres-xl,kmjungersen/PostgresXL,arcivanov/postgres-xl,greenplum-db/gpdb,edespino/gpdb,ovr/postgres-xl,yazun/postgres-xl,yuanzhao/gpdb,edespino/gpdb,yuanzhao/gpdb,Postgres-XL/Postgres-XL,arcivanov/postgres-xl,yuanzhao/gpdb,Chibin/gpdb,lisakowen/gpdb,arcivanov/postgres-xl,yuanzhao/gpdb,jmcatamney/gpdb,snaga/postgres-xl,oberstet/postgres-xl,ovr/postgres-xl,xinzweb/gpdb,Postgres-XL/Postgres-XL,Chibin/gpdb,pavanvd/postgres-xl,Chibin/gpdb,yuanzhao/gpdb,xinzweb/gpdb,jmcatamney/gpdb,techdragon/Postgres-XL,lisakowen/gpdb,edespino/gpdb,ovr/postgres-xl,pavanvd/postgres-xl,lisakowen/gpdb,ovr/postgres-xl,snaga/postgres-xl,adam8157/gpdb,jmcatamney/gpdb,oberstet/postgres-xl,edespino/gpdb,ashwinstar/gpdb,Chibin/gpdb,pavanvd/postgres-xl,adam8157/gpdb,edespino/gpdb,yuanzhao/gpdb,greenplum-db/gpdb,xinzweb/gpdb,techdragon/Postgres-XL,techdragon/Postgres-XL,jmcatamney/gpdb,tpostgres-projects/tPostgres,lisakowen/gpdb,greenplum-db/gpdb,yuanzhao/gpdb,kmjungersen/PostgresXL,arcivanov/postgres-xl,postmind-net/postgres-xl,greenplum-db/gpdb,oberstet/postgres-xl,yazun/postgres-xl,yuanzhao/gpdb,Chibin/gpdb,ashwinstar/gpdb,oberstet/postgres-xl,tpostgres-projects/tPostgres,adam8157/gpdb,adam8157/gpdb,kmjungersen/PostgresXL,ovr/postgres-xl,50wu/gpdb,50wu/gpdb,ashwinstar/gpdb,Chibin/gpdb,yuanzhao/gpdb,kmjungersen/PostgresXL,ashwinstar/gpdb,jmcatamney/gpdb,arcivanov/postgres-xl,lisakowen/gpdb,xinzweb/gpdb,yuanzhao/gpdb,50wu/gpdb,greenplum-db/gpdb,Postgres-XL/Postgres-XL,snaga/postgres-xl,tpostgres-projects/tPostgres,adam8157/gpdb