Skip to content

Commit 7d3b2e4

Browse files
yatsukhnenkomichael-grunder
authored andcommitted
Add hGetWithMeta method
1 parent 9dfc377 commit 7d3b2e4

9 files changed

Lines changed: 181 additions & 46 deletions

redis.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1928,6 +1928,13 @@ PHP_METHOD(Redis, hGet)
19281928
}
19291929
/* }}} */
19301930

1931+
/* {{{ proto string Redis::hgetWithMeta(string key, string mem) */
1932+
PHP_METHOD(Redis, hGetWithMeta)
1933+
{
1934+
REDIS_PROCESS_KW_CMD("HGET", redis_key_str_cmd, redis_bulk_withmeta_response);
1935+
}
1936+
/* }}} */
1937+
19311938
/* {{{ proto long Redis::hLen(string key) */
19321939
PHP_METHOD(Redis, hLen)
19331940
{

redis.stub.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1759,6 +1759,17 @@ public function hGet(string $key, string $member): mixed;
17591759
*/
17601760
public function hGetAll(string $key): Redis|array|false;
17611761

1762+
/**
1763+
* Retrieve a value and metadata of hash field.
1764+
*
1765+
* @param string $key The key to query
1766+
* @param string $member The key to query
1767+
* @return mixed
1768+
*
1769+
* @example $redis->hgetWithMeta('foo', 'field');
1770+
*/
1771+
public function hGetWithMeta(string $key, string $member): mixed;
1772+
17621773
/**
17631774
* Increment a hash field's value by an integer
17641775
*

redis_arginfo.h

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: 619374bbad94b8a9992f9c11abd12362e07359d0 */
2+
* Stub hash: 358ec6a551a8da176ffa340e6f9696389b614758 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0)
55
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
@@ -417,6 +417,8 @@ ZEND_END_ARG_INFO()
417417

418418
#define arginfo_class_Redis_hGetAll arginfo_class_Redis_getWithMeta
419419

420+
#define arginfo_class_Redis_hGetWithMeta arginfo_class_Redis_hGet
421+
420422
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_hIncrBy, 0, 3, Redis, MAY_BE_LONG|MAY_BE_FALSE)
421423
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
422424
ZEND_ARG_TYPE_INFO(0, field, IS_STRING, 0)
@@ -1297,7 +1299,6 @@ ZEND_END_ARG_INFO()
12971299

12981300
#define arginfo_class_Redis_zunionstore arginfo_class_Redis_zinterstore
12991301

1300-
13011302
ZEND_METHOD(Redis, __construct);
13021303
ZEND_METHOD(Redis, __destruct);
13031304
ZEND_METHOD(Redis, _compress);
@@ -1393,6 +1394,7 @@ ZEND_METHOD(Redis, hDel);
13931394
ZEND_METHOD(Redis, hExists);
13941395
ZEND_METHOD(Redis, hGet);
13951396
ZEND_METHOD(Redis, hGetAll);
1397+
ZEND_METHOD(Redis, hGetWithMeta);
13961398
ZEND_METHOD(Redis, hIncrBy);
13971399
ZEND_METHOD(Redis, hIncrByFloat);
13981400
ZEND_METHOD(Redis, hKeys);
@@ -1582,7 +1584,6 @@ ZEND_METHOD(Redis, zscan);
15821584
ZEND_METHOD(Redis, zunion);
15831585
ZEND_METHOD(Redis, zunionstore);
15841586

