Commit Graph

345 Commits

Author SHA1 Message Date
Alexander A. Klimov 809861cb53 FilterExpression: make case insensitive matching possible
refs #11051
2016-02-11 11:48:50 +01: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 dad9538496 Doc: Fix detection whether documentation is empty 2015-12-21 11:09:20 +01:00
Alexander A. Klimov d087ae2575 Make Service Grid working with host names that contain only digits
fixes #10790
2015-12-16 11:37:30 +01:00
Johannes Meyer 8dd1ad869f DbQuery: Mark method renderFilter() deprecated 2015-12-07 10:31:25 +01:00
Johannes Meyer 4f8b6ffeb3 DbConnection: Transfer DbQuery::whereToSql() updates to renderFilterExpression() 2015-12-07 10:31:10 +01:00
Johannes Meyer 5be48fc923 DbQuery: Do not call Zend_Db_Select::columns() unless it's necessary
This makes it possible to just use a DbQuery as "union container" without
ever calling from() on it.
2015-12-03 13:53:34 +01:00
Johannes Meyer 28cd9681c8 DbQuery: Add method union() 2015-12-03 13:50:01 +01:00
Johannes Meyer d7045a4c09 FilterExpression: Encode the expression when rendering the query string
fixes #10623
fixes #8713
2015-11-13 16:54:08 +01:00
Johannes Meyer a500937b7d Properly handle undefined configuration values
fixes #10597
2015-11-13 16:14:11 +01:00
Johannes Meyer 26e6acf9af ListController: Fix servicegrid grouping when applying group restrictions #2
PostgreSQL had still issues with it. Quickfix only, again.

refs #10316
2015-11-13 14:42:28 +01:00
Johannes Meyer d0ab001437 PivotTable: Fix axis queries if only one is being filtered
refs #10316
2015-11-13 11:44:00 +01:00
Johannes Meyer b182a31b90 DbQuery: Catch exceptions in __toString() 2015-11-12 16:32:29 +01:00
Johannes Meyer 6c07881466 FilterChain: Fix and document method listFilterColumns()
refs #10370
2015-11-10 13:16:40 +01:00
Johannes Meyer 1e35a17ec1 DbQuery: Support not equal comparisons with arrays 2015-11-05 15:49:15 +01:00
Thomas Gelf f88bd525f1 DbConnection: respect charset parameter
refs #10359
2015-10-27 13:21:35 +01:00
Johannes Meyer 65e7f7a8ca FilterExpression: Give the row a chance to dynamically return a value
refs #10304
2015-10-05 14:01:03 +02:00
Eric Lippmann 61357da35c Merge branch 'bugfix/group-by-9956'
fixes #9956
2015-10-01 23:05:27 +02:00
Johannes Meyer 7a8ac9796b ArrayDatasource: Make it cloning itself when creating a new query
Quickfix only. The actual issue is that the datasource caches indifferently
the result of the first evaluated query. This should be done by the query.
2015-09-28 12:26:33 +02:00
Eric Lippmann 5008537683 lib: Fix PHPDoc of SimpleQuery::getOrder() 2015-09-27 12:57:47 +02:00
Eric Lippmann 78989c0aad lib: Add SimpleQuery::clearOrder() 2015-09-27 12:56:48 +02:00
Johannes Meyer a55cced039 Merge branch 'master' into feature/custom-menu-items-5600
Conflicts:
	modules/monitoring/application/views/scripts/list/comments.phtml
	modules/monitoring/application/views/scripts/list/downtimes.phtml
2015-09-25 14:12:43 +02:00
Johannes Meyer 9042d55dd4 FilterExpression: Add support multi value columns in method matches()
refs #5600
2015-09-23 13:02:13 +02:00
Johannes Meyer e4e560ab1a FilterMatchNot: Do not re-invent the parents implementation of matches()
refs #5600
2015-09-23 13:01:08 +02:00
Johannes Meyer 939188be94 FilterMatch: Do not re-invent the parents implementation of matches()
refs #5600
2015-09-23 13:00:46 +02:00
Eric Lippmann 771efae1a2 lib/db: Allow to configure mssql resources
refs #9683
2015-09-07 16:20:37 +02:00
Eric Lippmann 4763b6b20a lib/db: Allow to configure persistent connections
refs #9683
2015-09-07 16:15:04 +02:00
Eric Lippmann 44c19fc5e6 lib/db: Allow to create oracle (pdo_oci) connections
refs #9683
2015-09-07 16:14:11 +02:00
Eric Lippmann a42c8d1f24 lib/db: Allow to create oci8 connections
refs #9683
2015-09-07 16:11:16 +02:00
Eric Lippmann e34c50bc91 lib: Fix PHPDoc of DbConnection::$dbAdapter 2015-09-07 14:43:13 +02:00
Eric Lippmann b6dc546fe5 lib: Fix PHPDoc of Filter::fromQueryString() 2015-09-07 13:21:48 +02:00
Eric Lippmann cf917b59f8 lib: Fix PHPDoc of DbConnection::getDbApdater() 2015-09-03 16:20:29 +02:00
Eric Lippmann e27d2e998b monitoring: Fix grouping and ordering of the service when using display names
refs #9538
refs #9333
2015-08-25 16:13:34 +02:00
Eric Lippmann c8790fad93 Merge branch 'bugfix/service-grid-display_name-9538' into bugfix/service-grid-grouping-postgres-9333
Conflicts:
	library/Icinga/Data/PivotTable.php
	modules/monitoring/application/controllers/ListController.php
2015-08-25 15:51:20 +02:00
Eric Lippmann 403f7016ca lib: Allow to set axis header columns in the pivot table
PivotTable::toArray() now returns the pivot data and the pivot header.

refs #9538
2015-08-25 14:46:23 +02:00
Eric Lippmann f2f1e12b8e Let PivotTable implement Sortable
refs #9333
2015-08-18 14:17:07 +02:00
Eric Lippmann d1f9c5ff0d Don't call setUseSubqueryCount() in the PivotTable
The query implementation handles this automatically.

refs #9333
2015-08-18 13:42:06 +02:00
Eric Lippmann d0f2887367 Fix PHPDoc indents in the PivotTable
refs #9333
2015-08-18 13:35:50 +02:00
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