352 Commits

Author SHA1 Message Date
Johannes Meyer
3a66b0a950 FilterExpression: Pass used delimiter to preg_quote
fixes #4090
2020-03-02 08:39:46 +01:00
Johannes Meyer
e6d9819adb FilterQueryString: Parse numbers as floats in range conditions 2019-12-09 09:39:50 +01:00
Johannes Meyer
d0857345d0 DbConnection: Set COLLATE 'latin1_general_ci' for latin1 charsets
MySQL 8+ seems a bit more strict now.
2019-12-05 14:18:17 +01:00
Johannes Meyer
8e5380220c SimpleQuery: Cache count query result and use it in hasResult()
Does not affect views which do not run a count query. (e.g. dashlets)
Though, this is a quick win for all other views with which the user
interacts directly and gets the desired result quicker than before.

refs #3905
refs #3836
2019-10-11 10:27:43 +02:00
Eric Lippmann
c8ed889114 Fix operator in wildcard filter chains 2019-08-13 17:19:45 +02:00
Eric Lippmann
31d3153d2b Support wildcard filters in chains (#3903) 2019-08-12 13:41:38 +02:00
Eric Lippmann
666bdfb4c4 Revert "Fix double query execution"
This reverts PR 6ea012af7e0fe409ecbff2b1e455d237a5f44d69, reversing
changes made to be5b9f870b5124df4516dfac39383810efec6899.

The reverted commit fixed a double query execution bug by only executing
the query once in either SimpleQuery::hasResult() or upon iteration.

But the fix (b20291a60) introduced two problems:

* Default sort rules no longer work
* Show more links missing

We work with DataView objects in our controllers and views. When
iterating over a DataView, it applies its default sort rules and then
returns the underlying query, see DataView::getIterator().

DataView::hasResult() on the other hand does not apply the default sort
rules. So, if hasResult() is called first, the default sort rules are no
longer applied because the query will be executed only once.
The fix would be as easy as to apply sorting in DataView::hasResult() as
well.

But now the show more part kicks in. We know whether there are more
results because we execute queries with $limit + 1. This is enabled via
SimpleQuery::peekAhead(). Unfortunately, we call
SimpleQuery::peekAhead() ALWAYS after SimpleQuery::hasResult(). And
that's why the show more links are missing because the query is executed
only once with the "wrong" limit.

For now, we just revert the commit in question and postpone a proper fix
for the double execution.
2019-08-07 13:29:57 +02:00
Eric Lippmann
b8fb193bdd Add FilterChain::setFilters() 2019-07-30 09:17:25 +02:00
Eric Lippmann
b20291a606 Fix double query execution
Our monitoring list views call SimpleQuery::hasResult() first in
order to determine whether there are results to display. This calls
fetchRow() which executes the underlying query the first time. If there
are resulsts, the query is iterated which executes the query again.
With this patch, SimpleQuery::hasResult() makes use of the inner
iterator instead of calling fetchRow(). The query is now executed only
once.
2019-06-27 15:11:45 +02:00
Johannes Meyer
0be1053197
Merge pull request #3748 from Icinga/feature/sortable-announcements-page-3414
Sortable announcements page
2019-04-18 14:51:16 +02:00
Johannes Meyer
4d0a9fb289 DbConnection: Rename getTimezoneOffset() to defaultTimezoneOffset()
refs Icinga/icingaweb2-module-director#1837
2019-04-17 12:30:33 +02:00
Johannes Meyer
14b6e40562 DbConnection: Set current user's timezone on the connection
resolves #3525
2019-04-16 15:57:27 +02:00
Johannes Meyer
db3cc699f7 ArrayDatasource: Store any type of key as a key column's value
fixes #3510
2019-04-16 13:26:48 +02:00
Johannes Meyer
032ca7ae50 SimpleQuery: Fail in case of missing order columns
refs #3414
2019-04-16 12:01:49 +02:00
Johannes Meyer
e22d7daab6 SimpleQuery: Don't fail to order results based on sequenced column arrays
refs #3414
2019-04-16 12:00:55 +02:00
Eric Lippmann
403c2d3495
Merge pull request #3481 from marianrh/feature/optionally-disable-mysql-server-certificate-validation
Allow disabling MySQL server certificate validation by setting ssl_do_not_verify_server_cert
2019-02-26 10:39:21 +01:00
Markus Frosch
2df8132c46 DbConnection: Make host optional for Oracle connections 2018-12-04 15:50:53 +01:00
Thomas Gelf
b4afdf4115 DbConnection: do not fail for MySQL 8
fixes #3611
2018-11-08 11:11:37 +01:00
Marian Rainer-Harbach
5e40405a12 Allow disabling MySQL server certificate validation by setting ssl_do_not_verify_server_cert
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-16 11:41:13 +02:00
Uwe Ebel
4b5cf47cce Introduce SQLite resource type
refs #3381

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-06-27 09:40:22 +02:00
Eric Lippmann
4d42c043e4 Remove traces of persistent db connections 2018-06-22 15:36:46 +02:00
Eric Lippmann
af35794006 Revert "lib/db: Allow to configure persistent connections"
This reverts commit 4763b6b20a41b674f9ca416421437a1afaca0d03.
2018-06-22 14:43:32 +02:00
Alexander A. Klimov
fc1f6e13ab Drop PHP 5.3 support 2018-05-07 11:36:54 +02:00
Johannes Meyer
c3b19996f8 DbConnection: Introduce method getConfig()
refs #2508
2018-04-27 15:30:04 +02:00
Johannes Meyer
24128e0cc3 DbConnection: Automatically choose sqlsrv as driver..
..if available and none is explicitly set.

refs #3320
2018-04-24 15:50:12 +02:00
Alexander A. Klimov
7f5962dfae FilterQueryString: fix typo 2018-01-24 10:31:57 +01:00
Thomas Gelf
ccd31f6438 Filter: new abstract methode and better IDE hints
fixes #3111
2017-11-21 12:29:02 +01:00
Michael Friedrich
ab364e0fc7 Remove unsupported livestatus functionality
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-09-29 10:33:55 +02:00
Uwe Ebel
39838f1606 Add database resource type IBM for DB2
It uses the pdo_ibm driver and Zend Adapter Zend_Db_Adapter_Pdo_Ibm.

Signed-off-by: Markus Frosch <markus.frosch@icinga.com>
2017-09-19 14:32:09 +02:00
Eric Lippmann
f25420f458 DbConnection: Fix "Driver does not support setting attributes" for the pdolib extension
fixes #2545
2017-07-11 17:20:25 +02:00
Eric Lippmann
a9e6814785 Revert "DbConnection: Fix "Driver does not support setting attributes" for the pdolib extension"
This reverts commit 3e743a8799d5720c19e23c9e5e56eec42103ca29.

Referenced the wrong issue number.
2017-07-11 17:19:16 +02:00
Eric Lippmann
3e743a8799 DbConnection: Fix "Driver does not support setting attributes" for the pdolib extension
fixes #12640
2017-07-11 17:17:48 +02:00
Eric Lippmann
f02d631aa1 DbConnection: Respect port settings for all database types and provide defaults 2017-07-11 17:11:44 +02:00
Johannes Meyer
fdb31e8d1c DbConnection: Support raw sql expressions in methods insert() and update() 2017-06-06 09:07:52 +02:00
Johannes Meyer
181e2ef05c Swag: Fix swag (aka a whole bunch of code style issues..) 2017-01-27 14:48:59 +01:00
Alexander A. Klimov
e10384770d DbResourceForm: make the encryption selection a checkbox
refs #11115
2016-12-08 17:52:07 +01:00
Alexander A. Klimov
0bafc944d3 Conform to code style guidelines
refs #11115
2016-12-08 17:09:00 +01:00
Alexander A. Klimov
dce6b4eb08 Merge branch 'master' into feature/add-ssl-support-to-mysql-database-resources-11115 2016-12-08 16:50:41 +01:00
Eric Lippmann
4891afd646 Add paramater type to ResourceFactory::getResourceConfigs()
This allows to filter resources by type.
2016-11-17 10:14:45 +01:00
Johannes Meyer
3a619eb8c7 DbConnection: Don't ignore asterisks when rendering filters
refs #11885
2016-11-11 09:18:53 +01:00
Johannes Meyer
634a69aec9 DbConnection: Explicitly check for NULL when rendering unequal filters
resolves #12852
2016-11-11 09:17:58 +01:00
Johannes Meyer
0152a5941d DbQuery: Fix wrong operator precedence when rendering unequal filters
fixes #13107
refs #12852
2016-11-10 13:10:31 +01:00
Alexander A. Klimov
7d94c1fddb DbQuery: handle strange NULL comparision results
refs #12852
2016-10-20 15:40:33 +02:00
Thomas Gelf
2b50f6ff10 FilterExpression: render boolean true as such
fixes #12299
2016-08-03 13:03:08 +00:00
Eric Lippmann
fee45a2438 Database: Never ignore asterisk filters
fixes #11885
2016-06-02 17:27:32 +02:00
Johannes Meyer
b759ab6f5a DbResourceForm: Don't show SSL form elements by default
Addded additionally a check for PHP 5.4 so that these elements
are not shown for earlier versions.

refs #11115
2016-05-27 15:45:22 +02:00
Lee Clemens
87e774cb88 Add SSL Support to MySQL resources
Signed-off-by: Johannes Meyer <johannes.meyer@netways.de>
2016-05-27 13:15:48 +02:00
Eric Lippmann
a5119a7a2e Fix TreeNodeIterator::isEmpty() 2016-03-30 15:31:53 +02:00
Eric Lippmann
98934e9c5f lib/DbConnection: Use isset for charset check 2016-03-24 17:55:30 +01:00
Raphael Bicker
ea871ea032 Fix Cannot execute queries while other unbuffered queries are active
fixes #11264

Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2016-03-24 17:53:55 +01:00