2
* Copyright 2015-2016 DataStax, Inc.
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
8
* http://www.apache.org/licenses/LICENSE-2.0
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
17
#ifndef PHP_DRIVER_TYPES_H
18
#define PHP_DRIVER_TYPES_H
20
#if PHP_MAJOR_VERSION >= 7
21
#define PHP_DRIVER_BEGIN_OBJECT_TYPE(type_name) \
22
typedef struct php_driver_##type_name##_ {
24
#define PHP_DRIVER_END_OBJECT_TYPE(type_name) \
26
} php_driver_##type_name; \
27
static inline php_driver_##type_name *php_driver_##type_name##_object_fetch(zend_object *obj) { \
28
return (php_driver_##type_name *)((char *)obj - XtOffsetOf(php_driver_##type_name, zval)); \
31
#define PHP_DRIVER_BEGIN_OBJECT_TYPE(type_name) \
32
typedef struct php_driver_##type_name##_ { \
35
#define PHP_DRIVER_END_OBJECT_TYPE(type_name) \
36
} php_driver_##type_name;
39
#if PHP_MAJOR_VERSION >= 7
40
#define PHP_DRIVER_GET_NUMERIC(obj) php_driver_numeric_object_fetch(Z_OBJ_P(obj))
41
#define PHP_DRIVER_GET_BLOB(obj) php_driver_blob_object_fetch(Z_OBJ_P(obj))
42
#define PHP_DRIVER_GET_TIMESTAMP(obj) php_driver_timestamp_object_fetch(Z_OBJ_P(obj))
43
#define PHP_DRIVER_GET_DATE(obj) php_driver_date_object_fetch(Z_OBJ_P(obj))
44
#define PHP_DRIVER_GET_TIME(obj) php_driver_time_object_fetch(Z_OBJ_P(obj))
45
#define PHP_DRIVER_GET_UUID(obj) php_driver_uuid_object_fetch(Z_OBJ_P(obj))
46
#define PHP_DRIVER_GET_INET(obj) php_driver_inet_object_fetch(Z_OBJ_P(obj))
47
#define PHP_DRIVER_GET_COLLECTION(obj) php_driver_collection_object_fetch(Z_OBJ_P(obj))
48
#define PHP_DRIVER_GET_MAP(obj) php_driver_map_object_fetch(Z_OBJ_P(obj))
49
#define PHP_DRIVER_GET_SET(obj) php_driver_set_object_fetch(Z_OBJ_P(obj))
50
#define PHP_DRIVER_GET_TUPLE(obj) php_driver_tuple_object_fetch(Z_OBJ_P(obj))
51
#define PHP_DRIVER_GET_USER_TYPE_VALUE(obj) php_driver_user_type_value_object_fetch(Z_OBJ_P(obj))
52
#define PHP_DRIVER_GET_CLUSTER(obj) php_driver_cluster_object_fetch(Z_OBJ_P(obj))
53
#define PHP_DRIVER_GET_STATEMENT(obj) php_driver_statement_object_fetch(Z_OBJ_P(obj))
54
#define PHP_DRIVER_GET_EXECUTION_OPTIONS(obj) php_driver_execution_options_object_fetch(Z_OBJ_P(obj))
55
#define PHP_DRIVER_GET_ROWS(obj) php_driver_rows_object_fetch(Z_OBJ_P(obj))
56
#define PHP_DRIVER_GET_FUTURE_ROWS(obj) php_driver_future_rows_object_fetch(Z_OBJ_P(obj))
57
#define PHP_DRIVER_GET_CLUSTER_BUILDER(obj) php_driver_cluster_builder_object_fetch(Z_OBJ_P(obj))
58
#define PHP_DRIVER_GET_FUTURE_PREPARED_STATEMENT(obj) php_driver_future_prepared_statement_object_fetch(Z_OBJ_P(obj))
59
#define PHP_DRIVER_GET_FUTURE_VALUE(obj) php_driver_future_value_object_fetch(Z_OBJ_P(obj))
60
#define PHP_DRIVER_GET_FUTURE_CLOSE(obj) php_driver_future_close_object_fetch(Z_OBJ_P(obj))
61
#define PHP_DRIVER_GET_FUTURE_SESSION(obj) php_driver_future_session_object_fetch(Z_OBJ_P(obj))
62
#define PHP_DRIVER_GET_SESSION(obj) php_driver_session_object_fetch(Z_OBJ_P(obj))
63
#define PHP_DRIVER_GET_SSL(obj) php_driver_ssl_object_fetch(Z_OBJ_P(obj))
64
#define PHP_DRIVER_GET_SSL_BUILDER(obj) php_driver_ssl_builder_object_fetch(Z_OBJ_P(obj))
65
#define PHP_DRIVER_GET_SCHEMA(obj) php_driver_schema_object_fetch(Z_OBJ_P(obj))
66
#define PHP_DRIVER_GET_KEYSPACE(obj) php_driver_keyspace_object_fetch(Z_OBJ_P(obj))
67
#define PHP_DRIVER_GET_TABLE(obj) php_driver_table_object_fetch(Z_OBJ_P(obj))
68
#define PHP_DRIVER_GET_COLUMN(obj) php_driver_column_object_fetch(Z_OBJ_P(obj))
69
#define PHP_DRIVER_GET_INDEX(obj) php_driver_index_object_fetch(Z_OBJ_P(obj))
70
#define PHP_DRIVER_GET_MATERIALIZED_VIEW(obj) php_driver_materialized_view_object_fetch(Z_OBJ_P(obj))
71
#define PHP_DRIVER_GET_FUNCTION(obj) php_driver_function_object_fetch(Z_OBJ_P(obj))
72
#define PHP_DRIVER_GET_AGGREGATE(obj) php_driver_aggregate_object_fetch(Z_OBJ_P(obj))
73
#define PHP_DRIVER_GET_TYPE(obj) php_driver_type_object_fetch(Z_OBJ_P(obj))
74
#define PHP_DRIVER_GET_RETRY_POLICY(obj) php_driver_retry_policy_object_fetch(Z_OBJ_P(obj))
75
#define PHP_DRIVER_GET_TIMESTAMP_GEN(obj) php_driver_timestamp_gen_object_fetch(Z_OBJ_P(obj))
76
#define PHP_DRIVER_GET_DURATION(obj) php_driver_duration_object_fetch(Z_OBJ_P(obj))
78
#define PHP_DRIVER_GET_NUMERIC(obj) ((php_driver_numeric *)zend_object_store_get_object((obj) TSRMLS_CC))
79
#define PHP_DRIVER_GET_BLOB(obj) ((php_driver_blob *)zend_object_store_get_object((obj) TSRMLS_CC))
80
#define PHP_DRIVER_GET_TIMESTAMP(obj) ((php_driver_timestamp *)zend_object_store_get_object((obj) TSRMLS_CC))
81
#define PHP_DRIVER_GET_DATE(obj) ((php_driver_date *)zend_object_store_get_object((obj) TSRMLS_CC))
82
#define PHP_DRIVER_GET_TIME(obj) ((php_driver_time *)zend_object_store_get_object((obj) TSRMLS_CC))
83
#define PHP_DRIVER_GET_UUID(obj) ((php_driver_uuid *)zend_object_store_get_object((obj) TSRMLS_CC))
84
#define PHP_DRIVER_GET_INET(obj) ((php_driver_inet *)zend_object_store_get_object((obj) TSRMLS_CC))
85
#define PHP_DRIVER_GET_COLLECTION(obj) ((php_driver_collection *)zend_object_store_get_object((obj) TSRMLS_CC))
86
#define PHP_DRIVER_GET_MAP(obj) ((php_driver_map *)zend_object_store_get_object((obj) TSRMLS_CC))
87
#define PHP_DRIVER_GET_SET(obj) ((php_driver_set *)zend_object_store_get_object((obj) TSRMLS_CC))
88
#define PHP_DRIVER_GET_TUPLE(obj) ((php_driver_tuple *)zend_object_store_get_object((obj) TSRMLS_CC))
89
#define PHP_DRIVER_GET_USER_TYPE_VALUE(obj) ((php_driver_user_type_value *)zend_object_store_get_object((obj) TSRMLS_CC))
90
#define PHP_DRIVER_GET_CLUSTER(obj) ((php_driver_cluster *)zend_object_store_get_object((obj) TSRMLS_CC))
91
#define PHP_DRIVER_GET_STATEMENT(obj) ((php_driver_statement *)zend_object_store_get_object((obj) TSRMLS_CC))
92
#define PHP_DRIVER_GET_EXECUTION_OPTIONS(obj) ((php_driver_execution_options *)zend_object_store_get_object((obj) TSRMLS_CC))
93
#define PHP_DRIVER_GET_ROWS(obj) ((php_driver_rows *)zend_object_store_get_object((obj) TSRMLS_CC))
94
#define PHP_DRIVER_GET_FUTURE_ROWS(obj) ((php_driver_future_rows *)zend_object_store_get_object((obj) TSRMLS_CC))
95
#define PHP_DRIVER_GET_CLUSTER_BUILDER(obj) ((php_driver_cluster_builder *)zend_object_store_get_object((obj) TSRMLS_CC))
96
#define PHP_DRIVER_GET_FUTURE_PREPARED_STATEMENT(obj) ((php_driver_future_prepared_statement *)zend_object_store_get_object((obj) TSRMLS_CC))
97
#define PHP_DRIVER_GET_FUTURE_VALUE(obj) ((php_driver_future_value *)zend_object_store_get_object((obj) TSRMLS_CC))
98
#define PHP_DRIVER_GET_FUTURE_CLOSE(obj) ((php_driver_future_close *)zend_object_store_get_object((obj) TSRMLS_CC))
99
#define PHP_DRIVER_GET_FUTURE_SESSION(obj) ((php_driver_future_session *)zend_object_store_get_object((obj) TSRMLS_CC))
100
#define PHP_DRIVER_GET_SESSION(obj) ((php_driver_session *)zend_object_store_get_object((obj) TSRMLS_CC))
101
#define PHP_DRIVER_GET_SSL(obj) ((php_driver_ssl *)zend_object_store_get_object((obj) TSRMLS_CC))
102
#define PHP_DRIVER_GET_SSL_BUILDER(obj) ((php_driver_ssl_builder *)zend_object_store_get_object((obj) TSRMLS_CC))
103
#define PHP_DRIVER_GET_SCHEMA(obj) ((php_driver_schema *)zend_object_store_get_object((obj) TSRMLS_CC))
104
#define PHP_DRIVER_GET_KEYSPACE(obj) ((php_driver_keyspace *)zend_object_store_get_object((obj) TSRMLS_CC))
105
#define PHP_DRIVER_GET_TABLE(obj) ((php_driver_table *)zend_object_store_get_object((obj) TSRMLS_CC))
106
#define PHP_DRIVER_GET_COLUMN(obj) ((php_driver_column *)zend_object_store_get_object((obj) TSRMLS_CC))
107
#define PHP_DRIVER_GET_INDEX(obj) ((php_driver_index *)zend_object_store_get_object((obj) TSRMLS_CC))
108
#define PHP_DRIVER_GET_MATERIALIZED_VIEW(obj) ((php_driver_materialized_view *)zend_object_store_get_object((obj) TSRMLS_CC))
109
#define PHP_DRIVER_GET_FUNCTION(obj) ((php_driver_function *)zend_object_store_get_object((obj) TSRMLS_CC))
110
#define PHP_DRIVER_GET_AGGREGATE(obj) ((php_driver_aggregate *)zend_object_store_get_object((obj) TSRMLS_CC))
111
#define PHP_DRIVER_GET_TYPE(obj) ((php_driver_type *)zend_object_store_get_object((obj) TSRMLS_CC))
112
#define PHP_DRIVER_GET_RETRY_POLICY(obj) ((php_driver_retry_policy *)zend_object_store_get_object((obj) TSRMLS_CC))
113
#define PHP_DRIVER_GET_TIMESTAMP_GEN(obj) ((php_driver_timestamp_gen *)zend_object_store_get_object((obj) TSRMLS_CC))
114
#define PHP_DRIVER_GET_DURATION(obj) ((php_driver_duration *)zend_object_store_get_object((obj) TSRMLS_CC))
124
} php_driver_numeric_type;
126
PHP_DRIVER_BEGIN_OBJECT_TYPE(numeric)
127
php_driver_numeric_type type;
149
PHP_DRIVER_END_OBJECT_TYPE(numeric)
151
PHP_DRIVER_BEGIN_OBJECT_TYPE(timestamp)
152
cass_int64_t timestamp;
153
PHP_DRIVER_END_OBJECT_TYPE(timestamp)
155
PHP_DRIVER_BEGIN_OBJECT_TYPE(date)
157
PHP_DRIVER_END_OBJECT_TYPE(date)
159
PHP_DRIVER_BEGIN_OBJECT_TYPE(time)
161
PHP_DRIVER_END_OBJECT_TYPE(time)
163
PHP_DRIVER_BEGIN_OBJECT_TYPE(blob)
166
PHP_DRIVER_END_OBJECT_TYPE(blob)
168
PHP_DRIVER_BEGIN_OBJECT_TYPE(uuid)
170
PHP_DRIVER_END_OBJECT_TYPE(uuid)
172
PHP_DRIVER_BEGIN_OBJECT_TYPE(inet)
174
PHP_DRIVER_END_OBJECT_TYPE(inet)
176
PHP_DRIVER_BEGIN_OBJECT_TYPE(duration)
180
PHP_DRIVER_END_OBJECT_TYPE(duration)
182
PHP_DRIVER_BEGIN_OBJECT_TYPE(collection)
187
PHP_DRIVER_END_OBJECT_TYPE(collection)
189
typedef struct php_driver_map_entry_ php_driver_map_entry;
191
PHP_DRIVER_BEGIN_OBJECT_TYPE(map)
193
php_driver_map_entry *entries;
196
php_driver_map_entry *iter_curr;
197
php_driver_map_entry *iter_temp;
198
PHP_DRIVER_END_OBJECT_TYPE(map)
200
typedef struct php_driver_set_entry_ php_driver_set_entry;
202
PHP_DRIVER_BEGIN_OBJECT_TYPE(set)
204
php_driver_set_entry *entries;
207
php_driver_set_entry *iter_curr;
208
php_driver_set_entry *iter_temp;
210
PHP_DRIVER_END_OBJECT_TYPE(set)
212
PHP_DRIVER_BEGIN_OBJECT_TYPE(tuple)
218
PHP_DRIVER_END_OBJECT_TYPE(tuple)
220
PHP_DRIVER_BEGIN_OBJECT_TYPE(user_type_value)
226
PHP_DRIVER_END_OBJECT_TYPE(user_type_value)
228
PHP_DRIVER_BEGIN_OBJECT_TYPE(cluster)
230
CassCluster *cluster;
231
long default_consistency;
232
int default_page_size;
233
php5to7_zval default_timeout;
237
PHP_DRIVER_END_OBJECT_TYPE(cluster)
240
PHP_DRIVER_SIMPLE_STATEMENT,
241
PHP_DRIVER_PREPARED_STATEMENT,
242
PHP_DRIVER_BATCH_STATEMENT
243
} php_driver_statement_type;
245
PHP_DRIVER_BEGIN_OBJECT_TYPE(statement)
246
php_driver_statement_type type;
252
const CassPrepared *prepared;
256
HashTable statements;
259
PHP_DRIVER_END_OBJECT_TYPE(statement)
262
php5to7_zval statement;
263
php5to7_zval arguments;
264
} php_driver_batch_statement_entry;
266
PHP_DRIVER_BEGIN_OBJECT_TYPE(execution_options)
268
long serial_consistency;
270
char *paging_state_token;
271
size_t paging_state_token_size;
272
php5to7_zval timeout;
273
php5to7_zval arguments;
274
php5to7_zval retry_policy;
275
cass_int64_t timestamp;
276
PHP_DRIVER_END_OBJECT_TYPE(execution_options)
279
LOAD_BALANCING_DEFAULT = 0,
280
LOAD_BALANCING_ROUND_ROBIN,
281
LOAD_BALANCING_DC_AWARE_ROUND_ROBIN
282
} php_driver_load_balancing;
284
typedef void (*php_driver_free_function)(void *data);
288
php_driver_free_function destruct;
292
PHP_DRIVER_BEGIN_OBJECT_TYPE(rows)
293
php_driver_ref *statement;
294
php_driver_ref *session;
296
php5to7_zval next_rows;
297
php_driver_ref *result;
298
php_driver_ref *next_result;
299
php5to7_zval future_next_page;
300
PHP_DRIVER_END_OBJECT_TYPE(rows)
302
PHP_DRIVER_BEGIN_OBJECT_TYPE(future_rows)
303
php_driver_ref *statement;
304
php_driver_ref *session;
306
php_driver_ref *result;
308
PHP_DRIVER_END_OBJECT_TYPE(future_rows)
310
PHP_DRIVER_BEGIN_OBJECT_TYPE(cluster_builder)
311
char *contact_points;
313
php_driver_load_balancing load_balancing_policy;
315
unsigned int used_hosts_per_remote_dc;
316
cass_bool_t allow_remote_dcs_for_local_cl;
317
cass_bool_t use_token_aware_routing;
320
unsigned int connect_timeout;
321
unsigned int request_timeout;
322
php5to7_zval ssl_options;
323
long default_consistency;
324
int default_page_size;
325
php5to7_zval default_timeout;
327
int protocol_version;
329
int core_connections_per_host;
330
int max_connections_per_host;
331
unsigned int reconnect_interval;
332
cass_bool_t enable_latency_aware_routing;
333
cass_bool_t enable_tcp_nodelay;
334
cass_bool_t enable_tcp_keepalive;
335
unsigned int tcp_keepalive_delay;
336
php5to7_zval retry_policy;
337
php5to7_zval timestamp_gen;
338
cass_bool_t enable_schema;
339
char *blacklist_hosts;
340
char *whitelist_hosts;
343
cass_bool_t enable_hostname_resolution;
344
cass_bool_t enable_randomized_contact_points;
345
unsigned int connection_heartbeat_interval;
346
PHP_DRIVER_END_OBJECT_TYPE(cluster_builder)
348
PHP_DRIVER_BEGIN_OBJECT_TYPE(future_prepared_statement)
350
php5to7_zval prepared_statement;
351
PHP_DRIVER_END_OBJECT_TYPE(future_prepared_statement)
353
PHP_DRIVER_BEGIN_OBJECT_TYPE(future_value)
355
PHP_DRIVER_END_OBJECT_TYPE(future_value)
357
PHP_DRIVER_BEGIN_OBJECT_TYPE(future_close)
359
PHP_DRIVER_END_OBJECT_TYPE(future_close)
361
PHP_DRIVER_BEGIN_OBJECT_TYPE(future_session)
363
php_driver_ref *session;
364
php5to7_zval default_session;
368
char *exception_message;
369
CassError exception_code;
370
PHP_DRIVER_END_OBJECT_TYPE(future_session)
374
php_driver_ref *session;
375
} php_driver_psession;
377
PHP_DRIVER_BEGIN_OBJECT_TYPE(session)
378
php_driver_ref *session;
379
long default_consistency;
380
int default_page_size;
381
php5to7_zval default_timeout;
383
PHP_DRIVER_END_OBJECT_TYPE(session)
385
PHP_DRIVER_BEGIN_OBJECT_TYPE(ssl)
387
PHP_DRIVER_END_OBJECT_TYPE(ssl)
389
PHP_DRIVER_BEGIN_OBJECT_TYPE(ssl_builder)
391
char **trusted_certs;
392
int trusted_certs_cnt;
396
PHP_DRIVER_END_OBJECT_TYPE(ssl_builder)
398
PHP_DRIVER_BEGIN_OBJECT_TYPE(schema)
399
php_driver_ref *schema;
400
PHP_DRIVER_END_OBJECT_TYPE(schema)
402
PHP_DRIVER_BEGIN_OBJECT_TYPE(keyspace)
403
php_driver_ref *schema;
404
const CassKeyspaceMeta *meta;
405
PHP_DRIVER_END_OBJECT_TYPE(keyspace)
407
PHP_DRIVER_BEGIN_OBJECT_TYPE(table)
409
php5to7_zval options;
410
php5to7_zval partition_key;
411
php5to7_zval primary_key;
412
php5to7_zval clustering_key;
413
php5to7_zval clustering_order;
414
php_driver_ref *schema;
415
const CassTableMeta *meta;
416
PHP_DRIVER_END_OBJECT_TYPE(table)
418
PHP_DRIVER_BEGIN_OBJECT_TYPE(materialized_view)
420
php5to7_zval options;
421
php5to7_zval partition_key;
422
php5to7_zval primary_key;
423
php5to7_zval clustering_key;
424
php5to7_zval clustering_order;
425
php5to7_zval base_table;
426
php_driver_ref *schema;
427
const CassMaterializedViewMeta *meta;
428
PHP_DRIVER_END_OBJECT_TYPE(materialized_view)
430
PHP_DRIVER_BEGIN_OBJECT_TYPE(column)
435
php_driver_ref *schema;
436
const CassColumnMeta *meta;
437
PHP_DRIVER_END_OBJECT_TYPE(column)
439
PHP_DRIVER_BEGIN_OBJECT_TYPE(index)
443
php5to7_zval options;
444
php_driver_ref *schema;
445
const CassIndexMeta *meta;
446
PHP_DRIVER_END_OBJECT_TYPE(index)
448
PHP_DRIVER_BEGIN_OBJECT_TYPE(function)
449
php5to7_zval simple_name;
450
php5to7_zval arguments;
451
php5to7_zval return_type;
452
php5to7_zval signature;
453
php5to7_zval language;
455
php_driver_ref *schema;
456
const CassFunctionMeta *meta;
457
PHP_DRIVER_END_OBJECT_TYPE(function)
459
PHP_DRIVER_BEGIN_OBJECT_TYPE(aggregate)
460
php5to7_zval simple_name;
461
php5to7_zval argument_types;
462
php5to7_zval state_function;
463
php5to7_zval final_function;
464
php5to7_zval initial_condition;
465
php5to7_zval state_type;
466
php5to7_zval return_type;
467
php5to7_zval signature;
468
php_driver_ref *schema;
469
const CassAggregateMeta *meta;
470
PHP_DRIVER_END_OBJECT_TYPE(aggregate)
472
PHP_DRIVER_BEGIN_OBJECT_TYPE(type)
474
CassDataType *data_type;
477
php5to7_zval value_type;
480
php5to7_zval value_type;
483
php5to7_zval key_type;
484
php5to7_zval value_type;
498
PHP_DRIVER_END_OBJECT_TYPE(type)
500
PHP_DRIVER_BEGIN_OBJECT_TYPE(retry_policy)
501
CassRetryPolicy *policy;
502
PHP_DRIVER_END_OBJECT_TYPE(retry_policy)
504
PHP_DRIVER_BEGIN_OBJECT_TYPE(timestamp_gen)
505
CassTimestampGen *gen;
506
PHP_DRIVER_END_OBJECT_TYPE(timestamp_gen)
508
typedef unsigned (*php_driver_value_hash_t)(zval *obj TSRMLS_DC);
511
zend_object_handlers std;
512
php_driver_value_hash_t hash_value;
513
} php_driver_value_handlers;
515
extern PHP_DRIVER_API zend_class_entry *php_driver_value_ce;
516
extern PHP_DRIVER_API zend_class_entry *php_driver_numeric_ce;
517
extern PHP_DRIVER_API zend_class_entry *php_driver_bigint_ce;
518
extern PHP_DRIVER_API zend_class_entry *php_driver_smallint_ce;
519
extern PHP_DRIVER_API zend_class_entry *php_driver_tinyint_ce;
520
extern PHP_DRIVER_API zend_class_entry *php_driver_blob_ce;
521
extern PHP_DRIVER_API zend_class_entry *php_driver_decimal_ce;
522
extern PHP_DRIVER_API zend_class_entry *php_driver_float_ce;
523
extern PHP_DRIVER_API zend_class_entry *php_driver_inet_ce;
524
extern PHP_DRIVER_API zend_class_entry *php_driver_timestamp_ce;
525
extern PHP_DRIVER_API zend_class_entry *php_driver_date_ce;
526
extern PHP_DRIVER_API zend_class_entry *php_driver_time_ce;
527
extern PHP_DRIVER_API zend_class_entry *php_driver_uuid_interface_ce;
528
extern PHP_DRIVER_API zend_class_entry *php_driver_uuid_ce;
529
extern PHP_DRIVER_API zend_class_entry *php_driver_timeuuid_ce;
530
extern PHP_DRIVER_API zend_class_entry *php_driver_varint_ce;
531
extern PHP_DRIVER_API zend_class_entry *php_driver_custom_ce;
532
extern PHP_DRIVER_API zend_class_entry *php_driver_duration_ce;
534
extern PHP_DRIVER_API zend_class_entry *php_driver_set_ce;
535
extern PHP_DRIVER_API zend_class_entry *php_driver_map_ce;
536
extern PHP_DRIVER_API zend_class_entry *php_driver_collection_ce;
537
extern PHP_DRIVER_API zend_class_entry *php_driver_tuple_ce;
538
extern PHP_DRIVER_API zend_class_entry *php_driver_user_type_value_ce;
541
void php_driver_define_Exception(TSRMLS_D);
542
void php_driver_define_InvalidArgumentException(TSRMLS_D);
543
void php_driver_define_DomainException(TSRMLS_D);
544
void php_driver_define_LogicException(TSRMLS_D);
545
void php_driver_define_RuntimeException(TSRMLS_D);
546
void php_driver_define_TimeoutException(TSRMLS_D);
547
void php_driver_define_ExecutionException(TSRMLS_D);
548
void php_driver_define_ReadTimeoutException(TSRMLS_D);
549
void php_driver_define_WriteTimeoutException(TSRMLS_D);
550
void php_driver_define_UnavailableException(TSRMLS_D);
551
void php_driver_define_TruncateException(TSRMLS_D);
552
void php_driver_define_ValidationException(TSRMLS_D);
553
void php_driver_define_InvalidQueryException(TSRMLS_D);
554
void php_driver_define_InvalidSyntaxException(TSRMLS_D);
555
void php_driver_define_UnauthorizedException(TSRMLS_D);
556
void php_driver_define_UnpreparedException(TSRMLS_D);
557
void php_driver_define_ConfigurationException(TSRMLS_D);
558
void php_driver_define_AlreadyExistsException(TSRMLS_D);
559
void php_driver_define_AuthenticationException(TSRMLS_D);
560
void php_driver_define_ProtocolException(TSRMLS_D);
561
void php_driver_define_ServerException(TSRMLS_D);
562
void php_driver_define_IsBootstrappingException(TSRMLS_D);
563
void php_driver_define_OverloadedException(TSRMLS_D);
564
void php_driver_define_DivideByZeroException(TSRMLS_D);
565
void php_driver_define_RangeException(TSRMLS_D);
568
void php_driver_define_Value(TSRMLS_D);
569
void php_driver_define_Numeric(TSRMLS_D);
570
void php_driver_define_Bigint(TSRMLS_D);
571
void php_driver_define_Smallint(TSRMLS_D);
572
void php_driver_define_Tinyint(TSRMLS_D);
573
void php_driver_define_Blob(TSRMLS_D);
574
void php_driver_define_Collection(TSRMLS_D);
575
void php_driver_define_Decimal(TSRMLS_D);
576
void php_driver_define_Float(TSRMLS_D);
577
void php_driver_define_Inet(TSRMLS_D);
578
void php_driver_define_Map(TSRMLS_D);
579
void php_driver_define_Set(TSRMLS_D);
580
void php_driver_define_Timestamp(TSRMLS_D);
581
void php_driver_define_Date(TSRMLS_D);
582
void php_driver_define_Time(TSRMLS_D);
583
void php_driver_define_Tuple(TSRMLS_D);
584
void php_driver_define_UserTypeValue(TSRMLS_D);
585
void php_driver_define_UuidInterface(TSRMLS_D);
586
void php_driver_define_Uuid(TSRMLS_D);
587
void php_driver_define_Timeuuid(TSRMLS_D);
588
void php_driver_define_Varint(TSRMLS_D);
589
void php_driver_define_Custom(TSRMLS_D);
590
void php_driver_define_Duration(TSRMLS_D);
593
extern PHP_DRIVER_API zend_class_entry *php_driver_core_ce;
594
extern PHP_DRIVER_API zend_class_entry *php_driver_cluster_ce;
595
extern PHP_DRIVER_API zend_class_entry *php_driver_default_cluster_ce;
596
extern PHP_DRIVER_API zend_class_entry *php_driver_cluster_builder_ce;
597
extern PHP_DRIVER_API zend_class_entry *php_driver_default_cluster_builder_ce;
598
extern PHP_DRIVER_API zend_class_entry *php_driver_ssl_ce;
599
extern PHP_DRIVER_API zend_class_entry *php_driver_ssl_builder_ce;
600
extern PHP_DRIVER_API zend_class_entry *php_driver_future_ce;
601
extern PHP_DRIVER_API zend_class_entry *php_driver_future_prepared_statement_ce;
602
extern PHP_DRIVER_API zend_class_entry *php_driver_future_rows_ce;
603
extern PHP_DRIVER_API zend_class_entry *php_driver_future_session_ce;
604
extern PHP_DRIVER_API zend_class_entry *php_driver_future_value_ce;
605
extern PHP_DRIVER_API zend_class_entry *php_driver_future_close_ce;
606
extern PHP_DRIVER_API zend_class_entry *php_driver_session_ce;
607
extern PHP_DRIVER_API zend_class_entry *php_driver_default_session_ce;
608
extern PHP_DRIVER_API zend_class_entry *php_driver_exception_ce;
609
extern PHP_DRIVER_API zend_class_entry *php_driver_runtime_exception_ce;
610
extern PHP_DRIVER_API zend_class_entry *php_driver_timeout_exception_ce;
611
extern PHP_DRIVER_API zend_class_entry *php_driver_logic_exception_ce;
612
extern PHP_DRIVER_API zend_class_entry *php_driver_domain_exception_ce;
613
extern PHP_DRIVER_API zend_class_entry *php_driver_invalid_argument_exception_ce;
614
extern PHP_DRIVER_API zend_class_entry *php_driver_server_exception_ce;
615
extern PHP_DRIVER_API zend_class_entry *php_driver_overloaded_exception_ce;
616
extern PHP_DRIVER_API zend_class_entry *php_driver_is_bootstrapping_exception_ce;
617
extern PHP_DRIVER_API zend_class_entry *php_driver_execution_exception_ce;
618
extern PHP_DRIVER_API zend_class_entry *php_driver_truncate_exception_ce;
619
extern PHP_DRIVER_API zend_class_entry *php_driver_write_timeout_exception_ce;
620
extern PHP_DRIVER_API zend_class_entry *php_driver_read_timeout_exception_ce;
621
extern PHP_DRIVER_API zend_class_entry *php_driver_truncate_exception_ce;
622
extern PHP_DRIVER_API zend_class_entry *php_driver_unavailable_exception_ce;
623
extern PHP_DRIVER_API zend_class_entry *php_driver_validation_exception_ce;
624
extern PHP_DRIVER_API zend_class_entry *php_driver_invalid_syntax_exception_ce;
625
extern PHP_DRIVER_API zend_class_entry *php_driver_unauthorized_exception_ce;
626
extern PHP_DRIVER_API zend_class_entry *php_driver_invalid_query_exception_ce;
627
extern PHP_DRIVER_API zend_class_entry *php_driver_configuration_exception_ce;
628
extern PHP_DRIVER_API zend_class_entry *php_driver_already_exists_exception_ce;
629
extern PHP_DRIVER_API zend_class_entry *php_driver_unprepared_exception_ce;
630
extern PHP_DRIVER_API zend_class_entry *php_driver_protocol_exception_ce;
631
extern PHP_DRIVER_API zend_class_entry *php_driver_authentication_exception_ce;
632
extern PHP_DRIVER_API zend_class_entry *php_driver_divide_by_zero_exception_ce;
633
extern PHP_DRIVER_API zend_class_entry *php_driver_range_exception_ce;
635
extern PHP_DRIVER_API zend_class_entry *php_driver_statement_ce;
636
extern PHP_DRIVER_API zend_class_entry *php_driver_simple_statement_ce;
637
extern PHP_DRIVER_API zend_class_entry *php_driver_prepared_statement_ce;
638
extern PHP_DRIVER_API zend_class_entry *php_driver_batch_statement_ce;
639
extern PHP_DRIVER_API zend_class_entry *php_driver_execution_options_ce;
640
extern PHP_DRIVER_API zend_class_entry *php_driver_rows_ce;
642
void php_driver_define_Core(TSRMLS_D);
643
void php_driver_define_Cluster(TSRMLS_D);
644
void php_driver_define_ClusterBuilder(TSRMLS_D);
645
void php_driver_define_DefaultCluster(TSRMLS_D);
646
void php_driver_define_Future(TSRMLS_D);
647
void php_driver_define_FuturePreparedStatement(TSRMLS_D);
648
void php_driver_define_FutureRows(TSRMLS_D);
649
void php_driver_define_FutureSession(TSRMLS_D);
650
void php_driver_define_FutureValue(TSRMLS_D);
651
void php_driver_define_FutureClose(TSRMLS_D);
652
void php_driver_define_Session(TSRMLS_D);
653
void php_driver_define_DefaultSession(TSRMLS_D);
654
void php_driver_define_SSLOptions(TSRMLS_D);
655
void php_driver_define_SSLOptionsBuilder(TSRMLS_D);
656
void php_driver_define_Statement(TSRMLS_D);
657
void php_driver_define_SimpleStatement(TSRMLS_D);
658
void php_driver_define_PreparedStatement(TSRMLS_D);
659
void php_driver_define_BatchStatement(TSRMLS_D);
660
void php_driver_define_ExecutionOptions(TSRMLS_D);
661
void php_driver_define_Rows(TSRMLS_D);
663
extern PHP_DRIVER_API zend_class_entry *php_driver_schema_ce;
664
extern PHP_DRIVER_API zend_class_entry *php_driver_default_schema_ce;
665
extern PHP_DRIVER_API zend_class_entry *php_driver_keyspace_ce;
666
extern PHP_DRIVER_API zend_class_entry *php_driver_default_keyspace_ce;
667
extern PHP_DRIVER_API zend_class_entry *php_driver_table_ce;
668
extern PHP_DRIVER_API zend_class_entry *php_driver_default_table_ce;
669
extern PHP_DRIVER_API zend_class_entry *php_driver_column_ce;
670
extern PHP_DRIVER_API zend_class_entry *php_driver_default_column_ce;
671
extern PHP_DRIVER_API zend_class_entry *php_driver_index_ce;
672
extern PHP_DRIVER_API zend_class_entry *php_driver_default_index_ce;
673
extern PHP_DRIVER_API zend_class_entry *php_driver_materialized_view_ce;
674
extern PHP_DRIVER_API zend_class_entry *php_driver_default_materialized_view_ce;
675
extern PHP_DRIVER_API zend_class_entry *php_driver_function_ce;
676
extern PHP_DRIVER_API zend_class_entry *php_driver_default_function_ce;
677
extern PHP_DRIVER_API zend_class_entry *php_driver_aggregate_ce;
678
extern PHP_DRIVER_API zend_class_entry *php_driver_default_aggregate_ce;
680
void php_driver_define_Schema(TSRMLS_D);
681
void php_driver_define_DefaultSchema(TSRMLS_D);
682
void php_driver_define_Keyspace(TSRMLS_D);
683
void php_driver_define_DefaultKeyspace(TSRMLS_D);
684
void php_driver_define_Table(TSRMLS_D);
685
void php_driver_define_DefaultTable(TSRMLS_D);
686
void php_driver_define_Column(TSRMLS_D);
687
void php_driver_define_DefaultColumn(TSRMLS_D);
688
void php_driver_define_Index(TSRMLS_D);
689
void php_driver_define_DefaultIndex(TSRMLS_D);
690
void php_driver_define_MaterializedView(TSRMLS_D);
691
void php_driver_define_DefaultMaterializedView(TSRMLS_D);
692
void php_driver_define_Function(TSRMLS_D);
693
void php_driver_define_DefaultFunction(TSRMLS_D);
694
void php_driver_define_Aggregate(TSRMLS_D);
695
void php_driver_define_DefaultAggregate(TSRMLS_D);
697
extern PHP_DRIVER_API zend_class_entry *php_driver_type_ce;
698
extern PHP_DRIVER_API zend_class_entry *php_driver_type_scalar_ce;
699
extern PHP_DRIVER_API zend_class_entry *php_driver_type_collection_ce;
700
extern PHP_DRIVER_API zend_class_entry *php_driver_type_set_ce;
701
extern PHP_DRIVER_API zend_class_entry *php_driver_type_map_ce;
702
extern PHP_DRIVER_API zend_class_entry *php_driver_type_tuple_ce;
703
extern PHP_DRIVER_API zend_class_entry *php_driver_type_user_type_ce;
704
extern PHP_DRIVER_API zend_class_entry *php_driver_type_custom_ce;
706
void php_driver_define_Type(TSRMLS_D);
707
void php_driver_define_TypeScalar(TSRMLS_D);
708
void php_driver_define_TypeCollection(TSRMLS_D);
709
void php_driver_define_TypeSet(TSRMLS_D);
710
void php_driver_define_TypeMap(TSRMLS_D);
711
void php_driver_define_TypeTuple(TSRMLS_D);
712
void php_driver_define_TypeUserType(TSRMLS_D);
713
void php_driver_define_TypeCustom(TSRMLS_D);
715
extern PHP_DRIVER_API zend_class_entry *php_driver_retry_policy_ce;
716
extern PHP_DRIVER_API zend_class_entry *php_driver_retry_policy_default_ce;
717
extern PHP_DRIVER_API zend_class_entry *php_driver_retry_policy_downgrading_consistency_ce;
718
extern PHP_DRIVER_API zend_class_entry *php_driver_retry_policy_fallthrough_ce;
719
extern PHP_DRIVER_API zend_class_entry *php_driver_retry_policy_logging_ce;
721
void php_driver_define_RetryPolicy(TSRMLS_D);
722
void php_driver_define_RetryPolicyDefault(TSRMLS_D);
723
void php_driver_define_RetryPolicyDowngradingConsistency(TSRMLS_D);
724
void php_driver_define_RetryPolicyFallthrough(TSRMLS_D);
725
void php_driver_define_RetryPolicyLogging(TSRMLS_D);
727
extern PHP_DRIVER_API zend_class_entry *php_driver_timestamp_gen_ce;
728
extern PHP_DRIVER_API zend_class_entry *php_driver_timestamp_gen_monotonic_ce;
729
extern PHP_DRIVER_API zend_class_entry *php_driver_timestamp_gen_server_side_ce;
731
void php_driver_define_TimestampGenerator(TSRMLS_D);
732
void php_driver_define_TimestampGeneratorMonotonic(TSRMLS_D);
733
void php_driver_define_TimestampGeneratorServerSide(TSRMLS_D);
735
extern int php_le_php_driver_cluster();
736
extern int php_le_php_driver_session();
738
#endif /* PHP_DRIVER_TYPES_H */