Skip to content

Commit d0265c0

Browse files
committed
Merge branch 'PGPROEE9_6' into PGPROEE9_6_MULTIMASTER
2 parents 6b10c9a + 2c1f08d commit d0265c0

File tree

19 files changed

+293
-285
lines changed

19 files changed

+293
-285
lines changed

configure

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9898,9 +9898,9 @@ done
98989898
fi
98999899

99009900
if test "$with_icu" = yes ; then
9901-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ucol_open_58" >&5
9902-
$as_echo_n "checking for library containing ucol_open_58... " >&6; }
9903-
if ${ac_cv_search_ucol_open_58+:} false; then :
9901+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ucol_open" >&5
9902+
$as_echo_n "checking for library containing ucol_open... " >&6; }
9903+
if ${ac_cv_search_ucol_open+:} false; then :
99049904
$as_echo_n "(cached) " >&6
99059905
else
99069906
ac_func_search_save_LIBS=$LIBS
@@ -9913,11 +9913,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99139913
#ifdef __cplusplus
99149914
extern "C"
99159915
#endif
9916-
char ucol_open_58 ();
9916+
char ucol_open ();
99179917
int
99189918
main ()
99199919
{
9920-
return ucol_open_58 ();
9920+
return ucol_open ();
99219921
;
99229922
return 0;
99239923
}
@@ -9930,25 +9930,25 @@ for ac_lib in '' icui18n icuin; do
99309930
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
99319931
fi
99329932
if ac_fn_c_try_link "$LINENO"; then :
9933-
ac_cv_search_ucol_open_58=$ac_res
9933+
ac_cv_search_ucol_open=$ac_res
99349934
fi
99359935
rm -f core conftest.err conftest.$ac_objext \
99369936
conftest$ac_exeext
9937-
if ${ac_cv_search_ucol_open_58+:} false; then :
9937+
if ${ac_cv_search_ucol_open+:} false; then :
99389938
break
99399939
fi
99409940
done
9941-
if ${ac_cv_search_ucol_open_58+:} false; then :
9941+
if ${ac_cv_search_ucol_open+:} false; then :
99429942

99439943
else
9944-
ac_cv_search_ucol_open_58=no
9944+
ac_cv_search_ucol_open=no
99459945
fi
99469946
rm conftest.$ac_ext
99479947
LIBS=$ac_func_search_save_LIBS
99489948
fi
9949-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ucol_open_58" >&5
9950-
$as_echo "$ac_cv_search_ucol_open_58" >&6; }
9951-
ac_res=$ac_cv_search_ucol_open_58
9949+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ucol_open" >&5
9950+
$as_echo "$ac_cv_search_ucol_open" >&6; }
9951+
ac_res=$ac_cv_search_ucol_open
99529952
if test "$ac_res" != no; then :
99539953
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
99549954

@@ -10959,9 +10959,9 @@ fi
1095910959

1096010960
fi
1096110961

