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 f31a1bc9c70cb0b1504b70d1dacd4ef18dc8cfb7 (commit)
via 6c54d9a0009d50a9859d2fa0b76103e2992a17de (commit)
via aa0af590862607300b0e4a695fcc6516d903a926 (commit)
via ff5a94f43b4e221e9ae5986eea824fb642d309c0 (commit)
via a26acf96a3322dedfaf2a2b36b5eaf3d313e0901 (commit)
via 477cff64f80a545db9346770e7cc4378c3413780 (commit)
via b3d72cd4c4516bddf8bd39550ed8582cf7101eae (commit)
via 14d47233fb0d8e0eb4f39c17f0ffce3b907e2910 (commit)
via e24b9ed78e3de8016e6f9aafdfa153aa08faa732 (commit)
via 26d83fb89b914940892dbecd033707fbfcc8b71e (commit)
via bae4bad96fbff1fdb476ca11e200d4d1a0907083 (commit)
from 9d4af66987f77054c307c417dbdd786d6bfb5012 (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/f31a1bc9c70cb0b1504b70d1dacd4ef18dc8cfb7
commit f31a1bc9c70cb0b1504b70d1dacd4ef18dc8cfb7
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 22 15:59:34 2019 +0300
Release 3.7.3
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
index 5cb2886..67323a9 100644
--- a/ANNOUNCE.rst
+++ b/ANNOUNCE.rst
@@ -1,26 +1,37 @@
Hello!
-I'm pleased to announce version 3.8.0a1, the first alpha of the upcoming
-release of branch 3.8 of SQLObject.
+I'm pleased to announce version 3.7.3, a bugfix release of branch
+3.7 of SQLObject.
-I'm pleased to announce version 3.8.0a2, the second alpha of the upcoming
-release of branch 3.8 of SQLObject.
-I'm pleased to announce version 3.8.0b1, the first beta of the upcoming
-release of branch 3.8 of SQLObject.
+What's new in SQLObject
+=======================
-I'm pleased to announce version 3.8.0rc1, the first release candidate
-of the upcoming release of branch 3.8 of SQLObject.
+Bug fixes
+---------
-I'm pleased to announce version 3.8.0, the first stable release of branch
-3.8 of SQLObject.
+* Avoid excessive parentheses around ``ALL/ANY/SOME()``.
-I'm pleased to announce version 3.8.1, the first bugfix release of branch
-3.8 of SQLObject.
+Tests
+-----
+* Add tests for cascade deletion.
-What's new in SQLObject
-=======================
+* Add tests for ``sqlbuilder.ALL/ANY/SOME()``.
+
+* Fix calls to ``pytest.mark.skipif`` - make conditions bool instead of str.
+
+* Fix module-level calls to ``pytest.mark.skip`` - add reasons.
+
+* Fix escape sequences ``'\%'`` -> ``'\\%'``.
+
+CI
+--
+
+* Reduce the number of virtual machines/containers:
+ one OS, one DB, one python version, many drivers per VM.
+
+* Fix sqlite test under Python 3.7+ at AppVeyor.
Contributors for this release are
@@ -54,7 +65,7 @@ Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss
Download:
-https://pypi.org/project/SQLObject/3.8.0a0.dev20190501/
+https://pypi.org/project/SQLObject/3.7.3
News and changes:
http://sqlobject.org/News.html
diff --git a/README.rst b/README.rst
index 404d165..4348085 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-SQLObject 3.7.3a0
-=================
+SQLObject 3.7.3
+===============
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs
index bcb5c7c..6523174 100755
--- a/devscripts/build-all-docs
+++ b/devscripts/build-all-docs
@@ -10,7 +10,7 @@ cd "`dirname \"$0\"`" &&
PROG_DIR="`pwd`" &&
cd .. &&
-build_docs 3.7.2 &&
+build_docs 3.7.3 &&
build_docs master devel &&
rm -rf docs/html &&
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 52a8048..0d92991 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.7.2'
+version = '3.7.3'
major = 3
minor = 7
-micro = 2
+micro = 3
release_level = 'final'
serial = 0
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/6c54d9a0009d50a9859d2fa0b76103e2992a17de
commit 6c54d9a0009d50a9859d2fa0b76103e2992a17de
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 22 15:51:56 2019 +0300
Docs(News): SQLObject 3.7.3 released 22 Sep 2019
diff --git a/docs/News.rst b/docs/News.rst
index e8d7d99..d24ad0a 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -8,6 +8,11 @@ News
SQLObject (master)
==================
+SQLObject 3.7.3
+===============
+
+Released 22 Sep 2019.
+
Bug fixes
---------
http://sourceforge.net/p/sqlobject/sqlobject/ci/aa0af590862607300b0e4a695fcc6516d903a926
commit aa0af590862607300b0e4a695fcc6516d903a926
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 22 03:50:35 2019 +0300
Fix sqlite test under Python 3.7+ at AppVeyor
diff --git a/docs/News.rst b/docs/News.rst
index 23c6f88..e8d7d99 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -32,6 +32,8 @@ CI
* Reduce the number of virtual machines/containers:
one OS, one DB, one python version, many drivers per VM.
+* Fix sqlite test under Python 3.7+ at AppVeyor.
+
SQLObject 3.7.2
===============
diff --git a/sqlobject/tests/test_sqlite.py b/sqlobject/tests/test_sqlite.py
index 5fb070b..2ec1d42 100644
--- a/sqlobject/tests/test_sqlite.py
+++ b/sqlobject/tests/test_sqlite.py
@@ -140,7 +140,7 @@ def test_memorydb():
def test_list_databases():
- assert connection.listDatabases() == ['main']
+ assert 'main' in connection.listDatabases()
def test_list_tables():
http://sourceforge.net/p/sqlobject/sqlobject/ci/ff5a94f43b4e221e9ae5986eea824fb642d309c0
commit ff5a94f43b4e221e9ae5986eea824fb642d309c0
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 22 03:47:42 2019 +0300
Fix escape sequences `'\%'` -> `'\\%'`
diff --git a/docs/News.rst b/docs/News.rst
index 3ca56b0..23c6f88 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -24,6 +24,8 @@ Tests
* Fix module-level calls to ``pytest.mark.skip`` - add reasons.
+* Fix escape sequences ``'\%'`` -> ``'\\%'``.
+
CI
--
diff --git a/sqlobject/tests/test_converters.py b/sqlobject/tests/test_converters.py
index 0468a75..a064c69 100644
--- a/sqlobject/tests/test_converters.py
+++ b/sqlobject/tests/test_converters.py
@@ -262,8 +262,8 @@ def test_timedelta():
def test_quote_unquote_str():
assert quote_str('test%', 'postgres') == "'test%'"
assert quote_str('test%', 'sqlite') == "'test%'"
- assert quote_str('test\%', 'postgres') == "E'test\\%'"
- assert quote_str('test\\%', 'sqlite') == "'test\%'"
+ assert quote_str('test\\%', 'postgres') == "E'test\\%'"
+ assert quote_str('test\\%', 'sqlite') == "'test\\%'"
assert unquote_str("'test%'") == 'test%'
assert unquote_str("'test\\%'") == 'test\\%'
assert unquote_str("E'test\\%'") == 'test\\%'
http://sourceforge.net/p/sqlobject/sqlobject/ci/a26acf96a3322dedfaf2a2b36b5eaf3d313e0901
commit a26acf96a3322dedfaf2a2b36b5eaf3d313e0901
Author: Oleg Broytman <ph...@ph...>
Date: Fri Sep 13 04:16:10 2019 +0300
Fix: Avoid excessive parentheses around `ALL/ANY/SOME()`
diff --git a/docs/News.rst b/docs/News.rst
index a216624..3ca56b0 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -8,11 +8,18 @@ News
SQLObject (master)
==================
+Bug fixes
+---------
+
+* Avoid excessive parentheses around ``ALL/ANY/SOME()``.
+
Tests
-----
* Add tests for cascade deletion.
+* Add tests for ``sqlbuilder.ALL/ANY/SOME()``.
+
* Fix calls to ``pytest.mark.skipif`` - make conditions bool instead of str.
* Fix module-level calls to ``pytest.mark.skip`` - add reasons.
diff --git a/sqlobject/sqlbuilder.py b/sqlobject/sqlbuilder.py
index cc6696b..d6c2e61 100644
--- a/sqlobject/sqlbuilder.py
+++ b/sqlobject/sqlbuilder.py
@@ -308,7 +308,8 @@ class SQLOp(SQLExpression):
s2 = sqlrepr(self.expr2, db)
if s1[0] != '(' and s1 != 'NULL':
s1 = '(' + s1 + ')'
- if s2[0] != '(' and s2 != 'NULL':
+ if s2[0] != '(' and s2 != 'NULL' and \
+ not isinstance(self.expr2, Subquery):
s2 = '(' + s2 + ')'
return "(%s %s %s)" % (s1, self.op, s2)
diff --git a/sqlobject/tests/test_mysql.py b/sqlobject/tests/test_mysql.py
index 3d7b9a6..5f41bd9 100644
--- a/sqlobject/tests/test_mysql.py
+++ b/sqlobject/tests/test_mysql.py
@@ -1,5 +1,6 @@
import pytest
-from sqlobject import SQLObject
+from sqlobject import SQLObject, IntCol
+from sqlobject.sqlbuilder import Select, ANY
from sqlobject.tests.dbtest import getConnection, setupClass
@@ -24,3 +25,16 @@ def test_list_databases():
def test_list_tables():
setupClass(SOTestSOListMySQL)
assert SOTestSOListMySQL.sqlmeta.table in connection.listTables()
+
+
+class SOTestANY(SQLObject):
+ value = IntCol()
+
+
+def test_ANY():
+ setupClass(SOTestANY)
+ SOTestANY(value=10)
+ SOTestANY(value=20)
+ SOTestANY(value=30)
+ assert len(list(SOTestANY.select(
+ SOTestANY.q.value > ANY(Select([SOTestANY.q.value]))))) == 2
diff --git a/sqlobject/tests/test_postgres.py b/sqlobject/tests/test_postgres.py
index ab1f969..dbe62c0 100644
--- a/sqlobject/tests/test_postgres.py
+++ b/sqlobject/tests/test_postgres.py
@@ -1,6 +1,7 @@
import os
import pytest
-from sqlobject import SQLObject, StringCol
+from sqlobject import SQLObject, StringCol, IntCol
+from sqlobject.sqlbuilder import Select, SOME
from sqlobject.tests.dbtest import getConnection, setupClass
@@ -56,3 +57,16 @@ def test_list_databases():
def test_list_tables():
setupClass(SOTestSOList)
assert SOTestSOList.sqlmeta.table in connection.listTables()
+
+
+class SOTestSOME(SQLObject):
+ value = IntCol()
+
+
+def test_SOME():
+ setupClass(SOTestSOME)
+ SOTestSOME(value=10)
+ SOTestSOME(value=20)
+ SOTestSOME(value=30)
+ assert len(list(SOTestSOME.select(
+ SOTestSOME.q.value > SOME(Select([SOTestSOME.q.value]))))) == 2
diff --git a/sqlobject/tests/test_sqlbuilder.py b/sqlobject/tests/test_sqlbuilder.py
index 1d2c850..5b9d3b4 100644
--- a/sqlobject/tests/test_sqlbuilder.py
+++ b/sqlobject/tests/test_sqlbuilder.py
@@ -1,7 +1,7 @@
from sqlobject import IntCol, SQLObject, StringCol
from sqlobject.compat import PY2
-from sqlobject.sqlbuilder import AND, CONCAT, Delete, Insert, SQLOp, Select, \
- Union, Update, const, func, sqlrepr
+from sqlobject.sqlbuilder import AND, ANY, CONCAT, Delete, Insert, \
+ SQLConstant, SQLOp, Select, Union, Update, const, func, sqlrepr
from sqlobject.tests.dbtest import getConnection, raises, setupClass
@@ -119,3 +119,16 @@ def test_CONCAT():
if not PY2 and not isinstance(result, str):
result = result.decode('ascii')
assert result == "test-suffix"
+
+
+def test_ANY():
+ setupClass(SOTestSQLBuilder)
+
+ select = Select(
+ [SOTestSQLBuilder.q.name],
+ SQLConstant("'value'") == ANY(SOTestSQLBuilder.q.so_value),
+ )
+
+ assert sqlrepr(select, 'mysql') == \
+ "SELECT so_test_sql_builder.name FROM so_test_sql_builder " \
+ "WHERE (('value') = ANY (so_test_sql_builder.so_value))"
http://sourceforge.net/p/sqlobject/sqlobject/ci/477cff64f80a545db9346770e7cc4378c3413780
commit 477cff64f80a545db9346770e7cc4378c3413780
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 15 17:54:31 2019 +0300
Tests: Fix module-level calls to `pytest.mark.skip`
Add reasons.
diff --git a/docs/News.rst b/docs/News.rst
index f1fcf89..a216624 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -15,6 +15,8 @@ Tests
* Fix calls to ``pytest.mark.skipif`` - make conditions bool instead of str.
+* Fix module-level calls to ``pytest.mark.skip`` - add reasons.
+
CI
--
diff --git a/sqlobject/tests/test_decimal.py b/sqlobject/tests/test_decimal.py
index c7388e0..06cd2fb 100644
--- a/sqlobject/tests/test_decimal.py
+++ b/sqlobject/tests/test_decimal.py
@@ -16,7 +16,7 @@ except NameError:
pass
else:
if not support_decimal_column:
- pytestmark = pytest.mark.skip('')
+ pytestmark = pytest.mark.skip("These tests require Decimal support")
class DecimalTable(SQLObject):
diff --git a/sqlobject/tests/test_mysql.py b/sqlobject/tests/test_mysql.py
index de4b040..3d7b9a6 100644
--- a/sqlobject/tests/test_mysql.py
+++ b/sqlobject/tests/test_mysql.py
@@ -10,7 +10,7 @@ except (AttributeError, NameError):
pass
else:
if connection.dbName != "mysql":
- pytestmark = pytest.mark.skip('')
+ pytestmark = pytest.mark.skip("These tests require MySQL")
class SOTestSOListMySQL(SQLObject):
diff --git a/sqlobject/tests/test_postgres.py b/sqlobject/tests/test_postgres.py
index e656ce7..ab1f969 100644
--- a/sqlobject/tests/test_postgres.py
+++ b/sqlobject/tests/test_postgres.py
@@ -16,7 +16,7 @@ except (AttributeError, NameError):
pass
else:
if connection.dbName != "postgres":
- pytestmark = pytest.mark.skip('')
+ pytestmark = pytest.mark.skip("These tests require PostgreSQL")
class SOTestSSLMode(SQLObject):
diff --git a/sqlobject/tests/test_sqlite.py b/sqlobject/tests/test_sqlite.py
index 4e9611a..5fb070b 100644
--- a/sqlobject/tests/test_sqlite.py
+++ b/sqlobject/tests/test_sqlite.py
@@ -16,7 +16,7 @@ except (AttributeError, NameError):
pass
else:
if connection.dbName != "sqlite":
- pytestmark = pytest.mark.skip('')
+ pytestmark = pytest.mark.skip("These tests require SQLite")
class SQLiteFactoryTest(SQLObject):
diff --git a/sqlobject/tests/test_transactions.py b/sqlobject/tests/test_transactions.py
index 56ce7f8..ee66620 100644
--- a/sqlobject/tests/test_transactions.py
+++ b/sqlobject/tests/test_transactions.py
@@ -16,7 +16,7 @@ except NameError:
pass
else:
if not support_transactions:
- pytestmark = pytest.mark.skip('')
+ pytestmark = pytest.mark.skip("These tests require transactions")
class SOTestSOTrans(SQLObject):
http://sourceforge.net/p/sqlobject/sqlobject/ci/b3d72cd4c4516bddf8bd39550ed8582cf7101eae
commit b3d72cd4c4516bddf8bd39550ed8582cf7101eae
Author: Oleg Broytman <ph...@ph...>
Date: Sun Sep 15 17:47:31 2019 +0300
Tests: Fix calls to `pytest.mark.skipif`
Make conditions bool instead of str.
diff --git a/docs/News.rst b/docs/News.rst
index a8f949d..f1fcf89 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -13,6 +13,8 @@ Tests
* Add tests for cascade deletion.
+* Fix calls to ``pytest.mark.skipif`` - make conditions bool instead of str.
+
CI
--
diff --git a/sqlobject/tests/test_boundattributes.py b/sqlobject/tests/test_boundattributes.py
index 5ae2015..1453658 100644
--- a/sqlobject/tests/test_boundattributes.py
+++ b/sqlobject/tests/test_boundattributes.py
@@ -3,7 +3,9 @@ import pytest
from sqlobject import boundattributes
from sqlobject import declarative
-pytestmark = pytest.mark.skipif('True')
+pytestmark = pytest.mark.skipif(
+ True,
+ reason='The module "boundattributes" and its tests were not finished yet')
class SOTestMe(object):
diff --git a/sqlobject/tests/test_paste.py b/sqlobject/tests/test_paste.py
index 3662309..5cd9029 100644
--- a/sqlobject/tests/test_paste.py
+++ b/sqlobject/tests/test_paste.py
@@ -5,7 +5,7 @@ from sqlobject import sqlhub, SQLObject, StringCol
try:
from sqlobject.wsgi_middleware import make_middleware
except ImportError:
... 482 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|