Full Changelog: https://github.com/semsol/arc2/compare/3.0.1...3.1.0
Full Changelog: https://github.com/semsol/arc2/compare/3.0.0...3.1.0
ARC2_Class::queryDB(...), because it relied on outdated mysqli usage.getServerInfo(); changed getServerVersion() to use SQL select version() to get DB server versioncomposer.json. For instance, removed symfony/cache.db_con in ARC2 configuration was removed. It used to hold the mysqli connection.Full Changelog: https://github.com/semsol/arc2/compare/2.5.1...3.0.0
Maintenance release.
Thank you @cbinding and @patrickmcsweeney for your contributions!
Highlights:
getURIPartsFromURIAndPreviousURIParts in ARC2_Reader)docker)db_adapter was set to mysqli (not supported, only for PDO)Related project: https://github.com/semsol/arc2/projects/4
After years, ARC2 got some love recently! With this release we started improving the RDF store by implementing a sufficient test coverage first and added new features afterwards, like PDO support. This way we should kept backward compatibility. If you still get errors using the RDF store, please open a new issue.
Summary:
joshcam/mysqli-database-class to interact with mysqli. It provides a nice helper class which makes live easier, when working with mysqli.Tests were added which focus RDF Store related code. Parts about controlling DB processes are not fully covered. Also, direct interaction with the DB backend (e.g. killing DB processes) is not recommended and support will be removed in a future release. SPARQL Endpoint code is also not tested.
We had to change some internals, which may lead to a change in known behavior. If you only rely on the highest level of functions, the following changes shall not be of your concern:
ARC2_Class::getDBObjectFromARC2Class to get the current DB adapter and use its functions instead (see src/ARC2/Store/Adapter/AbstractAdapter). They provide helper functions to get exactly one row (fetchRow) or a row list (fetchList).$unnamed_label somehow, but it was not possible to create a case, when it will be used. We assume it is not required or only in rare cases?!Add the field db_adapter with pdo to your database configuration, like:
$dbConfig = [
// ...
'db_adapter' => 'pdo',
'db_pdo_protocol' => 'mysql',
];
$store = ARC2::getStore($dbConfig);
// $store uses PDO to access the database
We wanted to keep backward compatibility in the 2.x branch for as long as possible. This means, supporting PHP 5.3 and newer. Even if officially PHP 5.6+ is required, version 2.3.1 and below claims to run on PHP 5.3.
Summary:
store folderCode related to MySQL 4.x was removed and with that the support for MySQL 4.x. This major release is over 10 years old and receives no updates/fixes from Oracle or the community. Based on the MySQL EOL Notice, support for MySQL 4.1 ended in 2009.
The following changes break the internal API, but should not be of your concern, because its very likely that you don't use these classes or functions. If you do and this breaks your stuff, please create new issue here.
$er, $con, $sql = '' to $er, $sql = ''. Parameter $con was removed due new DBS layer.mysqli as DB adapter. If you use something else, related functions will NOT return expected data and some internal array values maybe unset (e.g. ->a). Attached to the underlying DB makes it impossible to replace the adapter, therefore further decoupling.How can I help you explore Laravel packages today?