./lib/sqlalchemy/connectors/zxJDBC.py
supports_unicode_statements = sys.version > "2.5.0+"
It's best not to compare to sys.version, which is a string, as doing so can make assumptions that the major, minor or micro parts are single characters, which isn't guaranteed to be true. For example, Python 2.7.10 and 3.10.
It's probably safe in this case, but it Python 2.5 and 2.6 have long been dropped, and to prevent possible errors from copying and pasting, this line can be cleaned up to:
supports_unicode_statements = True
the zxJDBC connector is not used or supported and will be removed soon as Jython is unmaintained, so I'd rather just do that.
jython is not currently supported as is mentioned in the docs and I don't think any of the current zxjdbc related code is really going to work, as none of it has been tested in years. It seems like Jython has a little bit of life in it now and is up to early Python 2.7 support, for jython 3 there seems to just be a git branch but no releases. As SQLAlchemy is dropping Python 2 support after 1.4 it makes sense that future jython support woule target just jython 3 when that becomes available; also, the full extent of "zxjdbc" code can be re-distributed as a third party package using the background at https://github.com/sqlalchemy/sqlalchemy/blob/master/README.dialects.rst. A single package could implement for multiple backends if that were something someone were interested in using.
going to do a sweep now to find if anyone is actually using the zxjdbc code right now with Jython without running their own fork.
I can't find anything other than the blog posts and talks that we knew about when Jython first hit Python 2.5 support and we first implemented around 2007 or 2008.
Mike Bayer has proposed a fix for this issue in the master branch:
Remove jython code, remove all jython / pypy symbols https://gerrit.sqlalchemy.org/1671