191 Commits

Author SHA1 Message Date
Michael Friedrich
a0a5989181 Add missing index on statehistory table for DB IDO cleanup
fixes #12107
2016-07-06 12:17:41 +02:00
Michael Friedrich
091274e417 Change DB IDO 'categories' attribute to Array notation
Example:
    categories = [ "DbCatProgramStatus", "DbCatState" ]

The old method with constants and OR is still supported but deprecated.

refs #11445
fixes #12024
2016-06-23 14:55:01 +02:00
Michael Friedrich
7f56a04dd5 DB IDO: Add missing indexes for icinga_endpoints* and icinga_zones* tables
fixes #10066
2016-06-22 12:56:24 +02:00
Michael Friedrich
f10289aa71 DB IDO: Add missing object_id index for icinga_{scheduleddowntime,comments} tables
fixes #10070
refs #11947
2016-06-20 17:15:09 +02:00
Michael Friedrich
f610e56a59 DB IDO: Fix missing schema version update in {mysql,pgsql}.sql
refs #10069
refs #11967
2016-06-20 16:17:06 +02:00
Lee Clemens
759818d289 DB IDO: Make check_source a varchar(255) column
fixes #10069

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-06-17 11:03:26 +02:00
Gunnar Beutner
d415ff7373 Add missing OnConfigLoaded calls in Ido{My,Pg}sqlConnection
fixes #11951
2016-06-16 14:22:20 +02:00
Gunnar Beutner
ff57b0ccd6 Add name attribute for the WorkQueue class
fixes #10816
2016-06-14 09:08:04 +02:00
Gunnar Beutner
93da47a670 Fix PostgreSQL warnings on startup
fixes #11798
2016-05-17 10:32:38 +02:00
Michael Friedrich
90f102abf3 Ensure that program status updates are immediately updated in DB IDO
fixes #11767
2016-05-11 14:03:40 +02:00
Gunnar Beutner
4a32211de2 Fix crash in Ido{Mysql,Pgsql}Connection::ExecuteMultipleQueries
fixes #11639
2016-04-21 09:17:40 +02:00
Michael Friedrich
d5c0d7366d Fix: Failed assertion in IdoPgsqlConnection::FieldToEscapedString
fixes #11635
2016-04-20 18:21:39 +02:00
Michael Friedrich
83e0bcddce IDO: Ensure that the notification insert id is passed to contactnotification inserts
We cannot add the notification insert id directly
to the following contactnotifications queries. Instead
we need to pass a DbValue reference which gets set after
the notification insert id is calculated.
The contactnotifications insert queries are fired as query
group calling CanExecuteQuery() and FieldToEscapedString().
If the notification id does not exist yet, the queries are
moved to the end of the queue.
Once the contactnotifications queries are fired the DbValue
reference is destroyed.

This patch also removes the old notification insert id cache
which was broken in many ways.

fixes #11387
2016-03-29 15:12:24 +02:00
Michael Friedrich
04a4049a4d Increase query queue size for testing
refs #10963
2016-02-12 14:15:24 +01:00
Gunnar Beutner
599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Michael Friedrich
6387bec049 Fix duplicate key violation for downtimes
refs #10829
2015-12-16 13:57:29 +01:00
Gunnar Beutner
346c0cbb3c Fix crash in Ido*Connection::InternalExecuteMultipleQueries
fixes #10862
2015-12-16 11:29:06 +01:00
Gunnar Beutner
ef8ba6e275 Implement additional query statistics for DB IDO
fixes #10860
2015-12-16 10:46:27 +01:00
Michael Friedrich
1add333a57 DB IDO: Add a log message when the connection handling is completed
fixes #10857
2015-12-15 16:50:17 +01:00
Michael Friedrich
5b48559d75 Implement support for re-ordering groups of IDO queries
fixes #10855
2015-12-15 15:29:48 +01:00
Michael Friedrich
96fa29793c Avoid duplicate config and status updates on startup
fixes #10765
2015-12-15 14:25:08 +01:00
Michael Friedrich
0239acc48e Fix invalid notification_id in DB IDO query
fixes #8976
2015-12-15 11:59:06 +01:00
Michael Friedrich
da3d21091c Fix priority ordering for IDO queries
fixes #10829
refs #8714
2015-12-15 11:58:50 +01:00
Gunnar Beutner
15ca9987fa Implement support for priorities in the WorkQueue class
fixes #8714
2015-12-10 17:06:00 +01:00
Gunnar Beutner
fba0b493cd Make sure that all strings in the IDO database are UTF8-encoded
fixes #10554
2015-12-10 12:26:19 +01:00
Gunnar Beutner
d78a081727 Improve performance data for DB IDO
refs #9079
2015-11-07 07:51:41 +01:00
Michael Friedrich
64c936d387 API Actions: Remove -by-id from actions and require names for comments and downtimes
The documentation is updated as well. Furthermore actions provide
detailed error information in case of an exception.
Includes DB IDO schema updates.

