This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via cdf61fad45dc594f28ebb2b56ae0adc931f615f1 (commit)
via 596704cd6be8970c26b200df32cfa335c0d2bf50 (commit)
via 852bded59e5c7da4e118d6b54c1097f8a32fcf67 (commit)
via f9822e7a2ad3558402dec8a552107b7328da938a (commit)
via 701fb3c7268fc96ab54c243feed58a4f7614403c (commit)
via 351ac9230a1cb13ebeeddae9ab6b7b8c1dda1191 (commit)
via d53e4f7d2110daa53c86c8c78e401f590da95a5a (commit)
from f31a1bc9c70cb0b1504b70d1dacd4ef18dc8cfb7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/cdf61fad45dc594f28ebb2b56ae0adc931f615f1
commit cdf61fad45dc594f28ebb2b56ae0adc931f615f1
Author: Oleg Broytman <ph...@ph...>
Date: Fri Nov 1 17:51:52 2019 +0300
CI: Run tests with Python 3.8 at Travis CI
Add Python 3.8 to `setup.py` and `devscripts/setup`.
diff --git a/.travis.yml b/.travis.yml
index 8fe81ba..a674f2d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,6 +32,9 @@ matrix:
- python: "3.7"
dist: xenial
env: TESTS=py37-mysql
+ - python: "3.8"
+ dist: xenial
+ env: TESTS=py38-mysql
- python: "2.7"
env: TESTS=py27-postgres
- python: "3.4"
@@ -43,6 +46,9 @@ matrix:
- python: "3.7"
dist: xenial
env: TESTS=py37-postgres
+ - python: "3.8"
+ dist: xenial
+ env: TESTS=py38-postgres
- python: "2.7"
env: TESTS=py27-sqlite
- python: "3.4"
@@ -54,11 +60,14 @@ matrix:
- python: "3.7"
dist: xenial
env: TESTS=py37-sqlite
+ - python: "3.8"
+ dist: xenial
+ env: TESTS=py38-sqlite
- python: "2.7"
env: TESTS=py27-flake8
- - python: "3.7"
+ - python: "3.8"
dist: xenial
- env: TESTS=py37-flake8
+ env: TESTS=py38-flake8
- python: "2.7"
env: TESTS=py27-firebird
- python: "3.6"
diff --git a/devscripts/setup b/devscripts/setup
index 04ed1b7..3c12824 100755
--- a/devscripts/setup
+++ b/devscripts/setup
@@ -3,7 +3,7 @@
umask 022 # -rwxr-xr-x
cd "`dirname \"$0\"`"/.. &&
-for py_ver in 2.7 3.4 3.5 3.6 3.7; do
+for py_ver in 2.7 3.4 3.5 3.6 3.7 3.8; do
python$py_ver -m pip install --install-option=-O2 --upgrade .
done &&
diff --git a/docs/News.rst b/docs/News.rst
index 425aa1a..24ad661 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -27,6 +27,11 @@ Bug fixes
* Fixed a bug working with microseconds in Time columns.
+CI
+--
+
+* Run tests with Python 3.8 at Travis CI.
+
SQLObject 3.7.3
===============
diff --git a/setup.py b/setup.py
index 0af8a29..d85791d 100755
--- a/setup.py
+++ b/setup.py
@@ -59,6 +59,7 @@ and `GitHub <https://github.com/sqlobject>`_.
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
"Topic :: Database",
"Topic :: Database :: Front-Ends",
"Topic :: Software Development :: Libraries :: Python Modules",
diff --git a/tox.ini b/tox.ini
index 65b2147..9be1d8b 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 2.0
-envlist = py{27,34,35,36,37}-sqlite{,-memory},py{27,37}-flake8
+envlist = py{27,34,35,36,37,38}-sqlite{,-memory},py{27,38}-flake8
# Base test environment settings
[testenv]
@@ -12,6 +12,7 @@ basepython =
py35: {env:TOXPYTHON:python3.5}
py36: {env:TOXPYTHON:python3.6}
py37: {env:TOXPYTHON:python3.7}
+ py38: {env:TOXPYTHON:python3.8}
commands =
{envpython} --version
{envpython} -c "import struct; print(struct.calcsize('P') * 8)"
@@ -75,6 +76,10 @@ deps =
commands = {envpython} -c "print('MySQL-python requires Python 2.7')"
deps =
+[testenv:py38-mysqldb]
+commands = {envpython} -c "print('MySQL-python requires Python 2.7')"
+deps =
+
[mysqlclient]
commands =
{[testenv]commands}
@@ -99,6 +104,9 @@ commands = {[mysqlclient]commands}
[testenv:py37-mysqlclient]
commands = {[mysqlclient]commands}
+[testenv:py38-mysqlclient]
+commands = {[mysqlclient]commands}
+
[mysql-connector]
commands =
{[testenv]commands}
@@ -124,6 +132,9 @@ commands = {[mysql-connector]commands}
[testenv:py37-mysql-connector]
commands = {[mysql-connector]commands}
+[testenv:py38-mysql-connector]
+commands = {[mysql-connector]commands}
+
[oursql]
commands =
{[testenv]commands}
@@ -149,6 +160,9 @@ commands = {[oursql]commands}
[testenv:py37-mysql-oursql3]
commands = {[oursql]commands}
+[testenv:py38-mysql-oursql3]
+commands = {[oursql]commands}
+
[pymysql]
commands =
{[testenv]commands}
@@ -174,6 +188,9 @@ commands = {[pymysql]commands}
[testenv:py37-mysql-pymysql]
commands = {[pymysql]commands}
+[testenv:py38-mysql-pymysql]
+commands = {[pymysql]commands}
+
[mysql-pyodbc]
commands =
{[testenv]commands}
@@ -200,6 +217,9 @@ commands = {[mysql-pyodbc]commands}
[testenv:py37-mysql-pyodbc-noauto]
commands = {[mysql-pyodbc]commands}
+[testenv:py38-mysql-pyodbc-noauto]
+commands = {[mysql-pyodbc]commands}
+
[mysql-pypyodbc]
commands =
{[testenv]commands}
@@ -225,6 +245,9 @@ commands = {[mysql-pypyodbc]commands}
[testenv:py37-mysql-pypyodbc-noauto]
commands = {[mysql-pypyodbc]commands}
+[testenv:py38-mysql-pypyodbc-noauto]
+commands = {[mysql-pypyodbc]commands}
+
# PostgreSQL test environments
[psycopg]
commands =
@@ -251,6 +274,9 @@ commands = {[psycopg]commands}
[testenv:py37-postgres-psycopg]
commands = {[psycopg]commands}
+[testenv:py38-postgres-psycopg]
+commands = {[psycopg]commands}
+
[pygresql]
commands =
{[testenv]commands}
@@ -276,6 +302,9 @@ commands = {[pygresql]commands}
[testenv:py37-postgres-pygresql]
commands = {[pygresql]commands}
+[testenv:py38-postgres-pygresql]
+commands = {[pygresql]commands}
+
[pypostgresql]
commands =
{[testenv]commands}
@@ -300,6 +329,9 @@ commands = {[pypostgresql]commands}
[testenv:py37-postgres-pypostgresql]
commands = {[pypostgresql]commands}
+[testenv:py38-postgres-pypostgresql]
+commands = {[pypostgresql]commands}
+
[pg8000]
commands =
{[testenv]commands}
@@ -325,6 +357,9 @@ commands = {[pg8000]commands}
[testenv:py37-postgres-pg8000]
commands = {[pg8000]commands}
+[testenv:py38-postgres-pg8000]
+commands = {[pg8000]commands}
+
[postgres-pyodbc]
commands =
{[testenv]commands}
@@ -351,6 +386,9 @@ commands = {[postgres-pyodbc]commands}
[testenv:py37-postgres-pyodbc-noauto]
commands = {[postgres-pyodbc]commands}
+[testenv:py38-postgres-pyodbc-noauto]
+commands = {[postgres-pyodbc]commands}
+
[postgres-pypyodbc]
commands =
{[testenv]commands}
@@ -376,6 +414,9 @@ commands = {[postgres-pypyodbc]commands}
[testenv:py37-postgres-pypyodbc-noauto]
commands = {[postgres-pypyodbc]commands}
+[testenv:py38-postgres-pypyodbc-noauto]
+commands = {[postgres-pypyodbc]commands}
+
# SQLite test environments
[sqlite]
@@ -402,6 +443,9 @@ commands = {[sqlite]commands}
[testenv:py37-sqlite]
commands = {[sqlite]commands}
+[testenv:py38-sqlite]
+commands = {[sqlite]commands}
+
[sqlite-memory]
commands =
{[testenv]commands}
@@ -424,6 +468,9 @@ commands = {[sqlite-memory]commands}
[testenv:py37-sqlite-memory]
commands = {[sqlite-memory]commands}
+[testenv:py38-sqlite-memory]
+commands = {[sqlite-memory]commands}
+
[sqlite-supersqlite]
commands =
{[testenv]commands}
@@ -448,6 +495,9 @@ commands = {[sqlite-supersqlite]commands}
[testenv:py37-sqlite-supersqlite]
commands = {[sqlite-supersqlite]commands}
+[testenv:py38-sqlite-supersqlite]
+commands = {[sqlite-supersqlite]commands}
+
# Firebird database test environments
[fdb]
@@ -475,6 +525,9 @@ commands = {[fdb]commands}
[testenv:py37-firebird-fdb]
commands = {[fdb]commands}
+[testenv:py38-firebird-fdb]
+commands = {[fdb]commands}
+
[firebirdsql]
commands =
{[testenv]commands}
@@ -500,6 +553,9 @@ commands = {[firebirdsql]commands}
[testenv:py37-firebirdsql]
commands = {[firebirdsql]commands}
+[testenv:py38-firebirdsql]
+commands = {[firebirdsql]commands}
+
# Special test environments
[testenv:py27-flake8]
changedir = ./
@@ -541,6 +597,14 @@ commands =
{[testenv]commands}
flake8 .
+[testenv:py38-flake8]
+changedir = ./
+deps =
+ flake8
+commands =
+ {[testenv]commands}
+ flake8 .
+
# Windows testing
[mssql-pyodbc-w32]
platform = win32
@@ -575,6 +639,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[mssql-pyodbc-w32]commands}
+[testenv:py38-mssql-pyodbc-noauto-w32]
+platform = win32
+commands = {[mssql-pyodbc-w32]commands}
+
[mysql-connector-w32]
platform = win32
commands =
@@ -608,6 +676,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[mysql-connector-w32]commands}
+[testenv:py38-mysql-connector-w32]
+platform = win32
+commands = {[mysql-connector-w32]commands}
+
[pymysql-w32]
platform = win32
commands =
@@ -641,6 +713,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[pymysql-w32]commands}
+[testenv:py38-mysql-pymysql-w32]
+platform = win32
+commands = {[pymysql-w32]commands}
+
[mysql-pyodbc-w32]
platform = win32
commands =
@@ -675,6 +751,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[mysql-pyodbc-w32]commands}
+[testenv:py38-mysql-pyodbc-noauto-w32]
+platform = win32
+commands = {[mysql-pyodbc-w32]commands}
+
[mysql-pypyodbc-w32]
platform = win32
commands =
@@ -709,6 +789,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[mysql-pypyodbc-w32]commands}
+[testenv:py38-mysql-pypyodbc-noauto-w32]
+platform = win32
+commands = {[mysql-pypyodbc-w32]commands}
+
[psycopg-w32]
platform = win32
commands =
@@ -742,6 +826,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[psycopg-w32]commands}
+[testenv:py38-postgres-psycopg-w32]
+platform = win32
+commands = {[psycopg-w32]commands}
+
[pygresql-w32]
platform = win32
commands =
@@ -775,6 +863,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[pygresql-w32]commands}
+[testenv:py38-postgres-pygresql-w32]
+platform = win32
+commands = {[pygresql-w32]commands}
+
[pypostgresql-w32]
platform = win32
commands =
@@ -807,6 +899,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[pypostgresql-w32]commands}
+[testenv:py38-postgres-pypostgresql-w32]
+platform = win32
+commands = {[pypostgresql-w32]commands}
+
[pg8000-w32]
platform = win32
commands =
@@ -840,6 +936,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[pg8000-w32]commands}
+[testenv:py38-postgres-pg8000-w32]
+platform = win32
+commands = {[pg8000-w32]commands}
+
[postgres-pyodbc-w32]
platform = win32
commands =
@@ -874,6 +974,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[postgres-pyodbc-w32]commands}
+[testenv:py38-postgres-pyodbc-noauto-w32]
+platform = win32
+commands = {[postgres-pyodbc-w32]commands}
+
[postgres-pypyodbc-w32]
platform = win32
commands =
@@ -908,6 +1012,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[postgres-pypyodbc-w32]commands}
+[testenv:py38-postgres-pypyodbc-noauto-w32]
+platform = win32
+commands = {[postgres-pypyodbc-w32]commands}
+
[sqlite-w32]
platform = win32
commands =
@@ -938,6 +1046,10 @@ commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[sqlite-w32]commands}
+[testenv:py38-sqlite-w32]
+platform = win32
+commands = {[sqlite-w32]commands}
+
[sqlite-memory-w32]
platform = win32
commands =
@@ -967,3 +1079,7 @@ platform = win32
commands =
cmd /c "copy ..\\devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py"
{[sqlite-memory-w32]commands}
+
+[testenv:py38-sqlite-memory-w32]
+platform = win32
+commands = {[sqlite-memory-w32]commands}
http://sourceforge.net/p/sqlobject/sqlobject/ci/596704cd6be8970c26b200df32cfa335c0d2bf50
commit 596704cd6be8970c26b200df32cfa335c0d2bf50
Author: Oleg Broytman <ph...@ph...>
Date: Mon Sep 30 23:00:22 2019 +0300
Feat(sqlbuilder): Improve sqlrepr'ing `ALL/ANY/SOME()`
diff --git a/docs/News.rst b/docs/News.rst
index 5b63bba..425aa1a 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -14,6 +14,12 @@ Features
* Add driver ``supersqlite``. Not all tests are passing
so the driver isn't added to the list of default drivers.
+Minor features
+--------------
+
+* Improve sqlrepr'ing ``ALL/ANY/SOME()``: always put the expression
+ at the right side of the comparison operation.
+
Bug fixes
---------
diff --git a/sqlobject/sqlbuilder.py b/sqlobject/sqlbuilder.py
index d6c2e61..844ab9e 100644
--- a/sqlobject/sqlbuilder.py
+++ b/sqlobject/sqlbuilder.py
@@ -300,6 +300,8 @@ operatorMap = {
class SQLOp(SQLExpression):
def __init__(self, op, expr1, expr2):
self.op = op.upper()
+ if isinstance(expr1, Subquery):
+ expr1, expr2 = expr2, expr1
self.expr1 = expr1
self.expr2 = expr2
... 602 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|