10962-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucnv_fromUChars_58 in -licuuc" >&5
10963-
$as_echo_n "checking for ucnv_fromUChars_58 in -licuuc... " >&6; }
10964-
if ${ac_cv_lib_icuuc_ucnv_fromUChars_58+:} false; then :
10962+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucnv_fromUChars in -licuuc" >&5
10963+
$as_echo_n "checking for ucnv_fromUChars in -licuuc... " >&6; }
10964+
if ${ac_cv_lib_icuuc_ucnv_fromUChars+:} false; then :
1096510965
$as_echo_n "(cached) " >&6
1096610966
else
1096710967
ac_check_lib_save_LIBS=$LIBS
@@ -10975,27 +10975,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1097510975
#ifdef __cplusplus
1097610976
extern "C"
1097710977
#endif
10978-
char ucnv_fromUChars_58 ();
10978+
char ucnv_fromUChars ();
1097910979
int
1098010980
main ()
1098110981
{
10982-
return ucnv_fromUChars_58 ();
10982+
return ucnv_fromUChars ();
1098310983
;
1098410984
return 0;
1098510985
}
1098610986
_ACEOF
1098710987
if ac_fn_c_try_link "$LINENO"; then :
10988-
ac_cv_lib_icuuc_ucnv_fromUChars_58=yes
10988+
ac_cv_lib_icuuc_ucnv_fromUChars=yes
1098910989
else
10990-
ac_cv_lib_icuuc_ucnv_fromUChars_58=no
10990+
ac_cv_lib_icuuc_ucnv_fromUChars=no
1099110991
fi
1099210992
rm -f core conftest.err conftest.$ac_objext \
1099310993
conftest$ac_exeext conftest.$ac_ext
1099410994
LIBS=$ac_check_lib_save_LIBS
1099510995
fi
10996-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_icuuc_ucnv_fromUChars_58" >&5
10997-
$as_echo "$ac_cv_lib_icuuc_ucnv_fromUChars_58" >&6; }
10998-
if test "x$ac_cv_lib_icuuc_ucnv_fromUChars_58" = xyes; then :
10996+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_icuuc_ucnv_fromUChars" >&5
10997+
$as_echo "$ac_cv_lib_icuuc_ucnv_fromUChars" >&6; }
10998+
if test "x$ac_cv_lib_icuuc_ucnv_fromUChars" = xyes; then :
1099910999
cat >>confdefs.h <<_ACEOF
1100011000
#define HAVE_LIBICUUC 1
1100111001
_ACEOF

configure.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1162,7 +1162,7 @@ if test "$with_openssl" = yes ; then
11621162
fi
11631163

