Thomas Gelf
db3accc704
Data\Db: rename Query and Connection to Db...
...
Class names in namespaces should not be chosen as once we didn't have
such. The fact that we already did "use Db\Connection as DbConnection"
is the best hint that naming was wrong.
So this patch renames Db\Connection to Db\DbConnection and does the
same with DbQuery. DbQuery has been adjusted to fit our new SimpleQuery
and to handle the new Filter implementation.
2014-06-06 06:43:13 +00:00
Thomas Gelf
1fbca25d99
Data\DataArray: use SimpleQuery and new interfaces
...
Removed ArrayQuery implementation as SimpleQuery is enough here.
Renamed the Datasource class to ArrayDatasource.
refs #6418
2014-06-06 06:21:35 +00:00
Thomas Gelf
31047e8082
Data\SimpleQuery: concrete implementation
...
SimpleQuery is no longer abstract, implements the Filterable interface
and should now be usable as a basic Query implemenation as is.
2014-06-06 06:12:17 +00:00
Thomas Gelf
85605597cc
Data/interfaces: add Filterable, extend Connection
...
New interface ConnectionInterface attempts to aggregate things.
Extended Filterable interface, added Filter-related functions. Please
note that apply will probably get dropped later on, I'll keep it for
compatibility reasons right now.
refs #6418
2014-06-06 06:07:33 +00:00
Thomas Gelf
f438cb30e1
Data\Filter: initial commit basic implementation
...
Basic operators are there, still missing: subclassed "where" to distinct
comparison operators like greater/less than on a class level.
refs #6418
2014-06-06 06:04:24 +00:00
Thomas Gelf
d44a87717d
Data\SimpleQuery: implement column handling
...
We want SimpleQuery to be able to run standalone
2014-06-06 05:49:39 +00:00
Thomas Gelf
4b8e09b12a
Data\SimpleQuery: get front controller without ZF
2014-06-06 05:48:29 +00:00
Thomas Gelf
12b57c6d95
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
modules/monitoring/library/Monitoring/Controller.php
2014-05-20 23:15:11 +00:00
Thomas Gelf
e6d80ae1f6
IDO Queries: performance quickfixes
...
Will be obsoleted by the new filter implementation, but for now it
helps a little bit
2014-05-20 13:27:58 +00:00
Thomas Gelf
820b6b7a8d
Data\BaseQuery: rename to Data\SimpleQuery
...
BaseQuery should no longer be abstract but be usable as is as soon as
we stripped ResultSet-specific tasks. As "Base" suggests something that
must be extended, the name no longer fits. So this is SimpleQuery right
now.
2014-05-07 11:55:35 +00:00
Eric Lippmann
ecbd9b8616
Sortable: Fix PHPDoc for parameter `$direction'
...
`$direction' must be a string instead of an integer because
the direction constants `SORT_ASC' and `SORT_DESC' are strings.
2014-05-07 10:00:41 +02:00
Eric Lippmann
d87788b9c1
Merge branch 'master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
2014-05-06 18:45:12 +02:00
Matthias Jentsch
085025ba7d
Icingaweb shoul work without optional extensions when they are not used
...
When optional classes and php extensions like pgsql and additonal Zend-Pdos are
actually required by creating a new resource or authentication backend,
perform a check and display a warning instead of just throwing an exception.
refs #4788
2014-04-28 17:13:40 +02:00
Johannes Meyer
aaa6a56146
Refactor authentication config form tests and fix auth backend validation
...
refs #6011
fixes #5712
2014-04-28 14:06:38 +02:00
Eric Lippmann
026145356b
Add interface "QueryInterface" implementing Browsable, Fetchable, Filterable, Limitable, Sortable, Countable (WIP)
...
This interface is intended to be used within the data views and monitoring controllers. The monitoring list
and show controllers should only query data views instead of the actual query. Thus a data view is required to
implement the QueryInterface, which will be changed later.
The name is not final because it somehow conflicts with the Queryable interface which is also marked as work in progress.
2014-04-17 14:21:01 +02:00
Eric Lippmann
8532622fab
Db: Implement missing fetch*() functions on connection level
...
The BaseQuery forwards fetch*() function calls to its datasource with the
query as first parameter since the datasource implements the actual fetching functionality.
There's no interface for fetch*() functions on the datasource level yet.
2014-04-15 17:44:34 +02:00
Eric Lippmann
e525688383
Replace DatasourceInterface with Selectable
2014-04-15 17:43:45 +02:00
Eric Lippmann
1a2577dd47
Db/Connection: Replace getConnection() with getDpAdapter()
...
For readability getConnection() is deprecated in favor of getDpAdapter()
since Db/Connection is already the connection.
2014-04-15 17:37:44 +02:00
Eric Lippmann
c85ade39c0
Create count and select database queries separately
...
The previous implementation always created both the count
and the select query.
For readability the property baseQuery has been renamed to select which the
IDO queries must take into account.
2014-04-15 17:21:10 +02:00
Eric Lippmann
d94170372d
Let the BaseQuery implement the query interfaces and remove filter functionality
...
This commit breaks the application as it introduces incompatible changes which
will be adopted bit by bit.
Since the filter functionality is subject to change it's removed from the BaseQuery.
The functions setOrderColumns() and getOrderColumns() are deprecated because they're
replaced by functions in the Sortable interface.
Further the Sortable interface now defines the sort constants ASC and DESC and are
thus removed from the BaseQuery. In addition the sort constants are no longer integers
but strings.
The distinct() and isDistinct() functions are removed because they're database specific.
They have been introduced with changes in the PivotTable implementation which should
actually not call distinct blindly anyway.
2014-04-15 16:40:25 +02:00
Eric Lippmann
659e6f774e
Add interface "Queryable" (WIP)
...
Interface for classes which act as a data source and thus return or are a Fetchable.
The name of the interface is not yet final though.
2014-04-15 16:23:17 +02:00
Eric Lippmann
0f3d70c437
Add interface "Filterable" (WIP)
...
This interface is empty yet. It's meant to define how to filter a result set.
2014-04-15 16:20:11 +02:00
Eric Lippmann
e5e3dc9c43
Add interface "Sortable" defining how a result set can be sorted
...
This interface should be used to ensure that sorting a result set
is standardized among the different query implementations.
2014-04-15 16:07:27 +02:00
Eric Lippmann
3e0d254dfd
Implement "Limitable" interface for retrieving just a portion of a result set
...
Defines how to set a limit count and offset and should be used everywhere
where setting limit and offset is supported.
2014-04-15 15:48:51 +02:00
Eric Lippmann
c083747f67
Add "Fetchable" interface for classes providing data retrieval
...
Classes for retrieving data must implement the Fetchable interface
which defines the usual fetch*() functions.
2014-04-15 15:40:07 +02:00
Eric Lippmann
2cc3823a95
Implement interface "Browsable" for classes providing page turning
...
This interface is intended to be used everywhere a Zend_Paginator
is returned within our code.
2014-04-15 15:36:13 +02:00
Alexander Klimov
933a851f65
Initial commit
...
refs #4514
2014-04-02 13:47:01 +02:00
Johannes Meyer
862b50264a
Fix that the queryfilter parser cannot handle integer values
2014-04-01 11:44:24 +02:00
Johannes Meyer
b168cf878d
Fix type specification in DowntimestarthistoryQuery
...
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer
ea473cf08a
Fix sorting of pivot tables
2014-03-20 13:21:28 +01:00
Johannes Meyer
bf717654f0
Add more consistency to the servicematrix when switching pages
2014-03-20 11:30:55 +01:00
Johannes Meyer
1604f4728b
Fix that the TreeToSqlParser cannot handle partial conjunction nodes
2014-03-19 09:11:25 +01:00
Johannes Meyer
e355415164
Fix that queryfilters are being ignored by the parser
2014-03-19 09:11:25 +01:00
Johannes Meyer
617b6822d7
Add pagination support to the servicematrix
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
dbab546f0a
Make page/limit params work if either of those is hardcoded
2014-03-19 09:11:24 +01:00
Johannes Meyer
eae4cd3b2a
Add support for distinct database queries
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
13b509bf4b
Do not display hosts without any services in the servicematrix
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
0a5c2c5bd7
Make filtering/sorting of the servicematrix work
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
71f4b6960b
Add servicematrix view
...
refs #4180
2014-03-19 09:11:24 +01:00
Thomas Gelf
7fc47ef961
Increase DB-Connection default timeout, 2 secs are sometimes too harsh
2014-03-17 16:17:55 +00:00
Alexander Klimov
b410ebeed6
Remove unnecessary spaces at end of line
2014-03-06 13:08:11 +01:00
Eric Lippmann
07d04628cf
Merge branch 'feature/installation-and-configuration-cleanup-5638'
...
Conflicts:
config/config.ini.in
library/Icinga/Application/ApplicationBootstrap.php
library/Icinga/Application/Cli.php
library/Icinga/Application/EmbeddedWeb.php
library/Icinga/Application/Logger.php
library/Icinga/Application/Modules/Manager.php
library/Icinga/Application/Web.php
library/Icinga/Authentication/Backend/DbUserBackend.php
library/Icinga/Authentication/Manager.php
library/Icinga/User/Preferences/IniStore.php
test/php/library/Icinga/Application/LoggerTest.php
2014-03-03 19:03:39 +01:00
Johannes Meyer
3555e66018
Make IcingaWeb using the new log wrapper
...
refs #5683
2014-02-26 11:19:52 +01:00
Johannes Meyer
68357e9ca2
Fix coding style
2014-02-21 14:07:32 +01:00
Eric Lippmann
25665dec24
Vagrant: Add authentication.ini and resources.ini to /etc/icingaweb
...
refs #5638
2014-02-21 10:16:16 +01:00
Thomas Gelf
d63fee064d
Make sure DB profiler is disabled per default to avoid memory leaks
2014-02-14 13:51:28 +00:00
Thomas Gelf
32c897c0c9
Added some benchmark noise to DB queries
...
We need this to track down current performance issues, refs #5534
2014-01-22 12:36:44 +00:00
Thomas Gelf
ad7e4451eb
There is no "The" and no "Optional" Data class
2014-01-22 12:34:46 +00:00
Matthias Jentsch
2cf154310b
Add controller to handle resource configuration
...
Add the controller, forms and views to handle the resource configuration.
refs #4786
2013-11-06 19:02:30 +01:00
Matthias Jentsch
59d4baff0b
Fix remaining references to DbUserBackend and refresh the documentation.
...
refs #4786
2013-11-06 13:31:07 +01:00