137 Commits

Author SHA1 Message Date
Johannes Meyer
64f13f0512 DbRepository: Handle columns of type Zend_Db_Expr #2 2015-12-07 09:55:25 +01:00
Johannes Meyer
0d1d3c3b8f DbRepository: Handle columns of type Zend_Db_Expr 2015-12-04 08:22:48 +01:00
Johannes Meyer
43848989ae RepositoryQuery: Add method __toString() 2015-12-03 13:54:48 +01:00
Johannes Meyer
acf732e760 RepositoryQuery: Add method __clone() 2015-12-03 13:54:38 +01:00
Johannes Meyer
dc7756c599 DbRepository: Fix that PostgreSQL queries do not apply LOWER on order cols
refs #10364
refs #9955
2015-11-12 09:13:46 +01:00
Johannes Meyer
439fc28d0f DbRepository: Add missing use statement for class FilterExpression
refs #10364
2015-11-12 08:23:35 +01:00
Johannes Meyer
d2b8ed243f Repository: Accept parameter $filter in method requireFiltercolumn()
This allows to adjust more than the name of the column if necessary.

refs #10364
2015-11-11 16:05:54 +01:00
Johannes Meyer
22f966db43 DbRepository: Fix that PostgreSQL queries use LOWER() on non-CI columns
refs #10364
refs #9954
2015-11-11 15:06:18 +01:00
Johannes Meyer
cf193f2c1b RepositoryQuery: Initialize property $query before requiring a new table
Since $this gets passed to Repository::requireTable() it may be possible
that some repository tries to access the underlying native query so we
need to ensure that we're able to actually provide it.

refs #10567
2015-11-11 12:48:01 +01:00
Johannes Meyer
6551a86d4d LdapRepository: Drop method isAmbiguous() and introduce isRelatedDn()
refs #10567
2015-11-09 11:40:30 +01:00
Johannes Meyer
ff61b8e696 Repository: Fix that conversion rules for statements are applied on queries..
..when calling RepositoryQuery::addFilter().
2015-11-05 14:07:54 +01:00
Johannes Meyer
dd069288e9 DbRepository: Do not attempt to join virtual tables multiple times 2015-11-04 15:59:40 +01:00
Johannes Meyer
48e6bdd6ce RepositoryQuery: Fix that the query is not passed as context in fetchAll() 2015-11-03 14:42:32 +01:00
Johannes Meyer
477af43a2f RepositoryQuery: Properly handle custom aliases when applying value conversion rules 2015-11-03 14:42:32 +01:00
Johannes Meyer
71c5fd0bf7 DbRepository: Take virtual columns into consideration when applying aliases 2015-11-02 17:07:02 +01:00
Johannes Meyer
5db8d08729 Repository: Fix that column normalisation is not applied by requireAllQueryColumns() 2015-10-30 15:36:48 +01:00
Johannes Meyer
5dfaa89440 Repository: Pass some more details to conversion methods 2015-10-30 15:35:41 +01:00
Johannes Meyer
a60ad3ecf0 DbRepository: Return the number of affected rows for cud operations 2015-10-30 15:34:57 +01:00
Johannes Meyer
df7a2ee0a9 Repository: Add native support for virtual table names 2015-10-30 15:34:19 +01:00
Johannes Meyer
58fc87b2e5 Repository: Ensure that we'll internally only work with virtual table names
refs #10367
2015-10-16 14:46:44 +02:00
Johannes Meyer
7ef76932d4 DbRepository: Validate the table when inserting, updating and deleting 2015-10-16 12:36:47 +02:00
Johannes Meyer
d7655972ed LdapRepository: Add method isAmbiguous()
refs #9950
2015-09-28 10:56:15 +02:00
Johannes Meyer
e1aab183e3 LdapRepository: Add a bunch of additional well known attribute names 2015-09-28 10:55:41 +02:00
Johannes Meyer
59e7731efb RepositoryQuery: Implement interface FilterColumns
refs #9029
2015-08-13 14:21:39 +02:00
Johannes Meyer
38622e96d5 Repository: Allow implementations to provide search columns
refs #9029
2015-08-13 14:20:21 +02:00
Johannes Meyer
4b6849eea7 Repository: Introduce query column blacklists
We can no longer use $filterColumns to blacklist query columns so
there is now another set of column names required to achieve this.

