RESOLVED FIXED 123556
IDB Database versions are uint64_t, not int64_t
https://bugs.webkit.org/show_bug.cgi?id=123556
Summary IDB Database versions are uint64_t, not int64_t
Brady Eidson
Reported 2013-10-30 22:08:23 PDT
Database versions are uint64_t, not int64_t This is mandated in the spec.
Attachments
Patch v1 (20.80 KB, patch)
2013-10-30 22:10 PDT, Brady Eidson
eflews.bot: commit-queue-
Patch v2 (20.93 KB, patch)
2013-10-30 22:30 PDT, Brady Eidson
no flags
Brady Eidson
Comment 1 2013-10-30 22:10:19 PDT
Created attachment 215613 [details] Patch v1
EFL EWS Bot
Comment 2 2013-10-30 22:18:45 PDT
EFL EWS Bot
Comment 3 2013-10-30 22:22:01 PDT
Comment on attachment 215613 [details] Patch v1 Attachment 215613 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/16058436
Brady Eidson
Comment 4 2013-10-30 22:27:12 PDT
> e/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:496:205: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'uint64_t {aka long unsigned int}' [-Werror=format] Sure hate different compilers disagreeing with each other, because the exact opposite problem is in clang/llvm. Guess I'll have to leave the static casts.
Sergio Correia (qrwteyrutiyoup)
Comment 5 2013-10-30 22:29:11 PDT
(In reply to comment #4) > > e/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:496:205: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'uint64_t {aka long unsigned int}' [-Werror=format] > > > Sure hate different compilers disagreeing with each other, because the exact opposite problem is in clang/llvm. > > Guess I'll have to leave the static casts. would PRIu64 instead of %llu work there?
Brady Eidson
Comment 6 2013-10-30 22:30:09 PDT
Created attachment 215616 [details] Patch v2
Brady Eidson
Comment 7 2013-10-30 22:37:52 PDT
(In reply to comment #5) > (In reply to comment #4) > > > e/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:496:205: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'uint64_t {aka long unsigned int}' [-Werror=format] > > > > > > Sure hate different compilers disagreeing with each other, because the exact opposite problem is in clang/llvm. > > > > Guess I'll have to leave the static casts. > > would PRIu64 instead of %llu work there? The way those inttypes style macros work is ugly and unfamiliar to many... Not sure we use them anywhere in the project. And I'm going to spend the time to make sure Windows likes them, too.
Sergio Correia (qrwteyrutiyoup)
Comment 8 2013-10-30 23:00:17 PDT
(In reply to comment #7) > (In reply to comment #5) > > (In reply to comment #4) > > > > e/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:496:205: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'uint64_t {aka long unsigned int}' [-Werror=format] > > > > > > > > > Sure hate different compilers disagreeing with each other, because the exact opposite problem is in clang/llvm. > > > > > > Guess I'll have to leave the static casts. > > > > would PRIu64 instead of %llu work there? > > The way those inttypes style macros work is ugly and unfamiliar to many... Not sure we use them anywhere in the project. And I'm going to spend the time to make sure Windows likes them, too. Ugly, indeed :) And yeah, it seems like MSVC might have issues, considering we have a JavaScriptCore/os-win32/inttypes.h, so looks like it isn't worth the trouble.
WebKit Commit Bot
Comment 9 2013-10-30 23:25:16 PDT
Comment on attachment 215616 [details] Patch v2 Clearing flags on attachment: 215616 Committed r158348: <http://trac.webkit.org/changeset/158348>
WebKit Commit Bot
Comment 10 2013-10-30 23:25:18 PDT
All reviewed patches have been landed. Closing bug.
Sudarsana Nagineni (babu)
Comment 11 2013-10-31 02:04:11 PDT
This patch resulted a debug build fail with the following error. WebKit/Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: In member function ‘virtual bool WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion(WebCore::IDBBackingStoreInterface::Transaction&, int64_t, uint64_t)’: WebKit/Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:599:25: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] cc1plus: all warnings being treated as errors make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp.o] Error 1
Sudarsana Nagineni (babu)
Comment 12 2013-10-31 02:08:59 PDT
Proposed patch for build failure is in https://bugs.webkit.org/show_bug.cgi?id=123562.
Note You need to log in before you can comment on or make changes to this bug.