Skip to content

Commit 48ffda8

Browse files
committed
feat: add php 8.2 compatibility
1 parent 065c994 commit 48ffda8

35 files changed

+136
-73
lines changed

Dockerfile

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM php:8.1
1+
FROM php:8.2
22
WORKDIR /tmp/cassandra-php-driver
33

44
RUN apt update -y \
@@ -32,11 +32,16 @@ RUN ext/doc/generate_doc.sh
3232
COPY composer.json .
3333
RUN composer install -n
3434

35+
ARG CI
36+
ENV CI=$CI
37+
3538
COPY support support
3639
COPY tests tests
3740
COPY phpunit.xml .
3841
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64/
39-
RUN bin/phpunit --stop-on-error --stop-on-failure
42+
RUN bin/phpunit --stop-on-error --stop-on-failure --testsuite unit
43+
RUN bin/phpunit --stop-on-error --stop-on-failure --testsuite integration --exclude-group flaky
44+
RUN bash -c "for i in {1..10}; do bin/phpunit --stop-on-error --stop-on-failure --testsuite integration --group flaky && exit 0 || sleep 1; done; exit 1;"
4045

4146
COPY features features
4247
COPY behat.yml .

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
all: build
22
build:
3-
docker build . -t cassandra-php-driver
3+
docker build . -t cassandra-php-driver --build-arg CI=$(CI)
44
run:
55
docker run -v $$PWD/ext/doc:/tmp/cassandra-php-driver/ext/doc -it cassandra-php-driver

behat.yml

+11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
default:
2+
formatters:
3+
pretty: true
4+
suites:
5+
default:
6+
filters:
7+
8+
contexts:
9+
- FeatureContext:
10+
cassandra_version: "4.1.0"
11+
12+
cassandra-version-3.11:
213
formatters:
314
pretty: true
415
suites:

ext/php_driver.h

+13-5
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ typedef zend_object php7to8_object;
129129
#define PHP7TO8_ARG_INFO_VOID_RETURN(arginfo) \
130130
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo, 0, 0, IS_VOID, 0) \
131131
ZEND_END_ARG_INFO()
132+
#define PHP7TO8_ARG_INFO_STRING_RETURN(arginfo) \
133+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo, 0, 0, IS_STRING, 0) \
134+
ZEND_END_ARG_INFO()
132135
#define PHP7TO8_ARG_INFO_BOOL_RETURN(arginfo) \
133136
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo, 0, 0, _IS_BOOL, 0) \
134137
ZEND_END_ARG_INFO()
@@ -172,6 +175,9 @@ typedef zval php7to8_object;
172175
#define PHP7TO8_ARG_INFO_VOID_RETURN(arginfo) \
173176
ZEND_BEGIN_ARG_INFO_EX(arginfo, 0, ZEND_RETURN_VALUE, 0) \
174177
ZEND_END_ARG_INFO()
178+
#define PHP7TO8_ARG_INFO_STRING_RETURN(arginfo) \
179+
ZEND_BEGIN_ARG_INFO_EX(arginfo, 0, ZEND_RETURN_VALUE, 0) \
180+
ZEND_END_ARG_INFO()
175181
#define PHP7TO8_ARG_INFO_BOOL_RETURN(arginfo) \
176182
ZEND_BEGIN_ARG_INFO_EX(arginfo, 0, ZEND_RETURN_VALUE, 0) \
177183
ZEND_END_ARG_INFO()
@@ -200,6 +206,12 @@ typedef zval php7to8_object;
200206
ZEND_END_ARG_INFO()
201207
#endif
202208

209+
#if ((PHP_MAJOR_VERSION == 8 && PHP_MINOR_VERSION >= 2) || PHP_MAJOR_VERSION > 8)
210+
#define PHP7TO82_ZEND_KEY() __key ? __key->val : NULL
211+
#else
212+
#define PHP7TO82_ZEND_KEY() _p->key ? _p->key->val : NULL
213+
#endif
214+
203215
#if PHP_MAJOR_VERSION >= 7
204216
#define php5to7_zend_register_internal_class_ex(ce, parent_ce) zend_register_internal_class_ex((ce), (parent_ce) TSRMLS_CC);
205217

@@ -276,11 +288,7 @@ php5to7_string_compare(php5to7_string s1, php5to7_string s2)
276288

277289
#define PHP5TO7_ZEND_HASH_FOREACH_STR_KEY_VAL(ht, _key, _val) \
278290
ZEND_HASH_FOREACH(ht, 0); \
279-
if (_p->key) { \
280-
(_key) = _p->key->val; \
281-
} else { \
282-
(_key) = NULL; \
283-
} \
291+
_key = PHP7TO82_ZEND_KEY(); \
284292
_val = _z;
285293

