@@ -78,6 +78,8 @@ zend_class_entry *pcbc_keyspace_not_found_exception_ce;
78
78
zend_class_entry * pcbc_prepared_statement_failure_exception_ce ;
79
79
zend_class_entry * pcbc_dml_failure_exception_ce ;
80
80
zend_class_entry * pcbc_request_canceled_exception_ce ;
81
+ zend_class_entry * pcbc_rate_limited_exception_ce ;
82
+ zend_class_entry * pcbc_quota_limited_exception_ce ;
81
83
82
84
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO (ai_BaseException_ref , IS_STRING , 1 )
83
85
ZEND_END_ARG_INFO ()
@@ -220,6 +222,12 @@ PHP_MINIT_FUNCTION(CouchbaseException)
220
222
INIT_NS_CLASS_ENTRY (ce , "Couchbase" , "SubdocumentException" , NULL );
221
223
pcbc_subdocument_exception_ce = zend_register_internal_class_ex (& ce , pcbc_base_exception_ce );
222
224
225
+ INIT_NS_CLASS_ENTRY (ce , "Couchbase" , "RateLimitedException" , NULL );
226
+ pcbc_rate_limited_exception_ce = zend_register_internal_class_ex (& ce , pcbc_base_exception_ce );
227
+
228
+ INIT_NS_CLASS_ENTRY (ce , "Couchbase" , "QuotaLimitedException" , NULL );
229
+ pcbc_quota_limited_exception_ce = zend_register_internal_class_ex (& ce , pcbc_base_exception_ce );
230
+
223
231
return SUCCESS ;
224
232
}
225
233
@@ -442,6 +450,14 @@ void pcbc_create_lcb_exception(zval *return_value, long code, zend_string *conte
442
450
exc_ce = pcbc_dml_failure_exception_ce ;
443
451
break ;
444
452
453
+ case LCB_ERR_RATE_LIMITED :
454
+ exc_ce = pcbc_rate_limited_exception_ce ;
455
+ break ;
456
+
457
+ case LCB_ERR_QUOTA_LIMITED :
458
+ exc_ce = pcbc_quota_limited_exception_ce ;
459
+ break ;
460
+
445
461
default :
446
462
exc_ce = pcbc_base_exception_ce ;
447
463
break ;
0 commit comments