author | Julien Cristau <julien.cristau@logilab.fr> |
Wed, 09 Dec 2015 17:44:18 +0100 | |
changeset 11006 | 096adb786873 |
parent 11005 | server/test/data-migractions/cubes/fakegis/site_cubicweb.py@f8417bd135ed |
permissions | -rw-r--r-- |
10999
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
1 |
from yams import register_base_type |
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
2 |
from logilab.database import get_db_helper |
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
3 |
from logilab.database.sqlgen import SQLExpression |
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4 |
|
11006
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
5 |
_NUMERIC_PARAMETERS = {'scale': 0, 'precision': None} |
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
6 |
register_base_type('Numeric', _NUMERIC_PARAMETERS) |
10999
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
7 |
|
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
8 |
# Add the datatype to the helper mapping |
adc46197b8c9
[migration] test addition of a cube providing a custom final type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
9 |
pghelper = get_db_helper('postgres') |
11005
f8417bd135ed
[server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10999
diff
changeset
|
10 |
|
f8417bd135ed
[server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10999
diff
changeset
|
11 |
|
11006
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
12 |
def pg_numeric_sqltype(rdef): |
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
13 |
"""Return a PostgreSQL column type corresponding to rdef |
11005
f8417bd135ed
[server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10999
diff
changeset
|
14 |
""" |
11006
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
15 |
return 'numeric(%s, %s)' % (rdef.precision, rdef.scale) |
11005
f8417bd135ed
[server, hooks] allow callable in dbh.TYPE_MAPPING
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10999
diff
changeset
|
16 |
|
11006
096adb786873
[migration/test] use numeric(precision, scale) instead of geometry
Julien Cristau <julien.cristau@logilab.fr>
parents:
11005
diff
changeset
|
17 |
pghelper.TYPE_MAPPING['Numeric'] = pg_numeric_sqltype |