[ https://issues.apache.org/jira/browse/TRAFODION-1782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16511853#comment-16511853 ]
ASF GitHub Bot commented on TRAFODION-1782: ------------------------------------------- Github user zellerh commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1608#discussion_r195274939 --- Diff: core/sql/sqlcomp/CmpSeabaseDDLtable.cpp --- @@ -8047,14 +8149,36 @@ void CmpSeabaseDDL::alterSeabaseTableAddPKeyConstraint( if (cliRC < 0) { cliInterface.retrieveSQLDiagnostics(CmpCommon::diags()); + + goto label_return; } str_sprintf(cqdbuf, "cqd traf_create_table_with_uid '' ;"); cliInterface.executeImmediate(cqdbuf); - if (cliRC < 0) + str_sprintf(cqdbuf, "cqd traf_no_hbase_drop_create 'OFF';"); + cliInterface.executeImmediate(cqdbuf); + + if (NOT isEmpty) // non-empty table { - return; + // remove NATable so current definition could be loaded + ActiveSchemaDB()->getNATableDB()->removeNATable + (cn, + ComQiScope::REMOVE_FROM_ALL_USERS, + COM_BASE_TABLE_OBJECT, + alterAddConstraint->ddlXns(), FALSE); + + // copy tempTable data into newly created table + str_sprintf(buf, "insert with no rollback into %s select * from %s", --- End diff -- A general question, this also happens in the existing code: When we make a copy of a table in a DDL operation, do we need to make sure that nobody writes data into the table? If there are inserts or updates, what would happen? Could the DDL operation fail with a conflict, or would we potentially lose that data? > Error 1135 for a primary key column not declared NOT NULL > --------------------------------------------------------- > > Key: TRAFODION-1782 > URL: https://issues.apache.org/jira/browse/TRAFODION-1782 > Project: Apache Trafodion > Issue Type: Bug > Components: sql-cmp > Affects Versions: 0.6 (pre-incubation) > Reporter: Hans Zeller > Assignee: Anoop Sharma > Priority: Minor > > When creating a table like this: > create table t(a int primary key) > or > create table t(a int, primary key(a)) > Trafodion issues an error 1135 (Clustering key column ID must be assigned a > NOT NULL NOT DROPPABLE constraint.). It would be better (and ANSI SQL > compliant) if that constraint would be added implicitly, without generating > an error. -- This message was sent by Atlassian JIRA (v7.6.3#76005)