Commit Graph

18 Commits

Author SHA1 Message Date
Jason Madden c7319f7d10
Bump the tested version of MySQL Connector.
When we updated PyPy on Travis to 5.8.0, it started producing errors
"Use multi-True when executing multiple statements", even when we are
demonstrably only executing one statement. E.g.,
https://travis-ci.org/zodb/relstorage/jobs/335720512#L923

If this doesn't fix it, then I plan to take PyPy+MySQL Connector out
of the test matrix.
2018-02-02 08:56:08 -06:00
Jason Madden 3b65f778e6
Test on ZODB 4.4
Fixes #169.

We need this version for IMultiCommitStorage and the registerDB fix in
ConflictResolvingStorage. Since these versions run on Python 2.7.8,
there's no motivation for trying to go back farther.
2017-04-11 09:27:46 -05:00
Jason Madden 8e7b49d2a6
Clean up mysqlconnector driver name. Clean up installation docs and driver statement docs. 2017-01-26 11:58:05 -06:00
Jason Madden 397898adfc
Try to build the C extension. 2017-01-25 10:37:34 -06:00
Jason Madden ee1fe37b70
Try to build the C extension. 2017-01-25 10:35:25 -06:00
Jason Madden 048d195a9d
need the setup files. 2017-01-25 09:58:50 -06:00
Jason Madden 28f9b1ac56
Initial support for connector/python 2017-01-24 17:18:29 -06:00
Jason Madden 5f20cc4bfa
tweak release scripts 2016-12-23 05:36:52 -06:00
Jason Madden 402c965b9f Test on Appveyor (#145)
* First basic version of appveyor.yml for testing. Still need to configure databases. Lets just see if we build.

* stdint.h is not available on MSVC before 2010, but we're not using it anyway. myssqlclient won't compile on windows

* Try a define for broken c99 support in MSVC.

* Broader macro.

* Use old form of 0 initializing struct.

* More fixes for broken c99 support of MSVC.

* Attempt to setup the database.

* need /c

* give up on running the DB tests.

* produce wheels

* produce wheels

* one more try for mysql tests.

* Run the db script as part of the test, it seems services aren't started during install phase.

* MySQL tests are running, try adding postgres.

* badges

* right bin directory for postgres

* Skip one blob test on windows/py3
2016-12-11 11:06:27 -06:00
Jason Madden 83b5eca55f
Try native up-to-date pypy
Per https://github.com/travis-ci/docs-travis-ci-com/pull/771/
2016-11-15 14:10:21 -06:00
Jason Madden f889008277
Support scripts for generating wheels.
[skip ci]
2016-09-22 17:56:25 -05:00
Jason Madden 632847d201
Rip out the compatibility with old CFFI.
The PyPy on Travis doesn't run with it anyway, and I couldn't make it
work locally either.

Try to install a pypy to test with that does work.
2016-09-22 17:00:29 -05:00
Jason Madden 8ad649511a Adapt code from NextThought to support umysqldb (#110)
* Adapt code from NextThought to implement umysqldb support. Fixes #79.
* exclude should be a sub-key of matrix.
* Force the right driver for the umysqldb tests.
* formatting and debuging.
* Use bytes, not bytearry, to avoid a crash in umysql.
* Tweak driver selection.
* test fixes for umysqldb.
2016-07-17 11:23:05 -05:00
Jason Madden 6e5b3e1ad2
fix travis postgres tests. changenote. 2016-07-01 17:21:22 -05:00
Jason Madden 4ba2b252d5
Initial support for pg8000
The major difference from psycopg2/cffi is that it doesn't have native
lobject support. This is easily worked around, but this draft is not
complete because it doesn't support chunks. Some refactoring will be
required to elegantly handle this.

Two minor differences:

- It doesn't support multiple statements in a single `cursor.execute()`
  call. Apparently it turns all statements into prepared statements,
  because the error is from the server. Easily worked around and
  unlikely to be a perfomance difference.
- It handles transaction isolation levels like most other drivers, in
  SQL. This could be handled more elegantly too.

One thing: The server spits out lots of "WARNING: not in a transaction".
If I enable statement logging, I see every `commit` immediately followed
by a `rollback`, which generates the warning. I'm not sure if that's
just us, or something the driver is doing differently (e.g, maybe
psycopg2/cffi always follows `commit` with `begin`? and then when we try
to `rollback` we're already in a transaction?). Annoying but harmless.
Still, would like to figure it out though.

Testing this pure-python driver on Python 3 also revealed a lot of
connection leaks, many of which I've fixed, but there are probably more.
This should be a win for PyPy. See also zopefoundation/ZODB#78.

The testing matrix is expanded to test the pure-python drivers on
CPython too and to test pg8000. (Travis will be the first time I run
psycopg2 tests; hope I didn't break anything!)

Fixes #85.
2016-07-01 17:10:36 -05:00
Jason Madden 63f99f3851
Stop importing relstorage._compat as six
Instead use direct import of the needed functions.

Also clean up some other imports.
2016-06-17 10:31:52 -05:00
Jason Madden aca6ea3d87
Try installing the extras on travis to get the right database drivers. 2016-06-13 09:20:45 -05:00
Jason Madden 55436c7aaf Travis CI for MySQL and Postgres.
Adds .travis.yml and scripts for creating the DBs for those tests.
Travis is setup to send coverage reports to coveralls.io (once the tests
pass).

Also adds a tox.ini and .coveragerc for checking coverage locally.

Run the tests with '-m relstorage.tests.alltests', which now behaves
like the existing '-m relstorage.tests.testmysql' et al.

Fixes an issue running blob tests with '-m'.
2016-06-10 08:47:04 -05:00