286294
#define PHP5TO7_ZEND_HASH_FOREACH_END(ht) ZEND_HASH_FOREACH_END()

ext/src/Bigint.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_num, 0, ZEND_RETURN_VALUE, 1)
371371
ZEND_ARG_INFO(0, num)
372372
ZEND_END_ARG_INFO()
373373

374+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
375+
374376
static zend_function_entry php_driver_bigint_methods[] = {
375377
PHP_ME(Bigint, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
376-
PHP_ME(Bigint, __toString, arginfo_none, ZEND_ACC_PUBLIC)
378+
PHP_ME(Bigint, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
377379
PHP_ME(Bigint, type, arginfo_none, ZEND_ACC_PUBLIC)
378380
PHP_ME(Bigint, value, arginfo_none, ZEND_ACC_PUBLIC)
379381
PHP_ME(Bigint, add, arginfo_num, ZEND_ACC_PUBLIC)

ext/src/Blob.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,11 @@ ZEND_END_ARG_INFO()
101101
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
102102
ZEND_END_ARG_INFO()
103103

104+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
105+
104106
static zend_function_entry php_driver_blob_methods[] = {
105107
PHP_ME(Blob, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
106-
PHP_ME(Blob, __toString, arginfo_none, ZEND_ACC_PUBLIC)
108+
PHP_ME(Blob, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
107109
PHP_ME(Blob, type, arginfo_none, ZEND_ACC_PUBLIC)
108110
PHP_ME(Blob, bytes, arginfo_none, ZEND_ACC_PUBLIC)
109111
PHP_ME(Blob, toBinaryString, arginfo_none, ZEND_ACC_PUBLIC)

ext/src/Date.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,15 @@ ZEND_END_ARG_INFO()
180180
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
181181
ZEND_END_ARG_INFO()
182182

183+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
184+
183185
static zend_function_entry php_driver_date_methods[] = {
184186
PHP_ME(Date, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
185187
PHP_ME(Date, type, arginfo_none, ZEND_ACC_PUBLIC)
186188
PHP_ME(Date, seconds, arginfo_none, ZEND_ACC_PUBLIC)
187189
PHP_ME(Date, toDateTime, arginfo_time, ZEND_ACC_PUBLIC)
188190
PHP_ME(Date, fromDateTime, arginfo_datetime, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
189-
PHP_ME(Date, __toString, arginfo_none, ZEND_ACC_PUBLIC)
191+
PHP_ME(Date, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
190192
PHP_FE_END
191193
};
192194

ext/src/Decimal.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -490,9 +490,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_num, 0, ZEND_RETURN_VALUE, 1)
490490
ZEND_ARG_INFO(0, num)
491491
ZEND_END_ARG_INFO()
492492

493+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
494+
493495
static zend_function_entry php_driver_decimal_methods[] = {
494496
PHP_ME(Decimal, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
495-
PHP_ME(Decimal, __toString, arginfo_none, ZEND_ACC_PUBLIC)
497+
PHP_ME(Decimal, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
496498
PHP_ME(Decimal, type, arginfo_none, ZEND_ACC_PUBLIC)
497499
PHP_ME(Decimal, value, arginfo_none, ZEND_ACC_PUBLIC)
498500
PHP_ME(Decimal, scale, arginfo_none, ZEND_ACC_PUBLIC)

ext/src/Duration.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -213,13 +213,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo__construct, 0, ZEND_RETURN_VALUE, 3)
213213
ZEND_ARG_INFO(0, nanos)
214214
ZEND_END_ARG_INFO()
215215

216+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
217+
216218
static zend_function_entry php_driver_duration_methods[] = {
217219
PHP_ME(Duration, __construct, arginfo__construct, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
218220
PHP_ME(Duration, type, arginfo_none, ZEND_ACC_PUBLIC)
219221
PHP_ME(Duration, months, arginfo_none, ZEND_ACC_PUBLIC)
220222
PHP_ME(Duration, days, arginfo_none, ZEND_ACC_PUBLIC)
221223
PHP_ME(Duration, nanos, arginfo_none, ZEND_ACC_PUBLIC)
222-
PHP_ME(Duration, __toString, arginfo_none, ZEND_ACC_PUBLIC)
224+
PHP_ME(Duration, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
223225
PHP_FE_END
224226
};
225227

ext/src/Float.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_num, 0, ZEND_RETURN_VALUE, 1)
346346
ZEND_ARG_INFO(0, num)
347347
ZEND_END_ARG_INFO()
348348

349+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
350+
349351
static zend_function_entry php_driver_float_methods[] = {
350352
PHP_ME(Float, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
351-
PHP_ME(Float, __toString, arginfo_none, ZEND_ACC_PUBLIC)
353+
PHP_ME(Float, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
352354
PHP_ME(Float, type, arginfo_none, ZEND_ACC_PUBLIC)
353355
PHP_ME(Float, value, arginfo_none, ZEND_ACC_PUBLIC)
354356
PHP_ME(Float, isInfinite, arginfo_none, ZEND_ACC_PUBLIC)

ext/src/Inet.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,11 @@ ZEND_END_ARG_INFO()
9090
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
9191
ZEND_END_ARG_INFO()
9292

93+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
94+
9395
static zend_function_entry php_driver_inet_methods[] = {
9496
PHP_ME(Inet, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
95-
PHP_ME(Inet, __toString, arginfo_none, ZEND_ACC_PUBLIC)
97+
PHP_ME(Inet, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
9698
PHP_ME(Inet, type, arginfo_none, ZEND_ACC_PUBLIC)
9799
PHP_ME(Inet, address, arginfo_none, ZEND_ACC_PUBLIC)
98100
PHP_FE_END

ext/src/Smallint.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -403,9 +403,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_num, 0, ZEND_RETURN_VALUE, 1)
403403
ZEND_ARG_INFO(0, num)
404404
ZEND_END_ARG_INFO()
405405

406+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
407+
406408
static zend_function_entry php_driver_smallint_methods[] = {
407409
PHP_ME(Smallint, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
408-
PHP_ME(Smallint, __toString, arginfo_none, ZEND_ACC_PUBLIC)
410+
PHP_ME(Smallint, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
409411
PHP_ME(Smallint, type, arginfo_none, ZEND_ACC_PUBLIC)
410412
PHP_ME(Smallint, value, arginfo_none, ZEND_ACC_PUBLIC)
411413
PHP_ME(Smallint, add, arginfo_num, ZEND_ACC_PUBLIC)

ext/src/Time.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,14 @@ ZEND_END_ARG_INFO()
205205
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
206206
ZEND_END_ARG_INFO()
207207

208+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
209+
208210
static zend_function_entry php_driver_time_methods[] = {
209211
PHP_ME(Time, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
210212
PHP_ME(Time, type, arginfo_none, ZEND_ACC_PUBLIC)
211213
PHP_ME(Time, seconds, arginfo_none, ZEND_ACC_PUBLIC)
212214
PHP_ME(Time, fromDateTime, arginfo_datetime, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
213-
PHP_ME(Time, __toString, arginfo_none, ZEND_ACC_PUBLIC)
215+
PHP_ME(Time, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
214216
PHP_FE_END
215217
};
216218

ext/src/Timestamp.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,15 @@ ZEND_END_ARG_INFO()
173173
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
174174
ZEND_END_ARG_INFO()
175175

176+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
177+
176178
static zend_function_entry php_driver_timestamp_methods[] = {
177179
PHP_ME(Timestamp, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
178180
PHP_ME(Timestamp, type, arginfo_none, ZEND_ACC_PUBLIC)
179181
PHP_ME(Timestamp, time, arginfo_none, ZEND_ACC_PUBLIC)
180182
PHP_ME(Timestamp, microtime, arginfo_microtime, ZEND_ACC_PUBLIC)
181183
PHP_ME(Timestamp, toDateTime, arginfo_none, ZEND_ACC_PUBLIC)
182-
PHP_ME(Timestamp, __toString, arginfo_none, ZEND_ACC_PUBLIC)
184+
PHP_ME(Timestamp, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
183185
PHP_FE_END
184186
};
185187

ext/src/Timeuuid.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,11 @@ ZEND_END_ARG_INFO()
169169
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
170170
ZEND_END_ARG_INFO()
171171

172+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
173+
172174
static zend_function_entry php_driver_timeuuid_methods[] = {
173175
PHP_ME(Timeuuid, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
174-
PHP_ME(Timeuuid, __toString, arginfo_none, ZEND_ACC_PUBLIC)
176+
PHP_ME(Timeuuid, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
175177
PHP_ME(Timeuuid, type, arginfo_none, ZEND_ACC_PUBLIC)
176178
PHP_ME(Timeuuid, uuid, arginfo_none, ZEND_ACC_PUBLIC)
177179
PHP_ME(Timeuuid, version, arginfo_none, ZEND_ACC_PUBLIC)

ext/src/Tinyint.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -402,9 +402,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_num, 0, ZEND_RETURN_VALUE, 1)
402402
ZEND_ARG_INFO(0, num)
403403
ZEND_END_ARG_INFO()
404404

405+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
406+
405407
static zend_function_entry php_driver_tinyint_methods[] = {
406408
PHP_ME(Tinyint, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
407-
PHP_ME(Tinyint, __toString, arginfo_none, ZEND_ACC_PUBLIC)
409+
PHP_ME(Tinyint, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
408410
PHP_ME(Tinyint, type, arginfo_none, ZEND_ACC_PUBLIC)
409411
PHP_ME(Tinyint, value, arginfo_none, ZEND_ACC_PUBLIC)
410412
PHP_ME(Tinyint, add, arginfo_num, ZEND_ACC_PUBLIC)

ext/src/Type.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_map, 0, ZEND_RETURN_VALUE, 2)
207207
PHP_DRIVER_NAMESPACE_ZEND_ARG_OBJ_INFO(0, valueType, Type, 0)
208208
ZEND_END_ARG_INFO()
209209

210+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
211+
210212
static zend_function_entry php_driver_type_methods[] = {
211213
PHP_ABSTRACT_ME(Type, name, arginfo_none)
212-
PHP_ABSTRACT_ME(Type, __toString, arginfo_none)
214+
PHP_ABSTRACT_ME(Type, __toString, arginfo_string_return)
213215

214216
#define XX_SCALAR_METHOD(name, _) PHP_ME(Type, name, arginfo_none, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
215217
PHP_DRIVER_SCALAR_TYPES_MAP(XX_SCALAR_METHOD)

ext/src/Type/Collection.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
113113
ZEND_END_ARG_INFO()
114114

115115
PHP7TO8_ARG_INFO_VARIADIC(arginfo_value, value)
116+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
116117

117118
static zend_function_entry php_driver_type_collection_methods[] = {
118119
PHP_ME(TypeCollection, __construct, arginfo_none, ZEND_ACC_PRIVATE)
119120
PHP_ME(TypeCollection, name, arginfo_none, ZEND_ACC_PUBLIC)
120121
PHP_ME(TypeCollection, valueType, arginfo_none, ZEND_ACC_PUBLIC)
121-
PHP_ME(TypeCollection, __toString, arginfo_none, ZEND_ACC_PUBLIC)
122+
PHP_ME(TypeCollection, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
122123
PHP_ME(TypeCollection, create, arginfo_value, ZEND_ACC_PUBLIC)
123124
PHP_FE_END
124125
};

ext/src/Type/Custom.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_value, 0, ZEND_RETURN_VALUE, 0)
6969
ZEND_ARG_INFO(0, value)
7070
ZEND_END_ARG_INFO()
7171

72+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
73+
7274
static zend_function_entry php_driver_type_custom_methods[] = {
7375
PHP_ME(TypeCustom, __construct, arginfo_none, ZEND_ACC_PRIVATE)
7476
PHP_ME(TypeCustom, name, arginfo_none, ZEND_ACC_PUBLIC)
75-
PHP_ME(TypeCustom, __toString, arginfo_none, ZEND_ACC_PUBLIC)
77+
PHP_ME(TypeCustom, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
7678
PHP_ME(TypeCustom, create, arginfo_value, ZEND_ACC_PUBLIC)
7779
PHP_FE_END
7880
};

ext/src/Type/Map.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,14 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
129129
ZEND_END_ARG_INFO()
130130

131131
PHP7TO8_ARG_INFO_VARIADIC(arginfo_value, value)
132+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
132133

133134
static zend_function_entry php_driver_type_map_methods[] = {
134135
PHP_ME(TypeMap, __construct, arginfo_none, ZEND_ACC_PRIVATE)
135136
PHP_ME(TypeMap, name, arginfo_none, ZEND_ACC_PUBLIC)
136137
PHP_ME(TypeMap, keyType, arginfo_none, ZEND_ACC_PUBLIC)
137138
PHP_ME(TypeMap, valueType, arginfo_none, ZEND_ACC_PUBLIC)
138-
PHP_ME(TypeMap, __toString, arginfo_none, ZEND_ACC_PUBLIC)
139+
PHP_ME(TypeMap, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
139140
PHP_ME(TypeMap, create, arginfo_value, ZEND_ACC_PUBLIC)
140141
PHP_FE_END
141142
};

ext/src/Type/Scalar.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_value, 0, ZEND_RETURN_VALUE, 0)
7272
ZEND_ARG_INFO(0, value)
7373
ZEND_END_ARG_INFO()
7474

75+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
76+
7577
static zend_function_entry php_driver_type_scalar_methods[] = {
7678
PHP_ME(TypeScalar, __construct, arginfo_none, ZEND_ACC_PRIVATE)
7779
PHP_ME(TypeScalar, name, arginfo_none, ZEND_ACC_PUBLIC)
78-
PHP_ME(TypeScalar, __toString, arginfo_none, ZEND_ACC_PUBLIC)
80+
PHP_ME(TypeScalar, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
7981
PHP_ME(TypeScalar, create, arginfo_value, ZEND_ACC_PUBLIC)
8082
PHP_FE_END
8183
};

ext/src/Type/Set.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
105105
ZEND_END_ARG_INFO()
106106

107107
PHP7TO8_ARG_INFO_VARIADIC(arginfo_value, value)
108+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
108109

109110
static zend_function_entry php_driver_type_set_methods[] = {
110111
PHP_ME(TypeSet, __construct, arginfo_none, ZEND_ACC_PRIVATE)
111112
PHP_ME(TypeSet, name, arginfo_none, ZEND_ACC_PUBLIC)
112113
PHP_ME(TypeSet, valueType, arginfo_none, ZEND_ACC_PUBLIC)
113-
PHP_ME(TypeSet, __toString, arginfo_none, ZEND_ACC_PUBLIC)
114+
PHP_ME(TypeSet, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
114115
PHP_ME(TypeSet, create, arginfo_value, ZEND_ACC_PUBLIC)
115116
PHP_FE_END
116117
};

ext/src/Type/Tuple.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
141141
ZEND_END_ARG_INFO()
142142

143143
PHP7TO8_ARG_INFO_VARIADIC(arginfo_values, values)
144+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
144145

145146
static zend_function_entry php_driver_type_tuple_methods[] = {
146147
PHP_ME(TypeTuple, __construct, arginfo_none, ZEND_ACC_PRIVATE)
147148
PHP_ME(TypeTuple, name, arginfo_none, ZEND_ACC_PUBLIC)
148-
PHP_ME(TypeTuple, __toString, arginfo_none, ZEND_ACC_PUBLIC)
149+
PHP_ME(TypeTuple, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
149150
PHP_ME(TypeTuple, types, arginfo_none, ZEND_ACC_PUBLIC)
150151
PHP_ME(TypeTuple, create, arginfo_values, ZEND_ACC_PUBLIC)
151152
PHP_FE_END

ext/src/Type/UserType.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_keyspace, 0, ZEND_RETURN_VALUE, 1)
244244
ZEND_ARG_INFO(0, keyspace)
245245
ZEND_END_ARG_INFO()
246246

247+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
248+
247249
static zend_function_entry php_driver_type_user_type_methods[] = {
248250
PHP_ME(TypeUserType, __construct, arginfo_none, ZEND_ACC_PRIVATE)
249251
PHP_ME(TypeUserType, withName, arginfo_name, ZEND_ACC_PUBLIC)
250252
PHP_ME(TypeUserType, name, arginfo_none, ZEND_ACC_PUBLIC)
251253
PHP_ME(TypeUserType, withKeyspace, arginfo_keyspace, ZEND_ACC_PUBLIC)
252254
PHP_ME(TypeUserType, keyspace, arginfo_none, ZEND_ACC_PUBLIC)
253-
PHP_ME(TypeUserType, __toString, arginfo_none, ZEND_ACC_PUBLIC)
255+
PHP_ME(TypeUserType, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
254256
PHP_ME(TypeUserType, types, arginfo_none, ZEND_ACC_PUBLIC)
255257
PHP_ME(TypeUserType, create, arginfo_value, ZEND_ACC_PUBLIC)
256258
PHP_FE_END

ext/src/Uuid.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,11 @@ ZEND_END_ARG_INFO()
106106
ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
107107
ZEND_END_ARG_INFO()
108108

109+
PHP7TO8_ARG_INFO_STRING_RETURN(arginfo_string_return)
110+
109111
static zend_function_entry php_driver_uuid_methods[] = {
110112
PHP_ME(Uuid, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
111-
PHP_ME(Uuid, __toString, arginfo_none, ZEND_ACC_PUBLIC)
113+
PHP_ME(Uuid, __toString, arginfo_string_return, ZEND_ACC_PUBLIC)
112114
PHP_ME(Uuid, type, arginfo_none, ZEND_ACC_PUBLIC)
113115
PHP_ME(Uuid, uuid, arginfo_none, ZEND_ACC_PUBLIC)
114116
PHP_ME(Uuid, version, arginfo_none, ZEND_ACC_PUBLIC)

0 commit comments

Comments
 (0)