On Mon, Jul 22, 2013 at 6:45 AM, didier <did...@gmail.com> wrote: > Hi > > in void > BootStrapXLOG(void) > > * to seed it other than the system clock value...) The upper half of > the > * uint64 value is just the tv_sec part, while the lower half is the > XOR > * of tv_sec and tv_usec. This is to ensure that we don't lose > uniqueness > * unnecessarily if "uint64" is really only 32 bits wide. A person > * knowing this encoding can determine the initialization time of > the > * installation, which could perhaps be useful sometimes. > */ > gettimeofday(&tv, NULL); > sysidentifier = ((uint64) tv.tv_sec) << 32; > sysidentifier |= (uint32) (tv.tv_sec | tv.tv_usec); > > should be > sysidentifier |= (uint32) (tv.tv_sec ^ tv.tv_usec);
And why is that? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers