Age | Commit message (Collapse) | Author |
|
bytes (#70)
|
|
|
|
* Fixed bugs, reported in issue #8.
Bunch of memory leaks, occuring in tests.
One heap-buffer-overrun in read operation at convert.c:3162.
Two memory leaks, detected by my unit tests:
password, conn_settings, pqopt fields overwrite if their values
provided by both, system config and connstring.
Restored reference counting lifetime managment of COL_INFO objects.
Some minor cosmetic changes.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Minor cosmetic changes.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Forgot set col_info to NULL in TABLE_INFO object while clearing it.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Fixing comments.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
---------
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
|
|
|
|
noninitial refcursor 2. Fix error when fetching NULL refcursor 3. Return empty result if all refcursors are NULL
|
|
|
|
returned if multiple refcursors are found * Works with both ODBC CALL and PostgreSQL CALL syntaxes * Query must be executed in a transaction to avoid cursors being closed * Now works when output parameters are present * Added fetch-refcursors regression test
|
|
|
|
This change fixes the diff of insertreturning-test regression test
reported by Patrick Cheung.
|
|
This change fixes the diff of prepare-test regression test reported by Mangold Fabian.
|
|
|
|
|
|
Remove curr_param_result property of StatementClass and separate parsed result from the exec result.
|
|
|
|
parameters. This would improve the performance of bulk inserts/updates etc.
|
|
Introduce macros QR_concat(), QR_detach() and QR_next().
|
|
Some tools issue issue SQLSetStmtAttr(.., SQL_ATTR_QUERY_TIMEOUT,,) internally and sometimes it's difficult for users to change the timeout value. You can disable the timeout by turning on this option.
|
|
affetced by the preceding results. It's necessary for batch execution
with arrays of parameters.
|
|
by sending chunks of SQL statements.
If SQL_ATTR_CURSOR_TYPE of an statement is SQL_CURSOR_FORWARD_ONLY, SQL_ATTR_CONCURRENCY is SQL_CONCUR_READ_ONLY and extended protocol isn't used, the batch execution of the statement is possible.
A new option Batch Size was introduced for such cases.
Batch Size: Split an array (of parameters) into chunks of Batch Size to execute statements. The last chunk may contain less than Batch Size elements. Setting 1 to this option forces the current one by one execution.
Also turn off use_server_side_prepare option temporarily when batch executuion is possible.
|
|
receiver
around PQexecParams() or PQexecPrepared().
|
|
|
|
Also modified some error messages.
|
|
The variable lock_CC_for_rb should be held per connection.
Per report from Ayman Samamry.
|
|
Divide *level 1(detail)* log into *level 1(tuple level)* log and *level 2(detail)* log.
|
|
next set of parameters is processed. If not, then there will be a memory leak when the next SQLParamData/SQLPutData is called.
Per report from Mihai Giurgeanu <mihai.giurgeanu@gmail.com>.
|
|
is turned on.
Per report from Gregory Pruss.
|
|
applied to non-null characters.
|
|
|
|
|
|
Remove variables which work in conjunction with encstr(encoded_str) so as to avoid misleadingness.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removed some qlogs, changed some qlogs to MYLOG and added some qlogs.
|
|
logs a little easier to read using the macro MYPRINTF() which calls myprintf().
|
|
Use macro MYLOG instead of function mylog in preparation for later changes and unify mylog() and inolog() using level parameter.
Enable the compiler to check the format string against the parameter of mylog() by adding __attribute__((format(printf,.,.))) to the declaration of mylog(GCC only).
Using this mechanism, check and fix many discordances of parameters.
|
|
Also take multibyte characters into account in identifiers.
|
|
|
|
1. Remove PGAPI_Error() because it is no longer used.
2. The switch PODBC_ERROR_CLEAR for the last parameter of ER_ReturnError() is no longer needed and the 1st parameter was changed from PG_ErrorInfo ** to PG_ErrorInfo *.
3. The __error_message member of PG_ErrorInfo was changed to [1] to [40] in order to handle STMT_NO_MEMORY_ERROR.
|
|
1. Set the errornumber STMT_NO_MEMORY_ERROR if necessary.
2. There's a code which can forget QueryResults without calling QR_Destructor().
|
|
SAVEPOINT calls after read-only statements(queries).
Note that DECLARE command is not thought to be read-only because the cursor disappears when rolled back to a savepoint established before the DECLARE command.
|
|
Change the current sequence of operations
SAVEPOINT -> execute -> RELEASE
to
(RELEASE;)SAVEPOINT -> execute
.
Note that there are 2 risks to RELEASE an internal savepoint. One is to RELEASE the savepoint invalitated due to manually issued ROLLBACK or RELEASE. Another is to invalitate manual SAVEPOINTs unexpectedly by RELEASing the internal savepoint.
Currently *RELEASE* related stuff is #ifdef'd.
|
|
Give up to roll back 'internal' statements because the functionality is not effectively used.
Introduced 'external' instead of 'internal'.
|
|
Use SPRINTF_FIXED() or SPRINTFCAT_FIXED() where they are available.
|