Daniele Varrazzo
2137db89d4
Added function conn_close_locked()
2012-10-06 01:03:12 +01:00
Daniele Varrazzo
387b7b6b36
Using super() in the connection/cursor subclasses
...
This opens to collaborative subclassing (e.g. you may want to have a
logging namedtuple cursor...)
2012-09-28 02:51:58 +01:00
Daniele Varrazzo
9f9da182f1
Using super() in the connection/cursor subclasses
...
This opens to collaborative subclassing (e.g. you may want to have a
logging namedtuple cursor...)
2012-09-28 02:51:58 +01:00
Daniele Varrazzo
4244d5953a
Merge branch 'range-type' into devel
2012-09-27 00:48:05 +01:00
Daniele Varrazzo
dda24f082f
Merge branch 'json' into devel
2012-09-27 00:41:04 +01:00
Daniele Varrazzo
465b5cf280
Mention JSON adaptation in the NEWS file
2012-09-27 00:40:35 +01:00
Daniele Varrazzo
33043cd038
Merge branch 'composite-custom' into devel
2012-09-27 00:38:00 +01:00
Daniele Varrazzo
bc1d2f5d3a
Merge remote-tracking branch 'github/connect-keywords' into devel
2012-09-26 13:15:33 +01:00
Daniele Varrazzo
74e6efd717
Raise TypeError instead of InterfaceError on bad params on connect()
...
TypeError is the standard Python error raised in this case:
$ python -c "(lambda a: None)(b=10)"
TypeError: <lambda>() got an unexpected keyword argument 'b'
We only used to raise InterfaceError when connect was used without
any parameter at all, so it's hard to think a program depending on
that design. Furthermore the function has always raised (and still
does) OperationalError too, if the bad argument is detected by the
libpq, and that cannot be changed because we can't tell the
difference from a normal connection error.
2012-09-26 11:55:21 +01:00
Daniele Varrazzo
20d3d0f66d
Raise TypeError instead of InterfaceError on bad params on connect()
...
TypeError is the standard Python error raised in this case:
$ python -c "(lambda a: None)(b=10)"
TypeError: <lambda>() got an unexpected keyword argument 'b'
We only used to raise InterfaceError when connect was used without
any parameter at all, so it's hard to think a program depending on
that design. Furthermore the function has always raised (and still
does) OperationalError too, if the bad argument is detected by the
libpq, and that cannot be changed because we can't tell the
difference from a normal connection error.
2012-09-26 11:55:21 +01:00
Daniele Varrazzo
bc68b2ff1e
Improved error message on connect when kwargs are passed together with dns
2012-09-26 11:47:06 +01:00
Daniele Varrazzo
cf3c6f86ff
Improved error message on connect when kwargs are passed together with dns
2012-09-26 11:47:06 +01:00
Daniele Varrazzo
32fae728b3
Dropped quirks in connection arguments handling
...
Now connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well
Closes ticket #131 .
2012-09-25 23:46:46 +01:00
Daniele Varrazzo
cd316a94f1
Dropped quirks in connection arguments handling
...
Now connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well
Closes ticket #131 .
2012-09-25 23:46:46 +01:00
Daniele Varrazzo
b894539007
Fixed json doc error
2012-09-25 00:12:57 +01:00
Daniele Varrazzo
b8b669611e
More helpful error messasge on Range order attempts
2012-09-25 00:07:08 +01:00
Daniele Varrazzo
7b1973354f
Fixed SQL_IN when getquoted() is called without prepare()
2012-09-24 16:55:01 +01:00
Daniele Varrazzo
a733416241
Fixed SQL_IN when getquoted() is called without prepare()
2012-09-24 16:55:01 +01:00
Daniele Varrazzo
f70e6a1519
Grammar correction for RangeCaster.array_typecaster
2012-09-24 12:13:46 +01:00
Daniele Varrazzo
71e2f190c2
Json documentation improved
2012-09-24 11:51:35 +01:00
Daniele Varrazzo
a3418052e9
Don't create/register a json array typecaster if no oid provided
2012-09-24 11:23:09 +01:00
Daniele Varrazzo
c756d580f2
Added documentation for range types and adaptation
2012-09-24 00:49:44 +01:00
Daniele Varrazzo
b1953640d2
Don't need to implement __new__ to make an immutable class
2012-09-24 00:49:02 +01:00
Daniele Varrazzo
a858987844
Fixed search of types into schemas.
...
We don't need to look for stuff implicitly into pg_catalog as all
the builtin ranges are already registered. So just search into
'public' if the schema is not specified.
2012-09-24 00:49:02 +01:00
Daniele Varrazzo
a1a2772a79
Added test for range not found
2012-09-24 00:48:56 +01:00
Daniele Varrazzo
a701e36d16
Added containment tests for unbounded intervals
2012-09-23 22:59:49 +01:00
Daniele Varrazzo
841ddaba87
Range objects cannot be ordered
2012-09-23 22:54:50 +01:00
Daniele Varrazzo
25ef540aa3
Range objects are nonzero when not empty
2012-09-23 22:43:23 +01:00
Daniele Varrazzo
a96a4349ed
Range objects are immutable and hashable
2012-09-23 22:40:13 +01:00
Daniele Varrazzo
e002ea5937
Dropped Range._empty attribute
...
We can do with just _bounds: it will make eq and hash easier to
implement in a consistent way
2012-09-23 22:10:33 +01:00
Daniele Varrazzo
d2cee6f9ad
Added in operator for ranges
2012-09-23 22:01:39 +01:00
Daniele Varrazzo
94c6353d55
NumberRange renamed to NumericRange
...
I was avoiding Numeric to avoid conflicting with the 'numeric'
Postgres type, which is an alias for 'decimal'. But now that there
is a single numeric range I can use the preferred name
2012-09-23 21:11:06 +01:00
Daniele Varrazzo
45cbcc0713
Dropped Range classes for specific numeric types
2012-09-23 21:08:18 +01:00
Daniele Varrazzo
5e7c1d0b51
Added first implementation of Range type, adapter, typecaster
2012-09-23 21:03:36 +01:00
Daniele Varrazzo
9949e04c70
Added schema attribute to CompositeCaster
2012-09-22 15:10:40 +01:00
Daniele Varrazzo
59151886a0
Info about hstore versions history moved from code to docs
2012-09-22 02:10:58 +01:00
Daniele Varrazzo
d183657c11
Info about hstore versions history moved from code to docs
2012-09-22 02:10:58 +01:00
Daniele Varrazzo
26cfdc1234
Info about versions history moved from code to docs
2012-09-22 02:08:21 +01:00
Daniele Varrazzo
fa9393b587
Added documentation about CompositeCaster subclassing
2012-09-22 02:01:04 +01:00
Daniele Varrazzo
1b2c2c34b6
Make CompositeCaster easier to subclass
2012-09-22 01:46:53 +01:00
Daniele Varrazzo
6d9a25e63a
Deal with sys.platform = "linux"
...
Changed in Python 3.3.
2012-09-21 02:28:52 +01:00
Daniele Varrazzo
7de8611607
errorcodes map updated to PostgreSQL 9.2
2012-09-21 01:59:02 +01:00
Daniele Varrazzo
469b6f8aff
Return memoryview object of type "c" instead of "B" from bytea
...
In Python 3.3 items are returned as int instead of chars.
I'm not sure the way I did it is correct: worth asking some
hardcore Python dev.
Fixed tests after the stricter memview comparison rules in Py 3.3.
2012-09-21 00:54:37 +01:00
Daniele Varrazzo
526e270934
Use namedtuple._make in NamedTupleCursor and CompositeCaster
...
Makes things more natural as _make has the same signature of the tuple (see
_ctor in CompositeCaster) and is probably more efficient with less
intermediate sequences to build.
2012-09-20 16:27:50 +01:00
Daniele Varrazzo
5645e7adef
Pasto fixed
2012-09-20 03:44:50 +01:00
Daniele Varrazzo
abe2df5f57
Merge branch 'fix-array-parsing' into devel
2012-09-20 03:26:07 +01:00
Daniele Varrazzo
62a54f64f7
Fixed infinite loop when parsing '{' as array
2012-09-20 03:24:47 +01:00
Daniele Varrazzo
0e644f6d95
Fixed return value after malformed arrays
2012-09-20 03:24:26 +01:00
Daniele Varrazzo
c7bee92160
Fixed infinite loop when parsing '{' as array
2012-09-20 03:19:24 +01:00
Daniele Varrazzo
9b2ad7abb5
Fixed json typecaster with NULL input
2012-09-20 00:39:34 +01:00