fixes #10512
2015-11-06 17:06:12 +01:00
Michael Friedrich
3b902b51e2 Change session_token to integer timestamp
fixes #10529
2015-11-05 18:05:30 +01:00
Michael Friedrich
1b9f0a8c77 Add the unique_id for comments/downtimes next to legacy_id to DB IDO
fixes #10431
2015-10-30 11:25:07 +01:00
Michael Friedrich
339c0b6d84 Fix missing field initializer in DB IDO
refs #10436
2015-10-29 22:27:09 +01:00
Michael Friedrich
4d784dd075 DB IDO: Add an index for CV session delete
The DELETE statement might become painfully slow on
large installations.

refs #10436
2015-10-29 16:18:49 +01:00
Michael Friedrich
cf5735e3df DB IDO: Remove deleted custom variables
We cannot clear the custom variable tables on startup and then re-insert
all known custom vars. Instead we "fixed" it by leaving them
in the database only updating their value if changed. We certainly
forgot about deleted custom vars at that point.

Since the older fix must stay in place, we'll use a session
token stored in the backend to check whether the custom
variable has been updated/inserted in the current session, or not.
If the session token does not match, the custom vars are deleted
at the end of the config dump. Ugly but fairly the only performant
solution as CVs don't have an object_id.

fixes #10436
2015-10-29 16:00:06 +01:00
Gunnar Beutner
5ad0c67485 Fix: IDO tries to execute empty UPDATE queries
fixes #10473
2015-10-28 07:46:04 +01:00
Michael Friedrich
d618762dad Export original attributes in DB IDO and Livestatus
fixes #10392
2015-10-22 15:49:42 +02:00
Michael Friedrich
c3385e6e38 DB IDO should provide its connected state via /v1/status
fixes #10383
2015-10-16 13:02:41 +02:00
Jean-Marcel Flach
4ef9761fee Implement status api handler
Global statistics, features, etc.

fixes #10116
2015-09-23 16:59:07 +02:00
Gunnar Beutner
6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Michael Friedrich
fa6c0fe173 Fix string escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
fixes #9244
2015-09-05 14:08:35 +02:00
Gunnar Beutner
d118b71a2a Fix compiler warnings
fixes #9929
2015-08-18 07:46:04 +02:00
Gunnar Beutner
071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Michael Friedrich
d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Michael Friedrich
a788de679c DB IDO: Add zones, zonestatus tables
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich
3648703ad8 DB IDO: Fix datatype for 'check_source' in statehistory table
fixes #9455
2015-06-22 17:02:58 +02:00
Michael Friedrich
f6c5f58dec Fix wrong timestamp w/ timezone format in DB IDO PGSQL schema
refs #9027
2015-06-17 16:11:21 +02:00
Michael Friedrich
0c0f53bc36 Fix schema version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann
fe3eba801a Add PostgreSQL schema upgrade to IDO version 1.14.0 for adding the time zone for default timestamps
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann
6a77d99440 Fix PostgreSQL schema not specifying the time zone for default timestamps
The timestamp columns in the PostgreSQL schema are defined as timestamp with time zone but their default values lack the time zone offset +00.
Thus default timestamps are converted to local time in the zone specified by PostgreSQL's configuration before being displayed to the client.

refs #9027
2015-05-04 11:35:41 +02:00
Paul Richards
a3065d8b79 Update PGSQL driver to reflect changes in MySQL driver
Fixes #8989

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-04-12 15:22:56 +02:00
Gunnar Beutner
72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner
ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00