You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aaron Ploetz (JIRA)" <ji...@apache.org> on 2015/11/02 16:22:27 UTC

[jira] [Commented] (CASSANDRA-8970) Allow custom time_format on cqlsh COPY TO

    [ https://issues.apache.org/jira/browse/CASSANDRA-8970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14985379#comment-14985379 ] 

Aaron Ploetz commented on CASSANDRA-8970:
-----------------------------------------

Not sure what happened here, but although this patch has not yet made it into the community version, it *IS* out there in DSE 4.8.1.  I ran across this StackOverflow question on Thursday (and recognized the variable name):

http://stackoverflow.com/questions/33424739/display-timestamp-format-issue-on-cql

As this *did* work at one point, this issue would seem to suggest that some kind of merge error took place.  Especially since patches are supposed to "bake" in DSC for a bit before making their way into DSE.

Basically, it looks like {{display_timestamp_format}} is not being defined.  It was previously defined where the {{shell}} was instantiated ({{shell = Shell(}}) in the "main" method, but I don't see it in the version of cqlsh that ships with DSE 4.8.1.  Not sure where that got lost, but that definition needs to be accounted for.

> Allow custom time_format on cqlsh COPY TO
> -----------------------------------------
>
>                 Key: CASSANDRA-8970
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8970
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Tools
>            Reporter: Aaron Ploetz
>            Assignee: Aaron Ploetz
>            Priority: Trivial
>              Labels: cqlsh
>             Fix For: 3.0.0 rc2, 2.2.4, 2.1.12
>
>         Attachments: CASSANDRA-8970.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> When executing a COPY TO from cqlsh, the user is currently has no control over the format of exported timestamp columns.  If the user has indicated a {{time_format}} in their cqlshrc file, that format will be used.  Otherwise, the system default format will be used.
> The problem comes into play when the timestamp format used on a COPY TO, is not valid when the data is sent back into Cassandra with a COPY FROM.
> For instance, if a user has {{time_format = %Y-%m-%d %H:%M:%S%Z}} specified in their cqlshrc, COPY TO will format timestamp columns like this:
> {{userid|posttime|postcontent}}
> {{0|2015-03-14 14:59:00CDT|rtyeryerweh}}
> {{0|2015-03-14 14:58:00CDT|sdfsdfsdgfjdsgojr}}
> {{0|2015-03-12 14:27:00CDT|sdgfjdsgojr}}
> Executing a COPY FROM on that same file will produce an "unable to coerce to formatted date(long)" error.
> Right now, the only way to change the way timestamps are formatted is to exit cqlsh, modify the {{time_format}} property in cqlshrc, and restart cqlsh.  The ability to specify a COPY option of TIME_FORMAT with a Python strftime format, would allow the user to quickly alter the timestamp format for export, without reconfiguring cqlsh.
> {{aploetz@cqlsh:stackoverflow> COPY posts1 TO '/home/aploetz/posts1.csv' WITH DELIMITER='|' AND HEADER=true AND TIME_FORMAT='%Y-%m-%d %H:%M:%S%z;}}



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