Re: [fossil-users] 64 bit rowid bug?

2013-06-21 Thread Jan Nijtmans
But i'm just being technically pedantic, so don't take all that too seriously. i see nothing wrong with using sqlite3_int64 everywhere, to be honest, and wouldn't mind adding a patch to the upstream JSON bits which use sqlite3_int64 when compiling for fossil (they already have one such place so

Re: [fossil-users] 64 bit rowid bug?

2013-06-20 Thread Jan Nijtmans
2013/6/15 Richard Hipp d...@sqlite.org: On Fri, Jun 14, 2013 at 8:15 PM, Edward Berner e...@bernerfam.com wrote: Hello, db_last_insert_rowid() is defined in db.c to return an i64, but every use of the function stores the result in an int. I guess it might cause problems - if you created a

Re: [fossil-users] 64 bit rowid bug?

2013-06-20 Thread Stephan Beal
On Thu, Jun 20, 2013 at 4:01 PM, Jan Nijtmans jan.nijtm...@gmail.comwrote: Hm, I would suggest to change the return-type from i64 to size_t. On 32-bit systems that would double the maximum number of artifacts, *shiver* i've had nothing but problems when trying to rely on size_t across

Re: [fossil-users] 64 bit rowid bug?

2013-06-20 Thread Jan Nijtmans
2013/6/20 Stephan Beal sgb...@googlemail.com: On Thu, Jun 20, 2013 at 4:40 PM, Stephan Beal sgb...@googlemail.com wrote: *shiver* i've had nothing but problems when trying to rely on size_t across 32/64-bit portable apps. Sorry, i should have qualified that a bit better: problems not

Re: [fossil-users] 64 bit rowid bug?

2013-06-20 Thread Jan Nijtmans
2013/6/20 Richard Hipp d...@sqlite.org: Making this change will only introduce new, real bugs that impact everyday users. Thanks! That's OK with me. But then the question remains why the return-type of db_last_insert_rowid() is not int then? Regards, Jan Nijtmans.

Re: [fossil-users] 64 bit rowid bug?

2013-06-20 Thread Richard Hipp
On Thu, Jun 20, 2013 at 11:12 AM, Jan Nijtmans jan.nijtm...@gmail.comwrote: 2013/6/20 Richard Hipp d...@sqlite.org: Making this change will only introduce new, real bugs that impact everyday users. Thanks! That's OK with me. But then the question remains why the return-type of

[fossil-users] 64 bit rowid bug?

2013-06-14 Thread Edward Berner
Hello, db_last_insert_rowid() is defined in db.c to return an i64, but every use of the function stores the result in an int. That looks like a bug, unless something else is constraining the rowid value. A proper and complete fix seems non-trivial, but in the interim perhaps

Re: [fossil-users] 64 bit rowid bug?

2013-06-14 Thread Richard Hipp
On Fri, Jun 14, 2013 at 8:15 PM, Edward Berner e...@bernerfam.com wrote: Hello, db_last_insert_rowid() is defined in db.c to return an i64, but every use of the function stores the result in an int. I guess it might cause problems - if you created a repository with over 2 billion artifacts.