Commit Graph

77 Commits

Author SHA1 Message Date
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 ae21baa41e.
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
Johannes Meyer bb285db05b Differentiate the source or destination of a column when converting values
refs #8826
2015-05-29 11:32:15 +02:00
Johannes Meyer 5e0ae6410b DbRepository: Consider a filter column without query context as a statement column
Feels wrong..somehow, but it works.

refs #8826
2015-05-29 08:02:12 +02:00
Johannes Meyer fd931e4232 RepositoryQuery: getQuery() might be called during prepareQueryColumns() 2015-05-28 14:26:48 +02:00
Johannes Meyer 08f8fe6f49 DbRepository: Add support for joining tables based on query/filter columns
refs #8826
2015-05-28 13:53:49 +02:00
Johannes Meyer 5326ce6bca DbRepository: Add support for table specific aliases
This was previously only possible for the base table and in case one wanted
to use table aliases in the query column definition for non-base tables as
well, it did not work well due to not being explicitly supported. Now, to use
such table aliases one must initialize DbRepository::tableAliases.

refs #8826
2015-05-28 13:44:51 +02:00
Johannes Meyer 647dd9d425 RepositoryQuery: Pass through the query when requiring a table or column
This allows now to adjust the query in custom repository implementations.

refs #8826
2015-05-28 13:25:26 +02:00
Johannes Meyer 23b7ab0764 DbRepository: Remove COLLATE from a query column in case of a pgsql connection
refs #8826
2015-05-27 11:47:18 +02:00
Johannes Meyer 237b50f953 RepositoryQuery: Ensure that we'll adjust a copy of a filter 2015-05-26 14:32:47 +02:00
Johannes Meyer fac2ebce80 RepositoryQuery: Fix handling of queries returning no results in fetchColumn()
refs #8826
2015-05-21 15:02:56 +02:00
Johannes Meyer 4833ff109c RepositoryQuery: Validate the table passed when calling from()
refs #8826
2015-05-21 15:01:13 +02:00