David Harper
6fec6444fc
Add trigonometric functions to sqlite backend
...
issue9996
review333731002
2021-02-06 10:47:06 +00:00
Cédric Krier
99135bf9db
Close connection after testing the database
...
issue9629
review302191002
2020-09-24 23:02:14 +02:00
Cédric Krier
261c7b0a52
Do not set transaction as readonly with psycopg2cffi
...
issue9546
review294341002
2020-08-29 18:23:26 +02:00
Cédric Krier
f376687b5a
Use readonly connection attribute
...
It is not allowed to Call SET TRANSACTION in an AUTOCOMMIT transaction.
It is better to set 'readonly' attribute when available and not set the
transaction in readonly when autocommit is set.
issue9477
review294171002
2020-07-21 14:29:14 +02:00
Cédric Krier
4fec4c82c6
Add more logging on database connection and testing
...
issue9120
review269021002
2020-04-11 00:24:37 +02:00
Cédric Krier
748fe7212e
Add database default name configuration
...
Some user may need to customize the default name used to run operation without
proper database name.
issue9121
review273021002
2020-04-01 23:56:17 +02:00
Cédric Krier
d7ed5f91f5
Fix flake8 errors and warnings
...
We add the flake8 configuration used so we ensure everyone uses the same.
We remove the usage of __all__ for non public API.
When possible, we rationalize the class name according to its __name__ and module.
issue9082
review297061002
2020-03-01 12:33:54 +01:00
Cédric Krier
3d20f1b64e
Display the path of the database in error message
...
Instead of just the filename.
issue8995
review288881002
2020-01-29 00:05:32 +01:00
Cédric Krier
606bdb7ce9
Ensure all SQL functions are supported by the backend's
...
issue8942
review270751002
2020-01-13 23:47:17 +01:00
Cédric Krier
973e428caa
Replace advisory lock by SKIP LOCKED in queue pulling
...
It is simpler and closer to standard SQL.
issue8910
review288701002
2019-12-28 18:05:25 +01:00
Nicolas Évrard
8fb13634ea
Use direct access to backend classes
...
issue8836
review258421002
2019-12-06 17:33:47 +01:00
Nicolas Évrard
4085e589d6
Cache some performance sensible config values at the module level
...
issue8749
review284271002
2019-11-25 14:50:33 +01:00
Cédric Krier
def268915a
Add MultiSelection field
...
issue7851
review249911002
2019-09-20 11:32:56 +02:00
Cédric Krier
f56c5be5ad
Add minimal to_char for date and datetime on SQLite
...
We support only date and datetime with common pattern between SQL and Python.
issue8464
review261761002
2019-08-07 19:34:33 +02:00
Cédric Krier
190657e0ef
Make CurrentTimestamp transactional for SQLite backend
...
It must return the same timestamp during the all transaction.
issue8457
review271641002
2019-07-08 21:27:55 +02:00
Cédric Krier
c4dde4d466
Store database pool per process
...
The connection pool can not be shared between multiple processes.
issue8281
review285251002
2019-06-27 21:45:37 +02:00
Cédric Krier
e1cb85ddad
Replace dsn by params to connect to postgresql
...
It is safer to use explicit params than construct DSN string.
issue8270
review269321002
2019-04-15 15:56:03 +02:00
Cédric Krier
246c672073
Remove unique constraint on ir.translation
...
issue8034
review46721002
2019-02-13 10:27:32 +01:00
Cédric Krier
0d15afb90e
Add coroutine concurrency option
...
issue8010
review53501002
2019-02-05 19:09:53 +01:00
Cédric Krier
62f175d3d1
Set flavor in SQLite database init and test
...
Those methods use python-sql to make queries but they can be called with a
simple connection and not under a Transaction.
2019-01-28 10:03:47 +01:00
Cédric Krier
889b1cc9f8
Allow to search and order on Dict key value
...
issue7905
review62391002
2019-01-18 11:32:47 +01:00
Cédric Krier
342bc9f13d
Correctly rename column with SQLite
...
The table must be recreated if the target column does not exist.
Also temporary column name should use double underscore as module may use
single underscore.
issue7978
review52591002
2019-01-15 11:30:20 +01:00
Cédric Krier
8e9c476e6f
Use correct number arguments in rename column warning
...
issue7688
review47701002
2018-09-28 17:24:01 +02:00
Cédric Krier
a6a7325f46
Remove deprecation warning
...
- remove invalid escape sequence
- use read_file instead of read_fp
- use importlib instead of imp and __import__
- use callable instead of instance of collections.Callable
- fix silent file closing
- replace SafeConfigParser by ConfigParser
- replace decodestring by decodebytes
- replace encodestring by encodebytes
issue7666
issue7390
review53361004
2018-09-01 17:06:28 +02:00
Nicolas Évrard
eb04b82822
Add bus management
...
issue7537
review66341002
2018-08-30 11:15:01 +02:00
Cédric Krier
c37f12834e
Use a copied list to iterate on databases
...
The close method pop the database from the list during the iteration which
will change the size of the dict.
issue7639
review70331002
2018-08-27 10:43:08 +02:00
Cédric Krier
ae06a8bca2
Add transactional queue and workers
...
issue7406
review45461002
2018-07-27 09:32:28 +02:00
Cédric Krier
3547690d8b
Allow SQL expression and where clause in index_action
...
issue7580
review46621002
2018-07-24 19:29:16 +02:00
Cédric Krier
283b3970f8
Do not keep unused database for 30 minutes
...
This prevents to keep the minimal connection on database that are not used
anymore. And set minimal connection to 0 for template1
issue7531
review62261002
2018-07-10 17:56:44 +02:00
Cédric Krier
d2a461390a
Remove support for Python 2.7
...
issue7497
review53261002
2018-06-26 19:11:19 +02:00
Cédric Krier
1fc70d083d
Use server_version from psycopg2 connection object
...
instead of executing a statement and manage our own cache.
issue7465
review51311002
2018-06-04 19:05:25 +02:00
Cédric Krier
0aed819d47
Add hostname configuration to list database
...
issue7375
review44991002
2018-05-22 23:42:35 +02:00
Cédric Krier
df4e5f0cb0
Replace day and month by 1 in date_trunk for SQLite
...
The value 0 is not valid for day and month.
issue7263
review45311002
2018-03-27 22:14:01 +02:00
Cédric Krier
7ae6a23128
Add non-standard exclude constraint in TableHandler definition
...
PostgreSQL does not include non-standard constraints in the
information_schema.table_constraints view.
issue7244
review37121002
2018-03-22 10:40:52 +01:00
Cédric Krier
b3ca13748b
Add Exclude constraint
...
issue1422
review44061002
2018-03-19 16:57:49 +01:00
Nicolas Évrard
acdbe5a08f
Allow to perform unaccented searches on Char fields
...
issue7115
review44611002
2018-03-16 18:17:53 +01:00
Cédric Krier
036ca6d6a9
Always raise exception in table handler
...
issue7175
review40161002
2018-03-15 00:43:32 +01:00
Cédric Krier
e778370e02
Ensure to put back the connection with a try/finally
...
This prevents to leak connection in the ThreadedConnectionPool of psycopg2.
issue7137
review39181002
2018-02-19 19:11:33 +01:00
Cédric Krier
8a7953bb8f
Use proper SQL types
...
- When recreating the table to drop a column, the correct SQL type must be
converted by the database.
- SQLite uses BOOLEAN as base type for BOOL
issue7120
review37001002
2018-02-19 19:07:30 +01:00
Cédric Krier
b32d158d10
Remove MySQL backend
...
issue7017
review41771002
2018-01-24 20:12:42 +01:00
Cédric Krier
f1c4e19155
Improve support of date_trunc for SQLite backend
...
issue7030
review40891002
2018-01-08 19:24:39 +01:00
Cédric Krier
473ac78eb4
Add exceptional parent language
...
issue6956
review40821003
2017-11-25 22:00:24 +01:00
Cédric Krier
291beaa10c
Wait for the database accepting connection to run tests
...
issue6844
review43671002
2017-10-30 09:36:10 +01:00
Cédric Krier
858fc93814
Add missing TYPES_MAPPING of INTERVAL for MySQL backend
...
changeset eeab8793a918 missed to move the mapping of INTERVAL to DOUBLE for
MySQL backend.
issue6838
review43651002
2017-10-29 21:52:33 +01:00
Sergi Almacellas Abellana
49f6691b60
Add missing primary key for cache table on mysql backend
...
issue6840
review42731002
2017-10-16 13:34:05 +02:00
Nicolas Évrard
06c4fe4868
Add support for PosgreSQL version >= 10 sequences
...
issue6789
review43531002
2017-10-02 17:59:16 +02:00
Nicolas Évrard
ddb7769310
Move handling of sequences to the Database object
...
issue6788
review43521002
2017-10-02 17:48:23 +02:00
Sergi Almacellas Abellana
730ecb68b2
Implement alter_type and alter_size for sqlite backend
...
issue6730
review38591002
2017-09-20 11:29:12 +02:00
Cédric Krier
07d293caf8
Add support test database cache for remote postgresql
...
If pg_dump/pg_restore are not available, we create a copy of the database on
PostgreSQL server using the template option of "CREATE DATABASE". We still
create a file in the cache folder to know that there is a backup.
issue6699
2017-08-15 00:21:45 +02:00
Sergi Almacellas Abellana
b637c503e7
Only convert dict fields when they are strings
...
issue6382
review28101002
2017-06-09 13:22:42 +02:00