refs #9029
2015-08-13 14:06:27 +02:00
Johannes Meyer
7662545c2a SimpleQuery: Provide a getter for the current iterator position
refs #8615
2015-08-06 09:39:23 +02:00
Johannes Meyer
9a0e47a3e1 SimpleQuery: Add method hasResult()
refs #9632
2015-08-03 14:49:33 +02:00
Johannes Meyer
99c69cc461 SimpleQuery: Add support for peek aheads
refs #9661
2015-07-31 13:51:39 +02:00
Johannes Meyer
fe41d312ca RepositoryQuery: Do not bypass the query's own iterator
refs #9661
2015-07-31 13:12:41 +02:00
Johannes Meyer
d0dd4b09a0 Repository: It's "sort rules" in general, not "default sort rules" 2015-07-28 11:42:13 +02:00
Johannes Meyer
05af310e4c RepositoryQuery: Implement interface SortRules
refs #6644
2015-07-28 11:41:07 +02:00
Johannes Meyer
caca219aa1 DbRepository: Consider table aliases while handling statement columns
Usually not required as there are no aliases for statements possible
but since we cannot differentiate everywhere what type of column
we're processing it is safer to always handle such.

fixes #9553
2015-07-03 13:06:10 +02:00
Johannes Meyer
cfd43f251e Revert "Sortable: Allow to check for a particular sort rule"
This reverts commit ae21baa41e55e50774b4e7d42e24686bf231c25f.
2015-06-26 15:13:46 +02:00
Johannes Meyer
0fc8e6046c RepositoryQuery: Update sort order when converting sort rules in fetchAll 2015-06-26 15:13:31 +02:00
Johannes Meyer
0bcf7907d4 RepositoryQuery: Optimize value conversion in fetchColumn & -Pairs 2015-06-26 15:11:15 +02:00
Johannes Meyer
ae21baa41e Sortable: Allow to check for a particular sort rule 2015-06-26 14:54:15 +02:00
Johannes Meyer
9055eb9cb7 RepositoryQuery: Do not sort by converted columns for limited queries
A limited query with conversion rules makes it impossible to sort
the result.
2015-06-26 14:24:03 +02:00
Johannes Meyer
5d3eb5e8cb Repository: Allow to check for conversion rules of a specific column 2015-06-26 14:20:35 +02:00
Johannes Meyer
4ba84903f1 Repository: Accept already resolved columns as well
If a column was aliased, one was required to use the alias when
selecting, sorting or filtering. This is now not necessary anymore
as it's now possible to use the actual column name as well.
2015-06-26 13:07:21 +02:00
Johannes Meyer
ca112af9ad RepositoryQuery: Allow to ignore any default sort rules 2015-06-25 15:49:09 +02:00
Johannes Meyer
c3ad7b211a Ldap\Connection: Rename to LdapConnection
refs #8954
2015-06-24 09:05:29 +02:00
Johannes Meyer
e65cf954e6 LdapRepository: Add normed attribute `gid'
refs #7343
2015-06-03 16:08:29 +02:00
Johannes Meyer
86c63ec913 Introduce class LdapRepository
refs #7343
2015-06-03 15:28:07 +02:00
Johannes Meyer
e0c0e9c874 LdapUserBackend: Move function retrieveGeneralizedTime into its parent
refs #7343
2015-06-03 14:36:46 +02:00
Johannes Meyer
beb5bd7370 Repository: Clone a filter implicitly in self::requireFilter($clone = true)
refs #8826
2015-06-01 15:03:08 +02:00
Johannes Meyer
c8e8a39f5a DbRepository: Relax check in providesValueConversion()
Would otherwise conflict when tables are joined in.

refs #8826
2015-05-29 11:58:21 +02:00
Johannes Meyer
cc779024fe Repository: providesValueConversion() should not be required being called
refs #8826
2015-05-29 11:57:38 +02:00
Johannes Meyer
b82d7d7cc0 DbRepository: split() is deprecated, use explode() instead
Why php, why? :'(

refs #8826
2015-05-29 11:37:42 +02:00
Johannes Meyer
3959dc27d7 Repository: Do not return filter columns when requiring all query columns
I really wonder why I did not notice this until now...

refs #8826
2015-05-29 11:36:08 +02:00