Releases: pBlueG/SA-MP-MySQL
Releases · pBlueG/SA-MP-MySQL
R41-4
R41-3
update log-core to v0.4
If you're using the log plugin, make sure to update it to v0.4.
R41-2
R41
- new function
mysql_error
: retrieves the error message of the last unthreaded MySQL command - new function
mysql_tquery_file
: execute all queries from a file threaded mysql_query_file
can now return a cache with all results of executed queries- bug-fix: log levels are defined incorrectly
- bug-fix: crash when an empty string value is passed to a callback
- bug-fix: log calls from natives don't work when PAWN debug information aren't available
- bug-fix: curly braces in debug log arguments crash the plugin
- log level changes are now always logged
- escaping empty strings in
mysql_format
will not result in an error anymore - improved/added some log messages
R40
- code-breaking changes:
- removed connection handle parameter from all cache functions
- added
MySQL
tag to all connection handle parameters - removed redundant prefixes from enumerations (e.g.
LOG_ERROR -> ERROR
) - moved
MySQL:handle
parameter in functionsmysql_escape_string
,mysql_stat
andmysql_get_charset
(it's the last parameter now) - swapped places of parameters
password[]
anddatabase[]
in functionmysql_connect
- moved all connection options from
mysql_connect
to its own system (mysql_init_options
andmysql_set_option
for more information) - renamed
mysql_option
tomysql_global_options
- removed
cache_get_data
(usecache_get_*_count
) - removed parameter
clearvars
inorm_delete
(seeorm_clear_vars
for more information) - renamed
cache_get_row
tocache_get_value_index
(_int
and_float
likewise) - renamed
cache_get_field_content
tocache_get_value_name
(_int
and_float
likewise) - all
cache_get_*
(e.g.cache_get_value_index_bool
orcache_get_row_count
) functions now return their value through a reference parameter instead of returning it directly - the
logtype
parameter inmysql_log
has been removed; there is no HTML-logging anymore - all y_inline support code has been outsourced, see samp-mysql-yinline-include
cache_set_active(Cache:0)
doesn't unset the active cache, seecache_unset_active()
- removed
mysql_reconnect
- removed
mysql_current_handle
- major system changes:
- stored cache results are now handled globally, not per-connection (as before); that means you can now share stored results between filterscripts and gamemodes
- the plugin doesn't force-auto-reconnect now (background: the plugin stored the login credentials internally to basically perform a disconnect and immediate connect on specific error cases; now the plugin doesn't store any credentials anymore)
- all natives now indicate their execution status through their return value (e.g. return 1 on success, 0 on failure)
- new features:
- support for multiple result sets
- support for passing arrays and references to result callbacks (format specifier
a
andr
) (a
expectsi
/d
after itself to provide the array size; the size format specifier is also passed as a callback argument) - brand new logging system:
- automatic detection of debug info (compiled with
-d2
/-d3
): if the log system detects any debug information within the script, plugin native logs will have the script file name and line number displayed within the according log line - threaded logging: the new log system is now completely threaded and crash-safe, resulting in a faster logging experience (especially when logging with all log levels enabled)
- third-party compatible: other plugin authors can incorporate this new logging system into their plugins and take advantage of fast, safe and managed text logging
- automatic detection of debug info (compiled with
- ability to create SSL-encrypted connections
orm_update
andorm_delete
now accept callbacksmysql_query_file
: send unthreaded queries from a .sql filemysql_connect_file
: create a connection handle using a file (which has all the credentials and options stored in an INI-like format)orm_clear_vars
: sets all registered variables to 0cache_is_value_null
: returns true if the value isNULL
cache_get_value_bool
: returnsfalse
if the value is 0, otherwisetrue
cache_get_value
overloads: instead of calling e.g.cache_get_value_index_int(0, 0)
one can now just omit theindex
/name
part:cache_get_value_int(0, 0)
(this will correctly translate to the former call)
same goes for all othercache_get_value
natives (andcache_is_value_null
)cache_get_field_type
: returns the type of a fieldcache_unset_active
: unsets the active cache
R39-6
- queries are now printed in some places alongside errors/warnings (#105)
- log levels enum has been renamed to ensure compatibility to the samp-log plugin
- bug-fix: negative float values near zero with enabled precision are not correctly formatted
- bug-fix: connections were disconnected twice, which resulted in a warning (#91)
- added date to log messages
R39-5
- bug-fix:
mysql_format
formats special negative floats with precision wrong (issue #90) - bug-fix: query result processing is skipped on ORM-generated queries when no callback is specified (issue #80)
- bug-fix: plugin crashes on rare occasions when an internal MySQL query result row is copied (possibly issue #57, #73)
- minor fix in
orm_delete
- queries generated by the ORM system are now printed as debug information
R39-4
R39-3
- bug-fix: incompatibility with plugins using the sampgdk, where callbacks sometimes aren't called
- bug-fix: MySQL client reported
out of sync
error when usingCALL
statements - bug-fix: cosmetic issue with the HTML log
R39-2
- fixed a bug in
mysql_format
where the float precision wasn't working correctly - increased max. precision from 6 to 9