Francesco Animali created CASSANDRA-11152:
---------------------------------------------

             Summary: SOURCE command in CQLSH 3.2 requires that "use keyspace" 
is in the cql file that you are sourcing
                 Key: CASSANDRA-11152
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11152
             Project: Cassandra
          Issue Type: Bug
          Components: CQL
         Environment: CQLSH 3.2.1
            Reporter: Francesco Animali


a difference in behaviour between SOURCE command in CQLSH 3.1 and 3.2. 
In CQLSH 3.1 SOURCE will NOT require "use keyspace" in the cql file that you 
execute: the "keyspace" directive in the qlshrc file will work and the cql file 
will be executed.

In CQLSH 3.2.1, SOURCE command requires that "use keyspace" is in the cql file 
that you are sourcing, otherwise it throws this error:
"No keyspace has been specified. USE a keyspace, or explicitly specify 
keyspace.tablename". 
The "keyspace" directive in cqlshrc is overridden by source command.

steps to reproduce:
create a file called select.cql in your home directory:
{noformat}
echo "CONSISTENCY ONE;" > select.cql
echo "select * from tab;" >> select.cql
{noformat}

in cqlsh:
{noformat}
create KEYSPACE kspace WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};
create TABLE tab ( id int primary key);
insert into tab (id) VALUES ( 1);
{noformat}

Add this to cqlsgrc:
{noformat}
[authentication]
keyspace = kspace
{noformat}

Then exit cqlsh and rerun cqlsh using the cqlshrc just modified.
Note that you are in keyspace "kspace".
execute:
{noformat}
source 'select.cql' 
{noformat}

this will have different behaviour in CQLSH 3.2 and 3.1



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

Reply via email to