]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 321645: [MySQL 5] MySql Error on insert... "DBD::mysql::st execute failed: Field...
authorolav%bkor.dhs.org <>
Wed, 15 Nov 2006 01:17:47 +0000 (01:17 +0000)
committerolav%bkor.dhs.org <>
Wed, 15 Nov 2006 01:17:47 +0000 (01:17 +0000)
Patch by Olav Vitters <olav@bkor.dhs.org> r=mkanat a=justdave

Bugzilla/DB/Mysql.pm

index 4c5f836589cb6d5cd9b19130329de16296697515..44b0931f82ec223c4dece8c8337b8ab7a7ffb4fc 100644 (file)
@@ -70,6 +70,18 @@ sub new {
 
     bless ($self, $class);
     
+    # Bug 321645 - disable MySQL strict mode, if set
+    my $sql_mode = $self->selectrow_array('SELECT @@sql_mode');
+    if ($sql_mode) {
+        my $new_sql_mode =
+            join(",", grep {$_ !~ /^STRICT_(?:TRANS|ALL)_TABLES|TRADITIONAL$/}
+                            split(/,/, $sql_mode));
+
+        if ($sql_mode ne $new_sql_mode) {
+            $self->do("SET SESSION sql_mode = ?", undef, $new_sql_mode);
+        }
+    }
+
     return $self;
 }