1585-
15861587
static const zend_function_entry class_Redis_methods[] = {
15871588
ZEND_ME(Redis, __construct, arginfo_class_Redis___construct, ZEND_ACC_PUBLIC)
15881589
ZEND_ME(Redis, __destruct, arginfo_class_Redis___destruct, ZEND_ACC_PUBLIC)
@@ -1624,7 +1625,11 @@ static const zend_function_entry class_Redis_methods[] = {
16241625
ZEND_ME(Redis, decrBy, arginfo_class_Redis_decrBy, ZEND_ACC_PUBLIC)
16251626
ZEND_ME(Redis, del, arginfo_class_Redis_del, ZEND_ACC_PUBLIC)
16261627
ZEND_ME(Redis, delifeq, arginfo_class_Redis_delifeq, ZEND_ACC_PUBLIC)
1627-
ZEND_MALIAS(Redis, delete, del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1628+
#if (PHP_VERSION_ID >= 80400)
1629+
ZEND_RAW_FENTRY("delete", zim_Redis_del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, NULL)
1630+
#else
1631+
ZEND_RAW_FENTRY("delete", zim_Redis_del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1632+
#endif
16281633
ZEND_ME(Redis, discard, arginfo_class_Redis_discard, ZEND_ACC_PUBLIC)
16291634
ZEND_ME(Redis, dump, arginfo_class_Redis_dump, ZEND_ACC_PUBLIC)
16301635
ZEND_ME(Redis, echo, arginfo_class_Redis_echo, ZEND_ACC_PUBLIC)
@@ -1680,6 +1685,7 @@ static const zend_function_entry class_Redis_methods[] = {
16801685
ZEND_ME(Redis, hExists, arginfo_class_Redis_hExists, ZEND_ACC_PUBLIC)
16811686
ZEND_ME(Redis, hGet, arginfo_class_Redis_hGet, ZEND_ACC_PUBLIC)
16821687
ZEND_ME(Redis, hGetAll, arginfo_class_Redis_hGetAll, ZEND_ACC_PUBLIC)
1688+
ZEND_ME(Redis, hGetWithMeta, arginfo_class_Redis_hGetWithMeta, ZEND_ACC_PUBLIC)
16831689
ZEND_ME(Redis, hIncrBy, arginfo_class_Redis_hIncrBy, ZEND_ACC_PUBLIC)
16841690
ZEND_ME(Redis, hIncrByFloat, arginfo_class_Redis_hIncrByFloat, ZEND_ACC_PUBLIC)
16851691
ZEND_ME(Redis, hKeys, arginfo_class_Redis_hKeys, ZEND_ACC_PUBLIC)
@@ -1735,7 +1741,11 @@ static const zend_function_entry class_Redis_methods[] = {
17351741
ZEND_ME(Redis, msetnx, arginfo_class_Redis_msetnx, ZEND_ACC_PUBLIC)
17361742
ZEND_ME(Redis, multi, arginfo_class_Redis_multi, ZEND_ACC_PUBLIC)
17371743
ZEND_ME(Redis, object, arginfo_class_Redis_object, ZEND_ACC_PUBLIC)
1738-
ZEND_MALIAS(Redis, open, connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1744+
#if (PHP_VERSION_ID >= 80400)
1745+
ZEND_RAW_FENTRY("open", zim_Redis_connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, NULL)
1746+
#else
1747+
ZEND_RAW_FENTRY("open", zim_Redis_connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1748+
#endif
17391749
ZEND_ME(Redis, pconnect, arginfo_class_Redis_pconnect, ZEND_ACC_PUBLIC)
17401750
ZEND_ME(Redis, persist, arginfo_class_Redis_persist, ZEND_ACC_PUBLIC)
17411751
ZEND_ME(Redis, pexpire, arginfo_class_Redis_pexpire, ZEND_ACC_PUBLIC)
@@ -1745,7 +1755,11 @@ static const zend_function_entry class_Redis_methods[] = {
17451755
ZEND_ME(Redis, pfmerge, arginfo_class_Redis_pfmerge, ZEND_ACC_PUBLIC)
17461756
ZEND_ME(Redis, ping, arginfo_class_Redis_ping, ZEND_ACC_PUBLIC)
17471757
ZEND_ME(Redis, pipeline, arginfo_class_Redis_pipeline, ZEND_ACC_PUBLIC)
1748-
ZEND_MALIAS(Redis, popen, pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1758+
#if (PHP_VERSION_ID >= 80400)
1759+
ZEND_RAW_FENTRY("popen", zim_Redis_pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, NULL)
1760+
#else
1761+
ZEND_RAW_FENTRY("popen", zim_Redis_pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
1762+
#endif
17491763
ZEND_ME(Redis, psetex, arginfo_class_Redis_psetex, ZEND_ACC_PUBLIC)
17501764
ZEND_ME(Redis, psubscribe, arginfo_class_Redis_psubscribe, ZEND_ACC_PUBLIC)
17511765
ZEND_ME(Redis, pttl, arginfo_class_Redis_pttl, ZEND_ACC_PUBLIC)
@@ -1873,17 +1887,16 @@ static const zend_function_entry class_Redis_methods[] = {
18731887
ZEND_FE_END
18741888
};
18751889

1876-
1877-
static const zend_function_entry class_RedisException_methods[] = {
1878-
ZEND_FE_END
1879-
};
1880-
18811890
static zend_class_entry *register_class_Redis(void)
18821891
{
18831892
zend_class_entry ce, *class_entry;
18841893

18851894
INIT_CLASS_ENTRY(ce, "Redis", class_Redis_methods);
1895+
#if (PHP_VERSION_ID >= 80400)
1896+
class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1897+
#else
18861898
class_entry = zend_register_internal_class_ex(&ce, NULL);
1899+
#endif
18871900

18881901
zval const_REDIS_NOT_FOUND_value;
18891902
ZVAL_LONG(&const_REDIS_NOT_FOUND_value, REDIS_NOT_FOUND);
@@ -2232,7 +2245,6 @@ static zend_class_entry *register_class_Redis(void)
22322245
zend_string *const_OPT_BACKOFF_CAP_name = zend_string_init_interned("OPT_BACKOFF_CAP", sizeof("OPT_BACKOFF_CAP") - 1, 1);
22332246
zend_declare_class_constant_ex(class_entry, const_OPT_BACKOFF_CAP_name, &const_OPT_BACKOFF_CAP_value, ZEND_ACC_PUBLIC, NULL);
22342247
zend_string_release(const_OPT_BACKOFF_CAP_name);
2235-
#if (PHP_VERSION_ID >= 80000)
22362248

22372249

22382250
zend_string *attribute_name_SensitiveParameter_func_auth_arg0_0 = zend_string_init_interned("SensitiveParameter", sizeof("SensitiveParameter") - 1, 1);
@@ -2242,7 +2254,6 @@ static zend_class_entry *register_class_Redis(void)
22422254
zend_string *attribute_name_SensitiveParameter_func_migrate_arg7_0 = zend_string_init_interned("SensitiveParameter", sizeof("SensitiveParameter") - 1, 1);
22432255
zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "migrate", sizeof("migrate") - 1), 7, attribute_name_SensitiveParameter_func_migrate_arg7_0, 0);
22442256
zend_string_release(attribute_name_SensitiveParameter_func_migrate_arg7_0);
2245-
#endif
22462257

22472258
return class_entry;
22482259
}
@@ -2251,8 +2262,12 @@ static zend_class_entry *register_class_RedisException(zend_class_entry *class_e
22512262
{
22522263
zend_class_entry ce, *class_entry;
22532264

2254-
INIT_CLASS_ENTRY(ce, "RedisException", class_RedisException_methods);
2265+
INIT_CLASS_ENTRY(ce, "RedisException", NULL);
2266+
#if (PHP_VERSION_ID >= 80400)
2267+
class_entry = zend_register_internal_class_with_flags(&ce, class_entry_RuntimeException, 0);
2268+
#else
22552269
class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
2270+
#endif
22562271

22572272
return class_entry;
22582273
}

redis_cluster.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,6 +1278,12 @@ PHP_METHOD(RedisCluster, hget) {
12781278
}
12791279
/* }}} */
12801280

1281+
/* {{{ proto string RedisCluster::hgetWithMeta(string key, string mem) */
1282+
PHP_METHOD(RedisCluster, hgetWithMeta) {
1283+
CLUSTER_PROCESS_KW_CMD("HGET", redis_key_str_cmd, cluster_bulk_withmeta_resp, 1);
1284+
}
1285+
/* }}} */
1286+
12811287
/* {{{ proto bool RedisCluster::hset(string key, string mem, string val) */
12821288
PHP_METHOD(RedisCluster, hset) {
12831289
CLUSTER_PROCESS_CMD(hset, cluster_long_resp, 0);

redis_cluster.stub.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,11 @@ public function hget(string $key, string $member): mixed;
480480
*/
481481
public function hgetall(string $key): RedisCluster|array|false;
482482

483+
/**
484+
* @see Redis::hgetWithMeta
485+
*/
486+
public function hgetWithMeta(string $key, string $member): mixed;
487+
483488
/**
484489
* @see Redis::hincrby
485490
*/

redis_cluster_arginfo.h

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: d504e84c671162c4ec78aa1e6bb5a47c695ee90d */
2+
* Stub hash: 6561a50ccac9841ac01a53feb5f88e7f592e1bc2 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1)
55
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1)
@@ -392,6 +392,8 @@ ZEND_END_ARG_INFO()
392392

393393
#define arginfo_class_RedisCluster_hgetall arginfo_class_RedisCluster_getWithMeta
394394

395+
#define arginfo_class_RedisCluster_hgetWithMeta arginfo_class_RedisCluster_hget
396+
395397
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hincrby, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE)
396398
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
397399
ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0)
@@ -1179,7 +1181,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zdiff, 0,
11791181
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
11801182
ZEND_END_ARG_INFO()
11811183

1182-
11831184
ZEND_METHOD(RedisCluster, __construct);
11841185
ZEND_METHOD(RedisCluster, _compress);
11851186
ZEND_METHOD(RedisCluster, _uncompress);
@@ -1265,6 +1266,7 @@ ZEND_METHOD(RedisCluster, hdel);
12651266
ZEND_METHOD(RedisCluster, hexists);
12661267
ZEND_METHOD(RedisCluster, hget);
12671268
ZEND_METHOD(RedisCluster, hgetall);
1269+
ZEND_METHOD(RedisCluster, hgetWithMeta);
12681270
ZEND_METHOD(RedisCluster, hincrby);
12691271
ZEND_METHOD(RedisCluster, hincrbyfloat);
12701272
ZEND_METHOD(RedisCluster, hkeys);
@@ -1435,7 +1437,6 @@ ZEND_METHOD(RedisCluster, zdiffstore);
14351437
ZEND_METHOD(RedisCluster, zunion);
14361438
ZEND_METHOD(RedisCluster, zdiff);
14371439

1438-
14391440
static const zend_function_entry class_RedisCluster_methods[] = {
14401441
ZEND_ME(RedisCluster, __construct, arginfo_class_RedisCluster___construct, ZEND_ACC_PUBLIC)
14411442
ZEND_ME(RedisCluster, _compress, arginfo_class_RedisCluster__compress, ZEND_ACC_PUBLIC)
@@ -1522,6 +1523,7 @@ static const zend_function_entry class_RedisCluster_methods[] = {
15221523
ZEND_ME(RedisCluster, hexists, arginfo_class_RedisCluster_hexists, ZEND_ACC_PUBLIC)
15231524
ZEND_ME(RedisCluster, hget, arginfo_class_RedisCluster_hget, ZEND_ACC_PUBLIC)
15241525
ZEND_ME(RedisCluster, hgetall, arginfo_class_RedisCluster_hgetall, ZEND_ACC_PUBLIC)
1526+
ZEND_ME(RedisCluster, hgetWithMeta, arginfo_class_RedisCluster_hgetWithMeta, ZEND_ACC_PUBLIC)
15251527
ZEND_ME(RedisCluster, hincrby, arginfo_class_RedisCluster_hincrby, ZEND_ACC_PUBLIC)
15261528
ZEND_ME(RedisCluster, hincrbyfloat, arginfo_class_RedisCluster_hincrbyfloat, ZEND_ACC_PUBLIC)
15271529
ZEND_ME(RedisCluster, hkeys, arginfo_class_RedisCluster_hkeys, ZEND_ACC_PUBLIC)
@@ -1694,17 +1696,16 @@ static const zend_function_entry class_RedisCluster_methods[] = {
16941696
ZEND_FE_END
16951697
};
16961698

1697-
1698-
static const zend_function_entry class_RedisClusterException_methods[] = {
1699-
ZEND_FE_END
1700-
};
1701-
17021699
static zend_class_entry *register_class_RedisCluster(void)
17031700
{
17041701
zend_class_entry ce, *class_entry;
17051702

17061703
INIT_CLASS_ENTRY(ce, "RedisCluster", class_RedisCluster_methods);
1704+
#if (PHP_VERSION_ID >= 80400)
1705+
class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1706+
#else
17071707
class_entry = zend_register_internal_class_ex(&ce, NULL);
1708+
#endif
17081709

17091710
zval const_OPT_SLAVE_FAILOVER_value;
17101711
ZVAL_LONG(&const_OPT_SLAVE_FAILOVER_value, REDIS_OPT_FAILOVER);
@@ -1735,13 +1736,11 @@ static zend_class_entry *register_class_RedisCluster(void)
17351736
zend_string *const_FAILOVER_DISTRIBUTE_SLAVES_name = zend_string_init_interned("FAILOVER_DISTRIBUTE_SLAVES", sizeof("FAILOVER_DISTRIBUTE_SLAVES") - 1, 1);
17361737
zend_declare_class_constant_ex(class_entry, const_FAILOVER_DISTRIBUTE_SLAVES_name, &const_FAILOVER_DISTRIBUTE_SLAVES_value, ZEND_ACC_PUBLIC, NULL);
17371738
zend_string_release(const_FAILOVER_DISTRIBUTE_SLAVES_name);
1738-
#if (PHP_VERSION_ID >= 80000)
17391739

17401740

17411741
zend_string *attribute_name_SensitiveParameter_func___construct_arg5_0 = zend_string_init_interned("SensitiveParameter", sizeof("SensitiveParameter") - 1, 1);
17421742
zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "__construct", sizeof("__construct") - 1), 5, attribute_name_SensitiveParameter_func___construct_arg5_0, 0);
17431743
zend_string_release(attribute_name_SensitiveParameter_func___construct_arg5_0);
1744-
#endif
17451744

17461745
return class_entry;
17471746
}
@@ -1750,8 +1749,12 @@ static zend_class_entry *register_class_RedisClusterException(zend_class_entry *
17501749
{
17511750
zend_class_entry ce, *class_entry;
17521751

1753-
INIT_CLASS_ENTRY(ce, "RedisClusterException", class_RedisClusterException_methods);
1752+
INIT_CLASS_ENTRY(ce, "RedisClusterException", NULL);
1753+
#if (PHP_VERSION_ID >= 80400)
1754+
class_entry = zend_register_internal_class_with_flags(&ce, class_entry_RuntimeException, 0);
1755+
#else
17541756
class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
1757+
#endif
17551758

17561759
return class_entry;
17571760
}

redis_cluster_legacy_arginfo.h

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: d504e84c671162c4ec78aa1e6bb5a47c695ee90d */
2+
* Stub hash: 6561a50ccac9841ac01a53feb5f88e7f592e1bc2 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1)
55
ZEND_ARG_INFO(0, name)
@@ -345,6 +345,8 @@ ZEND_END_ARG_INFO()
345345

346346
#define arginfo_class_RedisCluster_hgetall arginfo_class_RedisCluster__prefix
347347

348+
#define arginfo_class_RedisCluster_hgetWithMeta arginfo_class_RedisCluster_hexists
349+
348350
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_hincrby, 0, 0, 3)
349351
ZEND_ARG_INFO(0, key)
350352
ZEND_ARG_INFO(0, member)
@@ -1008,7 +1010,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zdiff, 0, 0, 1)
10081010
ZEND_ARG_INFO(0, options)
10091011
ZEND_END_ARG_INFO()
10101012

1011-
10121013
ZEND_METHOD(RedisCluster, __construct);
10131014
ZEND_METHOD(RedisCluster, _compress);
10141015
ZEND_METHOD(RedisCluster, _uncompress);
@@ -1094,6 +1095,7 @@ ZEND_METHOD(RedisCluster, hdel);
10941095
ZEND_METHOD(RedisCluster, hexists);
10951096
ZEND_METHOD(RedisCluster, hget);
10961097
ZEND_METHOD(RedisCluster, hgetall);
1098+
ZEND_METHOD(RedisCluster, hgetWithMeta);
10971099
ZEND_METHOD(RedisCluster, hincrby);
10981100
ZEND_METHOD(RedisCluster, hincrbyfloat);
10991101
ZEND_METHOD(RedisCluster, hkeys);
@@ -1264,7 +1266,6 @@ ZEND_METHOD(RedisCluster, zdiffstore);
12641266
ZEND_METHOD(RedisCluster, zunion);
12651267
ZEND_METHOD(RedisCluster, zdiff);
12661268

1267-
12681269
static const zend_function_entry class_RedisCluster_methods[] = {
12691270
ZEND_ME(RedisCluster, __construct, arginfo_class_RedisCluster___construct, ZEND_ACC_PUBLIC)
12701271
ZEND_ME(RedisCluster, _compress, arginfo_class_RedisCluster__compress, ZEND_ACC_PUBLIC)
@@ -1351,6 +1352,7 @@ static const zend_function_entry class_RedisCluster_methods[] = {
13511352
ZEND_ME(RedisCluster, hexists, arginfo_class_RedisCluster_hexists, ZEND_ACC_PUBLIC)
13521353
ZEND_ME(RedisCluster, hget, arginfo_class_RedisCluster_hget, ZEND_ACC_PUBLIC)
13531354
ZEND_ME(RedisCluster, hgetall, arginfo_class_RedisCluster_hgetall, ZEND_ACC_PUBLIC)
1355+
ZEND_ME(RedisCluster, hgetWithMeta, arginfo_class_RedisCluster_hgetWithMeta, ZEND_ACC_PUBLIC)
13541356
ZEND_ME(RedisCluster, hincrby, arginfo_class_RedisCluster_hincrby, ZEND_ACC_PUBLIC)
13551357
ZEND_ME(RedisCluster, hincrbyfloat, arginfo_class_RedisCluster_hincrbyfloat, ZEND_ACC_PUBLIC)
13561358
ZEND_ME(RedisCluster, hkeys, arginfo_class_RedisCluster_hkeys, ZEND_ACC_PUBLIC)
@@ -1523,17 +1525,16 @@ static const zend_function_entry class_RedisCluster_methods[] = {
15231525
ZEND_FE_END
15241526
};
15251527

1526-
1527-
static const zend_function_entry class_RedisClusterException_methods[] = {
1528-
ZEND_FE_END
1529-
};
1530-
15311528
static zend_class_entry *register_class_RedisCluster(void)
15321529
{
15331530
zend_class_entry ce, *class_entry;
15341531

15351532
INIT_CLASS_ENTRY(ce, "RedisCluster", class_RedisCluster_methods);
1533+
#if (PHP_VERSION_ID >= 80400)
1534+
class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1535+
#else
15361536
class_entry = zend_register_internal_class_ex(&ce, NULL);
1537+
#endif
15371538

15381539
zval const_OPT_SLAVE_FAILOVER_value;
15391540
ZVAL_LONG(&const_OPT_SLAVE_FAILOVER_value, REDIS_OPT_FAILOVER);
@@ -1572,8 +1573,12 @@ static zend_class_entry *register_class_RedisClusterException(zend_class_entry *
15721573
{
15731574
zend_class_entry ce, *class_entry;
15741575

1575-
INIT_CLASS_ENTRY(ce, "RedisClusterException", class_RedisClusterException_methods);
1576+
INIT_CLASS_ENTRY(ce, "RedisClusterException", NULL);
1577+
#if (PHP_VERSION_ID >= 80400)
1578+
class_entry = zend_register_internal_class_with_flags(&ce, class_entry_RuntimeException, 0);
1579+
#else
15761580
class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
1581+
#endif
15771582

15781583
return class_entry;
15791584
}

0 commit comments

Comments
 (0)