[ 
https://issues.apache.org/jira/browse/CAY-2222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik updated CAY-2222:
---------------------------------
    Description: 
MySQLAdapter has this comment in the "createTableAppendPKClause" method:

// if FK constraints are supported, we must add indices to all FKs
// Note that according to MySQL docs, FK indexes are created
// automatically when constraint is defined, starting at MySQL 4.1.2

And then it proceeds to add indexes for all FKs. This becomes a problem when a 
user wants to generate MySQL schema without FK constraints. In which case those 
columns still end up having an index. While we can refactor this in a backwards 
compatible manner, I think we can just drop support for explicit index 
creation, streamlining the code. After all MySQL 4.1.2 was released in 2004. 

If someone still needs support for older MySQL, I guess a whole new adapter 
should be created.




  was:
MySQLAdapter has this comment in the "createTableAppendPKClause" method:

// if FK constraints are supported, we must add indices to all FKs
// Note that according to MySQL docs, FK indexes are created
// automatically when constraint is defined, starting at MySQL 4.1.2

and then it proceeds to add indexe for all FKs.

This becomes a problem when a user wants to generate MySQL schema without FK 
constraints. In which case those columns still end up having an index.

While we can refactor this in a backwards compatible manner, I think we can 
just drop support for explicit index creation. After all MySQL 4.1.2 was 
released in 2004. 





> MySQLAdapter should not create indexes on FK columns
> ----------------------------------------------------
>
>                 Key: CAY-2222
>                 URL: https://issues.apache.org/jira/browse/CAY-2222
>             Project: Cayenne
>          Issue Type: Bug
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>            Priority: Minor
>             Fix For: 4.0.M5
>
>
> MySQLAdapter has this comment in the "createTableAppendPKClause" method:
> // if FK constraints are supported, we must add indices to all FKs
> // Note that according to MySQL docs, FK indexes are created
> // automatically when constraint is defined, starting at MySQL 4.1.2
> And then it proceeds to add indexes for all FKs. This becomes a problem when 
> a user wants to generate MySQL schema without FK constraints. In which case 
> those columns still end up having an index. While we can refactor this in a 
> backwards compatible manner, I think we can just drop support for explicit 
> index creation, streamlining the code. After all MySQL 4.1.2 was released in 
> 2004. 
> If someone still needs support for older MySQL, I guess a whole new adapter 
> should be created.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to