11641164
if test "$with_icu" = yes ; then
1165-
AC_SEARCH_LIBS(ucol_open_58, [icui18n icuin], [], [
1165+
AC_SEARCH_LIBS(ucol_open, [icui18n icuin], [], [
11661166
AC_SEARCH_LIBS(ucol_open_57, [icui18n icuin], [], [
11671167
AC_SEARCH_LIBS(ucol_open_56, [icui18n icuin], [], [
11681168
AC_SEARCH_LIBS(ucol_open_55, [icui18n icuin], [], [
@@ -1197,7 +1197,7 @@ if test "$with_icu" = yes ; then
11971197
])
11981198
])
11991199
])
1200-
AC_CHECK_LIB(icuuc, ucnv_fromUChars_58, [], [
1200+
AC_CHECK_LIB(icuuc, ucnv_fromUChars, [], [
12011201
AC_CHECK_LIB(icuuc, ucnv_fromUChars_57, [], [
12021202
AC_CHECK_LIB(icuuc, ucnv_fromUChars_56, [], [
12031203
AC_CHECK_LIB(icuuc, ucnv_fromUChars_55, [], [

contrib/pgpro_scheduler/pgpro_scheduler--1.0.sql

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,11 +1056,6 @@ CREATE FUNCTION schedule.cron2jsontext(CSTRING)
10561056
AS 'MODULE_PATHNAME', 'cron_string_to_json_text'
10571057
LANGUAGE C IMMUTABLE;
10581058

1059-
CREATE FUNCTION temp_now(timestamp with time zone)
1060-
RETURNS timestamp with time zone
1061-
AS 'MODULE_PATHNAME', 'temp_now'
1062-
LANGUAGE C IMMUTABLE;
1063-
10641059
--------------
10651060
-- TRIGGERS --
10661061
--------------

contrib/pgpro_scheduler/src/cron_string.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <stdarg.h>
55
#include "cron_string.h"
66
#include "postgres.h"
7+
#include "c.h"
78
#include "port.h"
89

910

contrib/pgpro_scheduler/src/cron_string.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include <stdlib.h>
66
#include <string.h>
77
#include <stdarg.h>
8+
#include "postgres.h"
9+
#include "port.h"
810

911
extern int cps_error;
1012

@@ -41,11 +43,7 @@ typedef struct {
4143
} cron_ent_t;
4244

4345
void destroyCronEnt(cron_ent_t *);
44-
void _cps_set_error(int num, const char *message, ...)
45-
#ifdef __GNUC__
46-
__attribute__ ((format (gnu_printf, 2, 3)))
47-
#endif
48-
;;
46+
void _cps_set_error(int num, const char *message, ...) pg_attribute_printf(2, 3);
4947
char *get_cps_error(void);
5048
int _cps_string_has(char *str, char c);
5149
char *_cps_append_string(char *str, char *to_add);

contrib/pgpro_scheduler/src/pgpro_scheduler.c

Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,18 @@
1414
#include "pg_config.h"
1515
#include "fmgr.h"
1616
#include "pgstat.h"
17-
#include "utils/builtins.h"
1817
#include "executor/spi.h"
1918
#include "tcop/utility.h"
2019
#include "lib/stringinfo.h"
20+
#include "catalog/pg_type.h"
2121
#include "access/xact.h"
2222
#include "utils/snapmgr.h"
2323
#include "utils/datetime.h"
24+
#include "utils/builtins.h"
2425
#include "catalog/pg_db_role_setting.h"
2526
#include "commands/dbcommands.h"
2627

28+
2729
#include "char_array.h"
2830
#include "sched_manager_poll.h"
2931
#include "cron_string.h"
@@ -280,6 +282,7 @@ void parent_scheduler_main(Datum arg)
280282
bool refresh = false;
281283

282284
init_worker_mem_ctx("Parent scheduler context");
285+
elog(LOG, "Start PostgresPro scheduler.");
283286

284287
/*CurrentResourceOwner = ResourceOwnerCreate(NULL, "pgpro_scheduler");*/
285288
SetConfigOption("application_name", "pgp-s supervisor", PGC_USERSET, PGC_S_SESSION);
@@ -381,8 +384,6 @@ pg_scheduler_startup(void)
381384
{
382385
BackgroundWorker worker;
383386

384-
elog(LOG, "Start PostgresPro scheduler.");
385-
386387
worker.bgw_flags = BGWORKER_SHMEM_ACCESS |
387388
BGWORKER_BACKEND_DATABASE_CONNECTION;
388389
worker.bgw_start_time = BgWorkerStart_ConsistentState;
@@ -483,52 +484,6 @@ void _PG_init(void)
483484
pg_scheduler_startup();
484485
}
485486

486-
PG_FUNCTION_INFO_V1(temp_now);
487-
Datum
488-
temp_now(PG_FUNCTION_ARGS)
489-
{
490-
TimestampTz ts;
491-
struct pg_tm info;
492-
struct pg_tm cp;
493-
int tz;
494-
fsec_t fsec;
495-
const char *tzn;
496-
long int toff = 0;
497-
498-
if(!PG_ARGISNULL(0))
499-
{
500-
ts = PG_GETARG_TIMESTAMPTZ(0);
501-
}
502-
else
503-
{
504-
ts = GetCurrentTimestamp();
505-
}
506-
507-
timestamp2tm(ts, &tz, &info, &fsec, &tzn, session_timezone );
508-
info.tm_wday = j2day(date2j(info.tm_year, info.tm_mon, info.tm_mday));
509-
510-
/* elog(NOTICE, "WDAY: %d, MON: %d, MDAY: %d, HOUR: %d, MIN: %d, YEAR: %d (%ld)",
511-
info.tm_wday, info.tm_mon, info.tm_mday, info.tm_hour, info.tm_min,
512-
info.tm_year, info.tm_gmtoff);
513-
elog(NOTICE, "TZP: %d, ZONE: %s", tz, tzn); */
514-
515-
cp.tm_mon = info.tm_mon;
516-
cp.tm_mday = info.tm_mday;
517-
cp.tm_hour = info.tm_hour;
518-
cp.tm_min = info.tm_min;
519-
cp.tm_year = info.tm_year;
520-
cp.tm_sec = info.tm_sec;
521-
522-
toff = DetermineTimeZoneOffset(&cp, session_timezone);
523-
/* elog(NOTICE, "Detect: offset = %ld", toff); */
524-
525-
cp.tm_gmtoff = -toff;
526-
tm2timestamp(&cp, 0, &tz, &ts);
527-
528-
529-
PG_RETURN_TIMESTAMPTZ(ts);
530-
}
531-
532487
PG_FUNCTION_INFO_V1(cron_string_to_json_text);
533488
Datum
534489
cron_string_to_json_text(PG_FUNCTION_ARGS)
@@ -567,6 +522,7 @@ cron_string_to_json_text(PG_FUNCTION_ARGS)
567522
elog(ERROR, "unknown error: %d", cps_error);
568523
}
569524
}
525+
PG_RETURN_NULL();
570526
}
571527

572528

contrib/pgpro_scheduler/src/scheduler_job.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#include <stdarg.h>
88
#include "utils/timestamp.h"
99
#include "memutils.h"
10+
#include "c.h"
11+
#include "port.h"
1012

1113
typedef struct {
1214
int cron_id;
@@ -30,11 +32,7 @@ typedef struct {
3032
job_t *init_scheduler_job(job_t *j);
3133
job_t *get_expired_jobs(char *nodename, int *n, int *is_error);
3234
job_t *get_jobs_to_do(char *nodename, int *n, int *is_error);
33-
job_t *set_job_error(job_t *j, const char *fmt, ...)
34-
#ifdef __GNUC__
35-
__attribute__ ((format (gnu_printf, 2, 3)));
36-
#endif
37-
;
35+
job_t *set_job_error(job_t *j, const char *fmt, ...) pg_attribute_printf(2, 3);
3836
int move_job_to_log(job_t *j, bool status);
3937
void destroy_job(job_t *j, int selfdestroy);
4038

contrib/sr_plan/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ endif
2323

2424
genparser:
2525
# test -d sr_plan_env ||
26-
python gen_parser.py nodes.h `pg_config --includedir-server`
26+
python gen_parser.py nodes.h `$(PG_CONFIG) --includedir-server`

contrib/sr_plan/sr_plan.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ PlannedStmt *sr_planner(Query *parse,
6060
bool find_ok = false;
6161
LOCKMODE heap_lock = AccessShareLock;
6262
Oid query_index_rel_oid;
63+
Oid sr_plans_oid;
6364
IndexScanDesc query_index_scan;
6465
ScanKeyData key;
6566

@@ -81,11 +82,19 @@ PlannedStmt *sr_planner(Query *parse,
8182
sr_query_walker((Query *)parse, NULL);
8283

8384
sr_plans_table_rv = makeRangeVar("public", "sr_plans", -1);
84-
sr_plans_heap = heap_openrv(sr_plans_table_rv, heap_lock);
85+
/* First check existance of "sr_plans" table */
86+
sr_plans_oid = RangeVarGetRelid(sr_plans_table_rv, heap_lock, true);
87+
if (!OidIsValid(sr_plans_oid))
88+
/* Just call standard_planner() if table doesn't exist. */
89+
return standard_planner(parse, cursorOptions, boundParams);
90+
91+
/* Table "sr_plans" exists */
92+
sr_plans_heap = heap_open(sr_plans_oid, NoLock);
8593

8694
query_index_rel_oid = DatumGetObjectId(DirectFunctionCall1(to_regclass, PointerGetDatum(cstring_to_text("sr_plans_query_hash_idx"))));
8795
if (query_index_rel_oid == InvalidOid)
8896
{
97+
heap_close(sr_plans_heap, heap_lock);
8998
elog(WARNING, "Not found sr_plans_query_hash_idx index");
9099
return standard_planner(parse, cursorOptions, boundParams);
91100
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy