130 Commits

Author SHA1 Message Date
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
f305a334d5 DbConnection: Drop param $columnIndex in fetchColumn(), it's unused 2015-05-19 09:48:20 +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
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
ecd059dec5 DbConnection: select() returns a DbQuery, not a Query 2015-05-04 11:13:38 +02:00
Alexander Klimov
967a2e82dc Use (only) "@return $this" in fluent interfaces' documentation 2015-04-07 14:24:11 +02: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 338d067aba41dd6e9178cebec5433eecd614196e.
2015-02-03 16:16:26 +01:00
Eric Lippmann
338d067aba Add license header
fixes #7788
2015-02-03 15:51:04 +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
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
Thomas Gelf
90f1ab06b4 Db\DbQuery: add "deep" clone support
Still far from being complete, Zend_Db_Select makes life really hard for
us. More to come...
2014-11-16 17:06:26 +01:00
Eric Lippmann
94f8597271 Add existing GROUPBYs to count queries 2014-11-13 16:42:11 +01:00
Eric Lippmann
0e34001568 Use automatically a subquery when counting with groups 2014-11-13 16:42:11 +01:00
Johannes Meyer
77f5bc3932 Use GROUPBY instead of DISTINCT and subqueries when counting 2014-11-13 16:42:11 +01:00
Thomas Gelf
0d4d4930a9 Db\DbConnection: benchmark single row fetches 2014-11-11 21:07:02 +01:00
Johannes Meyer
7b99b74ae1 Prefer Icinga\Application\Config instead of Zend_Config
refs #7147
2014-11-07 13:53:03 +01:00
Eric Lippmann
2b67683e00 DbConnection::__construct(): Set prefix if configured 2014-10-20 13:43:03 +02:00
Alexander Fuhr
afc97b1cac Fix the duplicate entries in monitoring list shows
refs #7057
refs #7344
fixes #7057
2014-10-08 12:30:08 +02:00
Alexander Fuhr
97d2a920db Implement GROUP BY clause functionality 2014-10-06 11:34:04 +02:00
Eric Lippmann
64d41ac5a3 filter: Make `DbQuery::applyFilterSql()' public
I want to use that function in a module :)
2014-10-01 12:51:28 +02:00
Eric Lippmann
90dbcdbbfb The stupid `DbQuery::isTimestamp()' hack must return false
This a fix for modules using our query / filter combination since `return $this;' renders all columns as timestamps.
2014-09-19 14:29:29 +02:00
Marius Hein
30f391035c Postgres/DbQuery: Add orderfields to select
refs #6896
2014-09-01 10:00:04 +02:00
Alexander Klimov
45638b218c Throw IcingaException rather than Exception
fixes #7014
2014-08-27 16:03:15 +02:00
Alexander Klimov
9c5878cbbe ConfigurationError: extend IcingaException
refs #6931
2014-08-22 11:46:11 +02:00
Thomas Gelf
2a204897b4 DbQuery: improve method description
Not English mine this was, copy paste did I ;)
2014-07-18 16:48:52 +02:00
Thomas Gelf
209894d857 DbQuery: add dummy isTimestamp function
Not the best solution, but helps for now.

fixes #6675
2014-07-18 16:35:29 +02:00
Johannes Meyer
3105c2059e Remove license headers from all files
refs #6309
2014-07-15 13:43:52 +02:00
Thomas Gelf
b3cdeee35d monitoring/timeline: should benefit from new filter
Different changes have been applied:

* Allow integer unix timestamps as parameters for timestamp columns
* Remove alias-rewriting from Url class
* Remove all traces of raw_timestamp
* Use new filters
2014-06-21 03:09:40 +02:00
Thomas Gelf
a904ff51aa monitoring/eventhistory: improve query performance
This takes care of timestamp columns, modifies queries in a way not
depending on db functions, filters are passed through to subqueries
for better performance.
2014-06-20 19:14:34 +02:00
Thomas Gelf
7cd696b31b Data/queries: adjust to fit new filters
Slight changes to get our queries working with new filter implementation.
2014-06-17 12:34:02 +00:00
Thomas Gelf
7b77083c89 Data\Db\DbConnection: relax timeout, persistance
Raised connection timeout, helps when talking to DB servers behind
weak links. Please note that I'm not sure whether this really is a
better default.

While it doesn't matter with local sockets, connection overhead will
have an impact with remote database servers. We have to reconnect with
every single request. Persistent connections seem to be no longer as
errorprone as they used to be, but I'd still refuse to switch them on
by default.

What we need is a config setting for connection persistancy and wizards
strongly suggesting to use this when working with remote db servers.
2014-06-17 09:53:59 +00:00
Thomas Gelf
e056310378 Data\Db\DbConnection: one more legacy class name
Fixed, Query is now DbQuery
2014-06-17 09:52:32 +00:00
Thomas Gelf
9e1e502fc8 Data\Db\DbConnection: implement fromResourceName
This allows to instantiate DB connections with less code in our
controllers.
2014-06-17 09:51:37 +00:00
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
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
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
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