| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Improvements to errors module docserrors-module-c | Daniele Varrazzo | 2019-02-11 | 2 | -7/+17 |
| | | |||||
| * | Fixed use of StandardError in test | Daniele Varrazzo | 2019-02-11 | 1 | -1/+1 |
| | | | | | In Py3 it's gone. | ||||
| * | Allow importing _psycopg even if the 'errors' module is not available | Daniele Varrazzo | 2019-02-10 | 1 | -9/+23 |
| | | |||||
| * | SQLSTATE error classes implemented in C | Daniele Varrazzo | 2019-02-10 | 10 | -1531/+572 |
| | | | | | The module is only used to export them to Python. | ||||
| * | Merge remote-tracking branch 'origin/fast-namedtuple' | Daniele Varrazzo | 2019-02-06 | 5 | -10/+170 |
| |\ | | | | | | | Close #838 | ||||
| | * | Use a proper LRU cache for namedtuplesfast-namedtuple | Daniele Varrazzo | 2019-02-02 | 4 | -26/+138 |
| | | | | | | | | | | | | | | | | | | | Previous one didn't refresh by last use. Use the stdlib version for py3 and one of our own for py2. Max size set to 512, which should be fine for everyone (tweaking is still possible by monkeypatching, as the tests do, but I don't want to make an interface of it). | ||||
| | * | Added caching of types generated by NamedTupleCursor | Daniele Varrazzo | 2019-02-02 | 3 | -10/+58 |
| |/ | | | | see #838 | ||||
| * | Merge branch 'drop-display-size' | Daniele Varrazzo | 2019-01-25 | 5 | -151/+158 |
| |\ | |||||
| | * | Dropped PSYCOPG_DISPLAY_SIZE build parameter | Daniele Varrazzo | 2019-01-25 | 5 | -151/+158 |
| |/ | | | | | Big and complex _pq_fetch_tuples simplified by moving per-column calculation to a separate function. | ||||
| * | Merge branch 'module-init-cleanup' | Daniele Varrazzo | 2019-01-23 | 9 | -325/+282 |
| |\ | |||||
| | * | General cleanup of module init shenanigansmodule-init-cleanup | Daniele Varrazzo | 2019-01-23 | 4 | -80/+90 |
| | | | | | | | | | | | | | Pass around the module instead of its dict (getting the latter is fast if needed), mark function raising with negative results, check all errors, consistent names... | ||||
| | * | Incref an object which will be held forever in a static var | Daniele Varrazzo | 2019-01-23 | 1 | -0/+1 |
| | | | |||||
| | * | Decrement the refcount of temporary objects in module init failed | Daniele Varrazzo | 2019-01-22 | 1 | -6/+16 |
| | | | | | | | | | We are going to die anyway, but let's do it in style. | ||||
| | * | Date/time modules initialized in separate functions | Daniele Varrazzo | 2019-01-22 | 5 | -50/+68 |
| | | | |||||
| | * | Dropped psyco_errors_fill() | Daniele Varrazzo | 2019-01-21 | 1 | -19/+16 |
| | | | | | | | | | Just use psyco_errors_init() for complete errors initialization | ||||
| | * | Dropped project wide type to define encodings table | Daniele Varrazzo | 2019-01-21 | 2 | -19/+21 |
| | | | |||||
| | * | Dropped C API interface | Daniele Varrazzo | 2019-01-21 | 2 | -84/+4 |
| | | | | | | | | | | | I guess it was unused as it only contained two init functions. The Capsule should do things better now I guess. | ||||
| | * | Respect refcount with PyModule_AddObject() | Daniele Varrazzo | 2019-01-21 | 1 | -87/+63 |
| | | | | | | | | | | | The function steals a ref. The module is never destroyed so things work fine but the refcount is wrong. | ||||
| | * | Module constants definition moved in a separate function for clarity | Daniele Varrazzo | 2019-01-21 | 1 | -16/+39 |
| | | | |||||
| * | | Mention new OpenSSL version in wheel package | Daniele Varrazzo | 2019-01-22 | 1 | -0/+1 |
| | | | |||||
| * | | Merge branch 'execute-locks' | Daniele Varrazzo | 2019-01-22 | 2 | -92/+131 |
| |\ \ | |/ |/| | |||||
| | * | Mention cursor locks cleanup in news file | Daniele Varrazzo | 2019-01-22 | 1 | -0/+7 |
| | | | |||||
| | * | Assign the PGresult to the cursor in the execute critical sectionexecute-locks | Daniele Varrazzo | 2019-01-22 | 1 | -4/+9 |
| | | | | | | | | | | | Possible cause of the issue reported in #346 (in concurrent environments). | ||||
| | * | Split pq_execute into sync/async parts | Daniele Varrazzo | 2019-01-22 | 1 | -92/+119 |
| |/ | |||||
| * | Merge remote-tracking branch 'origin/code-cleanup' | Daniele Varrazzo | 2019-01-21 | 19 | -348/+353 |
| |\ | |||||
| | * | Handle failed allocation in list adaptationcode-cleanup | Daniele Varrazzo | 2019-01-21 | 1 | -1/+3 |
| | | | |||||
| | * | Dropped funny handling of REPLICATION_* constants | Daniele Varrazzo | 2019-01-21 | 3 | -31/+8 |
| | | | |||||
| | * | _psyco_curs_execute() simplified | Daniele Varrazzo | 2019-01-21 | 1 | -53/+39 |
| | | | | | | | | | | | | | | | Dropped code duplications, more regular increc/decref pattern. Check the return value of formatting named cursor: would have segfaulted in case of error. | ||||
| | * | More straightforward semantics for psyco_GetDecimalType | Daniele Varrazzo | 2019-01-21 | 2 | -6/+4 |
| | | | | | | | | | Raise an exception when returning NULL, leave the caller cleaning it. | ||||
| | * | Dropped use of converter function to verify copy argument | Daniele Varrazzo | 2019-01-21 | 1 | -44/+25 |
| | | | | | | | | | They weren't really converters, and they confused the static checker | ||||
| | * | Mark psyco_set_error as returning a borrowed object | Daniele Varrazzo | 2019-01-21 | 2 | -3/+2 |
| | | | |||||
| | * | Added utils.h file | Daniele Varrazzo | 2019-01-21 | 5 | -141/+176 |
| | | | | | | | | | | | | | utils.c functions definition moved out of psycopg.h Some utility functions defined into psycopgmodule.c moved into utils.c. | ||||
| | * | Mark setter as raising on negative results | Daniele Varrazzo | 2019-01-21 | 3 | -6/+6 |
| | | | | | | | | | Fixed static check of psyco_conn_cursor(). | ||||
| | * | Consider the case dereferencing weakref in conn_poll returns NULL | Daniele Varrazzo | 2019-01-21 | 1 | -1/+10 |
| | | | | | | | | | | | It shouldn't but handle the case to avoid a possible null pointer dereferencing. | ||||
| | * | Dropped possible wrong code path in conn_decode | Daniele Varrazzo | 2019-01-21 | 1 | -13/+15 |
| | | | | | | | | | | | It shouldn't happen for both cdecoder and pydecoder to be null, but just in case... | ||||
| | * | Wrap _Bytes_Resize into a function with clearer semantic | Daniele Varrazzo | 2019-01-21 | 1 | -5/+19 |
| | | | | | | | | | Limit the static checker hacking to a simpler function. | ||||
| | * | Avoid unlikely leaks in case of memory errors in Bytes_Format | Daniele Varrazzo | 2019-01-21 | 1 | -0/+4 |
| | | | |||||
| | * | Move var setting into the only case using it | Daniele Varrazzo | 2019-01-21 | 1 | -5/+2 |
| | | | | | | | | | | | The original function was more complex than this. This refactoring avoids a false positive in the static checker | ||||
| | * | Avoid using PyErr_BadInternalCall as the static checker doesn't get it | Daniele Varrazzo | 2019-01-21 | 1 | -1/+1 |
| | | | |||||
| | * | Use the real definition of Py_LOCAL_INLINE | Daniele Varrazzo | 2019-01-21 | 1 | -4/+1 |
| | | | |||||
| | * | Bytes_Format: use a couple of macros instead of functions | Daniele Varrazzo | 2019-01-21 | 1 | -3/+2 |
| | | | | | | | | | The type was already checked upstream in the func body. | ||||
| | * | psycopg_escape_string: don't make me cringe | Daniele Varrazzo | 2019-01-21 | 1 | -8/+8 |
| | | | | | | | | | Just reformatted. | ||||
| | * | Stricter use of PyArg_ParseTuple typed objects | Daniele Varrazzo | 2019-01-21 | 2 | -7/+12 |
| | | | | | | | | | The function expect PyObject *, not subclasses. | ||||
| | * | Respect PyCFunction signature in METH_NOARGS functions | Daniele Varrazzo | 2019-01-21 | 6 | -25/+25 |
| |/ | | | | A second parameter does exist, although it's always NULL. | ||||
| * | Merge remote-tracking branch 'origin/register-bytes' | Daniele Varrazzo | 2019-01-19 | 10 | -18/+100 |
| |\ | | | | | | | Close #835 | ||||
| | * | Added documentation for BYTES casterregister-bytes | Daniele Varrazzo | 2019-01-18 | 4 | -3/+39 |
| | | | |||||
| | * | Added BYTESARRAY typecaster | Daniele Varrazzo | 2019-01-18 | 4 | -6/+33 |
| | | | |||||
| | * | Added test for BYTES typecaster | Daniele Varrazzo | 2019-01-18 | 1 | -0/+11 |
| | | | |||||
| | * | Fixed typecast definition order | Daniele Varrazzo | 2019-01-18 | 1 | -1/+1 |
| | | | | | | | | | | | Didn't notice that the order matter: the last typecaster registered is the effective one so let STRING win over UNICODE and BYTES. | ||||
| | * | Preliminary test for a BYTES adapter. | Daniele Varrazzo | 2019-01-18 | 3 | -10/+18 |
| |/ | | | | | Allow returning unparsed bytes from databases with mixed encodings. See issue #519. | ||||
