[
https://issues.apache.org/jira/browse/CASSANDRA-8638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14283416#comment-14283416
]
Sotirios Delimanolis commented on CASSANDRA-8638:
-------------------------------------------------
See the wikipedia article here: http://en.wikipedia.org/wiki/Byte_order_mark
1. It's just a few bytes added at the beginning of a (text) file's content.
These bytes are typically added when the file's content is meant to be
exchanged between environments to compensate for different endianness.
In my case, I was developing on monodevelop and the IDE seemed to introduce a
UTF-8 BOM for regular files. I've seen other IDEs like Eclipse do the same
thing (ex: for XML files).
2-3. The wikipedia article shows some of the BOMs for various encodings.
Special care should to be taken for when these characters appear in the middle
of the content as opposed to the start.
> 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: Tools
> Environment: Red Hat linux
> Reporter: Sotirios Delimanolis
> Priority: Trivial
> Labels: cqlsh, lhf
> Fix For: 2.1.3
>
>
> 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)