| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | 6 | -126/+516 |
| | | | | | The module is only used to export them to Python. | ||||
| * | Dropped PSYCOPG_DISPLAY_SIZE build parameter | Daniele Varrazzo | 2019-01-25 | 2 | -143/+150 |
| | | | | | | 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 |
| | | | |||||
| * | | 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 |
| |/ | |||||
| * | 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 | 4 | -140/+175 |
| | | | | | | | 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. | ||||
| * | Added BYTESARRAY typecaster | Daniele Varrazzo | 2019-01-18 | 2 | -2/+3 |
| | | |||||
| * | 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 | 2 | -9/+17 |
| | | | | | | Allow returning unparsed bytes from databases with mixed encodings. See issue #519. | ||||
| * | Don't call CLEARPGRES on the cursor state without holding the gil | Daniele Varrazzo | 2019-01-02 | 1 | -2/+2 |
| | | | | | | | | There is a chance it is executed by two different threads resulting in issue #384. I havent't found any other case that may lead to double free. | ||||
| * | Merge pull request #821 from jdufresne/skip-libpq | Daniele Varrazzo | 2018-12-04 | 1 | -5/+0 |
| |\ | | | | | Remove workarounds for unsupported libpq < 9.1 | ||||
| | * | Remove workarounds for unsupported libpq < 9.1 | Jon Dufresne | 2018-12-01 | 1 | -5/+0 |
| | | | | | | | | | | | | | Per http://initd.org/psycopg/docs/install.html#prerequisites: > PostgreSQL client library version from 9.1 | ||||
| * | | Simplify PyBool usage with Python convenience macros/functions | Jon Dufresne | 2018-11-30 | 5 | -47/+12 |
| |/ | | | | https://docs.python.org/3/c-api/bool.html | ||||
| * | Convert int subclasses to long before adapting | Daniele Varrazzo | 2018-11-16 | 1 | -2/+21 |
| | | | | | | | | | | | | | Fixes adaptation of int/long subclasses whose str() is not the number, such IntEnum Close #591 Note that I thought it would have needed a new adapter, so I considered it a new feature. But it is more a shortcoming of the int adapter failing to do something reasonable (poor Liskov, always mistreated) so I may actually backport it if there is a new 2.7 release. | ||||
| * | Merge branch 'master' into feature-expose-pgconn | Federico Di Gregorio | 2018-11-07 | 13 | -107/+1223 |
| |\ | |||||
| | * | Fixed adaptation of lists of empty listsfix-788 | Daniele Varrazzo | 2018-10-30 | 1 | -1/+15 |
| | | | | | | | | | | | | | | | | | ...somehow. Postgres doesn't support them and converts them into a simple empty array. However this is not really our concern: the syntax we return is valid. Close #788 | ||||
| | * | Merge branch 'connection-info' | Daniele Varrazzo | 2018-10-15 | 6 | -17/+673 |
| | |\ | |||||
| | | * | Use the connection.info properties instead of the legacy methodsconnection-info | Daniele Varrazzo | 2018-10-13 | 1 | -1/+1 |
| | | | | |||||
| | | * | Guard from some info functions not available in some libpq versions | Daniele Varrazzo | 2018-10-13 | 1 | -8/+37 |
| | | | | |||||
| | | * | Added ConnectionInfo.parameter_status() | Daniele Varrazzo | 2018-10-13 | 1 | -0/+36 |
| | | | | |||||
| | | * | Added ConnectionInfo.ssl_attribute() | Daniele Varrazzo | 2018-10-13 | 1 | -1/+79 |
| | | | | |||||
| | | * | Added all the missing ConnectionInfo attributes | Daniele Varrazzo | 2018-10-13 | 1 | -4/+118 |
| | | | | |||||
