annotate Framework/PostgreSQL/PostgreSQLIncludes.h @ 161:2ccde9c7311b optimized-routes

added new optimized REST routes. this is a temporary work to try to speed up some routes (used by LRO). This way, we avoid another app to access the Orthanc DB and we skip the plugin SDK update for a very specific route
author Alain Mazy <alain@mazy.be>
date Fri, 10 Jul 2020 13:26:47 +0200
parents 063aa53b5917
children 8c7bb94adff7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
103
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
1 /**
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
2 * Orthanc - A Lightweight, RESTful DICOM Store
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
4 * Department, University Hospital of Liege, Belgium
140
4cd7e45b671e upgrade to year 2020
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 124
diff changeset
5 * Copyright (C) 2017-2020 Osimis S.A., Belgium
103
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
6 *
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
7 * This program is free software: you can redistribute it and/or
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
8 * modify it under the terms of the GNU Affero General Public License
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
9 * as published by the Free Software Foundation, either version 3 of
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
10 * the License, or (at your option) any later version.
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
11 *
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful, but
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
15 * Affero General Public License for more details.
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
16 *
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
17 * You should have received a copy of the GNU Affero General Public License
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
19 **/
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
20
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
21
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
22 #pragma once
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
23
108
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
24 // These includes are necessary for compilation on OS X
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
25 #include <unistd.h>
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
26 #include <vector>
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
27 #include <map>
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
28 #include <cmath>
152
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 140
diff changeset
29 #include <Enumerations.h>
108
57c0138d456e fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 103
diff changeset
30
124
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
31 /**
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
32 * This include must be before including "c.h" from PostgreSQL,
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
33 * otherwise the function "static bool
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
34 * boost::date_time::special_values_parser<date_type,
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
35 * charT>::__builtin_expect()" from Boost clashes with macro
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
36 * "__builtin_expect()" used by PostgreSQL 11.
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
37 **/
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
38 #include <boost/date_time/posix_time/posix_time.hpp>
a981ef52bcf6 fix build with postgresql 11
jodogne
parents: 108
diff changeset
39
103
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
40 // PostgreSQL includes
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
41 #include <pg_config.h>
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
42
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
43 #if PG_VERSION_NUM >= 110000
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
44 # include <postgres.h>
152
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 140
diff changeset
45 # undef LOG // This one comes from <postgres.h>, and conflicts with <Logging.h>
103
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
46 #endif
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
47
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
48 #include <libpq-fe.h>
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
49 #include <c.h>
9263b3de37ed fix build on Debian Buster
jodogne
parents:
diff changeset
50 #include <catalog/pg_type.h>