Closed k00ni closed 6 years ago
I updated the list above and created issues/notes in on of the projects (https://github.com/semsol/arc2/projects). Its a proposal how we should progress, but i would love to hear feedback.
I extended .travis.yml, so that our tests run against the following database backends:
This extends the length of the test job to finish significantly (~22 min. total time), but a huge benefit is that we can see if there are any errors with a certain combination of PHP and a database backend.
You can checkout the latest changes in the 2.4 branch: https://github.com/semsol/arc2/tree/2.4
Small update:
I extended the code coverage for Store related code to a point, where all mysqli calls should be covered. Soon i will start porting these mysqli calls to PDO.
Small update:
I got some setbacks because of the tight coupling between ARC2 and mysqli. The current state is, that with some kind of proxy class i was able to decouple them far enough. There are only a few parts which need further investigation, because they depend on mysqli code and changes lead to errors in the test suite.
Build status: https://travis-ci.org/semsol/arc2/builds/389354615
Adapter approach to use PDO and mysqli is nearly finished. Whats left is the adaption of the test environment to run (most of the) tests against all adapters.
@semsol: Can you please add this repo to coveralls.io? It would help tremendously to see code coverage. (#112)
Ok, latest changes are in, release 2.4 seems ready and i am only waiting for the travis test suite to finish: https://travis-ci.org/semsol/arc2/builds/392194249
I had to postpone transaction support for PDO, because it requires the tables to be of type InnoDB. Currently its MyISAM, which has no transaction support. Using transactions with PDO will not result in an error (functions will work and return true), but nothing will happen to the database in case of an error. To avoid confusion, i moved it to 3.0 release.
Pull request for the release created: #113, final discussion should happen there.
I am using ARC2 for my business (only the Store) and would like to keep it, instead of using Virtuoso/Stardog. It just works and costs me no license fees (or requires me to rent/maintain a server). But seeing the code un-maintained kept me thinking about writing my own implementation or improving this one. I chose the last one.
I am sure changing the Store implementation as well as keeping it stable will be a huge task. My business is built on ARC2, therefore i have some real life cases i can test against. Nevertheless, it would be very helpful to get feedback from as many people as possible about which parts of the Store are used. Is it only the query function (for SPARQL 1.0/1.1)? The dump function? Even RemoteStores? I am sure there are users out there, who still enjoy ARC2 :)
In my spare time i would like to focus on the major parts and these are Store related. Here is my rough agenda:
mysqli_*
calls)doc
folder) with the latest information about SPARQL support. Besides, a new (still basic) filedeveloper.md
contains information for people, who want to have a deeper look into ARC2 internals.add transaction support - see #110moved to 3.0 release, because current table engine MyISAM does not support transactions. Will need InnoDB. See #110 for more detailsBreaking Backward Compatibility:remove ARC2::inc and other static calls to make code more testable (may include using DI) - see https://github.com/semsol/arc2/projects/3introduce Namespaces - see https://github.com/semsol/arc2/projects/3replace MyISAM with InnoDb as database engine - see https://github.com/semsol/arc2/projects/3What you guys think? @semsol