Eric Lippmann
0a7a8d377e
Remove unnecessary import in the PivotTable
...
refs #9333
2015-08-18 13:34:14 +02:00
Johannes Meyer
bcdb670f5c
Introduce interface Icinga\Data\FilterColumns
...
refs #9029
2015-08-13 14:21:11 +02:00
Eric Lippmann
b0a75dd89b
lib: Fix PHPDoc in ConfigObject
2015-08-10 13:25:08 +02:00
Johannes Meyer
0695d5900c
Merge branch 'master' into feature/less-costly-count-queries-for-history-views-8615
2015-08-06 13:11:28 +02:00
Eric Lippmann
528382098e
db: Respect group by for count queries, really
...
Missed that Johannes introduced DbQuery::getGroup().
refs #9828
2015-08-06 10:46:40 +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
a0d5509f19
DbQuery: Drop attribute $maxCount
...
It's not used anywhere and completely useless the way it's implemented.
2015-08-05 10:54:14 +02:00
Eric Lippmann
064e821383
lib: Fix wrong count for queries having a group by clause
...
fixes #9828
2015-08-04 16:25:34 +02:00
Johannes Meyer
9a0e47a3e1
SimpleQuery: Add method hasResult()
...
refs #9632
2015-08-03 14:49:33 +02:00
Johannes Meyer
dbc2f98053
SimpleQuery: Initialize self::$iteratorPosition as late as possible
...
refs #9632
2015-08-03 14:09:55 +02:00
Johannes Meyer
99c69cc461
SimpleQuery: Add support for peek aheads
...
refs #9661
2015-07-31 13:51:39 +02:00
Johannes Meyer
16e54d3987
DbQuery: Be less error-prone while calling array_search
2015-07-31 11:05:23 +02:00
Eric Lippmann
9060e8a034
lib: Only call Icinga::app()->getRequest() for getting the request outside of a controller
...
Saves a call to getFrontController().
refs #9660
2015-07-30 14:02:44 +02:00
Johannes Meyer
cdc2182430
Introduce interface SortRules
...
refs #6644
2015-07-28 11:40:27 +02:00
Matthias Jentsch
a14da1c558
Make sure to log inspection messages into message log too
...
refs #9641
2015-07-27 09:44:07 +02:00
Thomas Gelf
727a2d7141
Paginator: relax requirements to Paginatable
...
* we need no full query interface here
* introduced new interface "Paginatable"
fixes #9483
2015-07-23 13:48:49 +02:00
Matthias Jentsch
f4054d575b
Add Inspection API to db connection
...
refs #9641
2015-07-16 15:29:45 +02:00
Matthias Jentsch
6b8e5da76d
Move all assertion functions into the inspect functions
...
Reduce code duplication and add class Inspection
refs #9630
2015-07-16 12:21:11 +02:00
Matthias Jentsch
276aa43aa2
Upgrdae Inspection API again
...
Do not use InspectionException any more to reduce complexity of nested inspections, but keep error states
in the Inspection object itself.
refs #9630
2015-07-15 18:39:09 +02:00
Matthias Jentsch
6762ef053e
Upgrade Inspection API
...
Reduce code duplication and stateffullnes by using InspectionException to indicate that an error was thrown, and only using one inspect function.
refs #9630
2015-07-15 17:51:18 +02:00
Matthias Jentsch
6599940e6c
Introduce Interface for inspecting ldap connections
...
refs #9605
2015-07-14 12:30:16 +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
ae21baa41e
Sortable: Allow to check for a particular sort rule
2015-06-26 14:54:15 +02:00
Johannes Meyer
56c506c8af
SimpleQuery: Do not report to have a limit if there is none
2015-06-26 14:21:09 +02:00
Johannes Meyer
98b01207cf
Show intersecting ok-states as well in the default servicegrid view
...
fixes #9360
2015-06-24 14:37:07 +02:00
Johannes Meyer
9595809dfa
SimpleQuery: Deep clone the filter when cloning the query
2015-06-24 14:33:11 +02:00
Johannes Meyer
c3ad7b211a
Ldap\Connection: Rename to LdapConnection
...
refs #8954
2015-06-24 09:05:29 +02:00
Johannes Meyer
6d48de6cf5
DbConnection: Do not accept configuration for table prefixes
...
fixes #9418
2015-06-22 13:32:34 +02:00
Johannes Meyer
d5ae135415
DbQuery: Add select() method to access self::$select publicly
2015-06-19 14:05:12 +02:00
Johannes Meyer
fb9641fb3c
Controller: Validate restriction columns
2015-06-18 16:43:20 +02:00
Johannes Meyer
1169793213
IdoQuery: Add prototype for dynamic GROUP BY clauses
2015-06-18 09:36:04 +02:00
Johannes Meyer
386447b847
DbQuery: Add getter for GROUP BY clauses
...
Allows to override this in a child to provide group by clauses not
until they are actually required.
refs #9009
2015-06-18 09:29:58 +02:00
Johannes Meyer
b8efe314a0
DbQuery: Ignore wildcard only filters
...
This increases query performance vastly, since LIKE '%' comparisons
prevent the dbms from utilizing an index.
2015-06-15 13:59:46 +02:00
Eric Lippmann
8cbb83d630
Merge branch 'master' into feature/monitoring-restrictions-9009
2015-06-05 15:29:16 +02:00
Eric Lippmann
ae78613443
lib: Add sub query mode to the DbQuery
...
refs #9009
2015-06-03 14:13:15 +02:00
Johannes Meyer
28a28a89d3
Merge branch 'master' into feature/user-and-group-management-8826
...
Conflicts:
library/Icinga/Data/SimpleQuery.php
2015-06-02 14:54:13 +02:00
Johannes Meyer
06fb6ff6fc
SimpleQuery: Re-add method paginate but flag it as deprecated
2015-06-02 14:47:29 +02:00
Johannes Meyer
119b2fdddb
DbQuery: Allow to join additional tables
...
This should just be the beginning of such additions, there is still a group(),
distinct(), etc missing..
2015-05-28 13:52:00 +02:00
Johannes Meyer
58d78f59f3
DbQuery: Initialize self::$select as early as possible
...
I'd like to use Zend's implementation instead of re-inventing the wheel just
because someone decided to only work with a copy of it in the frameworks
query but do exactly the opposite in the monitoring module's IDO query...
2015-05-28 13:49:36 +02:00
Johannes Meyer
ec556edc65
Merge branch 'master' into feature/user-and-group-management-8826
2015-05-26 09:28:35 +02:00
Johannes Meyer
54354b17bf
DbConnection: Replicate the fix for #9211
2015-05-26 09:26:55 +02:00
Eric Lippmann
83a6e85b5d
lib: Don't render empty filters to SQL
...
Else we are presented with syntax errors.
fixes #9211
2015-05-22 13:53:57 +02:00
Johannes Meyer
093857641a
DbConnection: Cast a queries count to integer forcefully
2015-05-20 09:30:23 +02:00
Johannes Meyer
fb07f0b94c
Merge branch 'master' into feature/user-and-group-management-8826
...
Conflicts:
library/Icinga/Authentication/Backend/LdapUserBackend.php
library/Icinga/Protocol/Ldap/Query.php
2015-05-19 14:14:03 +02:00
Johannes Meyer
f305a334d5
DbConnection: Drop param $columnIndex in fetchColumn(), it's unused
2015-05-19 09:48:20 +02:00
Johannes Meyer
cf989a0f7f
SimpleQuery: Implement interface Iterator to benchmark result iteration
2015-05-19 09:41:55 +02:00
Johannes Meyer
a1276fd709
Benchmark all queries by default, not only db queries
2015-05-19 09:41:18 +02:00
Johannes Meyer
7b6ca0826b
DbQuery: Let the DbConnection do the count query
2015-05-19 09:34:22 +02:00
Johannes Meyer
0e0341f78a
It's the connection which provides a cursor, not the query
2015-05-18 16:01:58 +02:00
Johannes Meyer
742dfcaf41
Revert "Fetchable: Add method fetch() which returns an iterator"
...
This reverts commit 7a6837de0e
.
2015-05-18 15:17:22 +02:00
Johannes Meyer
7a6837de0e
Fetchable: Add method fetch() which returns an iterator
2015-05-18 13:59:16 +02:00
Eric Lippmann
82ee1d6e60
Merge branch 'master' into bugfix/significant-whitespaces-8777
...
Conflicts:
library/Icinga/Web/Widget/FilterEditor.php
2015-05-18 13:35:28 +02:00
Johannes Meyer
524c449649
Merge branch 'master' into feature/user-and-group-management-8826
2015-05-18 11:28:07 +02:00
Johannes Meyer
130fea3146
Revert "Merge Queryable into QueryInterface"
...
This reverts commit ca5ef2da2b
.
A perfect example of a change as a result of being mentally deranged.
2015-05-18 11:25:02 +02:00
Johannes Meyer
fbf0ad4339
Drop interface Browsable
...
We're not required to handle objects of Zend_Paginator in any way, so
creating such as part of a query is not necessary since QueryAdapter
accepts any instance of QueryInterface. (gets enforced in the near future)
refs #8339
2015-05-15 14:37:41 +02:00
Johannes Meyer
ed5f646b6f
SimpleQuery: Implement interface IteratorAggregate
...
I'd like to foreach such.
2015-05-15 14:37:41 +02:00
Johannes Meyer
7d08dd2765
DbConnection: Adjust insert and update to support custom type definitions
...
This strips the custom insert and update implementataions in
DbUserBackend down so that it does not need to do such low level stuff...
refs #8826
2015-05-13 09:15:18 +02:00
Johannes Meyer
3aaa6d39a1
DbConnection: Make it possible to insert, update and delete table rows
...
refs #8826
2015-05-11 13:25:50 +02:00
Johannes Meyer
8690056e1c
Introduce interface Updatable
...
refs #8826
2015-05-08 15:18:56 +02:00
Johannes Meyer
2c1fac9da8
Introduce interface Reducible
...
refs #8826
2015-05-08 15:18:42 +02:00
Johannes Meyer
84f20ecb5f
Introduce interface Extensible
...
refs #8826
2015-05-08 15:18:28 +02:00
Johannes Meyer
16a7b010bc
SimpleQuery: Ignore limit and offset when counting
2015-05-06 10:41:39 +02:00
Johannes Meyer
cfa9176192
ArrayDatasource: use array_shift in fetchRow() instead of index access
...
Since associative arrays are supported, the numeric index 0 might not be
the first entry in the result.
2015-05-06 10:10:29 +02:00
Johannes Meyer
7b2ed3bef7
ArrayDatasource: Create a new result when counting
...
There is usually no limit and offset when a query is going to be counted
so the cached result must not be used.
2015-05-06 10:08:07 +02:00
Johannes Meyer
f2ad2838f4
ArrayDatasource: Apply a query's limit and offset when creating the result
2015-05-06 09:39:43 +02:00
Johannes Meyer
d63381c002
ArrayDatasource: Add missing and fix existing documentation
2015-05-06 09:12:48 +02:00
Johannes Meyer
b1cbc1422b
ArrayDatasource: Add support for associative arrays
...
Keys are now preserved in case a non-numeric one is found. By using
setKeyColumn() it is now also possible to map such a key to a specific
column of a row generated by createResult().
2015-05-06 08:40:02 +02:00
Johannes Meyer
5cc7f26728
ConfigObject: Extend ArrayDatasource
...
This makes it possible to use a ini file as repository!!!1
One thing is missing: Section names are currently ignored and should be
mapped to a virtual column.
refs #8826
2015-05-05 15:21:34 +02:00
Johannes Meyer
bd136d39f4
SimpleQuery: Make compare() alias aware
...
refs #8826
refs #7693
2015-05-05 07:31:50 +02:00
Johannes Meyer
d71df6a9b8
Revert "SimpleQuery: Make compare() alias aware"
...
This reverts commit 6612e4c1ae
.
2015-05-05 07:30:42 +02:00
Johannes Meyer
6612e4c1ae
SimpleQuery: Make compare() alias aware
...
refs #8826
refs #7693
2015-05-04 11:34:39 +02:00
Johannes Meyer
ecd059dec5
DbConnection: select() returns a DbQuery, not a Query
2015-05-04 11:13:38 +02:00
Johannes Meyer
e7789ed640
SimpleQuery: Rename unused property `table' to `target'
...
`target' is already in use, but was not declared. `table' was declared but not
used anywhere. So `table' is now `target'.
2015-05-04 11:12:43 +02:00
Johannes Meyer
ca5ef2da2b
Merge Queryable into QueryInterface
...
A *Query*Interface describes an object as being queryable, now.
refs #8826
2015-05-04 11:07:50 +02:00
Johannes Meyer
97caeb27f7
UserBackend: Add missing and fix existing method documentation
...
refs #8826
2015-04-21 13:59:35 +02:00
Eric Lippmann
45d1230b28
Merge branch 'master' into bugfix/significant-whitespaces-8777
2015-04-08 10:19:53 +02:00
Eric Lippmann
6e6aabedf2
Don't trim filter expressions
...
Leading and trailing whitespaces may be significant for comparison.
refs #8777
2015-04-08 09:31:11 +02:00
Alexander Klimov
967a2e82dc
Use (only) "@return $this" in fluent interfaces' documentation
2015-04-07 14:24:11 +02:00
Eric Lippmann
949438d753
lib: Add SimpleQuery::splitOrder() ...
...
... for supporting specifying the sort direction next to the column, e.g.
'service_display_name ASC'
refs #8716
2015-03-13 17:09:32 +01:00
Eric Lippmann
8563d5ed3f
PHPDoc: Use @var instead of @type
...
Becasue of too many kittens PSR-5 backed off of deprecating @var.
So that's the way we go too.
2015-03-12 16:08:47 +01:00
Eric Lippmann
760819f239
lib: Remove TreeNode::getIterator()
...
Its the tree who has the iterator.
refs #6630
2015-02-10 17:01:32 +01:00
Eric Lippmann
b18405e99f
lib: Add SimpleTree
...
Simple tree implementation for TreeNodes.
refs #6630
2015-02-10 17:00:47 +01:00
Eric Lippmann
fd38e5b2e1
lib: Use @inheritdoc in the TreeNodeIterator
...
refs #6630
2015-02-10 16:59:43 +01:00
Eric Lippmann
3a4c6e45b8
Fix Fatal error: Interface 'Identifiable' not found
...
refs #6630
2015-02-06 17:32:51 +01:00
Eric Lippmann
0d63e14baf
lib: Rename Node to TreeNode
...
refs #6630
2015-02-06 17:27:14 +01:00
Eric Lippmann
828cb8d23a
lib: Add iterator over a tree node's children
...
refs #6630
2015-02-06 17:23:07 +01:00
Eric Lippmann
f331c03f63
lib/tree: Save child nodes into an array instead of using SplDoublyLinkedList
...
refs #6630
2015-02-06 17:20:23 +01:00
Eric Lippmann
c8da05d0a7
lib: Remove NodeInterface
...
I'll create an iterator for nodes and drop that every node is a SplDoublyLinkedList.
refs #6630
2015-02-06 17:17:41 +01:00
Eric Lippmann
6bae2e0a53
Note that our license is GPL v2 or any later version in our license header instead of pointing to the license's URL
2015-02-04 10:52:27 +01:00
Eric Lippmann
5b4fab0750
Add license header
...
This time without syntax errors hopefully :)
2015-02-03 16:27:59 +01:00
Eric Lippmann
5fa2e3cfdc
Revert "Add license header"
...
This reverts commit 338d067aba
.
2015-02-03 16:16:26 +01:00
Eric Lippmann
338d067aba
Add license header
...
fixes #7788
2015-02-03 15:51:04 +01:00
Eric Lippmann
52c40bdc5b
lib/SimpleQuery: Increase default limit to 25
...
Please follow the referenced issues.
fixes #8337
refs #8339
2015-02-02 14:16:27 +01:00
Eric Lippmann
c53b1d27e9
lib: Deprecate Data\Filterable because of ...
...
addFilter and applyFilter do the same in all usages.
addFilter could be replaced w/ getFilter()->add().
We must no require classes implementing this interface to implement redundant methods over and over again.
The interface must be moved to the namespace Icinga\Data\Filter.
It lacks documentation.
2015-01-27 14:33:46 +01:00
Johannes Meyer
38957e340b
Fix that DbQuery::renderFilter produces invalid filters
...
fixes #7749
2014-11-20 11:58:22 +01:00
Johannes Meyer
7621f6642d
Adjust usages of Icinga\Application\Config
...
refs #7147
2014-11-18 13:11:52 +01:00
Johannes Meyer
0c84bf614d
Split config functionality into two classes
...
There is now Icinga\Application\Config as our ini configuration handler and
Icinga\Data\ConfigObject as our general configuration container.
refs #7147
2014-11-18 13:02:56 +01:00
Thomas Gelf
40c4562fe4
Data\SimpleQuery: don't fail on missing columns...
...
...for now
2014-11-16 18:24:16 +01:00
Thomas Gelf
b2a55f0998
Db\DbQuery: do not expose applyFilterSql
2014-11-16 17:09:51 +01:00
Thomas Gelf
5ea2f33efb
Db\DbQuery: add NOT LIKE support
2014-11-16 17:08:50 +01:00