Changeset 749

Show
Ignore:
Timestamp:
01/20/08 21:05:17 (11 months ago)
Author:
laurentj
Message:

fixed bug 432: jDbTools, mysql driver : in some version of PHP/mysql, the default value on a field is not always an empty string or a null value

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.0.x/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
  • branches/1.0.x/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
  • branches/1.0.x/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
  • trunk/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
  • trunk/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
  • trunk/lib/jelix/plugins/db/mysql/mysql.dbtools.php

    r640 r749  
    6363            $field->notNull = ($line->Null == 'NO'); 
    6464            $field->primary = ($line->Key == 'PRI'); 
     65            $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
    6566            $field->hasDefault = ($line->Default != '' || !($line->Default == null && $field->notNull)); 
    66             $field->default = $line->Default; 
    67             $field->autoIncrement  = ($line->Extra == 'auto_increment'); 
     67            // to fix a bug in php 5.2.5 or mysql 5.0.51 
     68            if($field->notNull && $line->Default === null && !$field->autoIncrement) 
     69                $field->default =''; 
     70            else 
     71                $field->default = $line->Default; 
    6872            $results[$line->Field] = $field; 
    6973        } 
Download in other formats: Unified Diff Zip Archive