Merge branch 'cassandra-1.2' into trunk

This commit is contained in:
Aleksey Yeschenko 2012-12-17 18:41:41 +03:00
commit 2eaea5a2a4
4 changed files with 20 additions and 10 deletions

View File

@ -23,6 +23,8 @@ Merged from 1.1:
* fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
* Fix ALTER TABLE overriding compression options with defaults
(CASSANDRA-4996, CASSANDRA-5066)
* Fix SimpleAuthorizer example (CASSANDRA-5072)
* cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
1.2-rc1

View File

@ -743,7 +743,9 @@ class Shell(cmd.Cmd):
else:
cf_q = """select "columnfamily" from system.schema_columnfamilies
where "keyspace"=:ks"""
self.cursor.execute(cf_q, {'ks': self.cql_unprotect_name(ksname)})
self.cursor.execute(cf_q,
{'ks': self.cql_unprotect_name(ksname)},
consistency_level='ONE')
return [str(row[0]) for row in self.cursor.fetchall()]
def get_columnfamily_layout(self, ksname, cfname):
@ -759,11 +761,15 @@ class Shell(cmd.Cmd):
where "keyspace"=:ks and "columnfamily"=:cf"""
col_q = """select * from system.schema_columns
where "keyspace"=:ks and "columnfamily"=:cf"""
self.cursor.execute(cf_q, {'ks': ksname, 'cf': cfname})
self.cursor.execute(cf_q,
{'ks': ksname, 'cf': cfname},
consistency_level='ONE')
layout = self.fetchdict()
if layout is None:
raise ColumnFamilyNotFound("Column family %r not found" % cfname)
self.cursor.execute(col_q, {'ks': ksname, 'cf': cfname})
self.cursor.execute(col_q,
{'ks': ksname, 'cf': cfname},
consistency_level='ONE')
cols = self.fetchdict_all()
return cql3handling.CqlTableDef.from_layout(layout, cols)

View File

@ -41,10 +41,10 @@ public class SimpleAuthorizer extends LegacyAuthorizer
public EnumSet<Permission> authorize(AuthenticatedUser user, List<Object> resource)
{
if (resource.size() < 2 || !Resources.ROOT.equals(resource.get(0)) || !Resources.KEYSPACES.equals(resource.get(1)))
return EnumSet.copyOf(Permission.NONE);
return EnumSet.noneOf(Permission.class);
String keyspace, columnFamily = null;
EnumSet<Permission> authorized = EnumSet.copyOf(Permission.NONE);
EnumSet<Permission> authorized = EnumSet.noneOf(Permission.class);
// /cassandra/keyspaces
if (resource.size() == 2)
@ -82,7 +82,7 @@ public class SimpleAuthorizer extends LegacyAuthorizer
{
String kspAdmins = accessProperties.getProperty(KEYSPACES_WRITE_PROPERTY);
for (String admin : kspAdmins.split(","))
if (admin.equals(user.username))
if (admin.equals(user.getName()))
return EnumSet.copyOf(Permission.ALL);
}
@ -104,7 +104,7 @@ public class SimpleAuthorizer extends LegacyAuthorizer
{
for (String reader : readers.split(","))
{
if (reader.equals(user.username))
if (reader.equals(user.getName()))
{
canRead = true;
break;
@ -116,7 +116,7 @@ public class SimpleAuthorizer extends LegacyAuthorizer
{
for (String writer : writers.split(","))
{
if (writer.equals(user.username))
if (writer.equals(user.getName()))
{
canWrite = true;
break;

View File

@ -40,12 +40,14 @@ def print_trace_session(shell, cursor, session_id):
def fetch_trace_session(cursor, session_id):
cursor.execute("SELECT request, coordinator, started_at, duration "
"FROM %s.%s "
"WHERE session_id = '%s'" % (TRACING_KS, SESSIONS_CF, session_id))
"WHERE session_id = '%s'" % (TRACING_KS, SESSIONS_CF, session_id),
consistency_level='ONE')
(request, coordinator, started_at, duration) = cursor.fetchone()
cursor.execute("SELECT activity, event_id, source, source_elapsed "
"FROM %s.%s "
"WHERE session_id = '%s'" % (TRACING_KS, EVENTS_CF, session_id))
"WHERE session_id = '%s'" % (TRACING_KS, EVENTS_CF, session_id),
consistency_level='ONE')
events = cursor.fetchall()
rows = []