Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495

    Ho bisogno di qualcuno che abbia MySQL 4.0x/4.1 per un probabile bug

    Ho MySQL 4.0.21 e probabilmente ho trovato un bug, quasi sicuramente legato solo alla versione per Windows; ho gia' cercato nel database dei bug di MySQL e non sembra essere riportato.

    Vi ricordate il mio post sui nomi delle tabelle maiuscolo/minuscolo? In quel post spiegavo che c'e' una direttiva di MySQL che menzionavo ( --lower_case_table_names=0 ) che imposta MySQL sotto Windows in modo che si comporti esattamente come sotto Linux, e cioe' che se uno fa un bel:

    codice:
    CREATE TABLE aAaAa
    la tabella si chiama effettivamente aAaAa, mentre sotto Windows il comportamento standard e' che si chiami aaaaa (tutto minuscolo).

    Apparentemente la direttiva --lower_case_table_names=0 viene ignorata quando si esportano dei FOREIGN KEY COSTRAINTS. Avrei bisogno di capire se anche se sotto la 4.1 questo comportamento e' vero. Putroppo per questioni di sviluppo non posso installare la 4.1 qui da me.

    Ecco cosa fare se volete aiutarmi:

    • Fate partire MySQL 4.1 sotto Windows con parametro da riga di comando --lower_case_table_names=0
    • Create un database vuoto.
    • Create una tabella INNODB tabellaMadre (si, la M e' maiuscola) con un solo campo ID, chiave primaria.
    • Create una tabella INNODB tabellaFiglia con due campi: ID (chiave primaria) e IDMadre.
    • Create un indice su tabellaFiglia.IDMadre
    • Create un FOREIGN KEY CONSTRAINT fra tabellaFiglia.IDMadre e tabellaMadre.ID
    • A questo punto, fate un mysqldump del database.


    Guardate ora il dump. Dovreste trovarvi qualcosa del genere:

    codice:
    ALTER TABLE `tabellaFiglia`
      ADD CONSTRAINT `nome_a_caso` FOREIGN KEY (`IDMadre`) REFERENCES `tabellamadre` (`ID`)
    Se la m di tabellaMadre e' minuscola, il bug e' presente anche nella 4.1.

    Se invece vi trovate questo:
    codice:
    ALTER TABLE `tabellaFiglia`
      ADD CONSTRAINT `nome_a_caso` FOREIGN KEY (`IDMadre`) REFERENCES `tabellaMadre` (`ID`)
    Allora funziona bene.

    Chi vuole fare la prova la faccia anche sotto Linux magari, cosi' vediamo cosa salta fuori.

  2. #2
    usi phpmyadmin ? ... no perche' a me fa un casino con il case-sensitive, alla fine mi sono arrangiato chiamando sempre e comunque le tabelle in minuscolo ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Ho provato anche da riga di comando e il risultato e' lo stesso. Ho aperto il bug che ho fatto prima

    http://bugs.mysql.com/bug.php?id=6555

  4. #4
    E' stato confermato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.