Skip to content

Tags: scylladb/scylla-cqlsh

Tags

v6.0.23-scylla

Toggle v6.0.23-scylla's commit message
.github/workflows/build-push.yml: upgrade download/upload actions in …

…sync

cause part of it was update cause of some CVE, it wasn't completly working

v6.0.22-scylla

Toggle v6.0.22-scylla's commit message
Merge 'package python driver as wheels' from Israel Fruchter

so far cqlsh bundles the python-driver in, but only as source.
meaning the package wasn't architecture, and also didn't
have the libev eventloop compiled in.

Since from python 3.12 and up, that would mean we would
fallback into asyncio eventloop (which still experimental)
or into error (once we'll sync with the driver upstream)

so to avoid those, we are change the packaging of cqlsh
to be architecture specific, and get cqlsh compiled, and bundle
all of it's requirements as per architecture installed bundle of wheels.
using shiv, i.e. one file virtualenv that we'll be packing
into our artifacts

Fixes: #90

Closes #91

* github.com:scylladb/scylla-cqlsh:
  tests: switch from using cqlsh bash to the test the python file
  package python driver as wheels

v6.0.21-scylla

Toggle v6.0.21-scylla's commit message
Updated Python Driver to newest version

v6.0.20-scylla

Toggle v6.0.20-scylla's commit message
cqlsh.py: fix server side describe after login command

since login command create a new session, we run into an
issue when describe was called after login
seem like the row_factory wasn't used

the reason was in the main session we used `execution_profiles`
while in the one create in login we did not, which led to copying
the wrong values (i.e. like `row_factory` that was needed for server
side describe)

this change saves the profiles into the instance, and reuse them
when ever a new session is opened
it simplify the code and we could remove a few repetitions of
the same logic

v6.0.19-scylla

Toggle v6.0.19-scylla's commit message
cqlsh: try server-side DESCRIBE, then client-side

Since Scylla 5.2 (scylladb/scylladb@e6ffc22)
a support for server-side DESCRIBE was added. However, cqlsh did not
start to use this functionality, since it is only enabled if it detects
CQL version at least 4. Scylla did not increase this version number as
it doesn't support all of its features, so there is a need for a
different detection mechanism for server-side DESCRIBE.

This commit changes the behavior in do_describe: cqlsh will first try
to execute the server-side DESCRIBE. If this fails with SyntaxException,
meaning that Scylla doesn't support that command, cqlsh falls back to
the client-side DESCRIBE behavior.

The other possible solutions were rejected:
- Based on Scylla version: would require ugly hard-coding of versions
- Modifying Scylla to provide some indication that this feature is
  enabled: Scylla 5.2 is already released without it, by implementing
  it in another way, we'll get it out sooner
- Do a trial "DESCRIBE" at the start of connection to detect if the
  server supports it: if cqlsh ever supported connecting to multiple
  nodes (right now it uses WhiteListRoundRobinPolicy) we would have
  to do the check on all of the nodes in case a rolling upgrade is
  currently occurring and some of the nodes don't support server-side
  DESCRIBE.

The change was tested manually on a couple of last Scylla OSS, Scylla
Enterprise and Cassandra releases.

Fixes #17

v6.0.18-scylla

Toggle v6.0.18-scylla's commit message
cqlshlib/sslhandling: fix logic of `ssl_check_hostname`

the logic was broken, and could lead to `AttributeError`,
like the following:
```
E       AssertionError: Traceback (most recent call last):
E           File "/jenkins/workspace/scylla-master/gating-dtest-release/scylla/.ccm/scylla-repository/18591/share/cassandra/libexec/cqlsh.py", line 2723, in <module>
E             main(*read_options(sys.argv[1:], os.environ))
E           File "/jenkins/workspace/scylla-master/gating-dtest-release/scylla/.ccm/scylla-repository/18591/share/cassandra/libexec/cqlsh.py", line 2664, in main
E             shell = Shell(hostname,
E                     ^^^^^^^^^^^^^^^
E           File "/jenkins/workspace/scylla-master/gating-dtest-release/scylla/.ccm/scylla-repository/18591/share/cassandra/libexec/cqlsh.py", line 495, in __init__
E             kwargs['ssl_context'] = sslhandling.ssl_settings(hostname, CONFIG_FILE) if ssl else None
E                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E           File "/jenkins/workspace/scylla-master/gating-dtest-release/scylla/.ccm/scylla-repository/18591/share/cassandra/libexec/../pylib/cqlshlib/sslhandling.py", line 64, in ssl_settings
E             ssl_check_hostname = ssl_check_hostname is not None or ssl_check_hostname.lower() != 'false'
E                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
E         AttributeError: 'NoneType' object has no attribute 'lower'
```

v6.0.16-scylla

Toggle v6.0.16-scylla's commit message
github actions: update `cibuildwheel==v2.16.5`

failed with following:
```
Invalid --only='""', must be a build selector with a known platform
```

v6.0.15-scylla

Toggle v6.0.15-scylla's commit message
dist/debian: fix the trailer line format

should add two spaces between maintainer's mail and timestamp.

this should address the warning like
```
22:33:44  dpkg-parsechangelog: warning:     debian/changelog(l5): badly formatted trailer line
22:33:44  LINE:  -- Israel Fruchter <fruch@scylladb.com> Fri, 02 Feb 2024 14:33:31 +0000
```

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

v6.0.14-scylla

Toggle v6.0.14-scylla's commit message
Draft: explicit build-time packge dependencies

Seen @ https://github.com/docker-library/python/blob/7899dbafd386ee264bd33574aafcd0f1369b2e21/3.11/slim-bullseye/Dockerfile#L33
Instead of installing all recommended packages, we explicitly mention what we need.
It reduces the download of 10's of build-time dependencies.

What I'm not sure of - are we missing features, that are not compiled as deps are not found?
(encryption comes to mind).

Signed-off-by: Yaniv Kaul <yaniv.kaul@scylladb>

v6.0.13-scylla

Toggle v6.0.13-scylla's commit message
Updated Scylla Driver[Issue #55]