Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AA46E9F0D for ; Thu, 28 Jun 2012 13:10:02 +0000 (UTC) Received: (qmail 59496 invoked by uid 500); 28 Jun 2012 13:10:02 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 59464 invoked by uid 500); 28 Jun 2012 13:10:02 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 59447 invoked by uid 99); 28 Jun 2012 13:10:02 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 13:10:02 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id E5DEC8435; Thu, 28 Jun 2012 13:10:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: xedin@apache.org To: commits@cassandra.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [2/2] git commit: (cql3) allow updating column_alias types patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4041 Message-Id: <20120628131001.E5DEC8435@tyr.zones.apache.org> Date: Thu, 28 Jun 2012 13:10:01 +0000 (UTC) (cql3) allow updating column_alias types patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4041 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc2dea8b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc2dea8b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc2dea8b Branch: refs/heads/trunk Commit: bc2dea8b67e783514f42d148541043c3d9fed1f3 Parents: 8a3bb80 Author: Pavel Yaskevich Authored: Wed Jun 27 14:58:38 2012 +0300 Committer: Pavel Yaskevich Committed: Thu Jun 28 15:56:20 2012 +0300 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cql3/statements/AlterTableStatement.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc2dea8b/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 8918dee..aa03655 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -21,6 +21,7 @@ (CASSANDRA-4365) * add strategy_options to the KSMetaData.toString() output (CASSANDRA-4248) * (cql3) fix range queries containing unqueried results (CASSANDRA-4372) + * (cql3) allow updating column_alias types (CASSANDRA-4041) Merged from 1.0: * Set gc_grace on index CF to 0 (CASSANDRA-4314) http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc2dea8b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java index 67b7dd7..6523a90 100644 --- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java @@ -18,19 +18,16 @@ */ package org.apache.cassandra.cql3.statements; -import java.io.IOException; import java.util.*; import org.apache.cassandra.cql3.*; import org.apache.cassandra.config.*; -import org.apache.cassandra.io.compress.CompressionParameters; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.CompositeType; import org.apache.cassandra.db.marshal.CounterColumnType; import org.apache.cassandra.service.MigrationManager; -import org.apache.cassandra.thrift.CfDef; -import org.apache.cassandra.thrift.ColumnDef; import org.apache.cassandra.thrift.InvalidRequestException; + import static org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily; public class AlterTableStatement extends SchemaAlteringStatement @@ -98,7 +95,13 @@ public class AlterTableStatement extends SchemaAlteringStatement cfm.keyValidator(newType); break; case COLUMN_ALIAS: - throw new InvalidRequestException(String.format("Cannot alter PRIMARY KEY part %s", columnName)); + assert cfDef.isComposite; + + List> newTypes = new ArrayList>(((CompositeType) cfm.comparator).types); + newTypes.set(name.position, CFPropDefs.parseType(validator)); + + cfm.comparator = CompositeType.getInstance(newTypes); + break; case VALUE_ALIAS: cfm.defaultValidator(CFPropDefs.parseType(validator)); break;