DrNemo, thanks for coming back and answering my questions. In return, I've taken the time to download your package and take a look at the documentation. While some of it's a little obtuse (I didn't understand the stored procedures explanation at all), it looks like your product, at the very least, is interesting. I haven't had time to actually try it out, but overall, the examples in the documentation are helpful in getting a 'feel' for it. I like the object-oriented manner in which you've implemented SELECT, INSERT, etc. I might try it out later today and see how it performs, if at all, when given a few thousand rows. In response to a few more specific issues:
3. In my tests queries fetched 20-30 rows with sort was done in 0/1 seconds. Naturally it always depends form hardware and count of current tasks etc.
But how does it perform when given a thousand rows? Or ten thousand? Does it hold up under stress? And how does it cope with several concurrent connections? What happens when two users try to manipulate the same database simultaneously?
8. SQLite is wrote in C - NemoDB in PhP -it's the main feature to use it in web development.
But SQLite's main feature is
also that it's meant for use in web development. And SQLite is going to be bundled by default in all subsequent versions of PHP (for the forseeable future, at least), so 90% of users will have it. What advantage does your package present over SQLite, other than that it's available "now" rather than "soon"? (Note: SQLite
is available now, but requires a recompile for most users, and many users are not able to do this.)
Lastly, I took a peek at your code, and while it's refreshingly clean, it appears to completely lack inline comments. Without inline comments, it's going to be near-impossible for other developers to expand up, if that is your intention. Also, you appear to capitalize the first letter of every function, which is nonstandard usage. It works (PHP is case-insensitive), but it's not recommended -- if you read the PHP documentation, you'll notice that not a single function name is capitalized.