I tried installing HEAD with czech installation language from http://drupal.org/project/cs and it failed with:
PDOException: INSERT INTO {languages} (language, name, native, direction, domain, prefix, enabled) VALUES (?, ?, ?, ?, ?, ?, ?) - Array ( [0] => cs [1] => Czech [2] => Čeština [3] => 0 [4] => [5] => cs [6] => 1 ) SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'domain' cannot be null in locale_add_language() (line 991 of /var/www/html/includes/locale.inc).
I guess something changed in the installer or language files format which must be reflected. I am setting this as a Drupal bug for now since we are not sure what changed. I suspect installer/locale.inc is the source of the bug since there might be no way to set a domain in .po file.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | i18n_install_locale.patch | 876 bytes | meba |
Comments
Comment #1
meba commentedThe problem lies in locale_add_language. Language domain is not optional anymore...Making a patch.
Comment #2
meba commentedSimple patch to remove NULL from $domain during install time.
Comment #4
stella commentedMarking back to "code needs review" - fields patch committed including a few failing tests.
Comment #5
zroger commentedI'll review this one when i get back online tomorrow.
Comment #6
stella commentedI verified the issue exists and that the patch fixes it. I also checked the other instances where this function is called and they don't have the same issue.
The patch changes the setting for $domain from NULL to '', which is the default for the parameter. It's a small enough patch, which fixes a serious problem, so marking ready to be committed.
Cheers,
Stella
Comment #8
stella commentedPatch passes all tests, except 7 of the "fields" ones which fail even when the patch isn't applied, so resetting status.
Comment #9
webchickCommitted to HEAD. Thanks a lot, meba! :)