Commit Graph
39 Commits
Author SHA1 Message Date
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 3547690d8b Allow SQL expression and where clause in index_action
issue7580
review46621002
2018-07-24 19:29:16 +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 036ca6d6a9 Always raise exception in table handler
issue7175
review40161002
2018-03-15 00:43:32 +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
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 4520afedd3 Convert into hash too long data name
Some back-ends have constraint on the length of data name, they usually
silently truncate them, but this can create collision. The solution is to hash
the name when it is too long.

issue4620
issue6494
review37381003
2017-05-12 12:00:44 +02:00
Cédric Krier 826f30219d Re-use method as default parameter of TableHandler add_column
There is no guarantee that the method will not raise a database error on the
first registration because it can rely on other tables being registered.
So the method must be called only when needed. This is when the table already
exists and has records. In this case other tables also already exist.

issue6409
2017-04-01 16:14:36 +02:00
Nicolas Évrard aa9c9cc9e7 Use sql type instead of field related argument in the column creation
issue6348
review26231002
2017-03-31 13:21:51 +02:00
Maxime Richez 6144237ef6 Re-fix TypeError on drop_column for SQLite
Fixing bad interpretation on the value (tuple) when iterating on the dictionary
in previous changeset 9c2eb1b04df8

issue2647
review33491002
2016-10-24 16:15:28 +02:00
Maxime Richez e954c2fe38 Fix TypeError on drop_column for SQLite
It uses now tuple unpacking on the loop.
It was introduced in changeset a3ef75ef8f6a

issue2647
review32641002
2016-10-13 10:05:44 +02:00
Maxime Richez 99688e1901 Add missing implementation of drop_column for SQLite
issue2647
review30311002
2016-08-23 17:19:23 +02:00
Cédric Krier ddba34889c Prevent comparison when column size if None in TableHandler
column size could be None so in Python 3, it can not be compare to integer.

issue5661
review28361002
2016-06-30 18:35:42 +02:00
Cédric Krier 9e57ec6627 Improve TableHandler's to update only modified property
It adds keywords argument to _update_definition to limit the update as most of
the time only one kind of property is modified.

issue5416
review22891002
2016-03-25 11:25:43 +01:00
Nicolas Évrard 2fef479575 Follow PEP-0249 for Transaction and backends
issue4949
review19781002
2016-03-03 21:51:57 +01:00
Cédric Krier 68eca37c72 Add _update_definitions after column_rename
issue5325
review16001002
2016-02-15 10:07:18 +01:00
Cédric Krier 41f4702273 Use warnings instead of logging for missing SQLite TableHandler features
and capture warnings into logging.
This allow to not be flooded by the same kind of warnings when running tests.

issue5316
review17821002
2016-02-09 18:42:59 +01:00
Cédric Krier 20484bb013 Fix formatting in logger calls 2015-03-05 11:32:18 +01:00
Cédric Krier 0ac0990c77 Improve logging
issue4458
review11781002
2015-03-02 23:39:15 +01:00
Cédric Krier c144f8c349 Fix most flake8 errors
review8771002
2014-12-02 12:54:01 +01:00
Cédric Krier fc6c6cfdda Migration to python-sql
* Use python-sql
* Add convert_domain method on Fields
* Add sql_format and sql_type methods on Fields
* Allow to return a full domain for Function.searcher
* Replace static backend by dynamic get method
* Replace order_field by order_<field name> method

review1001002
2013-09-06 22:32:37 +02:00
Cédric Krier 5e01f5c068 Fix flake8 2013-02-27 22:50:31 +01:00
Cédric Krier ee3be37a36 Fix pep8 and pyflakes 2012-04-01 23:08:15 +02:00
Nicolas Évrard 584d516067 Integer, Numeric and Float allow None as value
NULL value is None and not False

issue2022
review237004
2012-03-23 17:52:36 +01:00
Cédric Krier 852f04dc51 Remove support of Python2.5 and fix py3 warnings 2011-07-12 00:16:15 +02:00
Cédric Krier 51678f43e9 Fix column_rename of SQLite backend for issue1832 2011-04-21 18:58:18 +02:00
Cédric Krier b5c86fbbcd Add AUTOINCREMENT to sqlite primary key for issue1748 2010-11-07 16:50:59 +01:00
Cédric Krier df1fd283ac New transaction management
Remove cursor, user and context from methods and use Transaction instead
2010-08-19 22:01:12 +02:00
Cédric Krier b5fb4d1ef3 Refactoring by validation with pylint 2010-02-18 18:50:35 +01:00
Cédric Krier e86ab8a32a Fix typo in logging message 2010-01-12 13:15:48 +01:00
Cédric Krier 1a8c6f2213 Add comment on table and field for postgresql backend 2010-01-11 12:32:50 +01:00
Cédric Krier d3b3cd41f2 Add test is column_name is in _columns when testing field type for issue1194
add_raw_column is used in _update_history_table and column_name can any more
exist or not yet instanciate in the Model
2009-09-28 11:58:52 +02:00
Bertrand Chenal 7834e3849a Handle sequence and history renaming when renaming table 2009-09-16 14:47:06 +02:00
Bertrand Chenal 36efc47a44 Allow to drop constraint, index and foreign key with custom table name 2009-09-10 14:19:10 +02:00
Bertrand Chenal fd3493ec06 Added column renaming on db backends 2009-09-10 14:09:59 +02:00
Cédric Krier 45914073bf Use faster join implementation:
- use generator when possible
- use tuple __mul__
2009-08-26 15:39:53 +02:00
Cédric Krier 0de3f616df Process remove action if field is in any module 2009-08-04 16:59:47 +02:00
Cédric Krier 23c5eff184 Add sqlite backend 2009-07-07 19:35:44 +02:00