diff options
| -rw-r--r-- | meta-networking/recipes-support/pgpool2/pgpool2/0001-snprintf-Add-math.h-to-ensure-isnan-and-isinf-are-de.patch | 40 | ||||
| -rw-r--r-- | meta-networking/recipes-support/pgpool2/pgpool2/v1-0001-Make-time-calculations-always-long-long.patch | 336 | ||||
| -rw-r--r-- | meta-networking/recipes-support/pgpool2/pgpool2_4.6.4.bb (renamed from meta-networking/recipes-support/pgpool2/pgpool2_4.6.3.bb) | 4 |
3 files changed, 1 insertions, 379 deletions
diff --git a/meta-networking/recipes-support/pgpool2/pgpool2/0001-snprintf-Add-math.h-to-ensure-isnan-and-isinf-are-de.patch b/meta-networking/recipes-support/pgpool2/pgpool2/0001-snprintf-Add-math.h-to-ensure-isnan-and-isinf-are-de.patch deleted file mode 100644 index 1fdf91227b..0000000000 --- a/meta-networking/recipes-support/pgpool2/pgpool2/0001-snprintf-Add-math.h-to-ensure-isnan-and-isinf-are-de.patch +++ /dev/null | |||
| @@ -1,40 +0,0 @@ | |||
| 1 | From c0b6ae020ad87040b5bc6fbae94fb815f10884d2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 3 | Date: Thu, 11 Sep 2025 11:58:02 +0200 | ||
| 4 | Subject: [PATCH] snprintf: Add math.h to ensure isnan and isinf are defined | ||
| 5 | |||
| 6 | When building for 32-bit arm arch, compilation fails with the following error: | ||
| 7 | | snprintf.c: In function 'fmtfloat': | ||
| 8 | | snprintf.c:1232:13: error: implicit declaration of function 'isnan' [-Wimplicit-function-declaration] | ||
| 9 | | 1232 | if (isnan(value)) | ||
| 10 | | | ^~~~~ | ||
| 11 | | snprintf.c:50:1: note: include '<math.h>' or provide a declaration of 'isnan' | ||
| 12 | | 49 | #include "postgresql/server/port.h" | ||
| 13 | | +++ |+#include <math.h> | ||
| 14 | | 50 | | ||
| 15 | | snprintf.c:1254:21: error: implicit declaration of function 'isinf' [-Wimplicit-function-declaration] | ||
| 16 | | 1254 | if (isinf(value)) | ||
| 17 | | | ^~~~~ | ||
| 18 | | snprintf.c:1254:21: note: include '<math.h>' or provide a declaration of 'isinf' | ||
| 19 | |||
| 20 | To avoid the error, add math.h to snprintf.c. | ||
| 21 | |||
| 22 | Upstream-Status: Submitted [https://github.com/pgpool/pgpool2/pull/128] | ||
| 23 | |||
| 24 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 25 | --- | ||
| 26 | src/parser/snprintf.c | 1 + | ||
| 27 | 1 file changed, 1 insertion(+) | ||
| 28 | |||
| 29 | diff --git a/src/parser/snprintf.c b/src/parser/snprintf.c | ||
| 30 | index 6dd4a50..cce7951 100644 | ||
| 31 | --- a/src/parser/snprintf.c | ||
| 32 | +++ b/src/parser/snprintf.c | ||
| 33 | @@ -36,6 +36,7 @@ | ||
| 34 | #include "c.h" | ||
| 35 | #endif | ||
| 36 | |||
| 37 | +#include <math.h> | ||
| 38 | #include <stdarg.h> | ||
| 39 | #include <stdio.h> | ||
| 40 | #include <stdint.h> | ||
diff --git a/meta-networking/recipes-support/pgpool2/pgpool2/v1-0001-Make-time-calculations-always-long-long.patch b/meta-networking/recipes-support/pgpool2/pgpool2/v1-0001-Make-time-calculations-always-long-long.patch deleted file mode 100644 index 07930f4341..0000000000 --- a/meta-networking/recipes-support/pgpool2/pgpool2/v1-0001-Make-time-calculations-always-long-long.patch +++ /dev/null | |||
| @@ -1,336 +0,0 @@ | |||
| 1 | From 693208fa9f8481714040617746983741b7bf904d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Tatsuo Ishii <ishii@postgresql.org> | ||
| 3 | Date: Fri, 3 Oct 2025 21:10:50 +0900 | ||
| 4 | Subject: [PATCH v1] Make time calculations always long long. | ||
| 5 | |||
| 6 | Previously pgpool assumed that time_t to be a simple long. This causes | ||
| 7 | a lots of compile time warnings on certain systems, for example | ||
| 8 | OpenBSD because on the system time_t is __int64, which results in long | ||
| 9 | long. This commit upcasts such calculations to long long to avoid the | ||
| 10 | issue. | ||
| 11 | |||
| 12 | This way times can't get truncated and for the places where time_t is | ||
| 13 | actually used as a time and not a time diff this would allow pgpool to | ||
| 14 | keep working correctly post Y2038 on 64 bit clean time_t systems post | ||
| 15 | Y2038 (e.g. i386 OpenBSD). | ||
| 16 | |||
| 17 | Moreover, json_get_long_value_for_key is changed to | ||
| 18 | json_get_llong_value_for_key and changed the parameter to long long. | ||
| 19 | This makes it more in line _json_value's integer, which is defined as | ||
| 20 | int64. This should also give 32 bit platforms proper retrieval of the | ||
| 21 | max value of an integer and may or may not solve some weird integer | ||
| 22 | overflow issues. | ||
| 23 | |||
| 24 | Author: Martijn van Duren <pgpool@list.imperialat.at> | ||
| 25 | Reviewed-by: Tatsuo Ishii <ishii@postgresql.org> | ||
| 26 | Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2025-May/004584.html | ||
| 27 | |||
| 28 | From Yocto's perspective this patch also allows this application to | ||
| 29 | compile for 32-bit targets. | ||
| 30 | |||
| 31 | Upstream-Status: Submitted [https://www.postgresql.org/message-id/20251003.211957.2067537305399895611.ishii@postgresql.org] | ||
| 32 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 33 | |||
| 34 | --- | ||
| 35 | src/include/utils/json.h | 2 +- | ||
| 36 | src/include/watchdog/wd_commands.h | 2 +- | ||
| 37 | src/include/watchdog/wd_json_data.h | 4 ++-- | ||
| 38 | src/main/pgpool_logger.c | 2 +- | ||
| 39 | src/pcp_con/pcp_worker.c | 4 ++-- | ||
| 40 | src/protocol/pool_connection_pool.c | 12 ++++++------ | ||
| 41 | src/query_cache/pool_memqcache.c | 6 +++--- | ||
| 42 | src/utils/json.c | 2 +- | ||
| 43 | src/utils/pool_process_reporting.c | 2 +- | ||
| 44 | src/utils/pool_relcache.c | 2 +- | ||
| 45 | src/watchdog/watchdog.c | 4 ++-- | ||
| 46 | src/watchdog/wd_commands.c | 4 ++-- | ||
| 47 | src/watchdog/wd_heartbeat.c | 4 ++-- | ||
| 48 | src/watchdog/wd_json_data.c | 20 +++++++++++--------- | ||
| 49 | 14 files changed, 36 insertions(+), 34 deletions(-) | ||
| 50 | |||
| 51 | diff --git a/src/include/utils/json.h b/src/include/utils/json.h | ||
| 52 | index 67cc025..7e24382 100644 | ||
| 53 | --- a/src/include/utils/json.h | ||
| 54 | +++ b/src/include/utils/json.h | ||
| 55 | @@ -313,7 +313,7 @@ extern "C" | ||
| 56 | /* pgpool-II extensions */ | ||
| 57 | json_value *json_get_value_for_key(json_value * source, const char *key); | ||
| 58 | int json_get_int_value_for_key(json_value * source, const char *key, int *value); | ||
| 59 | -int json_get_long_value_for_key(json_value * source, const char *key, long *value); | ||
| 60 | +int json_get_llong_value_for_key(json_value * source, const char *key, long long *value); | ||
| 61 | char *json_get_string_value_for_key(json_value * source, const char *key); | ||
| 62 | int json_get_bool_value_for_key(json_value * source, const char *key, bool *value); | ||
| 63 | |||
| 64 | diff --git a/src/include/watchdog/wd_commands.h b/src/include/watchdog/wd_commands.h | ||
| 65 | index 34c5b9a..dd788da 100644 | ||
| 66 | --- a/src/include/watchdog/wd_commands.h | ||
| 67 | +++ b/src/include/watchdog/wd_commands.h | ||
| 68 | @@ -52,7 +52,7 @@ typedef struct WDGenericData | ||
| 69 | char *stringVal; | ||
| 70 | int intVal; | ||
| 71 | bool boolVal; | ||
| 72 | - long longVal; | ||
| 73 | + long long longVal; | ||
| 74 | } data; | ||
| 75 | } WDGenericData; | ||
| 76 | |||
| 77 | diff --git a/src/include/watchdog/wd_json_data.h b/src/include/watchdog/wd_json_data.h | ||
| 78 | index 7b53999..4ad4910 100644 | ||
| 79 | --- a/src/include/watchdog/wd_json_data.h | ||
| 80 | +++ b/src/include/watchdog/wd_json_data.h | ||
| 81 | @@ -51,8 +51,8 @@ extern bool parse_node_status_json(char *json_data, int data_len, int *nodeID, i | ||
| 82 | |||
| 83 | |||
| 84 | extern bool parse_beacon_message_json(char *json_data, int data_len, int *state, | ||
| 85 | - long *seconds_since_node_startup, | ||
| 86 | - long *seconds_since_current_state, | ||
| 87 | + long long *seconds_since_node_startup, | ||
| 88 | + long long *seconds_since_current_state, | ||
| 89 | int *quorumStatus, | ||
| 90 | int *standbyNodesCount, | ||
| 91 | bool *escalated); | ||
| 92 | diff --git a/src/main/pgpool_logger.c b/src/main/pgpool_logger.c | ||
| 93 | index 2060867..21c67a8 100644 | ||
| 94 | --- a/src/main/pgpool_logger.c | ||
| 95 | +++ b/src/main/pgpool_logger.c | ||
| 96 | @@ -50,7 +50,7 @@ | ||
| 97 | #include "main/pgpool_logger.h" | ||
| 98 | |||
| 99 | #define DEVNULL "/dev/null" | ||
| 100 | -typedef int64 pg_time_t; | ||
| 101 | +typedef time_t pg_time_t; | ||
| 102 | /* | ||
| 103 | * We read() into a temp buffer twice as big as a chunk, so that any fragment | ||
| 104 | * left after processing can be moved down to the front and we'll still have | ||
| 105 | diff --git a/src/pcp_con/pcp_worker.c b/src/pcp_con/pcp_worker.c | ||
| 106 | index de2658d..ddd892a 100644 | ||
| 107 | --- a/src/pcp_con/pcp_worker.c | ||
| 108 | +++ b/src/pcp_con/pcp_worker.c | ||
| 109 | @@ -933,9 +933,9 @@ inform_node_info(PCP_CONNECTION * frontend, char *buf) | ||
| 110 | |||
| 111 | snprintf(standby_delay_by_time_str, sizeof(standby_delay_by_time_str), "%d", bi->standby_delay_by_time); | ||
| 112 | |||
| 113 | - snprintf(standby_delay_str, sizeof(standby_delay_str), UINT64_FORMAT, bi->standby_delay); | ||
| 114 | + snprintf(standby_delay_str, sizeof(standby_delay_str), "%lld", (long long)bi->standby_delay); | ||
| 115 | |||
| 116 | - snprintf(status_changed_time_str, sizeof(status_changed_time_str), UINT64_FORMAT, bi->status_changed_time); | ||
| 117 | + snprintf(status_changed_time_str, sizeof(status_changed_time_str), "%lld", (long long)bi->status_changed_time); | ||
| 118 | |||
| 119 | pcp_write(frontend, "i", 1); | ||
| 120 | wsize = htonl(sizeof(code) + | ||
| 121 | diff --git a/src/protocol/pool_connection_pool.c b/src/protocol/pool_connection_pool.c | ||
| 122 | index 225294a..03e9a85 100644 | ||
| 123 | --- a/src/protocol/pool_connection_pool.c | ||
| 124 | +++ b/src/protocol/pool_connection_pool.c | ||
| 125 | @@ -299,10 +299,10 @@ pool_create_cp(void) | ||
| 126 | |||
| 127 | ereport(DEBUG1, | ||
| 128 | (errmsg("creating connection pool"), | ||
| 129 | - errdetail("user: %s database: %s closetime: %ld", | ||
| 130 | + errdetail("user: %s database: %s closetime: %lld", | ||
| 131 | CONNECTION_SLOT(p, main_node_id)->sp->user, | ||
| 132 | CONNECTION_SLOT(p, main_node_id)->sp->database, | ||
| 133 | - CONNECTION_SLOT(p, main_node_id)->closetime))); | ||
| 134 | + (long long)CONNECTION_SLOT(p, main_node_id)->closetime))); | ||
| 135 | |||
| 136 | if (CONNECTION_SLOT(p, main_node_id)->closetime < closetime) | ||
| 137 | { | ||
| 138 | @@ -363,7 +363,7 @@ pool_connection_pool_timer(POOL_CONNECTION_POOL * backend) | ||
| 139 | |||
| 140 | ereport(DEBUG1, | ||
| 141 | (errmsg("setting backend connection close timer"), | ||
| 142 | - errdetail("close time %ld", time(NULL)))); | ||
| 143 | + errdetail("close time %lld", (long long)time(NULL)))); | ||
| 144 | |||
| 145 | /* Set connection close time */ | ||
| 146 | for (i = 0; i < NUM_BACKENDS; i++) | ||
| 147 | @@ -421,7 +421,7 @@ pool_backend_timer(void) | ||
| 148 | now = time(NULL); | ||
| 149 | |||
| 150 | ereport(DEBUG1, | ||
| 151 | - (errmsg("backend timer handler called at %ld", now))); | ||
| 152 | + (errmsg("backend timer handler called at %lld", (long long)now))); | ||
| 153 | |||
| 154 | for (i = 0; i < pool_config->max_pool; i++, p++) | ||
| 155 | { | ||
| 156 | @@ -439,8 +439,8 @@ pool_backend_timer(void) | ||
| 157 | |||
| 158 | ereport(DEBUG1, | ||
| 159 | (errmsg("backend timer handler called"), | ||
| 160 | - errdetail("expire time: %ld", | ||
| 161 | - MAIN_CONNECTION(p)->closetime + pool_config->connection_life_time))); | ||
| 162 | + errdetail("expire time: %lld", | ||
| 163 | + (long long)(MAIN_CONNECTION(p)->closetime + pool_config->connection_life_time)))); | ||
| 164 | |||
| 165 | if (now >= (MAIN_CONNECTION(p)->closetime + pool_config->connection_life_time)) | ||
| 166 | { | ||
| 167 | diff --git a/src/query_cache/pool_memqcache.c b/src/query_cache/pool_memqcache.c | ||
| 168 | index cc70207..03a77b7 100644 | ||
| 169 | --- a/src/query_cache/pool_memqcache.c | ||
| 170 | +++ b/src/query_cache/pool_memqcache.c | ||
| 171 | @@ -280,7 +280,7 @@ pool_commit_cache(POOL_CONNECTION_POOL * backend, char *query, char *data, size_ | ||
| 172 | memqcache_expire = pool_config->memqcache_expire; | ||
| 173 | ereport(DEBUG1, | ||
| 174 | (errmsg("committing SELECT results to cache storage"), | ||
| 175 | - errdetail("memqcache_expire = %ld", memqcache_expire))); | ||
| 176 | + errdetail("memqcache_expire = %lld", (long long)memqcache_expire))); | ||
| 177 | |||
| 178 | if (pool_is_shmem_cache()) | ||
| 179 | { | ||
| 180 | @@ -2887,8 +2887,8 @@ static POOL_CACHEID * pool_find_item_on_shmem_cache(POOL_QUERY_HASH * query_hash | ||
| 181 | { | ||
| 182 | ereport(DEBUG1, | ||
| 183 | (errmsg("memcache finding item"), | ||
| 184 | - errdetail("cache expired: now: %ld timestamp: %ld", | ||
| 185 | - now, cih->timestamp + cih->expire))); | ||
| 186 | + errdetail("cache expired: now: %lld timestamp: %lld", | ||
| 187 | + (long long)now, (long long)(cih->timestamp + cih->expire)))); | ||
| 188 | pool_delete_item_shmem_cache(c); | ||
| 189 | return NULL; | ||
| 190 | } | ||
| 191 | diff --git a/src/utils/json.c b/src/utils/json.c | ||
| 192 | index 319c8fd..9336fde 100644 | ||
| 193 | --- a/src/utils/json.c | ||
| 194 | +++ b/src/utils/json.c | ||
| 195 | @@ -1191,7 +1191,7 @@ json_get_int_value_for_key(json_value * source, const char *key, int *value) | ||
| 196 | } | ||
| 197 | |||
| 198 | int | ||
| 199 | -json_get_long_value_for_key(json_value * source, const char *key, long *value) | ||
| 200 | +json_get_llong_value_for_key(json_value * source, const char *key, long long *value) | ||
| 201 | { | ||
| 202 | json_value *jNode; | ||
| 203 | |||
| 204 | diff --git a/src/utils/pool_process_reporting.c b/src/utils/pool_process_reporting.c | ||
| 205 | index 71f871b..5910999 100644 | ||
| 206 | --- a/src/utils/pool_process_reporting.c | ||
| 207 | +++ b/src/utils/pool_process_reporting.c | ||
| 208 | @@ -2052,7 +2052,7 @@ get_health_check_stats(int *nrows) | ||
| 209 | |||
| 210 | /* status last changed */ | ||
| 211 | t = bi->status_changed_time; | ||
| 212 | - ereport(LOG,(errmsg("status_changed_time %ld", t))); | ||
| 213 | + ereport(LOG,(errmsg("status_changed_time %lld", (long long)t))); | ||
| 214 | strftime(stats[i].last_status_change, POOLCONFIG_MAXDATELEN, "%F %T", localtime(&t)); | ||
| 215 | |||
| 216 | snprintf(stats[i].total_count, POOLCONFIG_MAXLONGCOUNTLEN, UINT64_FORMAT, health_check_stats[i].total_count); | ||
| 217 | diff --git a/src/utils/pool_relcache.c b/src/utils/pool_relcache.c | ||
| 218 | index 32362fc..1701cb5 100644 | ||
| 219 | --- a/src/utils/pool_relcache.c | ||
| 220 | +++ b/src/utils/pool_relcache.c | ||
| 221 | @@ -187,7 +187,7 @@ pool_search_relcache(POOL_RELCACHE * relcache, POOL_CONNECTION_POOL * backend, c | ||
| 222 | { | ||
| 223 | ereport(DEBUG1, | ||
| 224 | (errmsg("searching relcache"), | ||
| 225 | - errdetail("relcache for database:%s table:%s expired. now:%ld expiration time:%ld", dbname, table, now, relcache->cache[i].expire))); | ||
| 226 | + errdetail("relcache for database:%s table:%s expired. now:%lld expiration time:%lld", dbname, table, (long long)now, (long long)relcache->cache[i].expire))); | ||
| 227 | |||
| 228 | relcache->cache[i].refcnt = 0; | ||
| 229 | break; | ||
| 230 | diff --git a/src/watchdog/watchdog.c b/src/watchdog/watchdog.c | ||
| 231 | index beb5a15..a78cc25 100644 | ||
| 232 | --- a/src/watchdog/watchdog.c | ||
| 233 | +++ b/src/watchdog/watchdog.c | ||
| 234 | @@ -6656,8 +6656,8 @@ watchdog_state_machine_nw_isolation(WD_EVENTS event, WatchdogNode * wdNode, WDPa | ||
| 235 | static bool | ||
| 236 | beacon_message_received_from_node(WatchdogNode * wdNode, WDPacketData * pkt) | ||
| 237 | { | ||
| 238 | - long seconds_since_node_startup; | ||
| 239 | - long seconds_since_current_state; | ||
| 240 | + long long seconds_since_node_startup; | ||
| 241 | + long long seconds_since_current_state; | ||
| 242 | int quorum_status; | ||
| 243 | int standby_nodes_count; | ||
| 244 | bool escalated; | ||
| 245 | diff --git a/src/watchdog/wd_commands.c b/src/watchdog/wd_commands.c | ||
| 246 | index 1459558..c5cd1dc 100644 | ||
| 247 | --- a/src/watchdog/wd_commands.c | ||
| 248 | +++ b/src/watchdog/wd_commands.c | ||
| 249 | @@ -193,9 +193,9 @@ get_wd_runtime_variable_value(char* wd_authkey, char *varName) | ||
| 250 | |||
| 251 | case VALUE_DATA_TYPE_LONG: | ||
| 252 | { | ||
| 253 | - long longVal; | ||
| 254 | + long long longVal; | ||
| 255 | |||
| 256 | - if (json_get_long_value_for_key(root, WD_JSON_KEY_VALUE_DATA, &longVal)) | ||
| 257 | + if (json_get_llong_value_for_key(root, WD_JSON_KEY_VALUE_DATA, &longVal)) | ||
| 258 | { | ||
| 259 | ereport(WARNING, | ||
| 260 | (errmsg("get runtime variable value from watchdog failed"), | ||
| 261 | diff --git a/src/watchdog/wd_heartbeat.c b/src/watchdog/wd_heartbeat.c | ||
| 262 | index 09b1ef5..e42cff5 100644 | ||
| 263 | --- a/src/watchdog/wd_heartbeat.c | ||
| 264 | +++ b/src/watchdog/wd_heartbeat.c | ||
| 265 | @@ -850,8 +850,8 @@ packet_to_string_hb(WdHbPacket * pkt, char *str, int maxlen) | ||
| 266 | { | ||
| 267 | int len; | ||
| 268 | |||
| 269 | - len = snprintf(str, maxlen, "tv_sec=%ld tv_usec=%ld from=%s", | ||
| 270 | - pkt->send_time.tv_sec, pkt->send_time.tv_usec, pkt->from); | ||
| 271 | + len = snprintf(str, maxlen, "tv_sec=%lld tv_usec=%lld from=%s", | ||
| 272 | + (long long)pkt->send_time.tv_sec, (long long)pkt->send_time.tv_usec, pkt->from); | ||
| 273 | |||
| 274 | return len; | ||
| 275 | } | ||
| 276 | diff --git a/src/watchdog/wd_json_data.c b/src/watchdog/wd_json_data.c | ||
| 277 | index 474fc37..602e3bf 100644 | ||
| 278 | --- a/src/watchdog/wd_json_data.c | ||
| 279 | +++ b/src/watchdog/wd_json_data.c | ||
| 280 | @@ -530,6 +530,7 @@ get_watchdog_node_from_json(char *json_data, int data_len, char **authkey) | ||
| 281 | { | ||
| 282 | json_value *root = NULL; | ||
| 283 | char *ptr; | ||
| 284 | + long long longVal; | ||
| 285 | WatchdogNode *wdNode = palloc0(sizeof(WatchdogNode)); | ||
| 286 | |||
| 287 | root = json_parse(json_data, data_len); | ||
| 288 | @@ -537,19 +538,20 @@ get_watchdog_node_from_json(char *json_data, int data_len, char **authkey) | ||
| 289 | if (root == NULL || root->type != json_object) | ||
| 290 | goto ERROR_EXIT; | ||
| 291 | |||
| 292 | - if (json_get_long_value_for_key(root, "StartupTimeSecs", &wdNode->startup_time.tv_sec)) | ||
| 293 | + if (json_get_llong_value_for_key(root, "StartupTimeSecs", &longVal)) | ||
| 294 | { | ||
| 295 | bool escalated; | ||
| 296 | - long seconds_since_node_startup; | ||
| 297 | - long seconds_since_current_state; | ||
| 298 | + long long seconds_since_node_startup; | ||
| 299 | + long long seconds_since_current_state; | ||
| 300 | struct timeval current_time; | ||
| 301 | |||
| 302 | + wdNode->startup_time.tv_sec = longVal; | ||
| 303 | gettimeofday(¤t_time, NULL); | ||
| 304 | |||
| 305 | /* The new version does not have StartupTimeSecs Key */ | ||
| 306 | - if (json_get_long_value_for_key(root, "SecondsSinceStartup", &seconds_since_node_startup)) | ||
| 307 | + if (json_get_llong_value_for_key(root, "SecondsSinceStartup", &seconds_since_node_startup)) | ||
| 308 | goto ERROR_EXIT; | ||
| 309 | - if (json_get_long_value_for_key(root, "SecondsSinceCurrentState", &seconds_since_current_state)) | ||
| 310 | + if (json_get_llong_value_for_key(root, "SecondsSinceCurrentState", &seconds_since_current_state)) | ||
| 311 | goto ERROR_EXIT; | ||
| 312 | if (json_get_bool_value_for_key(root, "Escalated", &escalated)) | ||
| 313 | goto ERROR_EXIT; | ||
| 314 | @@ -640,8 +642,8 @@ ERROR_EXIT: | ||
| 315 | bool | ||
| 316 | parse_beacon_message_json(char *json_data, int data_len, | ||
| 317 | int *state, | ||
| 318 | - long *seconds_since_node_startup, | ||
| 319 | - long *seconds_since_current_state, | ||
| 320 | + long long *seconds_since_node_startup, | ||
| 321 | + long long *seconds_since_current_state, | ||
| 322 | int *quorumStatus, | ||
| 323 | int *standbyNodesCount, | ||
| 324 | bool *escalated) | ||
| 325 | @@ -655,9 +657,9 @@ parse_beacon_message_json(char *json_data, int data_len, | ||
| 326 | |||
| 327 | if (json_get_int_value_for_key(root, "State", state)) | ||
| 328 | goto ERROR_EXIT; | ||
| 329 | - if (json_get_long_value_for_key(root, "SecondsSinceStartup", seconds_since_node_startup)) | ||
| 330 | + if (json_get_llong_value_for_key(root, "SecondsSinceStartup", seconds_since_node_startup)) | ||
| 331 | goto ERROR_EXIT; | ||
| 332 | - if (json_get_long_value_for_key(root, "SecondsSinceCurrentState", seconds_since_current_state)) | ||
| 333 | + if (json_get_llong_value_for_key(root, "SecondsSinceCurrentState", seconds_since_current_state)) | ||
| 334 | goto ERROR_EXIT; | ||
| 335 | if (json_get_bool_value_for_key(root, "Escalated", escalated)) | ||
| 336 | goto ERROR_EXIT; | ||
diff --git a/meta-networking/recipes-support/pgpool2/pgpool2_4.6.3.bb b/meta-networking/recipes-support/pgpool2/pgpool2_4.6.4.bb index 6d83ce9bc4..0d7f1e0342 100644 --- a/meta-networking/recipes-support/pgpool2/pgpool2_4.6.3.bb +++ b/meta-networking/recipes-support/pgpool2/pgpool2_4.6.4.bb | |||
| @@ -12,13 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e4b38de086d73e0521de0bbdbaa4a1a9" | |||
| 12 | 12 | ||
| 13 | SRC_URI = "https://www.pgpool.net/mediawiki/images/pgpool-II-${PV}.tar.gz \ | 13 | SRC_URI = "https://www.pgpool.net/mediawiki/images/pgpool-II-${PV}.tar.gz \ |
| 14 | file://0001-Fix-build-error-when-build-this-file.patch \ | 14 | file://0001-Fix-build-error-when-build-this-file.patch \ |
| 15 | file://0001-snprintf-Add-math.h-to-ensure-isnan-and-isinf-are-de.patch \ | ||
| 16 | file://v1-0001-Make-time-calculations-always-long-long.patch \ | ||
| 17 | file://define_SIGNAL_ARGS.patch \ | 15 | file://define_SIGNAL_ARGS.patch \ |
| 18 | file://pgpool.sysconfig \ | 16 | file://pgpool.sysconfig \ |
| 19 | file://pgpool.service \ | 17 | file://pgpool.service \ |
| 20 | " | 18 | " |
| 21 | SRC_URI[sha256sum] = "46688668b2ace67d8161a320256252d98698bc7d9788cc6727269d5720299f2c" | 19 | SRC_URI[sha256sum] = "ef0d2e91a9a11d737c6476247219e679f718bec53550646189594ef9aefd298d" |
| 22 | 20 | ||
| 23 | S = "${UNPACKDIR}/pgpool-II-${PV}" | 21 | S = "${UNPACKDIR}/pgpool-II-${PV}" |
| 24 | 22 | ||
