Our module automatically generate bundles with names as first 8 symbol of md5(label). So, label's string context looks like this: commerce_price:51222c28c26ea:label. i18n_string module use 51222c28c26ea as objectIndex. And, when md5() returns something like that `511255539632e', updating stings failed with SQL error:

PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'objectindex' at row 1: INSERT INTO {i18n_string} (lid, textgroup, context, objectid, type, property, objectindex, format) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7); Array ( [:db_insert_placeholder_0] => 18012 [:db_insert_placeholder_1] => field [:db_insert_placeholder_2] => commerce_price:511255539632e:label [:db_insert_placeholder_3] => 511255539632e [:db_insert_placeholder_4] => commerce_price [:db_insert_placeholder_5] => label [:db_insert_placeholder_6] => 511255539632 [:db_insert_placeholder_7] => ) в функции i18n_string_textgroup_default->save_string() (строка 667 в файле /mnt/sites/site39/profiles/commerce_kickstart/modules/contrib/i18n/i18n_string/i18n_string.inc).

Also, MySQL implicitly truncates string when casting into integer, but RDBMS PostgreSQL (and some other) do not do it.

PS. Sorry for my ugly English....

Comments

attiks’s picture