cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sotirios Delimanolis (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-8638) CQLSH -f option should ignore BOM in files
Date Fri, 16 Jan 2015 19:20:34 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-8638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sotirios Delimanolis updated CASSANDRA-8638:
--------------------------------------------
    Description: 
I fell in byte order mark trap trying to execute a CQL script through CQLSH. 

The file contained the simple (plus BOM)

{noformat}
CREATE KEYSPACE IF NOT EXISTS xobni WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
'3'}  AND durable_writes = true; 

-- and another "CREATE TABLE bucket_flags" query
{noformat}

I executed the script

{noformat}
[~]$ cqlsh --file /home/selimanolis/Schema/patches/setup.cql 
/home/selimanolis/Schema/patches/setup.cql:2:Invalid syntax at char 1
/home/selimanolis/Schema/patches/setup.cql:2:  CREATE KEYSPACE IF NOT EXISTS test WITH
replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}  AND durable_writes =
true; 
/home/selimanolis/Schema/patches/setup.cql:2:  ^
/home/selimanolis/Schema/patches/setup.cql:22:ConfigurationException: <ErrorMessage code=2300
[Query invalid because of configuration issue] message="Cannot add column family 'bucket_flags'
to non existing keyspace 'test'.">
{noformat}

I realized much later that the file had a BOM which was seemingly screwing with how CQLSH
parsed the file.

It would be nice to have CQLSH ignore the BOM when processing files.


  was:
I fell in byte order mark trap trying to execute a CQL script through CQLSH. 

The file contained the simple (plus BOM)

{noformat}
CREATE KEYSPACE IF NOT EXISTS xobni WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
'3'}  AND durable_writes = true; 

-- and another "CREATE TABLE bucket_flags" query
{noformat}

I executed the script

{noformat}
[~]$ cqlsh --file /home/selimanolis/Schema/patches/setup.cql 
/home/selimanolis/Schema/patches/setup.cql:2:Invalid syntax at char 1
/home/selimanolis/Schema/patches/setup.cql:2:  CREATE KEYSPACE IF NOT EXISTS test WITH
replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}  AND durable_writes =
true; 
/home/selimanolis/Schema/patches/setup.cql:2:  ^
/home/selimanolis/Schema/patches/setup.cql:22:ConfigurationException: <ErrorMessage code=2300
[Query invalid because of configuration issue] message="Cannot add column family 'bucket_flags'
to non existing keyspace 'test'.">
{noformat}

I realized much later that the file had a BOM which was seemingly screwing with how CQLSH
parsed the file.

It would be nice to have CQLSH ignore the BOM when processing files.

(The C# driver also failed when executing the content of the script

{noformat}
var session = cluster.Connect ();
string script = File.ReadAllText (schemaLocation);
session.Execute (script);
{noformat}

but this can be avoided by ignoring the BOM application-side.)


> CQLSH -f option should ignore BOM in files
> ------------------------------------------
>
>                 Key: CASSANDRA-8638
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8638
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API, Drivers (now out of tree)
>         Environment: Red Hat linux
>            Reporter: Sotirios Delimanolis
>            Priority: Trivial
>              Labels: cqlsh, lhf
>
> I fell in byte order mark trap trying to execute a CQL script through CQLSH. 
> The file contained the simple (plus BOM)
> {noformat}
> CREATE KEYSPACE IF NOT EXISTS xobni WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
'3'}  AND durable_writes = true; 
> -- and another "CREATE TABLE bucket_flags" query
> {noformat}
> I executed the script
> {noformat}
> [~]$ cqlsh --file /home/selimanolis/Schema/patches/setup.cql 
> /home/selimanolis/Schema/patches/setup.cql:2:Invalid syntax at char 1
> /home/selimanolis/Schema/patches/setup.cql:2:  CREATE KEYSPACE IF NOT EXISTS test
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}  AND durable_writes
= true; 
> /home/selimanolis/Schema/patches/setup.cql:2:  ^
> /home/selimanolis/Schema/patches/setup.cql:22:ConfigurationException: <ErrorMessage
code=2300 [Query invalid because of configuration issue] message="Cannot add column family
'bucket_flags' to non existing keyspace 'test'.">
> {noformat}
> I realized much later that the file had a BOM which was seemingly screwing with how CQLSH
parsed the file.
> It would be nice to have CQLSH ignore the BOM when processing files.



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

Mime
View raw message