https://bugs.kde.org/show_bug.cgi?id=406942
Bug ID: 406942 Summary: Thumbnails does not get saved for videofiles over 2^64b, mysql Product: digikam Version: 6.1.0 Platform: Appimage OS: Linux Status: REPORTED Severity: critical Priority: NOR Component: Database-Thumbs Assignee: digikam-bugs-n...@kde.org Reporter: bugskdeorg.20.dimon3...@spamgourmet.com Target Milestone: --- SUMMARY Modern cameras can produce video files of extremely large size. Metadata / thumbnails of which does not fit in MySQL columns. STEPS TO REPRODUCE Use MySQL. Sqlite is not tested, but theoretically is not affected. 1. Create a video file with a size larger than 2^32-1 bytes (take a bit more, to be sure :) 2. Add it to Digicam collection 3. Let digikam scan the file and create a thumbnail of it. OBSERVED RESULT Thumbnail is created but it is recreated whenever you see the video file. SQL Replace operation fails Translation is kept open. EXPECTED RESULT Thumbnail is created only once, successfully stored into the database. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Ubuntu 19.04 x86_64 appimage KDE Plasma Version: ? KDE Frameworks Version: ? Qt Version: ? ADDITIONAL INFORMATION MySQL 8.0.16 Debug log > Digikam::DMetadata::loadUsingFFmpeg: Parse metadada with FFMpeg: > "/media/dimon3000/Documents/Dmitry/Pictures/Фото/2018/2018-03-09 > Доха-Тайланд/GoPro/GP010224.MP4" > Digikam::DMetadata::loadUsingFFmpeg: -- FFMpeg video stream metadata entries : > Digikam::DMetadata::loadUsingFFmpeg: QMap(("creation_time", > "2018-03-20T16:38:14.000000")("encoder", "GoPro AVC encoder")("handler_name", > "\rGoPro AVC")("language", "eng")) > Digikam::DMetadata::loadUsingFFmpeg: ----------------------------------------- > Digikam::DMetadata::loadUsingFFmpeg: -- FFMpeg audio stream metadata entries : > Digikam::DMetadata::loadUsingFFmpeg: QMap(("creation_time", > "2018-03-20T16:38:14.000000")("handler_name", "\rGoPro AAC")("language", > "eng")) > Digikam::DMetadata::loadUsingFFmpeg: ----------------------------------------- > Digikam::DMetadata::loadUsingFFmpeg: -- FFMpeg root container metadata > entries : > Digikam::DMetadata::loadUsingFFmpeg: QMap(("compatible_brands", > "avc1isom")("creation_time", "2018-03-20T16:38:14.000000")("firmware", > "HD3.03.03.00")("major_brand", "avc1")("minor_version", "0")) > Digikam::DMetadata::loadUsingFFmpeg: > ------------------------------------------ > Digikam::ThumbnailCreator::createThumbnail: Trying to load video preview with > FFmpeg > Digikam::BdEngineBackendPrivate::debugOutputFailedQuery: Failure executing > query: > "REPLACE INTO UniqueHashes (uniqueHash, fileSize, thumbId) VALUES (?,?,?);" > Error messages: "QMYSQL3: Unable to execute statement" "Out of range value > for column 'fileSize' at row 1" 1264 2 > Bound values: (QVariant(QString, "73930f5548eb6fbe08f123905a2e88c9"), > QVariant(qlonglong, 3854467646), QVariant(int, 183429)) > Digikam::DbEngineThreadData::~DbEngineThreadData: WARNING !!! Transaction > count is 18 when destroying database!!! > > describe UniqueHashes; > +------------+--------------+------+-----+---------+-------+ > | Field | Type | Null | Key | Default | Extra | > +------------+--------------+------+-----+---------+-------+ > | uniqueHash | varchar(128) | YES | MUL | NULL | | > | fileSize | int(11) | YES | | NULL | | > | thumbId | int(11) | YES | MUL | NULL | | > +------------+--------------+------+-----+---------+-------+ > 3 rows in set (0,00 sec) Use "bigint unsigned" for storing file sizes in MySQL. -- You are receiving this mail because: You are watching all bug changes.