You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sotirios Delimanolis (JIRA)" <ji...@apache.org> on 2015/01/16 19:33:36 UTC
[jira] [Updated] (CASSANDRA-8638) CQLSH -f option should ignore BOM
in files
[ 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.
(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.)
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.
> 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
>
> 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.)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)