Commit Graph

96 Commits

Author SHA1 Message Date
Johannes Meyer 124fb848a0 Repository: Fix column caches² 2016-08-18 15:40:20 +02:00
Johannes Meyer bd4f21df11 Repository: Fix column caches 2016-08-18 15:30:47 +02:00
Johannes Meyer ccb8bcc6e3 Repository: Allow for some more fine-grained control
Filter columns, search columns and sort rules can now be returned
dependent on a query's current target
2016-08-18 13:36:09 +02:00
Markus Frosch e9681de388 RepositoryQuery: Avoid cloning sub-objects when they are null
fixes #12078
2016-06-30 13:16:05 +02:00
Markus Frosch dfa77b2b2f IniRepository: Avoid using iterator_to_array with ArrayDatasource
While iterating ConfigObject/ArrayDatasource will not rewrite the section header into a row value as keycolumn.

In addition we now properly use the filter.

refs #12065
2016-06-28 16:21:06 +02:00
Johannes Meyer 28c024c037 Repository: Properly handle non-aliased columns 2016-04-21 10:10:24 +02:00
Alexander A. Klimov 474803fee4 Change all license headers to only reflect a file's year of creation
refs #11000
2016-02-08 15:41:00 +01:00
Eric Lippmann 7fd575080e PHP7: Rename String to StringHelper
refs #10251
2016-01-27 16:46:55 +01:00
Johannes Meyer d527ac2717 DbRepository: Handle columns of type Zend_Db_Expr #3 2015-12-07 12:06:27 +01:00
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 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