metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (METAMODEL-131) Create table with composite primary key gives error.
Date Mon, 06 Apr 2015 18:42:13 GMT

    [ https://issues.apache.org/jira/browse/METAMODEL-131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14481597#comment-14481597
] 

ASF GitHub Bot commented on METAMODEL-131:
------------------------------------------

Github user kaspersorensen commented on a diff in the pull request:

    https://github.com/apache/metamodel/pull/14#discussion_r27818705
  
    --- Diff: core/src/main/java/org/apache/metamodel/create/AbstractTableCreationBuilder.java
---
    @@ -123,9 +123,22 @@ public String toSql() {
                         && !column.isNullable().booleanValue()) {
                     sb.append(" NOT NULL");
                 }
    -            if (column.isPrimaryKey()) {
    -                sb.append(" PRIMARY KEY");
    -            }
    +        }
    +        boolean primaryKeyExists = false;
    +        for(int i = 0 ; i < columns.length ; i++) {
    +        	if(columns[i].isPrimaryKey()) {
    +        		if(!primaryKeyExists) {
    +        			sb.append(" , PRIMARY KEY(");
    --- End diff --
    
    The space in front of the comma is not needed. It's pretty minor I know, but let's keep
it tidy :-)


> Create table with composite primary key gives error.
> ----------------------------------------------------
>
>                 Key: METAMODEL-131
>                 URL: https://issues.apache.org/jira/browse/METAMODEL-131
>             Project: Apache MetaModel
>          Issue Type: Bug
>            Reporter: Hosur Narahari
>
> Creating table with primary key is not possible since while generating sql we add "PRIMARY
KEY" keyword to each column which results in error in case of composite primary keys. Below
is the code.
> context.executeUpdate(new UpdateScript() {
> 			
> 			@Override
> 			public void run(UpdateCallback callback) {
> 				callback.createTable("amass", "test").
> 				withColumn("id").ofType(ColumnType.INTEGER).ofSize(16).asPrimaryKey()
> 				.withColumn("name").ofType(ColumnType.VARCHAR).ofSize(255).asPrimaryKey()
> 				.execute();
> 			}
> 		});
> I am using mysql. Am I using it in the wrong way?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message