cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAY-2222) MySQLAdapter should not create indexes on FK columns
Date Thu, 09 Feb 2017 01:33:41 GMT

     [ 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)

Mime
View raw message