--- /dev/null
+.. change::
+ :tags: feature, postgresql
+
+ Added new :class:`.postgresql.MONEY` datatype. Pull request courtesy
+ Cleber J Santos.
\ No newline at end of file
from sqlalchemy.dialects.postgresql import \
ARRAY, BIGINT, BIT, BOOLEAN, BYTEA, CHAR, CIDR, DATE, \
DOUBLE_PRECISION, ENUM, FLOAT, HSTORE, INET, INTEGER, \
- INTERVAL, JSON, JSONB, MACADDR, NUMERIC, OID, REAL, SMALLINT, TEXT, \
+ INTERVAL, JSON, JSONB, MACADDR, MONEY, NUMERIC, OID, REAL, SMALLINT, TEXT, \
TIME, TIMESTAMP, UUID, VARCHAR, INT4RANGE, INT8RANGE, NUMRANGE, \
DATERANGE, TSRANGE, TSTZRANGE, TSVECTOR
.. autoclass:: MACADDR
:members: __init__
+.. autoclass:: MONEY
+ :members: __init__
+
.. autoclass:: OID
:members: __init__
from .base import \
INTEGER, BIGINT, SMALLINT, VARCHAR, CHAR, TEXT, NUMERIC, FLOAT, REAL, \
- INET, CIDR, UUID, BIT, MACADDR, OID, DOUBLE_PRECISION, TIMESTAMP, TIME, \
+ INET, CIDR, UUID, BIT, MACADDR, MONEY, OID, DOUBLE_PRECISION, TIMESTAMP, TIME, \
DATE, BYTEA, BOOLEAN, INTERVAL, ENUM, dialect, TSVECTOR, DropEnumType, \
CreateEnumType
from .hstore import HSTORE, hstore
__all__ = (
'INTEGER', 'BIGINT', 'SMALLINT', 'VARCHAR', 'CHAR', 'TEXT', 'NUMERIC',
- 'FLOAT', 'REAL', 'INET', 'CIDR', 'UUID', 'BIT', 'MACADDR', 'OID',
+ 'FLOAT', 'REAL', 'INET', 'CIDR', 'UUID', 'BIT', 'MACADDR', 'MONEY', 'OID',
'DOUBLE_PRECISION', 'TIMESTAMP', 'TIME', 'DATE', 'BYTEA', 'BOOLEAN',
'INTERVAL', 'ARRAY', 'ENUM', 'dialect', 'array', 'HSTORE',
'hstore', 'INT4RANGE', 'INT8RANGE', 'NUMRANGE', 'DATERANGE',
PGMacAddr = MACADDR
+class MONEY(sqltypes.TypeEngine):
+
+ """Provide the PostgreSQL MONEY type.
+
+ .. versionadded:: 1.2
+
+ """
+ __visit_name__ = "MONEY"
+
+
class OID(sqltypes.TypeEngine):
"""Provide the PostgreSQL OID type.
'bit': BIT,
'bit varying': BIT,
'macaddr': MACADDR,
+ 'money': MONEY,
'oid': OID,
'double precision': DOUBLE_PRECISION,
'timestamp': TIMESTAMP,
def visit_MACADDR(self, type_, **kw):
return "MACADDR"
+ def visit_MONEY(self, type_, **kw):
+ return "MONEY"
+
def visit_OID(self, type_, **kw):
return "OID"
'bitstring', postgresql.BIT(4)),
Column('addr', postgresql.INET),
Column('addr2', postgresql.MACADDR),
+ Column('price', postgresql.MONEY),
Column('addr3', postgresql.CIDR),
Column('doubleprec', postgresql.DOUBLE_PRECISION),
Column('plain_interval', postgresql.INTERVAL),