56 lines
2.6 KiB
SQL
56 lines
2.6 KiB
SQL
-- MijnBesluit - kleine versie van een foto, om in lijstjes te tonen
|
|
--
|
|
-- Een profielfoto op de kaart van een persoon is een plaatje van hooguit veertig pixels. De
|
|
-- foto zelf is al gauw een paar honderd kilobyte, en tien personen in een lijst zijn dan een
|
|
-- paar megabyte - over een mobiele verbinding merk je dat meteen.
|
|
--
|
|
-- Daarom slaan we bij een foto meteen een kleine versie op. Die is versleuteld met dezelfde
|
|
-- sleutel als de foto zelf, dus er staat niets leesbaars in de database:
|
|
--
|
|
-- thumbnail : de kleine versie, versleuteld
|
|
-- thumbnail_nonce : het eenmalige getal van die versleuteling
|
|
-- thumbnail_tag : het echtheidskenmerk van die versleuteling
|
|
--
|
|
-- Alle drie leeg betekent: er is geen kleine versie. Dat is geen fout - bij een document of een
|
|
-- video is er niets te verkleinen, en bij foto's van voor deze wijziging is hij er nog niet.
|
|
-- Het scherm valt dan terug op de beginletters, precies zoals het zonder foto ook doet.
|
|
--
|
|
-- Draaien met:
|
|
-- mysql -u root -p mijnbesluit < db\08_thumbnails.sql
|
|
--
|
|
-- Opnieuw draaien mag: er gebeurt dan niets.
|
|
|
|
USE `mijnbesluit`;
|
|
|
|
-- ---------------------------------------------------------------- thumbnail
|
|
SET @bestaat := (
|
|
SELECT COUNT(*) FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail');
|
|
|
|
SET @sql := IF(@bestaat = 0,
|
|
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail` BLOB NULL',
|
|
'SELECT "thumbnail bestaat al" AS melding');
|
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
|
|
-- ---------------------------------------------------------------- thumbnail_nonce
|
|
SET @bestaat := (
|
|
SELECT COUNT(*) FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail_nonce');
|
|
|
|
SET @sql := IF(@bestaat = 0,
|
|
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail_nonce` VARBINARY(12) NULL',
|
|
'SELECT "thumbnail_nonce bestaat al" AS melding');
|
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
|
|
-- ---------------------------------------------------------------- thumbnail_tag
|
|
SET @bestaat := (
|
|
SELECT COUNT(*) FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail_tag');
|
|
|
|
SET @sql := IF(@bestaat = 0,
|
|
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail_tag` VARBINARY(16) NULL',
|
|
'SELECT "thumbnail_tag bestaat al" AS melding');
|
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
|
|
SELECT 'Klaar. De kleine versies worden vanaf nu bij het opslaan van een foto meegemaakt.' AS melding;
|