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_filecan 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_formatwill not result in an error anymore - improved/added some log messages
R40
- code-breaking changes:
- removed connection handle parameter from all cache functions
- added
MySQLtag to all connection handle parameters - removed redundant prefixes from enumerations (e.g.
LOG_ERROR -> ERROR) - moved
MySQL:handleparameter in functionsmysql_escape_string,mysql_statandmysql_get_charset(it's the last parameter now) - swapped places of parameters
password[]anddatabase[]in functionmysql_connect - moved all connection options from
mysql_connectto its own system (mysql_init_optionsandmysql_set_optionfor more information) - renamed
mysql_optiontomysql_global_options - removed
cache_get_data(usecache_get_*_count) - removed parameter
clearvarsinorm_delete(seeorm_clear_varsfor more information) - renamed
cache_get_rowtocache_get_value_index(_intand_floatlikewise) - renamed
cache_get_field_contenttocache_get_value_name(_intand_floatlikewise) - all
cache_get_*(e.g.cache_get_value_index_boolorcache_get_row_count) functions now return their value through a reference parameter instead of returning it directly - the
logtypeparameter inmysql_loghas 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
aandr) (aexpectsi/dafter 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_updateandorm_deletenow 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 isNULLcache_get_value_bool: returnsfalseif the value is 0, otherwisetruecache_get_valueoverloads: instead of calling e.g.cache_get_value_index_int(0, 0)one can now just omit theindex/namepart:cache_get_value_int(0, 0)(this will correctly translate to the former call)
same goes for all othercache_get_valuenatives (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_formatformats 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 syncerror when usingCALLstatements - bug-fix: cosmetic issue with the HTML log
R39-2
- fixed a bug in
mysql_formatwhere the float precision wasn't working correctly - increased max. precision from 6 to 9