[Digikam-devel] [Bug 271924] digikam fail to create/update mysql database on startup [PATCH]

Francesco Riosa francesco at pnpitalia.it
Mon May 9 00:28:20 BST 2011


https://bugs.kde.org/show_bug.cgi?id=271924





--- Comment #10 from Francesco Riosa <francesco pnpitalia it>  2011-05-09 01:28:18 ---
-- Humans should have only one language and one alphabet really --
-- to set collation is not enough, for various reason strings may be of another
charachter set (probably latin1)


DROP PROCEDURE `create_index_if_not_exists`;;

CREATE DEFINER=`digikam`@`%` PROCEDURE
`create_index_if_not_exists`(table_name_vc varchar(50), index_name_vc
varchar(50), field_list_vc varchar(1024))
    SQL SECURITY INVOKER
BEGIN

set @Index_cnt = (
    SELECT COUNT(1) cnt
    FROM INFORMATION_SCHEMA.STATISTICS
    WHERE CONVERT(table_name USING latin1) = CONVERT(table_name_vc USING
latin1)
      AND CONVERT(index_name USING latin1) = CONVERT(index_name_vc USING
latin1)
);

IF IFNULL(@Index_cnt, 0) = 0 THEN
    set @index_sql = concat(
      CONVERT( 'ALTER TABLE ' USING latin1),
      CONVERT( table_name_vc USING latin1),
      CONVERT( ' ADD INDEX ' USING latin1),
      CONVERT( index_name_vc USING latin1),
      CONVERT( '(' USING latin1),
      CONVERT( field_list_vc USING latin1),
      CONVERT( ');' USING latin1)
    );
    PREPARE stmt FROM @index_sql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END IF;
END ;;

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list