- Throw SqlError on select query return false
- Catch
mysqli_sql_exception
when callingmysqli_real_connect
- Fix the preparation stage and make the function static.
- Fixed passing a closure in Utils::assumeNotFalse
- Fixed missing import
- Fixed missing import
- Support for PocketMine API 5
- Set
def
andfx
as composer bin for running from vendor
- Move
libasynql::detectPackaged()
call intolibasynql::create()
- Virion 3.0 support
- Virion 3.0 support
- Fixed queries not executing until the next sleeper wakeup
- Indicate query name in the "the variable is not used anywhere" error message
--gen
option infx
- await-generator support
- Fixed reconnection to MySQL
- Fixed $row arrays have no keys
- Fixed
$value
variable not updating in SQLite3 threads
There are no changes. The version was bumped by accident.
Delimiters update.
- Use
-- #&
to run multiple queries at once.
- All
executeXxxRaw
methods are removed. UseexecuteImplRaw
instead.
The next minor version after 3.3.1
- Show proper error message when passed resource sql files are not found
- Ability to set custom logger
- Fixed invalid resource filename
- Fixed SQL map size with 0 elements
- Compatibility with 4.0.0
The next patch version after 3.3.0
- Fixed binary string parameters in SQLite3
The next minor version after 3.2.1
- Usage of pmmp/Snooze instead of usleep to fix high CPU usage
- MySQL pings are now done before a query, if the connection is dead.
The next patch version after 3.2.0
- MySQL threads ping the server every 5 minutes when sleeping
The next minor version after 3.1.x
- Non-prepared dynamic query strings are now possible
- Uses
Thread::wait
instead ofusleep
in slave threads - Incorrect documentation in executeInsert
The next patch version after 3.1.0
- ExtensionMissingException is more colorful
- Slave connector threads no longer inherit classes from the main thread to reduce memory usage.
- Only
ini_set
changes and constants (and all builtin functions and classes) are inherited. - User classes will be loaded again on slave threads using the class loader.
- Only
3.1.0 (released 2018-07-27 15:49:08 UTC)
Contains minor changes with some externally-usable additions. Targets PocketMine API 3.0.0.
- Utility class:
CallbackTask
- Added
DataConnector->waitAll()
to wait for all pending queries to complete. Useful in onEnable() for initializing data.
- Injecting async trace into Error throwables now hacks with the reflections correctly
- Null variables can now be used without triggering "Missing required variable" error
- Deprecation of ServerScheduler
This is a total rewrite, with an entirely different infrastructure. AsyncTask is no longer used.
DataConnector
as an abstract wrapper for:GenericStatementFileParser
to load queries from a Prepared Statement File (PSF) into:GenericStatement
abstraction that formats prepared statements in different dialects- Supports MySQL dialect
- Supports SQLite3 dialect
SqlThreadPool
that manages slave connection threads using the same send/receive queueSqlSlaveThread
abstraction that connects to a database with different backends- Supports mysqli backend
- Supports SQLite3 backend
- A simple
libasynql::create($plugin, $config, $sqlMap)
method that initializes everything in a single call - The
libasynql.phar def
tool