Add next-generation SQL Share driver.
authorJan Schneider <jan@horde.org>
Fri, 14 Jan 2011 22:16:47 +0000 (23:16 +0100)
committerJan Schneider <jan@horde.org>
Fri, 14 Jan 2011 22:50:53 +0000 (23:50 +0100)
commitc731bcace9f8d5568cf6088c3a3f9c33beb84ce3
tree9fee3aa59837c7823f567012165aea05e45ff04d
parentfbd935220b562c7ec17c6869b6d4cb438abdc3ec
Add next-generation SQL Share driver.

It doesn't use any bitmasks anymore that can't be indexed in MySQL. Each
permission is a boolean column instead. User and group permissions are
no longer retrieved with a LEFT JOIN but in separate queries. This is by
far outweighed by the performance improvement which is about factor 25
for MySQL and PostgreSQL using the stress test scenario.
16 files changed:
.gitignore
framework/Share/lib/Horde/Share/Base.php
framework/Share/lib/Horde/Share/Object/Sql.php
framework/Share/lib/Horde/Share/Object/Sqlng.php [new file with mode: 0644]
framework/Share/lib/Horde/Share/Sql.php
framework/Share/lib/Horde/Share/Sqlng.php [new file with mode: 0644]
framework/Share/package.xml
framework/Share/test/Horde/Share/Sqlng/Base.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/MysqlTest.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/MysqliTest.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/Pdo/MysqlTest.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/Pdo/PgsqlTest.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/Pdo/SqliteTest.php [new file with mode: 0644]
framework/Share/test/Horde/Share/Sqlng/Pdo/conf.php [new symlink]
framework/Share/test/Horde/Share/migration/sqlng.php [new file with mode: 0644]
framework/Share/test/Horde/Share/stress-test