Pyexasol

Latest version: v0.25.2

Safety actively analyzes 638379 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

0.12.0

Not secure
- Added `.meta` sub-set of functions to execute lock-free meta data requests using `/*snapshot execution*/` SQL hint;
- Deprecated some `.ext` functions executing queries similar to `.meta` (code remains in place for compatibility);
- Added connection option `connection_timeout` in addition to existing option `socket_timeout`. `Connection_timeout` is applied during initial connection only and `socket_timeout` is applied for all other requests, including actual login procedure.
- Reworked error handling for HTTP transport to take care of even more complex failure scenarios;
- Reworked internals of SQL builder for IMPORT / EXPORT parameters;
- `ExaStatement` should now properly release result set handle after fetching and object termination;
- Removed `weakref`, it was not related to previous garbage collector problems;
- Renamed previously added `.connection_time` to `.login_time`, which is more accurate name for this timer;
- Query text length in `ExaQueryError` exception is now limited to 20k characters to prevent logs from bloating;
- Fixed `open_schema` function with `quote_ident=True`;
- `.last_statement()` now always returns last `ExaStatement` executed on this connection. Previously it was skipping technical queries from `ExaExtension` (.ext);

0.11.2

Not secure
ExaConnection

- Added option `client_os_username` to specify custom client OS username. Previously username was always detected automatically with `getpass.getuser()`, but it might not work in some environments, like OpenShift.

0.11.1

Not secure
ExaConnection

- Added `.connection_time` property to measure execution time of two login requests required to establish connection.

0.11.0

Not secure
ExaConnection

- Reworked `close()` method. It is now sending basic `OP_CLOSE` WebSocket frame instead of `disconnect` command.
- Method `close()` is now called implicitly during destruction of `ExaConnection` object to terminate IDLE session and free resources on Exasol server side immediately.
- `ExaFormatter`, `ExaExtension`, `ExaLogger` objects now have [weak reference](https://docs.python.org/3/library/weakref.html) to the main `ExaConnection` object. It helps to prevent circular reference problem which stopped `ExaConnection` object from being processed by Python garbage collector.
- Connection will be closed automatically after receiving `WebSocketException` and raising `ExaCommunicationError`. It should prevent connection from being stuck in invalid state.

0.10.0

Not secure
PyEXASOL code improvements

- Reworked script output code and moved it into `pyexasol_utils` module. The new way to start script output server in debug mode is: `python -m pyexasol_utils.script_output`. Old call will produce the RuntimeException with directions.
- Removed `.utils` sub-module.
- Renamed `pyexasol_utils.http` into `pyexasol_utils.http_transport` for consistency.

ExaConnection

- Fixed bug of `.execute_udf_output()` not working with empty `udf_output_bind_address`.
- Added function `_encrypt_password()`, logic was moved from `.utils`.
- Added function `_get_stmt_output_dir()`, logic was moved from `.utils`. It is now possible to overload this function.

0.9.2

Not secure
ExaExtension

- Metadata functions (starting with `.ext.get_sys_*`) are now using `/*snapshot execution*/` SQL hint described in [IDEA-476](https://www.exasol.com/support/browse/IDEA-476) to prevent locks.

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.