Bug #20880 Database Sinchronisation Window
Submitted: 6 Jul 2006 3:18 Modified: 6 Jul 2006 12:34
Reporter: Matias Perrone Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Workbench Preview Severity:S2 (Serious)
Version:1.0.6 beta OS:Windows (Windows XP SP2)
Assigned to: CPU Architecture:Any

[6 Jul 2006 3:18] Matias Perrone
Description:
When I create a table in a new schema, and I try to synchronize it with the database, it fails with the following error:

file c:\dokumente und einstellungen\mike\eigene dateien\work\mysql-gui-common\library_grt\source\myx_grt_value.c: line 3295: assertion `dict != NULL' failed
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLLATE  NOT NULL,
  `alumno_apellido` VARCHAR(45) CHARACTER SET  COLLATE  NOT ' at line 3

And the script that it's trying to execute:

CREATE TABLE `educat`.`Alumno` (
  `alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `alumno_nombre` VARCHAR(45) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_apellido` VARCHAR(45) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_documento` VARCHAR(15) CHARACTER SET  COLLATE  NULL,
  `documento_tipo` INT NULL,
  `alumno_calle` VARCHAR(50) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_numero` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_piso` VARCHAR(3) CHARACTER SET  COLLATE  NULL,
  `alumno_depto` VARCHAR(30) CHARACTER SET  COLLATE  NULL,
  `alumno_edificio` VARCHAR(25) CHARACTER SET  COLLATE  NULL,
  `alumno_escalera` VARCHAR(25) CHARACTER SET  COLLATE  NULL,
  `alumno_localidad` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `provincia_id` INT NULL,
  `pais_id` INT NULL,
  `alumno_telefono` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_telefono2` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_telefono3` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_proveedorInternet` INT NULL,
  `alumno_proveedorInternetOtro` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_institucion` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `nivelAlumno_id` INT NULL,
  `alumno_Masculino` BINARY(0) NULL,
  `alumno_fechaNacimiento` DATETIME NULL,
  `alumno_observaciones` VARCHAR(500) CHARACTER SET  COLLATE  NULL,
  PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB
CHARACTER SET latin1 COLLATE spanish_ci;

I'm using latin1_spanish_ci Collation.

How to repeat:
Creating a table as the following script:

CREATE TABLE `educat`.`Alumno` (
  `alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `alumno_nombre` VARCHAR(45) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_apellido` VARCHAR(45) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_documento` VARCHAR(15) CHARACTER SET  COLLATE  NULL,
  `documento_tipo` INT NULL,
  `alumno_calle` VARCHAR(50) CHARACTER SET  COLLATE  NOT NULL,
  `alumno_numero` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_piso` VARCHAR(3) CHARACTER SET  COLLATE  NULL,
  `alumno_depto` VARCHAR(30) CHARACTER SET  COLLATE  NULL,
  `alumno_edificio` VARCHAR(25) CHARACTER SET  COLLATE  NULL,
  `alumno_escalera` VARCHAR(25) CHARACTER SET  COLLATE  NULL,
  `alumno_localidad` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `provincia_id` INT NULL,
  `pais_id` INT NULL,
  `alumno_telefono` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_telefono2` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_telefono3` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_proveedorInternet` INT NULL,
  `alumno_proveedorInternetOtro` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `alumno_institucion` VARCHAR(45) CHARACTER SET  COLLATE  NULL,
  `nivelAlumno_id` INT NULL,
  `alumno_Masculino` BINARY(0) NULL,
  `alumno_fechaNacimiento` DATETIME NULL,
  `alumno_observaciones` VARCHAR(500) CHARACTER SET  COLLATE  NULL,
  PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB
CHARACTER SET latin1 COLLATE spanish_ci;

Suggested fix:
If I run the following script it works:

CREATE TABLE `educat`.`Alumno` (
  `alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `alumno_nombre` VARCHAR(45) NOT NULL,
  `alumno_apellido` VARCHAR(45) NOT NULL,
  `alumno_documento` VARCHAR(15) NULL,
  `documento_tipo` INT NULL,
  `alumno_calle` VARCHAR(50) NOT NULL,
  `alumno_numero` VARCHAR(45) NULL,
  `alumno_piso` VARCHAR(3) NULL,
  `alumno_depto` VARCHAR(30) NULL,
  `alumno_edificio` VARCHAR(25) NULL,
  `alumno_escalera` VARCHAR(25) NULL,
  `alumno_localidad` VARCHAR(45) NULL,
  `provincia_id` INT NULL,
  `pais_id` INT NULL,
  `alumno_telefono` VARCHAR(45) NULL,
  `alumno_telefono2` VARCHAR(45) NULL,
  `alumno_telefono3` VARCHAR(45) NULL,
  `alumno_proveedorInternet` INT NULL,
  `alumno_proveedorInternetOtro` VARCHAR(45) NULL,
  `alumno_institucion` VARCHAR(45) NULL,
  `nivelAlumno_id` INT NULL,
  `alumno_Masculino` BINARY(0) NULL,
  `alumno_fechaNacimiento` DATETIME NULL,
  `alumno_observaciones` VARCHAR(500) NULL,
  PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB;

NOTICE that the last line of the script was deleted!
[6 Jul 2006 12:34] MySQL Verification Team
Thank you for the bug report.
[3 Aug 2006 14:59] Kevin
I also got this bug, however the simple fix of deleting the last line did not work for me.  Plus there is another line at the bottom that states:

Display width out of range for column 'LAT' (max = 255)

Where one of my columns name is of course "LAT" and is defined normally as a double as others are in my table.