diff --git a/CHANGELOG b/CHANGELOG
index 05da1586907..db96e80bcd7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -16,6 +16,7 @@
- Phalcon\Debug\Dump
-- Renamed method var() to variable()
-- Renamed method vars() to variables()
+ - Phalcon\Mvc\Model::findFirst() now allows hydration (#10259).
2.0.0
- Full rewrite of most components in Zephir
diff --git a/build/32bits/phalcon.zep.c b/build/32bits/phalcon.zep.c
index 6282f3b7c17..a6a8e9246b7 100644
--- a/build/32bits/phalcon.zep.c
+++ b/build/32bits/phalcon.zep.c
@@ -3435,11 +3435,6 @@ static void zephir_pow(zval *return_value, zval *op1, zval *op2 TSRMLS_DC);
#define ZEPHIR_SCONCAT_VSVV(result, op1, op2, op3, op4) \
zephir_concat_vsvv(&result, op1, op2, sizeof(op2)-1, op3, op4, 1 TSRMLS_CC);
-#define ZEPHIR_CONCAT_VSVVV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vsvvv(&result, op1, op2, sizeof(op2)-1, op3, op4, op5, 0 TSRMLS_CC);
-#define ZEPHIR_SCONCAT_VSVVV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vsvvv(&result, op1, op2, sizeof(op2)-1, op3, op4, op5, 1 TSRMLS_CC);
-
#define ZEPHIR_CONCAT_VV(result, op1, op2) \
zephir_concat_vv(&result, op1, op2, 0 TSRMLS_CC);
#define ZEPHIR_SCONCAT_VV(result, op1, op2) \
@@ -3460,11 +3455,6 @@ static void zephir_pow(zval *return_value, zval *op1, zval *op2 TSRMLS_DC);
#define ZEPHIR_SCONCAT_VVV(result, op1, op2, op3) \
zephir_concat_vvv(&result, op1, op2, op3, 1 TSRMLS_CC);
-#define ZEPHIR_CONCAT_VVVSV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vvvsv(&result, op1, op2, op3, op4, sizeof(op4)-1, op5, 0 TSRMLS_CC);
-#define ZEPHIR_SCONCAT_VVVSV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vvvsv(&result, op1, op2, op3, op4, sizeof(op4)-1, op5, 1 TSRMLS_CC);
-
#define ZEPHIR_CONCAT_VVVV(result, op1, op2, op3, op4) \
zephir_concat_vvvv(&result, op1, op2, op3, op4, 0 TSRMLS_CC);
#define ZEPHIR_SCONCAT_VVVV(result, op1, op2, op3, op4) \
@@ -3501,12 +3491,10 @@ static void zephir_concat_vsvsv(zval **result, zval *op1, const char *op2, zend_
static void zephir_concat_vsvsvs(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, const char *op4, zend_uint op4_len, zval *op5, const char *op6, zend_uint op6_len, int self_var TSRMLS_DC);
static void zephir_concat_vsvsvsv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, const char *op4, zend_uint op4_len, zval *op5, const char *op6, zend_uint op6_len, zval *op7, int self_var TSRMLS_DC);
static void zephir_concat_vsvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, int self_var TSRMLS_DC);
-static void zephir_concat_vsvvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC);
static void zephir_concat_vv(zval **result, zval *op1, zval *op2, int self_var TSRMLS_DC);
static void zephir_concat_vvs(zval **result, zval *op1, zval *op2, const char *op3, zend_uint op3_len, int self_var TSRMLS_DC);
static void zephir_concat_vvsv(zval **result, zval *op1, zval *op2, const char *op3, zend_uint op3_len, zval *op4, int self_var TSRMLS_DC);
static void zephir_concat_vvv(zval **result, zval *op1, zval *op2, zval *op3, int self_var TSRMLS_DC);
-static void zephir_concat_vvvsv(zval **result, zval *op1, zval *op2, zval *op3, const char *op4, zend_uint op4_len, zval *op5, int self_var TSRMLS_DC);
static void zephir_concat_vvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, int self_var TSRMLS_DC);
static void zephir_concat_vvvvsvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, const char *op5, zend_uint op5_len, zval *op6, zval *op7, int self_var TSRMLS_DC);
static void zephir_concat_vvvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC);
@@ -14991,89 +14979,6 @@ static void zephir_concat_vsvv(zval **result, zval *op1, const char *op2, zend_u
}
-static void zephir_concat_vsvvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC){
-
- zval result_copy, op1_copy, op3_copy, op4_copy, op5_copy;
- int use_copy = 0, use_copy1 = 0, use_copy3 = 0, use_copy4 = 0, use_copy5 = 0;
- uint offset = 0, length;
-
- if (Z_TYPE_P(op1) != IS_STRING) {
- zend_make_printable_zval(op1, &op1_copy, &use_copy1);
- if (use_copy1) {
- op1 = &op1_copy;
- }
- }
-
- if (Z_TYPE_P(op3) != IS_STRING) {
- zend_make_printable_zval(op3, &op3_copy, &use_copy3);
- if (use_copy3) {
- op3 = &op3_copy;
- }
- }
-
- if (Z_TYPE_P(op4) != IS_STRING) {
- zend_make_printable_zval(op4, &op4_copy, &use_copy4);
- if (use_copy4) {
- op4 = &op4_copy;
- }
- }
-
- if (Z_TYPE_P(op5) != IS_STRING) {
- zend_make_printable_zval(op5, &op5_copy, &use_copy5);
- if (use_copy5) {
- op5 = &op5_copy;
- }
- }
-
- length = Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3) + Z_STRLEN_P(op4) + Z_STRLEN_P(op5);
- if (self_var) {
-
- if (Z_TYPE_PP(result) != IS_STRING) {
- zend_make_printable_zval(*result, &result_copy, &use_copy);
- if (use_copy) {
- ZEPHIR_CPY_WRT_CTOR(*result, (&result_copy));
- }
- }
-
- offset = Z_STRLEN_PP(result);
- length += offset;
- Z_STRVAL_PP(result) = (char *) str_erealloc(Z_STRVAL_PP(result), length + 1);
-
- } else {
- Z_STRVAL_PP(result) = (char *) emalloc(length + 1);
- }
-
- memcpy(Z_STRVAL_PP(result) + offset, Z_STRVAL_P(op1), Z_STRLEN_P(op1));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1), op2, op2_len);
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len, Z_STRVAL_P(op3), Z_STRLEN_P(op3));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3), Z_STRVAL_P(op4), Z_STRLEN_P(op4));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3) + Z_STRLEN_P(op4), Z_STRVAL_P(op5), Z_STRLEN_P(op5));
- Z_STRVAL_PP(result)[length] = 0;
- Z_TYPE_PP(result) = IS_STRING;
- Z_STRLEN_PP(result) = length;
-
- if (use_copy1) {
- zval_dtor(op1);
- }
-
- if (use_copy3) {
- zval_dtor(op3);
- }
-
- if (use_copy4) {
- zval_dtor(op4);
- }
-
- if (use_copy5) {
- zval_dtor(op5);
- }
-
- if (use_copy) {
- zval_dtor(&result_copy);
- }
-
-}
-
static void zephir_concat_vv(zval **result, zval *op1, zval *op2, int self_var TSRMLS_DC){
zval result_copy, op1_copy, op2_copy;
@@ -15332,89 +15237,6 @@ static void zephir_concat_vvv(zval **result, zval *op1, zval *op2, zval *op3, in
}
-static void zephir_concat_vvvsv(zval **result, zval *op1, zval *op2, zval *op3, const char *op4, zend_uint op4_len, zval *op5, int self_var TSRMLS_DC){
-
- zval result_copy, op1_copy, op2_copy, op3_copy, op5_copy;
- int use_copy = 0, use_copy1 = 0, use_copy2 = 0, use_copy3 = 0, use_copy5 = 0;
- uint offset = 0, length;
-
- if (Z_TYPE_P(op1) != IS_STRING) {
- zend_make_printable_zval(op1, &op1_copy, &use_copy1);
- if (use_copy1) {
- op1 = &op1_copy;
- }
- }
-
- if (Z_TYPE_P(op2) != IS_STRING) {
- zend_make_printable_zval(op2, &op2_copy, &use_copy2);
- if (use_copy2) {
- op2 = &op2_copy;
- }
- }
-
- if (Z_TYPE_P(op3) != IS_STRING) {
- zend_make_printable_zval(op3, &op3_copy, &use_copy3);
- if (use_copy3) {
- op3 = &op3_copy;
- }
- }
-
- if (Z_TYPE_P(op5) != IS_STRING) {
- zend_make_printable_zval(op5, &op5_copy, &use_copy5);
- if (use_copy5) {
- op5 = &op5_copy;
- }
- }
-
- length = Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5);
- if (self_var) {
-
- if (Z_TYPE_PP(result) != IS_STRING) {
- zend_make_printable_zval(*result, &result_copy, &use_copy);
- if (use_copy) {
- ZEPHIR_CPY_WRT_CTOR(*result, (&result_copy));
- }
- }
-
- offset = Z_STRLEN_PP(result);
- length += offset;
- Z_STRVAL_PP(result) = (char *) str_erealloc(Z_STRVAL_PP(result), length + 1);
-
- } else {
- Z_STRVAL_PP(result) = (char *) emalloc(length + 1);
- }
-
- memcpy(Z_STRVAL_PP(result) + offset, Z_STRVAL_P(op1), Z_STRLEN_P(op1));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op2));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2), Z_STRVAL_P(op3), Z_STRLEN_P(op3));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3), op4, op4_len);
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3) + op4_len, Z_STRVAL_P(op5), Z_STRLEN_P(op5));
- Z_STRVAL_PP(result)[length] = 0;
- Z_TYPE_PP(result) = IS_STRING;
- Z_STRLEN_PP(result) = length;
-
- if (use_copy1) {
- zval_dtor(op1);
- }
-
- if (use_copy2) {
- zval_dtor(op2);
- }
-
- if (use_copy3) {
- zval_dtor(op3);
- }
-
- if (use_copy5) {
- zval_dtor(op5);
- }
-
- if (use_copy) {
- zval_dtor(&result_copy);
- }
-
-}
-
static void zephir_concat_vvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, int self_var TSRMLS_DC){
zval result_copy, op1_copy, op2_copy, op3_copy, op4_copy;
@@ -16983,11 +16805,11 @@ ZEPHIR_INIT_CLASS(Phalcon_Config) {
static PHP_METHOD(Phalcon_Config, __construct) {
+ zephir_fcall_cache_entry *_3 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL, *_6 = NULL;
HashTable *_1;
HashPosition _0;
- zval *arrayConfig_param = NULL, *key = NULL, *value = NULL, **_2, *_3 = NULL, *_5 = NULL;
+ zval *arrayConfig_param = NULL, *key = NULL, *value = NULL, **_2;
zval *arrayConfig = NULL;
ZEPHIR_MM_GROW();
@@ -17002,25 +16824,15 @@ static PHP_METHOD(Phalcon_Config, __construct) {
}
- zephir_is_iterable(arrayConfig, &_1, &_0, 0, 0, "phalcon/config.zep", 68);
+ zephir_is_iterable(arrayConfig, &_1, &_0, 0, 0, "phalcon/config.zep", 62);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
ZEPHIR_GET_HMKEY(key, _1, _0);
ZEPHIR_GET_HVALUE(value, _2);
- ZEPHIR_CALL_FUNCTION(&_3, "strval", &_4, key);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "offsetset", &_3, key, value);
zephir_check_call_status();
- ZEPHIR_CPY_WRT(key, _3);
- if (Z_TYPE_P(value) == IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_5);
- object_init_ex(_5, phalcon_config_ce);
- ZEPHIR_CALL_METHOD(NULL, _5, "__construct", &_6, value);
- zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, key, _5 TSRMLS_CC);
- } else {
- zephir_update_property_zval_zval(this_ptr, key, value TSRMLS_CC);
- }
}
ZEPHIR_MM_RESTORE();
@@ -17028,57 +16840,45 @@ static PHP_METHOD(Phalcon_Config, __construct) {
static PHP_METHOD(Phalcon_Config, offsetExists) {
- zval *index_param = NULL;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
RETURN_MM_BOOL(zephir_isset_property_zval(this_ptr, index TSRMLS_CC));
}
static PHP_METHOD(Phalcon_Config, get) {
- zval *index_param = NULL, *defaultValue = NULL, *_0;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *defaultValue = NULL, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &index_param, &defaultValue);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 1, &index, &defaultValue);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
if (!defaultValue) {
defaultValue = ZEPHIR_GLOBAL(global_null);
}
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
if (zephir_isset_property_zval(this_ptr, index TSRMLS_CC)) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_zval(&_0, this_ptr, index, PH_NOISY_CC);
- RETURN_CCTOR(_0);
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property_zval(&_2, this_ptr, index, PH_NOISY_CC);
+ RETURN_CCTOR(_2);
}
RETVAL_ZVAL(defaultValue, 1, 0);
RETURN_MM();
@@ -17087,60 +16887,46 @@ static PHP_METHOD(Phalcon_Config, get) {
static PHP_METHOD(Phalcon_Config, offsetGet) {
- zval *index_param = NULL, *_0;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_zval(&_0, this_ptr, index, PH_NOISY_CC);
- RETURN_CCTOR(_0);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property_zval(&_2, this_ptr, index, PH_NOISY_CC);
+ RETURN_CCTOR(_2);
}
static PHP_METHOD(Phalcon_Config, offsetSet) {
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *index_param = NULL, *value, *_0;
- zval *index = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL;
+ zval *index = NULL, *value, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &index_param, &value);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 2, 0, &index, &value);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
if (Z_TYPE_P(value) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(_0);
- object_init_ex(_0, phalcon_config_ce);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_1, value);
+ ZEPHIR_INIT_VAR(_2);
+ object_init_ex(_2, phalcon_config_ce);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_3, value);
zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, index, _0 TSRMLS_CC);
+ zephir_update_property_zval_zval(this_ptr, index, _2 TSRMLS_CC);
} else {
zephir_update_property_zval_zval(this_ptr, index, value TSRMLS_CC);
}
@@ -17150,25 +16936,19 @@ static PHP_METHOD(Phalcon_Config, offsetSet) {
static PHP_METHOD(Phalcon_Config, offsetUnset) {
- zval *index_param = NULL;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
zephir_update_property_zval_zval(this_ptr, index, ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
ZEPHIR_MM_RESTORE();
@@ -17205,7 +16985,7 @@ static PHP_METHOD(Phalcon_Config, toArray) {
array_init(arrayConfig);
ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", &_1, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 179);
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 180);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -17289,7 +17069,7 @@ static PHP_METHOD(Phalcon_Config, _merge) {
zephir_check_call_status();
ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", &_1, config);
zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 238);
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 239);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -18853,7 +18633,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_CPY_WRT(html, _1);
if (zephir_array_isset_string(trace, SS("class"))) {
ZEPHIR_OBS_VAR(className);
- zephir_array_fetch_string(&className, trace, SL("class"), PH_NOISY, "phalcon/debug.zep", 356 TSRMLS_CC);
+ zephir_array_fetch_string(&className, trace, SL("class"), PH_NOISY, "phalcon/debug.zep", 355 TSRMLS_CC);
ZEPHIR_INIT_VAR(_2);
ZEPHIR_INIT_VAR(_3);
ZEPHIR_SINIT_VAR(_4);
@@ -18888,11 +18668,11 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
zephir_concat_self(&html, _10 TSRMLS_CC);
}
}
- zephir_array_fetch_string(&_11, trace, SL("type"), PH_NOISY | PH_READONLY, "phalcon/debug.zep", 397 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, trace, SL("type"), PH_NOISY | PH_READONLY, "phalcon/debug.zep", 396 TSRMLS_CC);
zephir_concat_self(&html, _11 TSRMLS_CC);
}
ZEPHIR_OBS_VAR(functionName);
- zephir_array_fetch_string(&functionName, trace, SL("function"), PH_NOISY, "phalcon/debug.zep", 403 TSRMLS_CC);
+ zephir_array_fetch_string(&functionName, trace, SL("function"), PH_NOISY, "phalcon/debug.zep", 402 TSRMLS_CC);
if (zephir_array_isset_string(trace, SS("class"))) {
ZEPHIR_INIT_LNVAR(_5);
ZEPHIR_CONCAT_SVS(_5, "", functionName, "");
@@ -18924,11 +18704,11 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
}
if (zephir_array_isset_string(trace, SS("args"))) {
ZEPHIR_OBS_VAR(traceArgs);
- zephir_array_fetch_string(&traceArgs, trace, SL("args"), PH_NOISY, "phalcon/debug.zep", 437 TSRMLS_CC);
+ zephir_array_fetch_string(&traceArgs, trace, SL("args"), PH_NOISY, "phalcon/debug.zep", 436 TSRMLS_CC);
if (zephir_fast_count_int(traceArgs TSRMLS_CC)) {
ZEPHIR_INIT_VAR(arguments);
array_init(arguments);
- zephir_is_iterable(traceArgs, &_15, &_14, 0, 0, "phalcon/debug.zep", 452);
+ zephir_is_iterable(traceArgs, &_15, &_14, 0, 0, "phalcon/debug.zep", 451);
for (
; zephir_hash_get_current_data_ex(_15, (void**) &_16, &_14) == SUCCESS
; zephir_hash_move_forward_ex(_15, &_14)
@@ -18938,7 +18718,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_5);
ZEPHIR_CONCAT_SVS(_5, "", _7, "");
- zephir_array_append(&arguments, _5, PH_SEPARATE, "phalcon/debug.zep", 446);
+ zephir_array_append(&arguments, _5, PH_SEPARATE, "phalcon/debug.zep", 445);
}
ZEPHIR_INIT_NVAR(_3);
zephir_fast_join_str(_3, SL(", "), arguments TSRMLS_CC);
@@ -18952,7 +18732,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_OBS_VAR(filez);
if (zephir_array_isset_string_fetch(&filez, trace, SS("file"), 0 TSRMLS_CC)) {
ZEPHIR_OBS_VAR(_18);
- zephir_array_fetch_string(&_18, trace, SL("line"), PH_NOISY, "phalcon/debug.zep", 463 TSRMLS_CC);
+ zephir_array_fetch_string(&_18, trace, SL("line"), PH_NOISY, "phalcon/debug.zep", 462 TSRMLS_CC);
zephir_get_strval(_19, _18);
ZEPHIR_CPY_WRT(line, _19);
ZEPHIR_INIT_LNVAR(_5);
@@ -19016,7 +18796,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_SINIT_NVAR(linePosition);
ZVAL_LONG(&linePosition, (i - 1));
ZEPHIR_OBS_NVAR(currentLine);
- zephir_array_fetch(¤tLine, lines, &linePosition, PH_NOISY, "phalcon/debug.zep", 551 TSRMLS_CC);
+ zephir_array_fetch(¤tLine, lines, &linePosition, PH_NOISY, "phalcon/debug.zep", 550 TSRMLS_CC);
if (zephir_is_true(showFileFragment)) {
if (i == firstLine) {
ZEPHIR_INIT_NVAR(_23);
@@ -19076,7 +18856,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtLowSeverity) {
ZVAL_LONG(_4, 0);
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, message, _4, severity, file, line);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/debug.zep", 594 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/debug.zep", 593 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -19158,7 +18938,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("
") TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_11, exception, "gettrace", NULL);
zephir_check_call_status();
- zephir_is_iterable(_11, &_13, &_12, 0, 0, "phalcon/debug.zep", 688);
+ zephir_is_iterable(_11, &_13, &_12, 0, 0, "phalcon/debug.zep", 687);
for (
; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
; zephir_hash_move_forward_ex(_13, &_12)
@@ -19173,7 +18953,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
zephir_get_global(&_REQUEST, SS("_REQUEST") TSRMLS_CC);
- zephir_is_iterable(_REQUEST, &_18, &_17, 0, 0, "phalcon/debug.zep", 698);
+ zephir_is_iterable(_REQUEST, &_18, &_17, 0, 0, "phalcon/debug.zep", 697);
for (
; zephir_hash_get_current_data_ex(_18, (void**) &_19, &_17) == SUCCESS
; zephir_hash_move_forward_ex(_18, &_17)
@@ -19188,7 +18968,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
zephir_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC);
- zephir_is_iterable(_SERVER, &_22, &_21, 0, 0, "phalcon/debug.zep", 708);
+ zephir_is_iterable(_SERVER, &_22, &_21, 0, 0, "phalcon/debug.zep", 707);
for (
; zephir_hash_get_current_data_ex(_22, (void**) &_23, &_21) == SUCCESS
; zephir_hash_move_forward_ex(_22, &_21)
@@ -19204,7 +18984,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("# | Path |
") TSRMLS_CC);
ZEPHIR_CALL_FUNCTION(&_15, "get_included_files", &_24);
zephir_check_call_status();
- zephir_is_iterable(_15, &_26, &_25, 0, 0, "phalcon/debug.zep", 719);
+ zephir_is_iterable(_15, &_26, &_25, 0, 0, "phalcon/debug.zep", 718);
for (
; zephir_hash_get_current_data_ex(_26, (void**) &_27, &_25) == SUCCESS
; zephir_hash_move_forward_ex(_26, &_25)
@@ -19226,14 +19006,14 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
if (Z_TYPE_P(dataVars) == IS_ARRAY) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
- zephir_is_iterable(dataVars, &_30, &_29, 0, 0, "phalcon/debug.zep", 737);
+ zephir_is_iterable(dataVars, &_30, &_29, 0, 0, "phalcon/debug.zep", 736);
for (
; zephir_hash_get_current_data_ex(_30, (void**) &_31, &_29) == SUCCESS
; zephir_hash_move_forward_ex(_30, &_29)
) {
ZEPHIR_GET_HMKEY(keyVar, _30, _29);
ZEPHIR_GET_HVALUE(dataVar, _31);
- zephir_array_fetch_long(&_33, dataVar, 0, PH_NOISY | PH_READONLY, "phalcon/debug.zep", 735 TSRMLS_CC);
+ zephir_array_fetch_long(&_33, dataVar, 0, PH_NOISY | PH_READONLY, "phalcon/debug.zep", 734 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_32, this_ptr, "_getvardump", &_34, _33);
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_35);
@@ -27197,9 +26977,11 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addRole) {
static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
- zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ HashTable *_7;
+ HashPosition _6;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_9 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *roleName_param = NULL, *roleToInherit, *roleInheritName = NULL, *rolesNames, *_0 = NULL, *_3, *_4;
+ zval *roleName_param = NULL, *roleToInherit, *roleInheritName = NULL, *rolesNames, *deepInheritName = NULL, *_0 = NULL, *_3, *_4, *_5, **_8, *_10;
zval *roleName = NULL, *_1;
ZEPHIR_MM_GROW();
@@ -27217,7 +26999,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
ZEPHIR_CONCAT_SVS(_1, "Role '", roleName, "' does not exist in the role list");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _1);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 193 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 192 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27227,14 +27009,28 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
} else {
ZEPHIR_CPY_WRT(roleInheritName, roleToInherit);
}
+ _3 = zephir_fetch_nproperty_this(this_ptr, SL("_roleInherits"), PH_NOISY_CC);
+ if (zephir_array_isset(_3, roleInheritName)) {
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_roleInherits"), PH_NOISY_CC);
+ zephir_array_fetch(&_5, _4, roleInheritName, PH_NOISY | PH_READONLY, "phalcon/acl/adapter/memory.zep", 205 TSRMLS_CC);
+ zephir_is_iterable(_5, &_7, &_6, 0, 0, "phalcon/acl/adapter/memory.zep", 208);
+ for (
+ ; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
+ ; zephir_hash_move_forward_ex(_7, &_6)
+ ) {
+ ZEPHIR_GET_HVALUE(deepInheritName, _8);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "addinherit", &_9, roleName, deepInheritName);
+ zephir_check_call_status();
+ }
+ }
if (!(zephir_array_isset(rolesNames, roleInheritName))) {
ZEPHIR_INIT_NVAR(_0);
object_init_ex(_0, phalcon_acl_exception_ce);
- ZEPHIR_INIT_VAR(_3);
- ZEPHIR_CONCAT_SVS(_3, "Role '", roleInheritName, "' (to inherit) does not exist in the role list");
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _3);
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "Role '", roleInheritName, "' (to inherit) does not exist in the role list");
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _10);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 206 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 214 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27339,7 +27135,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addResourceAccess) {
ZEPHIR_CONCAT_SVS(_2, "Resource '", resourceName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 288 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 296 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27348,12 +27144,12 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addResourceAccess) {
_4 = Z_TYPE_P(accessList) != IS_STRING;
}
if (_4) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_acl_exception_ce, "Invalid value for accessList", "phalcon/acl/adapter/memory.zep", 292);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_acl_exception_ce, "Invalid value for accessList", "phalcon/acl/adapter/memory.zep", 300);
return;
}
exists = 1;
if (Z_TYPE_P(accessList) == IS_ARRAY) {
- zephir_is_iterable(accessList, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 303);
+ zephir_is_iterable(accessList, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 311);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -27394,7 +27190,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, dropResourceAccess) {
if (Z_TYPE_P(accessList) == IS_ARRAY) {
- zephir_is_iterable(accessList, &_1, &_0, 0, 0, "phalcon/acl/adapter/memory.zep", 329);
+ zephir_is_iterable(accessList, &_1, &_0, 0, 0, "phalcon/acl/adapter/memory.zep", 337);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -27445,7 +27241,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVS(_2, "Role '", roleName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 347 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 355 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27457,7 +27253,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVS(_2, "Resource '", resourceName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 351 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 359 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27468,7 +27264,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_OBS_VAR(internalAccess);
zephir_read_property_this(&internalAccess, this_ptr, SL("_access"), PH_NOISY_CC);
if (Z_TYPE_P(access) == IS_ARRAY) {
- zephir_is_iterable(access, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 367);
+ zephir_is_iterable(access, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 375);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -27483,12 +27279,12 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVSVS(_8, "Access '", accessName, "' does not exist in resource '", resourceName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _8);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 363 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 371 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
}
- zephir_is_iterable(access, &_10, &_9, 0, 0, "phalcon/acl/adapter/memory.zep", 380);
+ zephir_is_iterable(access, &_10, &_9, 0, 0, "phalcon/acl/adapter/memory.zep", 388);
for (
; zephir_hash_get_current_data_ex(_10, (void**) &_11, &_9) == SUCCESS
; zephir_hash_move_forward_ex(_10, &_9)
@@ -27517,7 +27313,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVSVS(_8, "Access '", access, "' does not exist in resource '", resourceName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _8);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 385 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 393 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27564,7 +27360,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, allow) {
} else {
_2 = zephir_fetch_nproperty_this(this_ptr, SL("_rolesNames"), PH_NOISY_CC);
ZEPHIR_INIT_NVAR(_0);
- zephir_is_iterable(_2, &_4, &_3, 0, 0, "phalcon/acl/adapter/memory.zep", 441);
+ zephir_is_iterable(_2, &_4, &_3, 0, 0, "phalcon/acl/adapter/memory.zep", 449);
for (
; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
; zephir_hash_move_forward_ex(_4, &_3)
@@ -27606,7 +27402,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, deny) {
} else {
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_rolesNames"), PH_NOISY_CC);
ZEPHIR_INIT_NVAR(_0);
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/acl/adapter/memory.zep", 474);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/acl/adapter/memory.zep", 482);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -27669,7 +27465,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 520 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 528 TSRMLS_CC);
}
if (Z_TYPE_P(haveAccess) == IS_NULL) {
ZEPHIR_OBS_VAR(roleInherits);
@@ -27677,7 +27473,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_OBS_VAR(inheritedRoles);
if (zephir_array_isset_fetch(&inheritedRoles, roleInherits, roleName, 0 TSRMLS_CC)) {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_5, &_4, 0, 0, "phalcon/acl/adapter/memory.zep", 541);
+ zephir_is_iterable(inheritedRoles, &_5, &_4, 0, 0, "phalcon/acl/adapter/memory.zep", 549);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -27687,7 +27483,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VSVSV(accessKey, inheritedRole, "!", resourceName, "!", access);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 538 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 546 TSRMLS_CC);
}
}
}
@@ -27699,10 +27495,10 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 556 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 564 TSRMLS_CC);
} else {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_8, &_7, 0, 0, "phalcon/acl/adapter/memory.zep", 570);
+ zephir_is_iterable(inheritedRoles, &_8, &_7, 0, 0, "phalcon/acl/adapter/memory.zep", 578);
for (
; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
; zephir_hash_move_forward_ex(_8, &_7)
@@ -27712,7 +27508,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VSVS(accessKey, inheritedRole, "!", resourceName, "!*");
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 566 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 574 TSRMLS_CC);
break;
}
}
@@ -27725,10 +27521,10 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 585 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 593 TSRMLS_CC);
} else {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_11, &_10, 0, 0, "phalcon/acl/adapter/memory.zep", 599);
+ zephir_is_iterable(inheritedRoles, &_11, &_10, 0, 0, "phalcon/acl/adapter/memory.zep", 607);
for (
; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS
; zephir_hash_move_forward_ex(_11, &_10)
@@ -27738,7 +27534,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VS(accessKey, inheritedRole, "!*!*");
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 595 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 603 TSRMLS_CC);
break;
}
}
@@ -28715,155 +28511,153 @@ static zval *phannot_ret_annotation(phannot_parser_token *name, zval *arguments,
#endif
/* The next thing included is series of defines which control
** various aspects of the generated parser.
-** JJCODETYPE is the data type used for storing terminal
+** AACODETYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 terminals
** and nonterminals. "int" is used otherwise.
-** JJNOCODE is a number of type JJCODETYPE which corresponds
+** AANOCODE is a number of type AACODETYPE which corresponds
** to no legal terminal or nonterminal number. This
-** number is used to fill in empty slots of the hash
+** number is used to fill in empty slots of the hash
** table.
-** JJFALLBACK If defined, this indicates that one or more tokens
+** AAFALLBACK If defined, this indicates that one or more tokens
** have fall-back values which should be used if the
** original value of the token will not parse.
-** JJACTIONTYPE is the data type used for storing terminal
+** AAACTIONTYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 rules and
** states combined. "int" is used otherwise.
-** phannot_JTOKENTYPE is the data type used for minor tokens given
+** phannot_TOKENTYPE is the data type used for minor tokens given
** directly to the parser from the tokenizer.
-** JJMINORTYPE is the data type used for all minor tokens.
+** AAMINORTYPE is the data type used for all minor tokens.
** This is typically a union of many types, one of
-** which is phannot_JTOKENTYPE. The entry in the union
-** for base tokens is called "jj0".
-** JJSTACKDEPTH is the maximum depth of the parser's stack.
+** which is phannot_TOKENTYPE. The entry in the union
+** for base tokens is called "aa0".
+** AASTACKDEPTH is the maximum depth of the parser's stack.
** phannot_ARG_SDECL A static variable declaration for the %extra_argument
** phannot_ARG_PDECL A parameter declaration for the %extra_argument
-** phannot_ARG_STORE Code to store %extra_argument into jjpParser
-** phannot_ARG_FETCH Code to extract %extra_argument from jjpParser
-** JJNSTATE the combined number of states.
-** JJNRULE the number of rules in the grammar
-** JJERRORSYMBOL is the code number of the error symbol. If not
+** phannot_ARG_STORE Code to store %extra_argument into aapParser
+** phannot_ARG_FETCH Code to extract %extra_argument from aapParser
+** AANSTATE the combined number of states.
+** AANRULE the number of rules in the grammar
+** AAERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
*/
-#define JJCODETYPE unsigned char
-#define JJNOCODE 28
-#define JJACTIONTYPE unsigned char
-#define phannot_JTOKENTYPE phannot_parser_token*
+#define AACODETYPE unsigned char
+#define AANOCODE 28
+#define AAACTIONTYPE unsigned char
+#define phannot_TOKENTYPE phannot_parser_token*
typedef union {
- phannot_JTOKENTYPE jj0;
- zval* jj36;
- int jj55;
-} JJMINORTYPE;
-#define JJSTACKDEPTH 100
+ phannot_TOKENTYPE aa0;
+ zval* aa36;
+ int aa55;
+} AAMINORTYPE;
+#define AASTACKDEPTH 100
#define phannot_ARG_SDECL phannot_parser_status *status;
#define phannot_ARG_PDECL ,phannot_parser_status *status
-#define phannot_ARG_FETCH phannot_parser_status *status = jjpParser->status
-#define phannot_ARG_STORE jjpParser->status = status
-#define JJNSTATE 40
-#define JJNRULE 25
-#define JJERRORSYMBOL 18
-#define JJERRSYMDT jj55
-#define JJ_NO_ACTION (JJNSTATE+JJNRULE+2)
-#define JJ_ACCEPT_ACTION (JJNSTATE+JJNRULE+1)
-#define JJ_ERROR_ACTION (JJNSTATE+JJNRULE)
+#define phannot_ARG_FETCH phannot_parser_status *status = aapParser->status
+#define phannot_ARG_STORE aapParser->status = status
+#define AANSTATE 40
+#define AANRULE 25
+#define AAERRORSYMBOL 18
+#define AAERRSYMDT aa55
+#define AA_NO_ACTION (AANSTATE+AANRULE+2)
+#define AA_ACCEPT_ACTION (AANSTATE+AANRULE+1)
+#define AA_ERROR_ACTION (AANSTATE+AANRULE)
/* Next are that tables used to determine what action to take based on the
** current state and lookahead token. These tables are used to implement
** functions that take a state number and lookahead value and return an
-** action integer.
+** action integer.
**
** Suppose the action integer is N. Then the action is determined as
** follows
**
-** 0 <= N < JJNSTATE Shift N. That is, push the lookahead
+** 0 <= N < AANSTATE Shift N. That is, push the lookahead
** token onto the stack and goto state N.
**
-** JJNSTATE <= N < JJNSTATE+JJNRULE Reduce by rule N-JJNSTATE.
+** AANSTATE <= N < AANSTATE+AANRULE Reduce by rule N-AANSTATE.
**
-** N == JJNSTATE+JJNRULE A syntax error has occurred.
+** N == AANSTATE+AANRULE A syntax error has occurred.
**
-** N == JJNSTATE+JJNRULE+1 The parser accepts its input.
+** N == AANSTATE+AANRULE+1 The parser accepts its input.
**
-** N == JJNSTATE+JJNRULE+2 No such action. Denotes unused
-** slots in the jj_action[] table.
+** N == AANSTATE+AANRULE+2 No such action. Denotes unused
+** slots in the aa_action[] table.
**
-** The action table is constructed as a single large table named jj_action[].
+** The action table is constructed as a single large table named aa_action[].
** Given state S and lookahead X, the action is computed as
**
-** jj_action[ jj_shift_ofst[S] + X ]
+** aa_action[ aa_shift_ofst[S] + X ]
**
-** If the index value jj_shift_ofst[S]+X is out of range or if the value
-** jj_lookahead[jj_shift_ofst[S]+X] is not equal to X or if jj_shift_ofst[S]
-** is equal to JJ_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that jj_default[S] should be used instead.
+** If the index value aa_shift_ofst[S]+X is out of range or if the value
+** aa_lookahead[aa_shift_ofst[S]+X] is not equal to X or if aa_shift_ofst[S]
+** is equal to AA_SHIFT_USE_DFLT, it means that the action is not in the table
+** and that aa_default[S] should be used instead.
**
** The formula above is for computing the action when the lookahead is
** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the jj_reduce_ofst[] array is used in place of
-** the jj_shift_ofst[] array and JJ_REDUCE_USE_DFLT is used in place of
-** JJ_SHIFT_USE_DFLT.
+** a reduce action) then the aa_reduce_ofst[] array is used in place of
+** the aa_shift_ofst[] array and AA_REDUCE_USE_DFLT is used in place of
+** AA_SHIFT_USE_DFLT.
**
** The following are the tables generated in this section:
**
-** jj_action[] A single table containing all actions.
-** jj_lookahead[] A table containing the lookahead for each entry in
-** jj_action. Used to detect hash collisions.
-** jj_shift_ofst[] For each state, the offset into jj_action for
+** aa_action[] A single table containing all actions.
+** aa_lookahead[] A table containing the lookahead for each entry in
+** aa_action. Used to detect hash collisions.
+** aa_shift_ofst[] For each state, the offset into aa_action for
** shifting terminals.
-** jj_reduce_ofst[] For each state, the offset into jj_action for
+** aa_reduce_ofst[] For each state, the offset into aa_action for
** shifting non-terminals after a reduce.
-** jj_default[] Default action for each state.
+** aa_default[] Default action for each state.
*/
-static JJACTIONTYPE jj_action[] = {
- /* 0 */ 4, 28, 15, 38, 12, 14, 16, 18, 20, 21,
- /* 10 */ 22, 23, 24, 4, 31, 4, 28, 15, 40, 12,
- /* 20 */ 30, 16, 18, 20, 21, 22, 23, 24, 3, 31,
- /* 30 */ 4, 17, 15, 6, 19, 35, 16, 18, 20, 21,
- /* 40 */ 22, 23, 24, 5, 31, 15, 7, 27, 11, 16,
- /* 50 */ 54, 54, 15, 25, 27, 11, 16, 15, 32, 27,
- /* 60 */ 11, 16, 66, 1, 2, 39, 41, 15, 4, 10,
- /* 70 */ 11, 16, 15, 9, 9, 37, 16, 8, 13, 36,
- /* 80 */ 9, 29, 34, 54, 54, 54, 54, 54, 26, 54,
- /* 90 */ 54, 54, 54, 54, 54, 54, 33,
+static AAACTIONTYPE aa_action[] = {
+ /* 0 */ 4, 28, 15, 38, 12, 37, 16, 18, 20, 21,
+ /* 10 */ 22, 23, 24, 4, 31, 4, 17, 15, 40, 19,
+ /* 20 */ 35, 16, 18, 20, 21, 22, 23, 24, 3, 31,
+ /* 30 */ 4, 28, 15, 6, 12, 30, 16, 18, 20, 21,
+ /* 40 */ 22, 23, 24, 54, 31, 15, 25, 27, 11, 16,
+ /* 50 */ 13, 36, 15, 7, 27, 11, 16, 15, 32, 27,
+ /* 60 */ 11, 16, 15, 9, 10, 11, 16, 66, 1, 2,
+ /* 70 */ 39, 15, 9, 5, 14, 16, 41, 26, 4, 9,
+ /* 80 */ 29, 34, 54, 8, 54, 54, 54, 54, 33,
};
-static JJCODETYPE jj_lookahead[] = {
+static AACODETYPE aa_lookahead[] = {
/* 0 */ 2, 3, 22, 5, 6, 25, 26, 9, 10, 11,
/* 10 */ 12, 13, 14, 2, 16, 2, 3, 22, 0, 6,
/* 20 */ 25, 26, 9, 10, 11, 12, 13, 14, 22, 16,
/* 30 */ 2, 3, 22, 4, 6, 25, 26, 9, 10, 11,
- /* 40 */ 12, 13, 14, 3, 16, 22, 23, 24, 25, 26,
- /* 50 */ 27, 27, 22, 23, 24, 25, 26, 22, 23, 24,
- /* 60 */ 25, 26, 19, 20, 21, 22, 0, 22, 2, 24,
- /* 70 */ 25, 26, 22, 1, 1, 25, 26, 5, 7, 8,
- /* 80 */ 1, 7, 8, 27, 27, 27, 27, 27, 15, 27,
- /* 90 */ 27, 27, 27, 27, 27, 27, 17,
+ /* 40 */ 12, 13, 14, 27, 16, 22, 23, 24, 25, 26,
+ /* 50 */ 7, 8, 22, 23, 24, 25, 26, 22, 23, 24,
+ /* 60 */ 25, 26, 22, 1, 24, 25, 26, 19, 20, 21,
+ /* 70 */ 22, 22, 1, 3, 25, 26, 0, 15, 2, 1,
+ /* 80 */ 7, 8, 27, 5, 27, 27, 27, 27, 17,
};
-#define JJ_SHIFT_USE_DFLT (-3)
-static signed char jj_shift_ofst[] = {
- /* 0 */ 11, 18, 66, -3, 40, 29, -2, 72, -3, 13,
- /* 10 */ -3, -3, 71, 28, -3, -3, -3, -3, -3, -3,
- /* 20 */ -3, -3, -3, -3, 13, 73, -3, -3, 74, 28,
- /* 30 */ -3, 13, 79, -3, 28, -3, 28, -3, -3, -3,
+#define AA_SHIFT_USE_DFLT (-3)
+static signed char aa_shift_ofst[] = {
+ /* 0 */ 11, 18, 76, -3, 70, 29, -2, 78, -3, 28,
+ /* 10 */ -3, -3, 43, 13, -3, -3, -3, -3, -3, -3,
+ /* 20 */ -3, -3, -3, -3, 28, 62, -3, -3, 73, 13,
+ /* 30 */ -3, 28, 71, -3, 13, -3, 13, -3, -3, -3,
};
-#define JJ_REDUCE_USE_DFLT (-21)
-static signed char jj_reduce_ofst[] = {
- /* 0 */ 43, -21, 6, -21, -21, -21, 23, -21, -21, 45,
- /* 10 */ -21, -21, -21, -20, -21, -21, -21, -21, -21, -21,
- /* 20 */ -21, -21, -21, -21, 30, -21, -21, -21, -21, -5,
- /* 30 */ -21, 35, -21, -21, 10, -21, 50, -21, -21, -21,
+#define AA_REDUCE_USE_DFLT (-21)
+static signed char aa_reduce_ofst[] = {
+ /* 0 */ 48, -21, 6, -21, -21, -21, 30, -21, -21, 40,
+ /* 10 */ -21, -21, -21, 49, -21, -21, -21, -21, -21, -21,
+ /* 20 */ -21, -21, -21, -21, 23, -21, -21, -21, -21, 10,
+ /* 30 */ -21, 35, -21, -21, -5, -21, -20, -21, -21, -21,
};
-static JJACTIONTYPE jj_default[] = {
+static AAACTIONTYPE aa_default[] = {
/* 0 */ 65, 65, 65, 42, 65, 46, 65, 65, 44, 65,
/* 10 */ 47, 49, 58, 65, 50, 54, 55, 56, 57, 58,
/* 20 */ 59, 60, 61, 62, 65, 65, 63, 48, 56, 65,
/* 30 */ 52, 65, 65, 64, 65, 53, 65, 51, 45, 43,
};
-#define JJ_SZ_ACTTAB (sizeof(jj_action)/sizeof(jj_action[0]))
+#define AA_SZ_ACTTAB (sizeof(aa_action)/sizeof(aa_action[0]))
/* The next table maps tokens into fallback tokens. If a construct
** like the following:
-**
+**
** %fallback ID X Y Z.
**
** appears in the grammer, then ID becomes a fallback token for X, Y,
@@ -28871,10 +28665,10 @@ static JJACTIONTYPE jj_default[] = {
** but it does not parse, the type of the token is changed to ID and
** the parse is retried before an error is thrown.
*/
-#ifdef JJFALLBACK
-static const JJCODETYPE jjFallback[] = {
+#ifdef AAFALLBACK
+static const AACODETYPE aaFallback[] = {
};
-#endif /* JJFALLBACK */
+#endif /* AAFALLBACK */
/* The following structure represents a single element of the
** parser's stack. Information stored includes:
@@ -28888,58 +28682,58 @@ static const JJCODETYPE jjFallback[] = {
** the information used by the action routines in the grammar.
** It is sometimes called the "minor" token.
*/
-struct jjStackEntry {
+struct aaStackEntry {
int stateno; /* The state-number */
int major; /* The major token value. This is the code
** number for the token at this stack level */
- JJMINORTYPE minor; /* The user-supplied minor token value. This
+ AAMINORTYPE minor; /* The user-supplied minor token value. This
** is the value of the token */
};
-typedef struct jjStackEntry jjStackEntry;
+typedef struct aaStackEntry aaStackEntry;
/* The state of the parser is completely contained in an instance of
** the following structure */
-struct jjParser {
- int jjidx; /* Index of top element in stack */
- int jjerrcnt; /* Shifts left before out of the error */
+struct aaParser {
+ int aaidx; /* Index of top element in stack */
+ int aaerrcnt; /* Shifts left before out of the error */
phannot_ARG_SDECL /* A place to hold %extra_argument */
- jjStackEntry jjstack[JJSTACKDEPTH]; /* The parser's stack */
+ aaStackEntry aastack[AASTACKDEPTH]; /* The parser's stack */
};
-typedef struct jjParser jjParser;
+typedef struct aaParser aaParser;
#ifndef NDEBUG
#include
-static FILE *jjTraceFILE = 0;
-static char *jjTracePrompt = 0;
+static FILE *aaTraceFILE = 0;
+static char *aaTracePrompt = 0;
#endif /* NDEBUG */
#ifndef NDEBUG
static void phannot_Trace(FILE *TraceFILE, char *zTracePrompt){
- jjTraceFILE = TraceFILE;
- jjTracePrompt = zTracePrompt;
- if( jjTraceFILE==0 ) jjTracePrompt = 0;
- else if( jjTracePrompt==0 ) jjTraceFILE = 0;
+ aaTraceFILE = TraceFILE;
+ aaTracePrompt = zTracePrompt;
+ if( aaTraceFILE==0 ) aaTracePrompt = 0;
+ else if( aaTracePrompt==0 ) aaTraceFILE = 0;
}
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing shifts, the names of all terminals and nonterminals
** are required. The following table supplies these names */
-static const char *jjTokenName[] = {
- "$", "COMMA", "AT", "IDENTIFIER",
- "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "STRING", "EQUALS",
- "COLON", "INTEGER", "DOUBLE", "NULL",
+static const char *aaTokenName[] = {
+ "$", "COMMA", "AT", "IDENTIFIER",
+ "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "STRING", "EQUALS",
+ "COLON", "INTEGER", "DOUBLE", "NULL",
"FALSE", "TRUE", "BRACKET_OPEN", "BRACKET_CLOSE",
- "SBRACKET_OPEN", "SBRACKET_CLOSE", "error", "program",
+ "SBRACKET_OPEN", "SBRACKET_CLOSE", "error", "program",
"annotation_language", "annotation_list", "annotation", "argument_list",
- "argument_item", "expr", "array",
+ "argument_item", "expr", "array",
};
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing reduce actions, the names of all rules are required.
*/
-static const char *jjRuleName[] = {
+static const char *aaRuleName[] = {
/* 0 */ "program ::= annotation_language",
/* 1 */ "annotation_language ::= annotation_list",
/* 2 */ "annotation_list ::= annotation_list annotation",
@@ -28970,8 +28764,8 @@ static const char *jjRuleName[] = {
const char *phannot_TokenName(int tokenType){
#ifndef NDEBUG
- if( tokenType>0 && tokenType<(sizeof(jjTokenName)/sizeof(jjTokenName[0])) ){
- return jjTokenName[tokenType];
+ if( tokenType>0 && tokenType<(sizeof(aaTokenName)/sizeof(aaTokenName[0])) ){
+ return aaTokenName[tokenType];
}else{
return "Unknown";
}
@@ -28981,25 +28775,25 @@ const char *phannot_TokenName(int tokenType){
}
void *phannot_Alloc(void *(*mallocProc)(size_t)){
- jjParser *pParser;
- pParser = (jjParser*)(*mallocProc)( (size_t)sizeof(jjParser) );
+ aaParser *pParser;
+ pParser = (aaParser*)(*mallocProc)( (size_t)sizeof(aaParser) );
if( pParser ){
- pParser->jjidx = -1;
+ pParser->aaidx = -1;
}
return pParser;
}
/* The following function deletes the value associated with a
** symbol. The symbol can be either a terminal or nonterminal.
-** "jjmajor" is the symbol code, and "jjpminor" is a pointer to
+** "aamajor" is the symbol code, and "aapminor" is a pointer to
** the value.
*/
-static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
- switch( jjmajor ){
+static void aa_destructor(AACODETYPE aamajor, AAMINORTYPE *aapminor){
+ switch( aamajor ){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
** when the symbol is popped from the stack during a
- ** reduce or during error processing or when a parser is
+ ** reduce or during error processing or when a parser is
** being destroyed before it is finished parsing.
**
** Note: during a reduce, the only symbols destroyed are those
@@ -29025,14 +28819,14 @@ static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
case 17:
// 222 "parser.lemon"
{
- if ((jjpminor->jj0)) {
- if ((jjpminor->jj0)->free_flag) {
- efree((jjpminor->jj0)->token);
+ if ((aapminor->aa0)) {
+ if ((aapminor->aa0)->free_flag) {
+ efree((aapminor->aa0)->token);
}
- efree((jjpminor->jj0));
+ efree((aapminor->aa0));
}
}
-// 507 "parser.c"
+// 505 "parser.c"
break;
case 20:
case 21:
@@ -29041,133 +28835,133 @@ static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
case 24:
case 25:
// 235 "parser.lemon"
-{ zval_ptr_dtor(&(jjpminor->jj36)); }
-// 517 "parser.c"
+{ zval_ptr_dtor(&(aapminor->aa36)); }
+// 515 "parser.c"
break;
default: break; /* If no destructor action specified: do nothing */
}
}
-static int jj_pop_parser_stack(jjParser *pParser){
- JJCODETYPE jjmajor;
- jjStackEntry *jjtos = &pParser->jjstack[pParser->jjidx];
+static int aa_pop_parser_stack(aaParser *pParser){
+ AACODETYPE aamajor;
+ aaStackEntry *aatos = &pParser->aastack[pParser->aaidx];
- if( pParser->jjidx<0 ) return 0;
+ if( pParser->aaidx<0 ) return 0;
#ifndef NDEBUG
- if( jjTraceFILE && pParser->jjidx>=0 ){
- fprintf(jjTraceFILE,"%sPopping %s\n",
- jjTracePrompt,
- jjTokenName[jjtos->major]);
+ if( aaTraceFILE && pParser->aaidx>=0 ){
+ fprintf(aaTraceFILE,"%sPopping %s\n",
+ aaTracePrompt,
+ aaTokenName[aatos->major]);
}
#endif
- jjmajor = jjtos->major;
- jj_destructor( jjmajor, &jjtos->minor);
- pParser->jjidx--;
- return jjmajor;
+ aamajor = aatos->major;
+ aa_destructor( aamajor, &aatos->minor);
+ pParser->aaidx--;
+ return aamajor;
}
static void phannot_Free(
void *p, /* The parser to be deleted */
void (*freeProc)(void*) /* Function used to reclaim memory */
){
- jjParser *pParser = (jjParser*)p;
+ aaParser *pParser = (aaParser*)p;
if( pParser==0 ) return;
- while( pParser->jjidx>=0 ) jj_pop_parser_stack(pParser);
+ while( pParser->aaidx>=0 ) aa_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
-static int jj_find_shift_action(
- jjParser *pParser, /* The parser */
+static int aa_find_shift_action(
+ aaParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->jjstack[pParser->jjidx].stateno;
-
- /* if( pParser->jjidx<0 ) return JJ_NO_ACTION; */
- i = jj_shift_ofst[stateno];
- if( i==JJ_SHIFT_USE_DFLT ){
- return jj_default[stateno];
+ int stateno = pParser->aastack[pParser->aaidx].stateno;
+
+ /* if( pParser->aaidx<0 ) return AA_NO_ACTION; */
+ i = aa_shift_ofst[stateno];
+ if( i==AA_SHIFT_USE_DFLT ){
+ return aa_default[stateno];
}
- if( iLookAhead==JJNOCODE ){
- return JJ_NO_ACTION;
+ if( iLookAhead==AANOCODE ){
+ return AA_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=JJ_SZ_ACTTAB || jj_lookahead[i]!=iLookAhead ){
-#ifdef JJFALLBACK
+ if( i<0 || i>=AA_SZ_ACTTAB || aa_lookahead[i]!=iLookAhead ){
+#ifdef AAFALLBACK
int iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- jjTracePrompt, jjTokenName[iLookAhead], jjTokenName[iFallback]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE, "%sFALLBACK %s => %s\n",
+ aaTracePrompt, aaTokenName[iLookAhead], aaTokenName[iFallback]);
}
#endif
- return jj_find_shift_action(pParser, iFallback);
+ return aa_find_shift_action(pParser, iFallback);
}
#endif
- return jj_default[stateno];
+ return aa_default[stateno];
}else{
- return jj_action[i];
+ return aa_action[i];
}
}
-static int jj_find_reduce_action(
- jjParser *pParser, /* The parser */
+static int aa_find_reduce_action(
+ aaParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->jjstack[pParser->jjidx].stateno;
-
- i = jj_reduce_ofst[stateno];
- if( i==JJ_REDUCE_USE_DFLT ){
- return jj_default[stateno];
+ int stateno = pParser->aastack[pParser->aaidx].stateno;
+
+ i = aa_reduce_ofst[stateno];
+ if( i==AA_REDUCE_USE_DFLT ){
+ return aa_default[stateno];
}
- if( iLookAhead==JJNOCODE ){
- return JJ_NO_ACTION;
+ if( iLookAhead==AANOCODE ){
+ return AA_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=JJ_SZ_ACTTAB || jj_lookahead[i]!=iLookAhead ){
- return jj_default[stateno];
+ if( i<0 || i>=AA_SZ_ACTTAB || aa_lookahead[i]!=iLookAhead ){
+ return aa_default[stateno];
}else{
- return jj_action[i];
+ return aa_action[i];
}
}
-static void jj_shift(
- jjParser *jjpParser, /* The parser to be shifted */
- int jjNewState, /* The new state to shift in */
- int jjMajor, /* The major token to shift in */
- JJMINORTYPE *jjpMinor /* Pointer ot the minor token to shift in */
+static void aa_shift(
+ aaParser *aapParser, /* The parser to be shifted */
+ int aaNewState, /* The new state to shift in */
+ int aaMajor, /* The major token to shift in */
+ AAMINORTYPE *aapMinor /* Pointer ot the minor token to shift in */
){
- jjStackEntry *jjtos;
- jjpParser->jjidx++;
- if( jjpParser->jjidx>=JJSTACKDEPTH ){
+ aaStackEntry *aatos;
+ aapParser->aaidx++;
+ if( aapParser->aaidx>=AASTACKDEPTH ){
phannot_ARG_FETCH;
- jjpParser->jjidx--;
+ aapParser->aaidx--;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sStack Overflow!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sStack Overflow!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will execute if the parser
** stack every overflows */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument var */
return;
}
- jjtos = &jjpParser->jjstack[jjpParser->jjidx];
- jjtos->stateno = jjNewState;
- jjtos->major = jjMajor;
- jjtos->minor = *jjpMinor;
+ aatos = &aapParser->aastack[aapParser->aaidx];
+ aatos->stateno = aaNewState;
+ aatos->major = aaMajor;
+ aatos->minor = *aapMinor;
#ifndef NDEBUG
- if( jjTraceFILE && jjpParser->jjidx>0 ){
+ if( aaTraceFILE && aapParser->aaidx>0 ){
int i;
- fprintf(jjTraceFILE,"%sShift %d\n",jjTracePrompt,jjNewState);
- fprintf(jjTraceFILE,"%sStack:",jjTracePrompt);
- for(i=1; i<=jjpParser->jjidx; i++)
- fprintf(jjTraceFILE," %s",jjTokenName[jjpParser->jjstack[i].major]);
- fprintf(jjTraceFILE,"\n");
+ fprintf(aaTraceFILE,"%sShift %d\n",aaTracePrompt,aaNewState);
+ fprintf(aaTraceFILE,"%sStack:",aaTracePrompt);
+ for(i=1; i<=aapParser->aaidx; i++)
+ fprintf(aaTraceFILE," %s",aaTokenName[aapParser->aastack[i].major]);
+ fprintf(aaTraceFILE,"\n");
}
#endif
}
@@ -29176,9 +28970,9 @@ static void jj_shift(
** is used during the reduce.
*/
static struct {
- JJCODETYPE lhs; /* Symbol on the left-hand side of the rule */
+ AACODETYPE lhs; /* Symbol on the left-hand side of the rule */
unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} jjRuleInfo[] = {
+} aaRuleInfo[] = {
{ 19, 1 },
{ 20, 1 },
{ 21, 2 },
@@ -29206,28 +29000,28 @@ static struct {
{ 26, 3 },
};
-static void jj_accept(jjParser*); /* Forward Declaration */
+static void aa_accept(aaParser*); /* Forward Declaration */
-static void jj_reduce(
- jjParser *jjpParser, /* The parser */
- int jjruleno /* Number of the rule by which to reduce */
+static void aa_reduce(
+ aaParser *aapParser, /* The parser */
+ int aaruleno /* Number of the rule by which to reduce */
){
- int jjgoto; /* The next state */
- int jjact; /* The next action */
- JJMINORTYPE jjgotominor; /* The LHS of the rule reduced */
- jjStackEntry *jjmsp; /* The top of the parser's stack */
- int jjsize; /* Amount to pop the stack */
+ int aagoto; /* The next state */
+ int aaact; /* The next action */
+ AAMINORTYPE aagotominor; /* The LHS of the rule reduced */
+ aaStackEntry *aamsp; /* The top of the parser's stack */
+ int aasize; /* Amount to pop the stack */
phannot_ARG_FETCH;
- jjmsp = &jjpParser->jjstack[jjpParser->jjidx];
+ aamsp = &aapParser->aastack[aapParser->aaidx];
#ifndef NDEBUG
- if( jjTraceFILE && jjruleno>=0
- && jjruleno=0
+ && aarulenoret = jjmsp[0].minor.jj36;
+ status->ret = aamsp[0].minor.aa36;
}
-// 759 "parser.c"
+// 757 "parser.c"
break;
case 1:
case 14:
case 15:
// 237 "parser.lemon"
{
- jjgotominor.jj36 = jjmsp[0].minor.jj36;
+ aagotominor.aa36 = aamsp[0].minor.aa36;
}
-// 768 "parser.c"
+// 766 "parser.c"
break;
case 2:
// 243 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(jjmsp[-1].minor.jj36, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_zval_list(aamsp[-1].minor.aa36, aamsp[0].minor.aa36);
}
-// 775 "parser.c"
+// 773 "parser.c"
break;
case 3:
case 8:
// 247 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(NULL, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_zval_list(NULL, aamsp[0].minor.aa36);
}
-// 783 "parser.c"
+// 781 "parser.c"
break;
case 4:
// 254 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[-3].minor.jj0, jjmsp[-1].minor.jj36, status->scanner_state);
- jj_destructor(2,&jjmsp[-4].minor);
- jj_destructor(4,&jjmsp[-2].minor);
- jj_destructor(5,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[-3].minor.aa0, aamsp[-1].minor.aa36, status->scanner_state);
+ aa_destructor(2,&aamsp[-4].minor);
+ aa_destructor(4,&aamsp[-2].minor);
+ aa_destructor(5,&aamsp[0].minor);
}
-// 793 "parser.c"
+// 791 "parser.c"
break;
case 5:
// 258 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[-2].minor.jj0, NULL, status->scanner_state);
- jj_destructor(2,&jjmsp[-3].minor);
- jj_destructor(4,&jjmsp[-1].minor);
- jj_destructor(5,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[-2].minor.aa0, NULL, status->scanner_state);
+ aa_destructor(2,&aamsp[-3].minor);
+ aa_destructor(4,&aamsp[-1].minor);
+ aa_destructor(5,&aamsp[0].minor);
}
-// 803 "parser.c"
+// 801 "parser.c"
break;
case 6:
// 262 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[0].minor.jj0, NULL, status->scanner_state);
- jj_destructor(2,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[0].minor.aa0, NULL, status->scanner_state);
+ aa_destructor(2,&aamsp[-1].minor);
}
-// 811 "parser.c"
+// 809 "parser.c"
break;
case 7:
// 268 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(jjmsp[-2].minor.jj36, jjmsp[0].minor.jj36);
- jj_destructor(1,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_zval_list(aamsp[-2].minor.aa36, aamsp[0].minor.aa36);
+ aa_destructor(1,&aamsp[-1].minor);
}
-// 819 "parser.c"
+// 817 "parser.c"
break;
case 9:
// 278 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(NULL, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_named_item(NULL, aamsp[0].minor.aa36);
}
-// 826 "parser.c"
+// 824 "parser.c"
break;
case 10:
case 12:
// 282 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(jjmsp[-2].minor.jj0, jjmsp[0].minor.jj36);
- jj_destructor(7,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_named_item(aamsp[-2].minor.aa0, aamsp[0].minor.aa36);
+ aa_destructor(7,&aamsp[-1].minor);
}
-// 835 "parser.c"
+// 833 "parser.c"
break;
case 11:
case 13:
// 286 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(jjmsp[-2].minor.jj0, jjmsp[0].minor.jj36);
- jj_destructor(8,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_named_item(aamsp[-2].minor.aa0, aamsp[0].minor.aa36);
+ aa_destructor(8,&aamsp[-1].minor);
}
-// 844 "parser.c"
+// 842 "parser.c"
break;
case 16:
// 308 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_IDENTIFIER, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_IDENTIFIER, aamsp[0].minor.aa0);
}
-// 851 "parser.c"
+// 849 "parser.c"
break;
case 17:
// 312 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_INTEGER, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_INTEGER, aamsp[0].minor.aa0);
}
-// 858 "parser.c"
+// 856 "parser.c"
break;
case 18:
// 316 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_STRING, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_STRING, aamsp[0].minor.aa0);
}
-// 865 "parser.c"
+// 863 "parser.c"
break;
case 19:
// 320 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_DOUBLE, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_DOUBLE, aamsp[0].minor.aa0);
}
-// 872 "parser.c"
+// 870 "parser.c"
break;
case 20:
// 324 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_NULL, NULL);
- jj_destructor(11,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_NULL, NULL);
+ aa_destructor(11,&aamsp[0].minor);
}
-// 880 "parser.c"
+// 878 "parser.c"
break;
case 21:
// 328 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_FALSE, NULL);
- jj_destructor(12,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_FALSE, NULL);
+ aa_destructor(12,&aamsp[0].minor);
}
-// 888 "parser.c"
+// 886 "parser.c"
break;
case 22:
// 332 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_TRUE, NULL);
- jj_destructor(13,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_TRUE, NULL);
+ aa_destructor(13,&aamsp[0].minor);
}
-// 896 "parser.c"
+// 894 "parser.c"
break;
case 23:
// 336 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_array(jjmsp[-1].minor.jj36);
- jj_destructor(14,&jjmsp[-2].minor);
- jj_destructor(15,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_array(aamsp[-1].minor.aa36);
+ aa_destructor(14,&aamsp[-2].minor);
+ aa_destructor(15,&aamsp[0].minor);
}
-// 905 "parser.c"
+// 903 "parser.c"
break;
case 24:
// 340 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_array(jjmsp[-1].minor.jj36);
- jj_destructor(16,&jjmsp[-2].minor);
- jj_destructor(17,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_array(aamsp[-1].minor.aa36);
+ aa_destructor(16,&aamsp[-2].minor);
+ aa_destructor(17,&aamsp[0].minor);
}
-// 914 "parser.c"
+// 912 "parser.c"
break;
};
- jjgoto = jjRuleInfo[jjruleno].lhs;
- jjsize = jjRuleInfo[jjruleno].nrhs;
- jjpParser->jjidx -= jjsize;
- jjact = jj_find_reduce_action(jjpParser,jjgoto);
- if( jjact < JJNSTATE ){
- jj_shift(jjpParser,jjact,jjgoto,&jjgotominor);
- }else if( jjact == JJNSTATE + JJNRULE + 1 ){
- jj_accept(jjpParser);
+ aagoto = aaRuleInfo[aaruleno].lhs;
+ aasize = aaRuleInfo[aaruleno].nrhs;
+ aapParser->aaidx -= aasize;
+ aaact = aa_find_reduce_action(aapParser,aagoto);
+ if( aaact < AANSTATE ){
+ aa_shift(aapParser,aaact,aagoto,&aagotominor);
+ }else if( aaact == AANSTATE + AANRULE + 1 ){
+ aa_accept(aapParser);
}
}
-static void jj_parse_failed(
- jjParser *jjpParser /* The parser */
+static void aa_parse_failed(
+ aaParser *aapParser /* The parser */
){
phannot_ARG_FETCH;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sFail!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sFail!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void jj_syntax_error(
- jjParser *jjpParser, /* The parser */
- int jjmajor, /* The major type of the error token */
- JJMINORTYPE jjminor /* The minor type of the error token */
+static void aa_syntax_error(
+ aaParser *aapParser, /* The parser */
+ int aamajor, /* The major type of the error token */
+ AAMINORTYPE aaminor /* The minor type of the error token */
){
phannot_ARG_FETCH;
-#define JTOKEN (jjminor.jj0)
+#define TOKEN (aaminor.aa0)
// 159 "parser.lemon"
if (status->scanner_state->start_length) {
@@ -29495,20 +29289,20 @@ static void jj_syntax_error(
status->status = PHANNOT_PARSING_FAILED;
-// 1019 "parser.c"
+// 1017 "parser.c"
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void jj_accept(
- jjParser *jjpParser /* The parser */
+static void aa_accept(
+ aaParser *aapParser /* The parser */
){
phannot_ARG_FETCH;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sAccept!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sAccept!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will be executed whenever the
** parser accepts */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
@@ -29534,59 +29328,59 @@ static void jj_accept(
** None.
*/
static void phannot_(
- void *jjp, /* The parser */
- int jjmajor, /* The major token code number */
- phannot_JTOKENTYPE jjminor /* The value for the token */
+ void *aap, /* The parser */
+ int aamajor, /* The major token code number */
+ phannot_TOKENTYPE aaminor /* The value for the token */
phannot_ARG_PDECL /* Optional %extra_argument parameter */
){
- JJMINORTYPE jjminorunion;
- int jjact; /* The parser action. */
- int jjendofinput; /* True if we are at the end of input */
- int jjerrorhit = 0; /* True if jjmajor has invoked an error */
- jjParser *jjpParser; /* The parser */
+ AAMINORTYPE aaminorunion;
+ int aaact; /* The parser action. */
+ int aaendofinput; /* True if we are at the end of input */
+ int aaerrorhit = 0; /* True if aamajor has invoked an error */
+ aaParser *aapParser; /* The parser */
/* (re)initialize the parser, if necessary */
- jjpParser = (jjParser*)jjp;
- if( jjpParser->jjidx<0 ){
- if( jjmajor==0 ) return;
- jjpParser->jjidx = 0;
- jjpParser->jjerrcnt = -1;
- jjpParser->jjstack[0].stateno = 0;
- jjpParser->jjstack[0].major = 0;
+ aapParser = (aaParser*)aap;
+ if( aapParser->aaidx<0 ){
+ if( aamajor==0 ) return;
+ aapParser->aaidx = 0;
+ aapParser->aaerrcnt = -1;
+ aapParser->aastack[0].stateno = 0;
+ aapParser->aastack[0].major = 0;
}
- jjminorunion.jj0 = jjminor;
- jjendofinput = (jjmajor==0);
+ aaminorunion.aa0 = aaminor;
+ aaendofinput = (aamajor==0);
phannot_ARG_STORE;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sInput %s\n",jjTracePrompt,jjTokenName[jjmajor]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sInput %s\n",aaTracePrompt,aaTokenName[aamajor]);
}
#endif
do{
- jjact = jj_find_shift_action(jjpParser,jjmajor);
- if( jjactjjerrcnt--;
- if( jjendofinput && jjpParser->jjidx>=0 ){
- jjmajor = 0;
+ aaact = aa_find_shift_action(aapParser,aamajor);
+ if( aaactaaerrcnt--;
+ if( aaendofinput && aapParser->aaidx>=0 ){
+ aamajor = 0;
}else{
- jjmajor = JJNOCODE;
+ aamajor = AANOCODE;
}
- }else if( jjact < JJNSTATE + JJNRULE ){
- jj_reduce(jjpParser,jjact-JJNSTATE);
- }else if( jjact == JJ_ERROR_ACTION ){
- int jjmx;
+ }else if( aaact < AANSTATE + AANRULE ){
+ aa_reduce(aapParser,aaact-AANSTATE);
+ }else if( aaact == AA_ERROR_ACTION ){
+ int aamx;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sSyntax Error!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sSyntax Error!\n",aaTracePrompt);
}
#endif
-#ifdef JJERRORSYMBOL
+#ifdef AAERRORSYMBOL
/* A syntax error has occurred.
** The response to an error depends upon whether or not the
- ** grammar defines an error token "ERROR".
+ ** grammar defines an error token "ERROR".
**
** This is what we do if the grammar does define ERROR:
**
@@ -29603,40 +29397,40 @@ static void phannot_(
** shifted successfully.
**
*/
- if( jjpParser->jjerrcnt<0 ){
- jj_syntax_error(jjpParser,jjmajor,jjminorunion);
+ if( aapParser->aaerrcnt<0 ){
+ aa_syntax_error(aapParser,aamajor,aaminorunion);
}
- jjmx = jjpParser->jjstack[jjpParser->jjidx].major;
- if( jjmx==JJERRORSYMBOL || jjerrorhit ){
+ aamx = aapParser->aastack[aapParser->aaidx].major;
+ if( aamx==AAERRORSYMBOL || aaerrorhit ){
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sDiscard input token %s\n",
- jjTracePrompt,jjTokenName[jjmajor]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sDiscard input token %s\n",
+ aaTracePrompt,aaTokenName[aamajor]);
}
#endif
- jj_destructor(jjmajor,&jjminorunion);
- jjmajor = JJNOCODE;
+ aa_destructor(aamajor,&aaminorunion);
+ aamajor = AANOCODE;
}else{
while(
- jjpParser->jjidx >= 0 &&
- jjmx != JJERRORSYMBOL &&
- (jjact = jj_find_shift_action(jjpParser,JJERRORSYMBOL)) >= JJNSTATE
+ aapParser->aaidx >= 0 &&
+ aamx != AAERRORSYMBOL &&
+ (aaact = aa_find_shift_action(aapParser,AAERRORSYMBOL)) >= AANSTATE
){
- jj_pop_parser_stack(jjpParser);
+ aa_pop_parser_stack(aapParser);
}
- if( jjpParser->jjidx < 0 || jjmajor==0 ){
- jj_destructor(jjmajor,&jjminorunion);
- jj_parse_failed(jjpParser);
- jjmajor = JJNOCODE;
- }else if( jjmx!=JJERRORSYMBOL ){
- JJMINORTYPE u2;
- u2.JJERRSYMDT = 0;
- jj_shift(jjpParser,jjact,JJERRORSYMBOL,&u2);
+ if( aapParser->aaidx < 0 || aamajor==0 ){
+ aa_destructor(aamajor,&aaminorunion);
+ aa_parse_failed(aapParser);
+ aamajor = AANOCODE;
+ }else if( aamx!=AAERRORSYMBOL ){
+ AAMINORTYPE u2;
+ u2.AAERRSYMDT = 0;
+ aa_shift(aapParser,aaact,AAERRORSYMBOL,&u2);
}
}
- jjpParser->jjerrcnt = 3;
- jjerrorhit = 1;
-#else /* JJERRORSYMBOL is not defined */
+ aapParser->aaerrcnt = 3;
+ aaerrorhit = 1;
+#else /* AAERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
** * Report an error message, and throw away the input token.
@@ -29646,21 +29440,21 @@ static void phannot_(
** As before, subsequent error messages are suppressed until
** three input tokens have been successfully shifted.
*/
- if( jjpParser->jjerrcnt<=0 ){
- jj_syntax_error(jjpParser,jjmajor,jjminorunion);
+ if( aapParser->aaerrcnt<=0 ){
+ aa_syntax_error(aapParser,aamajor,aaminorunion);
}
- jjpParser->jjerrcnt = 3;
- jj_destructor(jjmajor,&jjminorunion);
- if( jjendofinput ){
- jj_parse_failed(jjpParser);
+ aapParser->aaerrcnt = 3;
+ aa_destructor(aamajor,&aaminorunion);
+ if( aaendofinput ){
+ aa_parse_failed(aapParser);
}
- jjmajor = JJNOCODE;
+ aamajor = AANOCODE;
#endif
}else{
- jj_accept(jjpParser);
- jjmajor = JJNOCODE;
+ aa_accept(aapParser);
+ aamajor = AANOCODE;
}
- }while( jjmajor!=JJNOCODE && jjpParser->jjidx>=0 );
+ }while( aamajor!=AANOCODE && aapParser->aaidx>=0 );
return;
}
@@ -29873,7 +29667,7 @@ static int phannot_internal_parse_annotations(zval **result, zval *comment, zval
if (Z_STRLEN(processed_comment) < 2) {
ZVAL_BOOL(*result, 0);
- str_efree(Z_STRVAL(processed_comment));
+ efree(Z_STRVAL(processed_comment));
return SUCCESS;
}
@@ -30422,67 +30216,64 @@ static PHP_METHOD(Phalcon_Annotations_Reflection, __set_state) {
-/* Generated by re2c 0.13.5 on Fri Jun 28 19:00:52 2013 */
+/* Generated by re2c 0.13.6 on Mon May 4 14:38:13 2015 */
// 1 "scanner.re"
-#ifdef HAVE_CONFIG_H
-#endif
-
-#define JJCTYPE unsigned char
-#define JJCURSOR (s->start)
-#define JJLIMIT (s->end)
-#define JJMARKER q
+#define AACTYPE unsigned char
+#define AACURSOR (s->start)
+#define AALIMIT (s->end)
+#define AAMARKER q
static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *token) {
- char next, *q = JJCURSOR, *start = JJCURSOR;
+ char next, *q = AACURSOR, *start = AACURSOR;
int status = PHANNOT_SCANNER_RETCODE_IMPOSSIBLE;
while (PHANNOT_SCANNER_RETCODE_IMPOSSIBLE == status) {
if (s->mode == PHANNOT_MODE_RAW) {
- if (*JJCURSOR == '\n') {
+ if (*AACURSOR == '\n') {
s->active_line++;
}
- next = *(JJCURSOR+1);
+ next = *(AACURSOR+1);
- if (*JJCURSOR == '\0' || *JJCURSOR == '@') {
+ if (*AACURSOR == '\0' || *AACURSOR == '@') {
if ((next >= 'A' && next <= 'Z') || (next >= 'a' && next <= 'z')) {
s->mode = PHANNOT_MODE_ANNOTATION;
continue;
}
}
- ++JJCURSOR;
+ ++AACURSOR;
token->opcode = PHANNOT_T_IGNORE;
return 0;
} else {
-
-// 66 "scanner.c"
+
+// 61 "scanner.c"
{
- JJCTYPE jjch;
- unsigned int jjaccept = 0;
+ AACTYPE aach;
+ unsigned int aaaccept = 0;
- jjch = *JJCURSOR;
- switch (jjch) {
- case 0x00: goto jj38;
+ aach = *AACURSOR;
+ switch (aach) {
+ case 0x00: goto aa38;
case '\t':
case '\r':
- case ' ': goto jj34;
- case '\n': goto jj36;
- case '"': goto jj10;
- case '\'': goto jj11;
- case '(': goto jj14;
- case ')': goto jj16;
- case ',': goto jj32;
- case '-': goto jj2;
+ case ' ': goto aa34;
+ case '\n': goto aa36;
+ case '"': goto aa10;
+ case '\'': goto aa11;
+ case '(': goto aa14;
+ case ')': goto aa16;
+ case ',': goto aa32;
+ case '-': goto aa2;
case '0':
case '1':
case '2':
@@ -30492,10 +30283,10 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj4;
- case ':': goto jj30;
- case '=': goto jj28;
- case '@': goto jj26;
+ case '9': goto aa4;
+ case ':': goto aa30;
+ case '=': goto aa28;
+ case '@': goto aa26;
case 'A':
case 'B':
case 'C':
@@ -30542,23 +30333,23 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj13;
+ case 'z': goto aa13;
case 'F':
- case 'f': goto jj8;
+ case 'f': goto aa8;
case 'N':
- case 'n': goto jj6;
+ case 'n': goto aa6;
case 'T':
- case 't': goto jj9;
- case '[': goto jj22;
- case '\\': goto jj12;
- case ']': goto jj24;
- case '{': goto jj18;
- case '}': goto jj20;
- default: goto jj40;
- }
-jj2:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+ case 't': goto aa9;
+ case '[': goto aa22;
+ case '\\': goto aa12;
+ case ']': goto aa24;
+ case '{': goto aa18;
+ case '}': goto aa20;
+ default: goto aa40;
+ }
+aa2:
+ ++AACURSOR;
+ switch ((aach = *AACURSOR)) {
case '0':
case '1':
case '2':
@@ -30568,203 +30359,263 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj68;
- default: goto jj3;
+ case '9': goto aa71;
+ default: goto aa3;
}
-jj3:
-// 183 "scanner.re"
+aa3:
+// 178 "scanner.re"
{
status = PHANNOT_SCANNER_RETCODE_ERR;
break;
}
-// 178 "scanner.c"
-jj4:
- jjaccept = 0;
- jjch = *(JJMARKER = ++JJCURSOR);
- goto jj69;
-jj5:
-// 67 "scanner.re"
+// 173 "scanner.c"
+aa4:
+ aaaccept = 0;
+ aach = *(AAMARKER = ++AACURSOR);
+ goto aa72;
+aa5:
+// 62 "scanner.re"
{
token->opcode = PHANNOT_T_INTEGER;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 192 "scanner.c"
-jj6:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+// 187 "scanner.c"
+aa6:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'U':
- case 'u': goto jj63;
- default: goto jj44;
+ case 'u': goto aa66;
+ default: goto aa44;
}
-jj7:
-// 109 "scanner.re"
+aa7:
+// 104 "scanner.re"
{
token->opcode = PHANNOT_T_IDENTIFIER;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 209 "scanner.c"
-jj8:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 205 "scanner.c"
+aa8:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'A':
- case 'a': goto jj58;
- default: goto jj44;
+ case 'a': goto aa61;
+ default: goto aa44;
}
-jj9:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa9:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'R':
- case 'r': goto jj54;
- default: goto jj44;
- }
-jj10:
- jjaccept = 1;
- jjch = *(JJMARKER = ++JJCURSOR);
- if (jjch <= 0x00) goto jj3;
- goto jj52;
-jj11:
- jjaccept = 1;
- jjch = *(JJMARKER = ++JJCURSOR);
- if (jjch <= 0x00) goto jj3;
- goto jj46;
-jj12:
- jjch = *++JJCURSOR;
- goto jj44;
-jj13:
- jjch = *++JJCURSOR;
- goto jj44;
-jj14:
- ++JJCURSOR;
-// 117 "scanner.re"
+ case 'r': goto aa57;
+ default: goto aa44;
+ }
+aa10:
+ aaaccept = 2;
+ aach = *(AAMARKER = ++AACURSOR);
+ if (aach <= 0x00) goto aa3;
+ goto aa55;
+aa11:
+ aaaccept = 2;
+ aach = *(AAMARKER = ++AACURSOR);
+ if (aach <= 0x00) goto aa3;
+ goto aa50;
+aa12:
+ aach = *++AACURSOR;
+ switch (aach) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa43;
+ default: goto aa3;
+ }
+aa13:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ goto aa44;
+aa14:
+ ++AACURSOR;
+// 112 "scanner.re"
{
token->opcode = PHANNOT_T_PARENTHESES_OPEN;
return 0;
}
-// 247 "scanner.c"
-jj16:
- ++JJCURSOR;
-// 122 "scanner.re"
+// 301 "scanner.c"
+aa16:
+ ++AACURSOR;
+// 117 "scanner.re"
{
token->opcode = PHANNOT_T_PARENTHESES_CLOSE;
return 0;
}
-// 255 "scanner.c"
-jj18:
- ++JJCURSOR;
-// 127 "scanner.re"
+// 309 "scanner.c"
+aa18:
+ ++AACURSOR;
+// 122 "scanner.re"
{
token->opcode = PHANNOT_T_BRACKET_OPEN;
return 0;
}
-// 263 "scanner.c"
-jj20:
- ++JJCURSOR;
-// 132 "scanner.re"
+// 317 "scanner.c"
+aa20:
+ ++AACURSOR;
+// 127 "scanner.re"
{
token->opcode = PHANNOT_T_BRACKET_CLOSE;
return 0;
}
-// 271 "scanner.c"
-jj22:
- ++JJCURSOR;
-// 137 "scanner.re"
+// 325 "scanner.c"
+aa22:
+ ++AACURSOR;
+// 132 "scanner.re"
{
token->opcode = PHANNOT_T_SBRACKET_OPEN;
return 0;
}
-// 279 "scanner.c"
-jj24:
- ++JJCURSOR;
-// 142 "scanner.re"
+// 333 "scanner.c"
+aa24:
+ ++AACURSOR;
+// 137 "scanner.re"
{
token->opcode = PHANNOT_T_SBRACKET_CLOSE;
return 0;
}
-// 287 "scanner.c"
-jj26:
- ++JJCURSOR;
-// 147 "scanner.re"
+// 341 "scanner.c"
+aa26:
+ ++AACURSOR;
+// 142 "scanner.re"
{
token->opcode = PHANNOT_T_AT;
return 0;
}
-// 295 "scanner.c"
-jj28:
- ++JJCURSOR;
-// 152 "scanner.re"
+// 349 "scanner.c"
+aa28:
+ ++AACURSOR;
+// 147 "scanner.re"
{
token->opcode = PHANNOT_T_EQUALS;
return 0;
}
-// 303 "scanner.c"
-jj30:
- ++JJCURSOR;
-// 157 "scanner.re"
+// 357 "scanner.c"
+aa30:
+ ++AACURSOR;
+// 152 "scanner.re"
{
token->opcode = PHANNOT_T_COLON;
return 0;
}
-// 311 "scanner.c"
-jj32:
- ++JJCURSOR;
-// 162 "scanner.re"
+// 365 "scanner.c"
+aa32:
+ ++AACURSOR;
+// 157 "scanner.re"
{
token->opcode = PHANNOT_T_COMMA;
return 0;
}
-// 319 "scanner.c"
-jj34:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- goto jj42;
-jj35:
-// 167 "scanner.re"
+// 373 "scanner.c"
+aa34:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ goto aa42;
+aa35:
+// 162 "scanner.re"
{
token->opcode = PHANNOT_T_IGNORE;
return 0;
}
-// 330 "scanner.c"
-jj36:
- ++JJCURSOR;
-// 172 "scanner.re"
+// 384 "scanner.c"
+aa36:
+ ++AACURSOR;
+// 167 "scanner.re"
{
s->active_line++;
token->opcode = PHANNOT_T_IGNORE;
return 0;
}
-// 339 "scanner.c"
-jj38:
- ++JJCURSOR;
-// 178 "scanner.re"
+// 393 "scanner.c"
+aa38:
+ ++AACURSOR;
+// 173 "scanner.re"
{
status = PHANNOT_SCANNER_RETCODE_EOF;
break;
}
-// 347 "scanner.c"
-jj40:
- jjch = *++JJCURSOR;
- goto jj3;
-jj41:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj42:
- switch (jjch) {
+// 401 "scanner.c"
+aa40:
+ aach = *++AACURSOR;
+ goto aa3;
+aa41:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa42:
+ switch (aach) {
case '\t':
case '\r':
- case ' ': goto jj41;
- default: goto jj35;
- }
-jj43:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj44:
- switch (jjch) {
+ case ' ': goto aa41;
+ default: goto aa35;
+ }
+aa43:
+ aaaccept = 1;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+aa44:
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -30801,7 +30652,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -30828,77 +30678,215 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj7;
- }
-jj45:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj46:
- switch (jjch) {
- case 0x00: goto jj47;
- case '\'': goto jj49;
- case '\\': goto jj48;
- default: goto jj45;
- }
-jj47:
- JJCURSOR = JJMARKER;
- switch (jjaccept) {
- case 0: goto jj5;
- case 1: goto jj3;
- }
-jj48:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
- case '\n': goto jj47;
- default: goto jj45;
- }
-jj49:
- ++JJCURSOR;
-// 100 "scanner.re"
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa7;
+ }
+aa45:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa47;
+ default: goto aa46;
+ }
+aa46:
+ AACURSOR = AAMARKER;
+ switch (aaaccept) {
+ case 0: goto aa5;
+ case 1: goto aa7;
+ case 2: goto aa3;
+ case 3: goto aa60;
+ case 4: goto aa65;
+ default: goto aa69;
+ }
+aa47:
+ aaaccept = 1;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa47;
+ case '\\': goto aa45;
+ default: goto aa7;
+ }
+aa49:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa50:
+ switch (aach) {
+ case 0x00: goto aa46;
+ case '\'': goto aa52;
+ case '\\': goto aa51;
+ default: goto aa49;
+ }
+aa51:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '\n': goto aa46;
+ default: goto aa49;
+ }
+aa52:
+ ++AACURSOR;
+// 95 "scanner.re"
{
token->opcode = PHANNOT_T_STRING;
- token->value = estrndup(q, JJCURSOR - q - 1);
- token->len = JJCURSOR - q - 1;
- q = JJCURSOR;
+ token->value = estrndup(q, AACURSOR - q - 1);
+ token->len = AACURSOR - q - 1;
+ q = AACURSOR;
return 0;
}
-// 465 "scanner.c"
-jj51:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj52:
- switch (jjch) {
- case 0x00: goto jj47;
- case '"': goto jj49;
- case '\\': goto jj53;
- default: goto jj51;
- }
-jj53:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
- case '\n': goto jj47;
- default: goto jj51;
- }
-jj54:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 654 "scanner.c"
+aa54:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa55:
+ switch (aach) {
+ case 0x00: goto aa46;
+ case '"': goto aa52;
+ case '\\': goto aa56;
+ default: goto aa54;
+ }
+aa56:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '\n': goto aa46;
+ default: goto aa54;
+ }
+aa57:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'U':
- case 'u': goto jj55;
- default: goto jj44;
+ case 'u': goto aa58;
+ default: goto aa44;
}
-jj55:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa58:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'E':
- case 'e': goto jj56;
- default: goto jj44;
+ case 'e': goto aa59;
+ default: goto aa44;
}
-jj56:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa59:
+ aaaccept = 3;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -30935,7 +30923,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -30962,40 +30949,45 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj57;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa60;
}
-jj57:
-// 94 "scanner.re"
+aa60:
+// 89 "scanner.re"
{
token->opcode = PHANNOT_T_TRUE;
return 0;
}
-// 572 "scanner.c"
-jj58:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 764 "scanner.c"
+aa61:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj59;
- default: goto jj44;
+ case 'l': goto aa62;
+ default: goto aa44;
}
-jj59:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa62:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'S':
- case 's': goto jj60;
- default: goto jj44;
+ case 's': goto aa63;
+ default: goto aa44;
}
-jj60:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa63:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'E':
- case 'e': goto jj61;
- default: goto jj44;
+ case 'e': goto aa64;
+ default: goto aa44;
}
-jj61:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa64:
+ aaaccept = 4;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31032,7 +31024,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -31059,33 +31050,37 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj62;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa65;
}
-jj62:
-// 89 "scanner.re"
+aa65:
+// 84 "scanner.re"
{
token->opcode = PHANNOT_T_FALSE;
return 0;
}
-// 669 "scanner.c"
-jj63:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 865 "scanner.c"
+aa66:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj64;
- default: goto jj44;
+ case 'l': goto aa67;
+ default: goto aa44;
}
-jj64:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa67:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj65;
- default: goto jj44;
+ case 'l': goto aa68;
+ default: goto aa44;
}
-jj65:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa68:
+ aaaccept = 5;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31122,7 +31117,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -31149,19 +31143,20 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj66;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa69;
}
-jj66:
-// 84 "scanner.re"
+aa69:
+// 79 "scanner.re"
{
token->opcode = PHANNOT_T_NULL;
return 0;
}
-// 759 "scanner.c"
-jj67:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 958 "scanner.c"
+aa70:
+ aach = *++AACURSOR;
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31171,16 +31166,16 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj70;
- default: goto jj47;
- }
-jj68:
- jjaccept = 0;
- JJMARKER = ++JJCURSOR;
- jjch = *JJCURSOR;
-jj69:
- switch (jjch) {
- case '.': goto jj67;
+ case '9': goto aa73;
+ default: goto aa46;
+ }
+aa71:
+ aaaccept = 0;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+aa72:
+ switch (aach) {
+ case '.': goto aa70;
case '0':
case '1':
case '2':
@@ -31190,13 +31185,13 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj68;
- default: goto jj5;
+ case '9': goto aa71;
+ default: goto aa5;
}
-jj70:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
+aa73:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31206,21 +31201,21 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj70;
- default: goto jj72;
+ case '9': goto aa73;
+ default: goto aa75;
}
-jj72:
-// 76 "scanner.re"
+aa75:
+// 71 "scanner.re"
{
token->opcode = PHANNOT_T_DOUBLE;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 819 "scanner.c"
+// 1018 "scanner.c"
}
-// 188 "scanner.re"
+// 183 "scanner.re"
}
@@ -33066,7 +33061,7 @@ static PHP_METHOD(Phalcon_Assets_Manager, output) {
zephir_check_call_status();
if (zephir_fast_count_int(filters TSRMLS_CC)) {
if (zephir_is_true(local)) {
- ZEPHIR_CALL_METHOD(&sourcePath, resource, "getrealsourcepath", NULL);
+ ZEPHIR_CALL_METHOD(&sourcePath, resource, "getrealsourcepath", NULL, completeSourcePath);
zephir_check_call_status();
if (!(zephir_is_true(sourcePath))) {
ZEPHIR_CALL_METHOD(&sourcePath, resource, "getpath", NULL);
@@ -36953,6 +36948,7 @@ ZEPHIR_INIT_CLASS(Phalcon_Cache_Backend_Memory) {
zend_declare_property_null(phalcon_cache_backend_memory_ce, SL("_data"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_class_implements(phalcon_cache_backend_memory_ce TSRMLS_CC, 1, phalcon_cache_backendinterface_ce);
+ zend_class_implements(phalcon_cache_backend_memory_ce TSRMLS_CC, 1, zend_ce_serializable);
return SUCCESS;
}
@@ -37249,6 +37245,49 @@ static PHP_METHOD(Phalcon_Cache_Backend_Memory, flush) {
}
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, serialize) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ zval *_1;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 1, 0 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(_1);
+ zephir_read_property_this(&_1, this_ptr, SL("_frontend"), PH_NOISY_CC);
+ zephir_array_update_string(&_0, SL("frontend"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_RETURN_CALL_FUNCTION("serialize", &_2, _0);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, unserialize) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zval *data, *unserialized = NULL, *_1;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &data);
+
+
+
+ ZEPHIR_CALL_FUNCTION(&unserialized, "unserialize", &_0, data);
+ zephir_check_call_status();
+ if (Z_TYPE_P(unserialized) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "Unserialized data must be an array", "phalcon/cache/backend/memory.zep", 295);
+ return;
+ }
+ zephir_array_fetch_string(&_1, unserialized, SL("frontend"), PH_NOISY | PH_READONLY, "phalcon/cache/backend/memory.zep", 298 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_frontend"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
@@ -38150,7 +38189,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, save) {
static PHP_METHOD(Phalcon_Cache_Backend_Redis, delete) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *keyName, *redis = NULL, *prefix, *prefixedKey, *lastKey, *options, *specialKey, *_0 = NULL;
+ zval *keyName, *redis = NULL, *prefix, *prefixedKey, *lastKey, *options, *specialKey;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &keyName);
@@ -38181,12 +38220,9 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, delete) {
zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 296 TSRMLS_CC);
ZEPHIR_CALL_METHOD(NULL, redis, "srem", NULL, specialKey, prefixedKey);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_0, redis, "delete", NULL, lastKey);
+ ZEPHIR_RETURN_CALL_METHOD(redis, "delete", NULL, lastKey);
zephir_check_call_status();
- if (!ZEPHIR_IS_LONG(_0, 1)) {
- RETURN_MM_BOOL(0);
- }
- RETURN_MM_BOOL(1);
+ RETURN_MM();
}
@@ -38196,7 +38232,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, queryKeys) {
HashTable *_1;
HashPosition _0;
int ZEPHIR_LAST_CALL_STATUS;
- zval *prefix = NULL, *redis = NULL, *options, *keys = NULL, *specialKey, *key = NULL, **_2;
+ zval *prefix = NULL, *redis = NULL, *options, *keys = NULL, *specialKey, *key = NULL, *value = NULL, **_2;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 1, &prefix);
@@ -38217,23 +38253,24 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, queryKeys) {
ZEPHIR_OBS_VAR(options);
zephir_read_property_this(&options, this_ptr, SL("_options"), PH_NOISY_CC);
if (!(zephir_array_isset_string(options, SS("statsKey")))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 329);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 326);
return;
}
ZEPHIR_OBS_VAR(specialKey);
- zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 332 TSRMLS_CC);
+ zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 329 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&keys, redis, "smembers", NULL, specialKey);
zephir_check_call_status();
if (Z_TYPE_P(keys) == IS_ARRAY) {
- zephir_is_iterable(keys, &_1, &_0, 1, 0, "phalcon/cache/backend/redis.zep", 344);
+ zephir_is_iterable(keys, &_1, &_0, 1, 0, "phalcon/cache/backend/redis.zep", 341);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
- ZEPHIR_GET_HVALUE(key, _2);
+ ZEPHIR_GET_HMKEY(key, _1, _0);
+ ZEPHIR_GET_HVALUE(value, _2);
_3 = zephir_is_true(prefix);
if (_3) {
- _3 = !(zephir_start_with(key, prefix, NULL));
+ _3 = !(zephir_start_with(value, prefix, NULL));
}
if (_3) {
zephir_array_unset(&keys, key, PH_SEPARATE);
@@ -38394,11 +38431,11 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, flush) {
ZEPHIR_OBS_VAR(options);
zephir_read_property_this(&options, this_ptr, SL("_options"), PH_NOISY_CC);
if (!(zephir_array_isset_string(options, SS("statsKey")))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 459);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 456);
return;
}
ZEPHIR_OBS_VAR(specialKey);
- zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 462 TSRMLS_CC);
+ zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 459 TSRMLS_CC);
ZEPHIR_OBS_VAR(redis);
zephir_read_property_this(&redis, this_ptr, SL("_redis"), PH_NOISY_CC);
if (Z_TYPE_P(redis) != IS_OBJECT) {
@@ -38410,7 +38447,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, flush) {
ZEPHIR_CALL_METHOD(&keys, redis, "smembers", NULL, specialKey);
zephir_check_call_status();
if (Z_TYPE_P(keys) == IS_ARRAY) {
- zephir_is_iterable(keys, &_1, &_0, 0, 0, "phalcon/cache/backend/redis.zep", 478);
+ zephir_is_iterable(keys, &_1, &_0, 0, 0, "phalcon/cache/backend/redis.zep", 475);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -39683,20 +39720,24 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
zend_bool _3;
int ZEPHIR_LAST_CALL_STATUS;
- zval *arguments = NULL, *dependencyInjector, *router = NULL, *eventsManager = NULL, *moduleName = NULL, *modules, *module, *path, *className = NULL, *moduleObject = NULL, *dispatcher = NULL, *task = NULL, *_0, *_1 = NULL, *_2 = NULL, *_4, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL;
+ zval *arguments_param = NULL, *dependencyInjector, *router = NULL, *eventsManager = NULL, *moduleName = NULL, *modules, *module, *path, *className = NULL, *moduleObject = NULL, *dispatcher = NULL, *task = NULL, *_0, *_1 = NULL, *_2 = NULL, *_4, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL;
+ zval *arguments = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &arguments);
+ zephir_fetch_params(1, 0, 1, &arguments_param);
- if (!arguments) {
- arguments = ZEPHIR_GLOBAL(global_null);
+ if (!arguments_param) {
+ ZEPHIR_INIT_VAR(arguments);
+ array_init(arguments);
+ } else {
+ zephir_get_arrval(arguments, arguments_param);
}
ZEPHIR_OBS_VAR(dependencyInjector);
zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "A dependency injection object is required to access internal services", "phalcon/cli/console.zep", 155);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "A dependency injection object is required to access internal services", "phalcon/cli/console.zep", 152);
return;
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_eventsManager"), PH_NOISY_CC);
@@ -39707,7 +39748,7 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
zephir_check_temp_parameter(_2);
zephir_check_call_status();
ZEPHIR_CPY_WRT(router, _1);
- _3 = !zephir_is_true(arguments);
+ _3 = !(zephir_fast_count_int(arguments TSRMLS_CC));
if (_3) {
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_arguments"), PH_NOISY_CC);
_3 = zephir_is_true(_0);
@@ -39742,14 +39783,14 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
ZEPHIR_CONCAT_SVS(_5, "Module '", moduleName, "' isn't registered in the console container");
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 179 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 176 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
ZEPHIR_OBS_VAR(module);
- zephir_array_fetch(&module, modules, moduleName, PH_NOISY, "phalcon/cli/console.zep", 182 TSRMLS_CC);
+ zephir_array_fetch(&module, modules, moduleName, PH_NOISY, "phalcon/cli/console.zep", 179 TSRMLS_CC);
if (Z_TYPE_P(module) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "Invalid module definition path", "phalcon/cli/console.zep", 184);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "Invalid module definition path", "phalcon/cli/console.zep", 181);
return;
}
ZEPHIR_OBS_VAR(path);
@@ -39761,7 +39802,7 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
ZEPHIR_CONCAT_SVS(_5, "Module definition path '", path, "' doesn't exist");
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 189 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 186 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -39894,7 +39935,7 @@ static PHP_METHOD(Phalcon_Cli_Console, setArgument) {
Z_UNSET_ISREF_P(arguments);
zephir_check_call_status();
}
- zephir_is_iterable(arguments, &_3, &_2, 0, 0, "phalcon/cli/console.zep", 270);
+ zephir_is_iterable(arguments, &_3, &_2, 0, 0, "phalcon/cli/console.zep", 267);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -39951,11 +39992,11 @@ static PHP_METHOD(Phalcon_Cli_Console, setArgument) {
zephir_substr(_9, arg, 1 , 0, ZEPHIR_SUBSTR_NO_LENGTH);
zephir_array_update_zval(&opts, _9, &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
} else {
- zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 262);
+ zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 259);
}
}
} else {
- zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 266);
+ zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 263);
}
}
if (str) {
@@ -42214,9 +42255,8 @@ static PHP_METHOD(Phalcon_Db_Adapter, fetchAll) {
zephir_check_call_status();
if (!(zephir_is_true(row))) {
break;
- } else {
- zephir_array_append(&results, row, PH_SEPARATE, "phalcon/db/adapter.zep", 238);
}
+ zephir_array_append(&results, row, PH_SEPARATE, "phalcon/db/adapter.zep", 239);
}
}
RETURN_CCTOR(results);
@@ -43731,13 +43771,28 @@ static PHP_METHOD(Phalcon_Db_Adapter, describeReferences) {
static PHP_METHOD(Phalcon_Db_Adapter, tableOptions) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName, *schemaName = NULL, *sql = NULL, *_0, *_1 = NULL, *_2, *_3;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *sql = NULL, *_0, *_1 = NULL, *_2, *_3;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
@@ -43749,7 +43804,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, tableOptions) {
ZVAL_LONG(_2, 1);
ZEPHIR_CALL_METHOD(&_1, this_ptr, "fetchall", NULL, sql, _2);
zephir_check_call_status();
- zephir_array_fetch_long(&_3, _1, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter.zep", 979 TSRMLS_CC);
+ zephir_array_fetch_long(&_3, _1, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter.zep", 975 TSRMLS_CC);
RETURN_CTOR(_3);
}
array_init(return_value);
@@ -43784,7 +43839,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, createSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter.", "phalcon/db/adapter.zep", 994);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter.", "phalcon/db/adapter.zep", 990);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "createsavepoint", NULL, name);
@@ -43822,7 +43877,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, releaseSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1010);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1006);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "supportsreleasesavepoints", NULL);
@@ -43865,7 +43920,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, rollbackSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1030);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1026);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "rollbacksavepoint", NULL, name);
@@ -43890,14 +43945,14 @@ static PHP_METHOD(Phalcon_Db_Adapter, setNestedTransactionsWithSavepoints) {
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_transactionLevel"), PH_NOISY_CC);
if (ZEPHIR_GT_LONG(_0, 0)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Nested transaction with savepoints behavior cannot be changed while a transaction is open", "phalcon/db/adapter.zep", 1043);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Nested transaction with savepoints behavior cannot be changed while a transaction is open", "phalcon/db/adapter.zep", 1039);
return;
}
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_dialect"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(&_2, _1, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_2))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1047);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1043);
return;
}
zephir_update_property_this(this_ptr, SL("_transactionsWithSavepoints"), nestedTransactionsWithSavepoints ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
@@ -44612,18 +44667,108 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect) {
zend_declare_property_null(phalcon_db_dialect_ce, SL("_escapeChar"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_class_implements(phalcon_db_dialect_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Db_Dialect, escape) {
+
+ HashTable *_6;
+ HashPosition _5;
+ zval *_4 = NULL;
+ zend_bool isEscape, _8, _9, _10;
+ zval *str_param = NULL, *escapeChar_param = NULL, *parts = NULL, *key = NULL, *part = NULL, *newParts = NULL, *_0, *_2, *_3, **_7, *_11 = NULL;
+ zval *str = NULL, *escapeChar = NULL, *_1 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &str_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(str_param) != IS_STRING && Z_TYPE_P(str_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'str' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(str_param) == IS_STRING)) {
+ zephir_get_strval(str, str_param);
+ } else {
+ ZEPHIR_INIT_VAR(str);
+ ZVAL_EMPTY_STRING(str);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (ZEPHIR_IS_STRING(escapeChar, "")) {
+ ZEPHIR_OBS_VAR(_0);
+ zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
+ zephir_get_strval(_1, _0);
+ ZEPHIR_CPY_WRT(escapeChar, _1);
+ }
+ isEscape = ZEPHIR_GLOBAL(db).escape_identifiers;
+ if (!(zephir_memnstr_str(str, SL("."), "phalcon/db/dialect.zep", 47))) {
+ if (isEscape) {
+ if (ZEPHIR_IS_STRING(escapeChar, "")) {
+ RETURN_CTOR(str);
+ }
+ if (ZEPHIR_IS_STRING(str, "*")) {
+ RETURN_CTOR(str);
+ }
+ ZEPHIR_CONCAT_VVV(return_value, escapeChar, str, escapeChar);
+ RETURN_MM();
+ }
+ RETURN_CTOR(str);
+ }
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_INIT_VAR(_3);
+ zephir_fast_trim(_3, str, escapeChar, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ zephir_fast_explode_str(_2, SL("."), _3, LONG_MAX TSRMLS_CC);
+ zephir_get_arrval(_4, _2);
+ ZEPHIR_CPY_WRT(parts, _4);
+ ZEPHIR_CPY_WRT(newParts, parts);
+ zephir_is_iterable(parts, &_6, &_5, 0, 0, "phalcon/db/dialect.zep", 77);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _6, _5);
+ ZEPHIR_GET_HVALUE(part, _7);
+ _8 = ZEPHIR_IS_STRING(escapeChar, "");
+ if (!(_8)) {
+ _8 = !isEscape;
+ }
+ _9 = _8;
+ if (!(_9)) {
+ _9 = ZEPHIR_IS_STRING(part, "");
+ }
+ _10 = _9;
+ if (!(_10)) {
+ _10 = ZEPHIR_IS_STRING(part, "*");
+ }
+ if (_10) {
+ continue;
+ }
+ ZEPHIR_INIT_LNVAR(_11);
+ ZEPHIR_CONCAT_VVV(_11, escapeChar, part, escapeChar);
+ zephir_array_update_zval(&newParts, key, &_11, PH_COPY | PH_SEPARATE);
+ }
+ zephir_fast_join_str(return_value, SL("."), newParts TSRMLS_CC);
+ RETURN_MM();
+
+}
+
static PHP_METHOD(Phalcon_Db_Dialect, limit) {
- int number;
- zval *sqlQuery_param = NULL, *number_param = NULL, _0, _1;
+ zend_bool _2;
+ zval *sqlQuery_param = NULL, *number, *_0, *_1, *_3, *_4, *_5;
zval *sqlQuery = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number_param);
+ zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number);
if (unlikely(Z_TYPE_P(sqlQuery_param) != IS_STRING && Z_TYPE_P(sqlQuery_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlQuery' must be a string") TSRMLS_CC);
@@ -44636,18 +44781,28 @@ static PHP_METHOD(Phalcon_Db_Dialect, limit) {
ZEPHIR_INIT_VAR(sqlQuery);
ZVAL_EMPTY_STRING(sqlQuery);
}
- number = zephir_get_intval(number_param);
- ZEPHIR_SINIT_VAR(_0);
- ZVAL_LONG(&_0, number);
- if (zephir_is_numeric(&_0)) {
- ZEPHIR_SINIT_VAR(_1);
- ZVAL_LONG(&_1, number);
- ZEPHIR_CONCAT_VSV(return_value, sqlQuery, " LIMIT ", &_1);
- RETURN_MM();
+ if (Z_TYPE_P(number) == IS_ARRAY) {
+ zephir_array_fetch_long(&_0, number, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 95 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_SV(_1, " LIMIT ", _0);
+ zephir_concat_self(&sqlQuery, _1 TSRMLS_CC);
+ _2 = zephir_array_isset_long(number, 1);
+ if (_2) {
+ zephir_array_fetch_long(&_3, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 97 TSRMLS_CC);
+ _2 = (zephir_fast_strlen_ev(_3)) ? 1 : 0;
+ }
+ if (_2) {
+ zephir_array_fetch_long(&_4, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 98 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SV(_5, " OFFSET ", _4);
+ zephir_concat_self(&sqlQuery, _5 TSRMLS_CC);
+ }
+ RETURN_CTOR(sqlQuery);
}
- RETURN_CTOR(sqlQuery);
+ ZEPHIR_CONCAT_VSV(return_value, sqlQuery, " LIMIT ", number);
+ RETURN_MM();
}
@@ -44705,9 +44860,11 @@ static PHP_METHOD(Phalcon_Db_Dialect, sharedLock) {
static PHP_METHOD(Phalcon_Db_Dialect, getColumnList) {
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
HashTable *_1;
HashPosition _0;
- zval *columnList_param = NULL, *strList, *escapeChar, *column = NULL, **_2, *_3 = NULL;
+ zval *columnList_param = NULL, *columns, *column = NULL, **_2, *_3 = NULL;
zval *columnList = NULL;
ZEPHIR_MM_GROW();
@@ -44717,33 +44874,103 @@ static PHP_METHOD(Phalcon_Db_Dialect, getColumnList) {
- ZEPHIR_INIT_VAR(strList);
- array_init(strList);
- ZEPHIR_OBS_VAR(escapeChar);
- zephir_read_property_this(&escapeChar, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_is_iterable(columnList, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 90);
+ ZEPHIR_INIT_VAR(columns);
+ array_init(columns);
+ zephir_is_iterable(columnList, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 149);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
ZEPHIR_GET_HVALUE(column, _2);
- ZEPHIR_INIT_LNVAR(_3);
- ZEPHIR_CONCAT_VVV(_3, escapeChar, column, escapeChar);
- zephir_array_append(&strList, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 88);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlcolumn", &_4, column);
+ zephir_check_call_status();
+ zephir_array_append(&columns, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 146);
}
- zephir_fast_join_str(return_value, SL(", "), strList TSRMLS_CC);
+ zephir_fast_join_str(return_value, SL(", "), columns TSRMLS_CC);
RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlColumn) {
+
+ zephir_fcall_cache_entry *_2 = NULL;
+ zend_bool _0, _1;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column = NULL, *columnExpression = NULL, *columnAlias = NULL, *columnField, *columnDomain;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &column);
+
+ ZEPHIR_SEPARATE_PARAM(column);
+
+
+ if (Z_TYPE_P(column) != IS_ARRAY) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, column);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (!(zephir_array_isset_string(column, SS("type")))) {
+ ZEPHIR_OBS_VAR(columnField);
+ zephir_array_fetch_long(&columnField, column, 0, PH_NOISY, "phalcon/db/dialect.zep", 168 TSRMLS_CC);
+ if (Z_TYPE_P(columnField) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(columnExpression);
+ zephir_create_array(columnExpression, 2, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("scalar"), 1);
+ zephir_array_update_string(&columnExpression, SL("value"), &columnField, PH_COPY | PH_SEPARATE);
+ } else if (ZEPHIR_IS_STRING(columnField, "*")) {
+ ZEPHIR_INIT_NVAR(columnExpression);
+ zephir_create_array(columnExpression, 1, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("all"), 1);
+ } else {
+ ZEPHIR_INIT_NVAR(columnExpression);
+ zephir_create_array(columnExpression, 2, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("qualified"), 1);
+ zephir_array_update_string(&columnExpression, SL("name"), &columnField, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_OBS_VAR(columnDomain);
+ _0 = zephir_array_isset_long_fetch(&columnDomain, column, 1, 0 TSRMLS_CC);
+ if (_0) {
+ _0 = !ZEPHIR_IS_STRING(columnDomain, "");
+ }
+ if (_0) {
+ zephir_array_update_string(&columnExpression, SL("domain"), &columnDomain, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_OBS_VAR(columnAlias);
+ _1 = zephir_array_isset_long_fetch(&columnAlias, column, 2, 0 TSRMLS_CC);
+ if (_1) {
+ _1 = zephir_is_true(columnAlias);
+ }
+ if (_1) {
+ zephir_array_update_string(&columnExpression, SL("sqlAlias"), &columnAlias, PH_COPY | PH_SEPARATE);
+ }
+ } else {
+ ZEPHIR_CPY_WRT(columnExpression, column);
+ }
+ ZEPHIR_CALL_METHOD(&column, this_ptr, "getsqlexpression", NULL, columnExpression);
+ zephir_check_call_status();
+ ZEPHIR_OBS_NVAR(columnAlias);
+ _0 = zephir_array_isset_string_fetch(&columnAlias, columnExpression, SS("sqlAlias"), 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(columnAlias);
+ _0 = zephir_array_isset_string_fetch(&columnAlias, columnExpression, SS("alias"), 0 TSRMLS_CC);
+ }
+ if (_0) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparecolumnalias", &_2, column, columnAlias);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparecolumnalias", &_2, column);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+
+}
+
static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
- HashTable *_8, *_13;
- HashPosition _7, _12;
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_17 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL, *_11 = NULL, *_12 = NULL, *_15 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *_1 = NULL;
- zval *expression_param = NULL, *escapeChar = NULL, *type, *domain, *operator, *left = NULL, *right = NULL, *name = NULL, *sqlItems, *escapedName = NULL, *sqlArguments, *arguments, *argument = NULL, *item = NULL, *_0, *_2, *_4, *_5, *_6 = NULL, **_9, *_10 = NULL, *_11 = NULL, **_14, *_15 = NULL, *_16;
+ zval *expression_param = NULL, *escapeChar = NULL, *type, *_3, *_6 = NULL, *_13, *_14;
zval *expression = NULL;
ZEPHIR_MM_GROW();
@@ -44752,177 +44979,86 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
expression = expression_param;
if (!escapeChar) {
- ZEPHIR_CPY_WRT(escapeChar, ZEPHIR_GLOBAL(global_null));
- } else {
- ZEPHIR_SEPARATE_PARAM(escapeChar);
+ escapeChar = ZEPHIR_GLOBAL(global_null);
}
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- if (Z_TYPE_P(escapeChar) == IS_NULL) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_get_strval(_1, _0);
- ZEPHIR_CPY_WRT(escapeChar, _1);
- }
- }
ZEPHIR_OBS_VAR(type);
if (!(zephir_array_isset_string_fetch(&type, expression, SS("type"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 112);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 228);
return;
}
- if (ZEPHIR_IS_STRING(type, "qualified")) {
- ZEPHIR_OBS_VAR(name);
- zephir_array_fetch_string(&name, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 120 TSRMLS_CC);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_VAR(escapedName);
- ZEPHIR_CONCAT_VVV(escapedName, escapeChar, name, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(escapedName, name);
+ do {
+ if (ZEPHIR_IS_STRING(type, "scalar")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionscalar", &_0, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
}
- ZEPHIR_OBS_VAR(domain);
- if (zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC)) {
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(return_value, escapeChar, domain, escapeChar, ".", escapedName);
- RETURN_MM();
- } else {
- ZEPHIR_CONCAT_VSV(return_value, domain, ".", escapedName);
- RETURN_MM();
- }
+ if (ZEPHIR_IS_STRING(type, "object")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionobject", &_1, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
}
- RETURN_CCTOR(escapedName);
- }
- if (ZEPHIR_IS_STRING(type, "literal")) {
- zephir_array_fetch_string(&_2, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 145 TSRMLS_CC);
- RETURN_CTOR(_2);
- }
- if (ZEPHIR_IS_STRING(type, "binary-op")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 153 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 154 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_5, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 156 TSRMLS_CC);
- ZEPHIR_CONCAT_VSVSV(return_value, left, " ", _5, " ", right);
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "unary-op")) {
- ZEPHIR_OBS_VAR(operator);
- zephir_array_fetch_string(&operator, expression, SL("op"), PH_NOISY, "phalcon/db/dialect.zep", 164 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(left);
- if (zephir_array_isset_string_fetch(&left, expression, SS("left"), 0 TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, left, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "qualified")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionqualified", &_2, expression, escapeChar);
zephir_check_call_status();
- ZEPHIR_CONCAT_VV(return_value, _6, operator);
RETURN_MM();
}
- ZEPHIR_OBS_NVAR(right);
- if (zephir_array_isset_string_fetch(&right, expression, SS("right"), 0 TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, right, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "literal") || ZEPHIR_IS_STRING(type, "placeholder")) {
+ zephir_array_fetch_string(&_3, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 256 TSRMLS_CC);
+ RETURN_CTOR(_3);
+ }
+ if (ZEPHIR_IS_STRING(type, "binary-op")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionbinaryoperations", &_4, expression, escapeChar);
zephir_check_call_status();
- ZEPHIR_CONCAT_VV(return_value, operator, _6);
RETURN_MM();
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-unary expression", "phalcon/db/dialect.zep", 180);
- return;
- }
- if (ZEPHIR_IS_STRING(type, "placeholder")) {
- zephir_array_fetch_string(&_2, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 187 TSRMLS_CC);
- RETURN_CTOR(_2);
- }
- if (ZEPHIR_IS_STRING(type, "parentheses")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 194 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVS(return_value, "(", _6, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "functionCall")) {
- ZEPHIR_OBS_NVAR(name);
- zephir_array_fetch_string(&name, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 201 TSRMLS_CC);
- ZEPHIR_INIT_VAR(sqlArguments);
- array_init(sqlArguments);
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, expression, SS("arguments"), 0 TSRMLS_CC)) {
- zephir_is_iterable(arguments, &_8, &_7, 0, 0, "phalcon/db/dialect.zep", 207);
- for (
- ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
- ; zephir_hash_move_forward_ex(_8, &_7)
- ) {
- ZEPHIR_GET_HVALUE(argument, _9);
- ZEPHIR_CALL_METHOD(&_10, this_ptr, "getsqlexpression", &_3, argument, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&sqlArguments, _10, PH_SEPARATE, "phalcon/db/dialect.zep", 205);
- }
- if (zephir_array_isset_string(expression, SS("distinct"))) {
- ZEPHIR_INIT_VAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(DISTINCT ", _11, ")");
- RETURN_MM();
- } else {
- ZEPHIR_INIT_NVAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(", _11, ")");
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(", _11, ")");
+ if (ZEPHIR_IS_STRING(type, "unary-op")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionunaryoperations", &_5, expression, escapeChar);
+ zephir_check_call_status();
RETURN_MM();
}
- ZEPHIR_CONCAT_VS(return_value, name, "()");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "list")) {
- ZEPHIR_INIT_VAR(sqlItems);
- array_init(sqlItems);
- zephir_array_fetch_long(&_2, expression, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 222 TSRMLS_CC);
- zephir_is_iterable(_2, &_13, &_12, 0, 0, "phalcon/db/dialect.zep", 225);
- for (
- ; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
- ; zephir_hash_move_forward_ex(_13, &_12)
- ) {
- ZEPHIR_GET_HVALUE(item, _14);
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, item, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "parentheses")) {
+ zephir_array_fetch_string(&_3, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 274 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_7, _3, escapeChar);
zephir_check_call_status();
- zephir_array_append(&sqlItems, _6, PH_SEPARATE, "phalcon/db/dialect.zep", 223);
+ ZEPHIR_CONCAT_SVS(return_value, "(", _6, ")");
+ RETURN_MM();
}
- ZEPHIR_INIT_VAR(_15);
- zephir_fast_join_str(_15, SL(", "), sqlItems TSRMLS_CC);
- ZEPHIR_CONCAT_SVS(return_value, "(", _15, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "all")) {
- RETURN_MM_STRING("*", 1);
- }
- if (ZEPHIR_IS_STRING(type, "cast")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 240 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 241 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVSVS(return_value, "CAST(", left, " AS ", right, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "convert")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 251 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 252 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVSVS(return_value, "CONVERT(", left, " USING ", right, ")");
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_15);
- object_init_ex(_15, phalcon_db_exception_ce);
- ZEPHIR_INIT_VAR(_16);
- ZEPHIR_CONCAT_SVS(_16, "Invalid SQL expression type '", type, "'");
- ZEPHIR_CALL_METHOD(NULL, _15, "__construct", &_17, _16);
+ if (ZEPHIR_IS_STRING(type, "functionCall")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionfunctioncall", &_8, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "list")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionlist", &_9, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "all")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionall", &_10, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "cast")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressioncastvalue", &_11, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "convert")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionconvertvalue", &_12, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ } while(0);
+
+ ZEPHIR_INIT_VAR(_13);
+ object_init_ex(_13, phalcon_db_exception_ce);
+ ZEPHIR_INIT_VAR(_14);
+ ZEPHIR_CONCAT_SVS(_14, "Invalid SQL expression type '", type, "'");
+ ZEPHIR_CALL_METHOD(NULL, _13, "__construct", &_15, _14);
zephir_check_call_status();
- zephir_throw_exception_debug(_15, "phalcon/db/dialect.zep", 260 TSRMLS_CC);
+ zephir_throw_exception_debug(_13, "phalcon/db/dialect.zep", 310 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
@@ -44930,9 +45066,9 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
static PHP_METHOD(Phalcon_Db_Dialect, getSqlTable) {
- zend_bool _2;
- zval *escapeChar = NULL, *_1 = NULL;
- zval *table, *escapeChar_param = NULL, *sqlTable = NULL, *sqlSchema = NULL, *aliasName, *sqlTableAlias = NULL, *schemaName, *tableName, *_0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *table, *escapeChar_param = NULL, *tableName, *schemaName = NULL, *aliasName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 1, &table, &escapeChar_param);
@@ -44945,68 +45081,36 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlTable) {
}
- if (ZEPHIR_IS_STRING_IDENTICAL(escapeChar, "")) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_get_strval(_1, _0);
- ZEPHIR_CPY_WRT(escapeChar, _1);
- }
if (Z_TYPE_P(table) == IS_ARRAY) {
ZEPHIR_OBS_VAR(tableName);
- zephir_array_fetch_long(&tableName, table, 0, PH_NOISY, "phalcon/db/dialect.zep", 284 TSRMLS_CC);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_VAR(sqlTable);
- ZEPHIR_CONCAT_VVV(sqlTable, escapeChar, tableName, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(sqlTable, tableName);
- }
+ zephir_array_fetch_long(&tableName, table, 0, PH_NOISY, "phalcon/db/dialect.zep", 329 TSRMLS_CC);
ZEPHIR_OBS_VAR(schemaName);
- zephir_array_fetch_long(&schemaName, table, 1, PH_NOISY, "phalcon/db/dialect.zep", 295 TSRMLS_CC);
- _2 = Z_TYPE_P(schemaName) != IS_NULL;
- if (_2) {
- _2 = !ZEPHIR_IS_STRING(schemaName, "");
- }
- if (_2) {
- ZEPHIR_INIT_VAR(sqlSchema);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(sqlSchema, escapeChar, schemaName, escapeChar, ".", sqlTable);
- } else {
- ZEPHIR_CONCAT_VSV(sqlSchema, schemaName, ".", sqlTable);
- }
- } else {
- ZEPHIR_CPY_WRT(sqlSchema, sqlTable);
+ if (!(zephir_array_isset_long_fetch(&schemaName, table, 1, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(schemaName);
+ ZVAL_NULL(schemaName);
}
ZEPHIR_OBS_VAR(aliasName);
- if (zephir_array_isset_long_fetch(&aliasName, table, 2, 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(sqlTableAlias);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VSVVV(sqlTableAlias, sqlSchema, " AS ", escapeChar, aliasName, escapeChar);
- } else {
- ZEPHIR_CONCAT_VSV(sqlTableAlias, sqlSchema, " AS ", aliasName);
- }
- } else {
- ZEPHIR_CPY_WRT(sqlTableAlias, sqlSchema);
+ if (!(zephir_array_isset_long_fetch(&aliasName, table, 2, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(aliasName);
+ ZVAL_NULL(aliasName);
}
- RETURN_CCTOR(sqlTableAlias);
- }
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVV(return_value, escapeChar, table, escapeChar);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparetable", NULL, tableName, schemaName, aliasName, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ RETVAL_ZVAL(table, 1, 0);
RETURN_MM();
}
- RETVAL_ZVAL(table, 1, 0);
- RETURN_MM();
}
static PHP_METHOD(Phalcon_Db_Dialect, select) {
- zephir_nts_static zephir_fcall_cache_entry *_8 = NULL;
- zephir_fcall_cache_entry *_3 = NULL;
+ zend_bool _6, _11, _13, _15, _17, _19;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL, *_9 = NULL, *_12 = NULL, *_14 = NULL, *_16 = NULL, *_18 = NULL, *_21 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- HashTable *_1, *_5, *_11, *_16, *_23, *_27;
- HashPosition _0, _4, _10, _15, _22, _26;
- zval *definition_param = NULL, *tables, *columns, *escapeChar = NULL, *columnItem = NULL, *column = NULL, *selectedColumns, *columnSql = NULL, *columnDomainSql = NULL, *columnAlias = NULL, *selectedTables, *sqlJoin = NULL, *joinExpressions = NULL, *joinCondition = NULL, *joinConditionsArray = NULL, *tablesSql = NULL, *columnDomain = NULL, *columnAliasSql = NULL, *columnsSql = NULL, *table = NULL, *distinct, *sql = NULL, *joins, *join = NULL, *sqlTable = NULL, *whereConditions, *groupFields, *groupField = NULL, *groupItems, *havingConditions, *orderFields, *orderItem = NULL, *orderItems, *orderSqlItem = NULL, *sqlOrderType = NULL, *orderSqlItemType = NULL, *limitValue, *limitNumber = NULL, *limitNumberValue, *offset, *offsetNumber = NULL, **_2, **_6, *_7 = NULL, *_9 = NULL, **_12, *_13, *_14, **_17, *_18 = NULL, *_19 = NULL, *_20 = NULL, *_21 = NULL, **_24, *_25 = NULL, **_28, *_29;
- zval *definition = NULL;
+ zval *definition_param = NULL, *tables, *columns, *sql = NULL, *distinct, *joins, *where, *groupBy, *having, *orderBy, *limit, *_0 = NULL, *_2, *_3 = NULL, *_5, *_7 = NULL, *_8, *_10 = NULL;
+ zval *definition = NULL, *_20;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &definition_param);
@@ -45017,287 +45121,109 @@ static PHP_METHOD(Phalcon_Db_Dialect, select) {
ZEPHIR_OBS_VAR(tables);
if (!(zephir_array_isset_string_fetch(&tables, definition, SS("tables"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'tables' is required in the definition array", "phalcon/db/dialect.zep", 345);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'tables' is required in the definition array", "phalcon/db/dialect.zep", 360);
return;
}
ZEPHIR_OBS_VAR(columns);
if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect.zep", 349);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect.zep", 364);
return;
}
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_OBS_VAR(escapeChar);
- zephir_read_property_this(&escapeChar, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- } else {
- ZEPHIR_INIT_NVAR(escapeChar);
- ZVAL_NULL(escapeChar);
- }
- if (Z_TYPE_P(columns) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(selectedColumns);
- array_init(selectedColumns);
- zephir_is_iterable(columns, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 416);
- for (
- ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
- ; zephir_hash_move_forward_ex(_1, &_0)
- ) {
- ZEPHIR_GET_HVALUE(column, _2);
- ZEPHIR_OBS_NVAR(columnItem);
- zephir_array_fetch_long(&columnItem, column, 0, PH_NOISY, "phalcon/db/dialect.zep", 366 TSRMLS_CC);
- if (Z_TYPE_P(columnItem) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&columnSql, this_ptr, "getsqlexpression", &_3, columnItem, escapeChar);
- zephir_check_call_status();
- } else {
- if (ZEPHIR_IS_STRING(columnItem, "*")) {
- ZEPHIR_CPY_WRT(columnSql, columnItem);
- } else {
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_NVAR(columnSql);
- ZEPHIR_CONCAT_VVV(columnSql, escapeChar, columnItem, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(columnSql, columnItem);
- }
- }
- }
- ZEPHIR_OBS_NVAR(columnDomain);
- if (zephir_array_isset_long_fetch(&columnDomain, column, 1, 0 TSRMLS_CC)) {
- if (zephir_is_true(columnDomain)) {
- ZEPHIR_INIT_NVAR(columnDomainSql);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(columnDomainSql, escapeChar, columnDomain, escapeChar, ".", columnSql);
- } else {
- ZEPHIR_CONCAT_VSV(columnDomainSql, columnDomain, ".", columnSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnDomainSql, columnSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnDomainSql, columnSql);
- }
- ZEPHIR_OBS_NVAR(columnAlias);
- if (zephir_array_isset_long_fetch(&columnAlias, column, 2, 0 TSRMLS_CC)) {
- if (zephir_is_true(columnAlias)) {
- ZEPHIR_INIT_NVAR(columnAliasSql);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VSVVV(columnAliasSql, columnDomainSql, " AS ", escapeChar, columnAlias, escapeChar);
- } else {
- ZEPHIR_CONCAT_VSV(columnAliasSql, columnDomainSql, " AS ", columnAlias);
- }
- } else {
- ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql);
- }
- zephir_array_append(&selectedColumns, columnAliasSql, PH_SEPARATE, "phalcon/db/dialect.zep", 414);
- }
- ZEPHIR_INIT_VAR(columnsSql);
- zephir_fast_join_str(columnsSql, SL(", "), selectedColumns TSRMLS_CC);
- } else {
- ZEPHIR_CPY_WRT(columnsSql, columns);
- }
- if (Z_TYPE_P(tables) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(selectedTables);
- array_init(selectedTables);
- zephir_is_iterable(tables, &_5, &_4, 0, 0, "phalcon/db/dialect.zep", 429);
- for (
- ; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
- ; zephir_hash_move_forward_ex(_5, &_4)
- ) {
- ZEPHIR_GET_HVALUE(table, _6);
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqltable", &_8, table, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&selectedTables, _7, PH_SEPARATE, "phalcon/db/dialect.zep", 427);
- }
- ZEPHIR_INIT_VAR(tablesSql);
- zephir_fast_join_str(tablesSql, SL(", "), selectedTables TSRMLS_CC);
- } else {
- ZEPHIR_CPY_WRT(tablesSql, tables);
- }
ZEPHIR_OBS_VAR(distinct);
if (zephir_array_isset_string_fetch(&distinct, definition, SS("distinct"), 0 TSRMLS_CC)) {
- if (ZEPHIR_IS_LONG(distinct, 0)) {
- ZEPHIR_INIT_VAR(sql);
- ZVAL_STRING(sql, "SELECT ALL ", 1);
+ ZEPHIR_INIT_VAR(sql);
+ if (zephir_is_true(distinct)) {
+ ZVAL_STRING(sql, "SELECT DISTINCT", 1);
} else {
- ZEPHIR_INIT_NVAR(sql);
- if (ZEPHIR_IS_LONG(distinct, 1)) {
- ZVAL_STRING(sql, "SELECT DISTINCT ", 1);
- } else {
- ZVAL_STRING(sql, "SELECT ", 1);
- }
+ ZVAL_STRING(sql, "SELECT ALL", 1);
}
} else {
ZEPHIR_INIT_NVAR(sql);
- ZVAL_STRING(sql, "SELECT ", 1);
+ ZVAL_STRING(sql, "SELECT", 1);
}
- ZEPHIR_INIT_VAR(_9);
- ZEPHIR_CONCAT_VVSV(_9, sql, columnsSql, " FROM ", tablesSql);
- ZEPHIR_CPY_WRT(sql, _9);
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_1, columns);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SV(_2, " ", _0);
+ zephir_concat_self(&sql, _2 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlexpressionfrom", &_4, tables);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SV(_5, " ", _3);
+ zephir_concat_self(&sql, _5 TSRMLS_CC);
ZEPHIR_OBS_VAR(joins);
- if (zephir_array_isset_string_fetch(&joins, definition, SS("joins"), 0 TSRMLS_CC)) {
- zephir_is_iterable(joins, &_11, &_10, 0, 0, "phalcon/db/dialect.zep", 478);
- for (
- ; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS
- ; zephir_hash_move_forward_ex(_11, &_10)
- ) {
- ZEPHIR_GET_HVALUE(join, _12);
- zephir_array_fetch_string(&_13, join, SL("source"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 456 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&sqlTable, this_ptr, "getsqltable", &_8, _13, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&selectedTables, sqlTable, PH_SEPARATE, "phalcon/db/dialect.zep", 457);
- zephir_array_fetch_string(&_14, join, SL("type"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 458 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(sqlJoin);
- ZEPHIR_CONCAT_SVSV(sqlJoin, " ", _14, " JOIN ", sqlTable);
- ZEPHIR_OBS_NVAR(joinConditionsArray);
- if (zephir_array_isset_string_fetch(&joinConditionsArray, join, SS("conditions"), 0 TSRMLS_CC)) {
- if (zephir_fast_count_int(joinConditionsArray TSRMLS_CC)) {
- if (!(zephir_array_isset_long(joinConditionsArray, 0))) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, joinConditionsArray, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SVS(_9, " ON ", _7, " ");
- zephir_concat_self(&sqlJoin, _9 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_NVAR(joinExpressions);
- array_init(joinExpressions);
- zephir_is_iterable(joinConditionsArray, &_16, &_15, 0, 0, "phalcon/db/dialect.zep", 472);
- for (
- ; zephir_hash_get_current_data_ex(_16, (void**) &_17, &_15) == SUCCESS
- ; zephir_hash_move_forward_ex(_16, &_15)
- ) {
- ZEPHIR_GET_HVALUE(joinCondition, _17);
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "getsqlexpression", &_3, joinCondition, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&joinExpressions, _18, PH_SEPARATE, "phalcon/db/dialect.zep", 470);
- }
- ZEPHIR_INIT_NVAR(_19);
- zephir_fast_join_str(_19, SL(" AND "), joinExpressions TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_SVS(_20, " ON ", _19, " ");
- zephir_concat_self(&sqlJoin, _20 TSRMLS_CC);
- }
- }
- }
- zephir_concat_self(&sql, sqlJoin TSRMLS_CC);
- }
+ _6 = zephir_array_isset_string_fetch(&joins, definition, SS("joins"), 0 TSRMLS_CC);
+ if (_6) {
+ _6 = zephir_is_true(joins);
}
- ZEPHIR_OBS_VAR(whereConditions);
- if (zephir_array_isset_string_fetch(&whereConditions, definition, SS("where"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(whereConditions) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, whereConditions, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_SV(_20, " WHERE ", _7);
- zephir_concat_self(&sql, _20 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_VAR(_21);
- ZEPHIR_CONCAT_SV(_21, " WHERE ", whereConditions);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- }
+ if (_6) {
+ zephir_array_fetch_string(&_8, definition, SL("joins"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 393 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionjoins", &_9, _8);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
}
- ZEPHIR_OBS_VAR(groupFields);
- if (zephir_array_isset_string_fetch(&groupFields, definition, SS("group"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(groupItems);
- array_init(groupItems);
- zephir_is_iterable(groupFields, &_23, &_22, 0, 0, "phalcon/db/dialect.zep", 504);
- for (
- ; zephir_hash_get_current_data_ex(_23, (void**) &_24, &_22) == SUCCESS
- ; zephir_hash_move_forward_ex(_23, &_22)
- ) {
- ZEPHIR_GET_HVALUE(groupField, _24);
- if (Z_TYPE_P(groupField) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, groupField, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&groupItems, _7, PH_SEPARATE, "phalcon/db/dialect.zep", 499);
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 501);
- return;
- }
- }
- ZEPHIR_INIT_NVAR(_19);
- zephir_fast_join_str(_19, SL(", "), groupItems TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " GROUP BY ", _19);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- ZEPHIR_OBS_VAR(havingConditions);
- if (zephir_array_isset_string_fetch(&havingConditions, definition, SS("having"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(havingConditions) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, havingConditions, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_25);
- ZEPHIR_CONCAT_SV(_25, " HAVING ", _7);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 513);
- return;
- }
- }
+ ZEPHIR_OBS_VAR(where);
+ _11 = zephir_array_isset_string_fetch(&where, definition, SS("where"), 0 TSRMLS_CC);
+ if (_11) {
+ _11 = zephir_is_true(where);
}
- ZEPHIR_OBS_VAR(orderFields);
- if (zephir_array_isset_string_fetch(&orderFields, definition, SS("order"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(orderItems);
- array_init(orderItems);
- zephir_is_iterable(orderFields, &_27, &_26, 0, 0, "phalcon/db/dialect.zep", 542);
- for (
- ; zephir_hash_get_current_data_ex(_27, (void**) &_28, &_26) == SUCCESS
- ; zephir_hash_move_forward_ex(_27, &_26)
- ) {
- ZEPHIR_GET_HVALUE(orderItem, _28);
- if (Z_TYPE_P(orderItem) == IS_ARRAY) {
- zephir_array_fetch_long(&_13, orderItem, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 526 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&orderSqlItem, this_ptr, "getsqlexpression", &_3, _13, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 528);
- return;
- }
- ZEPHIR_OBS_NVAR(sqlOrderType);
- if (zephir_array_isset_long_fetch(&sqlOrderType, orderItem, 1, 0 TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(orderSqlItemType);
- ZEPHIR_CONCAT_VSV(orderSqlItemType, orderSqlItem, " ", sqlOrderType);
- } else {
- ZEPHIR_CPY_WRT(orderSqlItemType, orderSqlItem);
- }
- zephir_array_append(&orderItems, orderSqlItemType, PH_SEPARATE, "phalcon/db/dialect.zep", 540);
- }
- ZEPHIR_INIT_VAR(_29);
- zephir_fast_join_str(_29, SL(", "), orderItems TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " ORDER BY ", _29);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
+ if (_11) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionwhere", &_12, where);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
}
- ZEPHIR_OBS_VAR(limitValue);
- if (zephir_array_isset_string_fetch(&limitValue, definition, SS("limit"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(limitValue) == IS_ARRAY) {
- ZEPHIR_OBS_VAR(limitNumberValue);
- zephir_array_fetch_string(&limitNumberValue, limitValue, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 552 TSRMLS_CC);
- if (Z_TYPE_P(limitNumberValue) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&limitNumber, this_ptr, "getsqlexpression", &_3, limitNumberValue, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_CPY_WRT(limitNumber, limitNumberValue);
- }
- ZEPHIR_OBS_VAR(offset);
- if (zephir_array_isset_string_fetch(&offset, limitValue, SS("offset"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(offset) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&offsetNumber, this_ptr, "getsqlexpression", &_3, offset, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_CPY_WRT(offsetNumber, offset);
- }
- ZEPHIR_INIT_LNVAR(_25);
- ZEPHIR_CONCAT_SVSV(_25, " LIMIT ", limitNumber, " OFFSET ", offsetNumber);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_LNVAR(_25);
- ZEPHIR_CONCAT_SV(_25, " LIMIT ", limitNumber);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- }
- } else {
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " LIMIT ", limitValue);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- }
+ ZEPHIR_OBS_VAR(groupBy);
+ _13 = zephir_array_isset_string_fetch(&groupBy, definition, SS("group"), 0 TSRMLS_CC);
+ if (_13) {
+ _13 = zephir_is_true(groupBy);
+ }
+ if (_13) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressiongroupby", &_14, groupBy);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(having);
+ _15 = zephir_array_isset_string_fetch(&having, definition, SS("having"), 0 TSRMLS_CC);
+ if (_15) {
+ _15 = zephir_is_true(having);
+ }
+ if (_15) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionhaving", &_16, having);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(orderBy);
+ _17 = zephir_array_isset_string_fetch(&orderBy, definition, SS("order"), 0 TSRMLS_CC);
+ if (_17) {
+ _17 = zephir_is_true(orderBy);
+ }
+ if (_17) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionorderby", &_18, orderBy);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(limit);
+ _19 = zephir_array_isset_string_fetch(&limit, definition, SS("limit"), 0 TSRMLS_CC);
+ if (_19) {
+ _19 = zephir_is_true(limit);
+ }
+ if (_19) {
+ ZEPHIR_INIT_VAR(_20);
+ zephir_create_array(_20, 2, 0 TSRMLS_CC);
+ zephir_array_update_string(&_20, SL("sql"), &sql, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_20, SL("value"), &limit, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&sql, this_ptr, "getsqlexpressionlimit", &_21, _20);
+ zephir_check_call_status();
}
RETURN_CCTOR(sql);
@@ -45400,307 +45326,1243 @@ static PHP_METHOD(Phalcon_Db_Dialect, rollbackSavepoint) {
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionScalar) {
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *value, *_0;
+ zval *expression = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-
-
+ expression = expression_param;
-ZEPHIR_INIT_CLASS(Phalcon_Db_DialectInterface) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, DialectInterface, phalcon, db_dialectinterface, phalcon_db_dialectinterface_method_entry);
- return SUCCESS;
+ if (zephir_array_isset_string(expression, SS("column"))) {
+ zephir_array_fetch_string(&_0, expression, SL("column"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 482 TSRMLS_CC);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlcolumn", &_1, _0);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_OBS_VAR(value);
+ if (!(zephir_array_isset_string_fetch(&value, expression, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 486);
+ return;
+ }
+ if (Z_TYPE_P(value) == IS_ARRAY) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpression", NULL, value, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ RETURN_CCTOR(value);
+ }
}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, limit);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionObject) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, forUpdate);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _0, _1;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *domain = NULL, *objectExpression;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, sharedLock);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, select);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnList);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(domain);
+ ZVAL_NULL(domain);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnDefinition);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addColumn);
+ ZEPHIR_INIT_VAR(objectExpression);
+ zephir_create_array(objectExpression, 1, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(objectExpression, SS("type"), SL("all"), 1);
+ ZEPHIR_OBS_NVAR(domain);
+ _0 = zephir_array_isset_string_fetch(&domain, expression, SS("balias"), 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(domain);
+ _0 = zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC);
+ }
+ _1 = _0;
+ if (_1) {
+ _1 = !ZEPHIR_IS_STRING(domain, "");
+ }
+ if (_1) {
+ zephir_array_update_string(&objectExpression, SL("domain"), &domain, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpression", NULL, objectExpression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, modifyColumn);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropColumn);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionQualified) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addIndex);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *column, *domain = NULL;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropIndex);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addPrimaryKey);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropPrimaryKey);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addForeignKey);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropForeignKey);
+ ZEPHIR_OBS_VAR(column);
+ zephir_array_fetch_string(&column, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 520 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(domain);
+ if (!(zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(domain);
+ ZVAL_NULL(domain);
+ }
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, column, domain, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createTable);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropTable);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionBinaryOperations) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableExists);
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2, *_3;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeColumns);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, listTables);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeIndexes);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeReferences);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableOptions);
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 539 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 540 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_3, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 542 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVSV(return_value, left, " ", _3, " ", right);
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsSavepoints);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsReleaseSavepoints);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionUnaryOperations) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createSavepoint);
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left, *right, *_0 = NULL, *_2;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, releaseSavepoint);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, rollbackSavepoint);
+ expression = expression_param;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_OBS_VAR(left);
+ if (zephir_array_isset_string_fetch(&left, expression, SS("left"), 0 TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", &_1, left, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 556 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSV(return_value, _0, " ", _2);
+ RETURN_MM();
+ }
+ ZEPHIR_OBS_VAR(right);
+ if (zephir_array_isset_string_fetch(&right, expression, SS("right"), 0 TSRMLS_CC)) {
+ zephir_array_fetch_string(&_2, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 563 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", &_1, right, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VSV(return_value, _2, " ", _0);
+ RETURN_MM();
+ }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-unary expression", "phalcon/db/dialect.zep", 566);
+ return;
-#ifdef HAVE_CONFIG_H
-#endif
+}
-#include
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFunctionCall) {
-#include
-#include
-#include
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _0, _2;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *arguments = NULL, *_3, *_4;
+ zval *expression = NULL, *_1;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
+ expression = expression_param;
-ZEPHIR_INIT_CLASS(Phalcon_Db_Exception) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db, Exception, phalcon, db_exception, phalcon_exception_ce, NULL, 0);
- return SUCCESS;
+ ZEPHIR_OBS_VAR(arguments);
+ _0 = zephir_array_isset_string_fetch(&arguments, expression, SS("arguments"), 0 TSRMLS_CC);
+ if (_0) {
+ _0 = Z_TYPE_P(arguments) == IS_ARRAY;
+ }
+ if (_0) {
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(_1, SS("type"), SL("list"), 1);
+ zephir_array_update_string(&_1, SL("parentheses"), &ZEPHIR_GLOBAL(global_false), PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("value"), &arguments, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&arguments, this_ptr, "getsqlexpression", NULL, _1, escapeChar);
+ zephir_check_call_status();
+ _2 = zephir_array_isset_string(expression, SS("distinct"));
+ if (_2) {
+ zephir_array_fetch_string(&_3, expression, SL("distinct"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 584 TSRMLS_CC);
+ _2 = zephir_is_true(_3);
+ }
+ if (_2) {
+ zephir_array_fetch_string(&_4, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 585 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVS(return_value, _4, "(DISTINCT ", arguments, ")");
+ RETURN_MM();
+ } else {
+ zephir_array_fetch_string(&_4, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 587 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVS(return_value, _4, "(", arguments, ")");
+ RETURN_MM();
+ }
+ }
+ zephir_array_fetch_string(&_3, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 592 TSRMLS_CC);
+ ZEPHIR_CONCAT_VS(return_value, _3, "()");
+ RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionList) {
+ zephir_fcall_cache_entry *_6 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_3;
+ HashPosition _2;
+ zend_bool _0, _1, _7;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *items, *item = NULL, *values = NULL, *separator = NULL, **_4, *_5 = NULL, *_8, *_9;
+ zval *expression = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
+ expression = expression_param;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Db_Index) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Index, phalcon, db_index, phalcon_db_index_method_entry, 0);
+ ZEPHIR_INIT_VAR(items);
+ array_init(items);
+ ZEPHIR_INIT_VAR(separator);
+ ZVAL_STRING(separator, ", ", 1);
+ if (zephir_array_isset_string(expression, SS("separator"))) {
+ ZEPHIR_OBS_NVAR(separator);
+ zephir_array_fetch_string(&separator, expression, SL("separator"), PH_NOISY, "phalcon/db/dialect.zep", 606 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(values);
+ _0 = zephir_array_isset_long_fetch(&values, expression, 0, 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(values);
+ _0 = zephir_array_isset_string_fetch(&values, expression, SS("value"), 0 TSRMLS_CC);
+ }
+ _1 = _0;
+ if (_1) {
+ _1 = Z_TYPE_P(values) == IS_ARRAY;
+ }
+ if (_1) {
+ zephir_is_iterable(values, &_3, &_2, 0, 0, "phalcon/db/dialect.zep", 615);
+ for (
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
+ ) {
+ ZEPHIR_GET_HVALUE(item, _4);
+ ZEPHIR_CALL_METHOD(&_5, this_ptr, "getsqlexpression", &_6, item, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&items, _5, PH_SEPARATE, "phalcon/db/dialect.zep", 612);
+ }
+ _7 = zephir_array_isset_string(expression, SS("parentheses"));
+ if (_7) {
+ zephir_array_fetch_string(&_8, expression, SL("parentheses"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 615 TSRMLS_CC);
+ _7 = ZEPHIR_IS_FALSE_IDENTICAL(_8);
+ }
+ if (_7) {
+ zephir_fast_join(return_value, separator, items TSRMLS_CC);
+ RETURN_MM();
+ } else {
+ ZEPHIR_INIT_VAR(_9);
+ zephir_fast_join(_9, separator, items TSRMLS_CC);
+ ZEPHIR_CONCAT_SVS(return_value, "(", _9, ")");
+ RETURN_MM();
+ }
+ }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-list expression", "phalcon/db/dialect.zep", 622);
+ return;
- zend_declare_property_null(phalcon_db_index_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_declare_property_null(phalcon_db_index_ce, SL("_columns"), ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionAll) {
- zend_declare_property_null(phalcon_db_index_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *domain = NULL, *_0;
+ zval *expression = NULL;
- zend_class_implements(phalcon_db_index_ce TSRMLS_CC, 1, phalcon_db_indexinterface_ce);
- return SUCCESS;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-}
+ expression = expression_param;
-static PHP_METHOD(Phalcon_Db_Index, getName) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- RETURN_MEMBER(this_ptr, "_name");
+ ZEPHIR_OBS_VAR(domain);
+ if (!(zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(domain);
+ ZVAL_NULL(domain);
+ }
+ ZEPHIR_INIT_VAR(_0);
+ ZVAL_STRING(_0, "*", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, _0, domain, escapeChar);
+ zephir_check_temp_parameter(_0);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, getColumns) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionCastValue) {
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2;
+ zval *expression = NULL;
- RETURN_MEMBER(this_ptr, "_columns");
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-}
+ expression = expression_param;
-static PHP_METHOD(Phalcon_Db_Index, getType) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- RETURN_MEMBER(this_ptr, "_type");
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 646 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 647 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "CAST(", left, " AS ", right, ")");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionConvertValue) {
- zval *columns = NULL;
- zval *name_param = NULL, *columns_param = NULL, *type = NULL;
- zval *name = NULL, *_0 = NULL;
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2;
+ zval *expression = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &name_param, &columns_param, &type);
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
- if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ expression = expression_param;
- if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
- zephir_get_strval(name, name_param);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
} else {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
- }
- columns = columns_param;
-
- if (!type) {
- type = ZEPHIR_GLOBAL(global_null);
+ zephir_get_strval(escapeChar, escapeChar_param);
}
- zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_columns"), columns TSRMLS_CC);
- zephir_get_strval(_0, type);
- zephir_update_property_this(this_ptr, SL("_type"), _0 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 659 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 660 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "CONVERT(", left, " USING ", right, ")");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, __set_state) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFrom) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *data_param = NULL, *indexName, *columns, *type = NULL;
- zval *data = NULL;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *table = NULL, *tables = NULL, **_2, *_3 = NULL, *_5;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &data_param);
-
- data = data_param;
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_OBS_VAR(indexName);
- if (!(zephir_array_isset_string_fetch(&indexName, data, SS("_name"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_name parameter is required", "phalcon/db/index.zep", 71);
- return;
- }
- ZEPHIR_OBS_VAR(columns);
- if (!(zephir_array_isset_string_fetch(&columns, data, SS("_columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_columns parameter is required", "phalcon/db/index.zep", 75);
- return;
- }
- ZEPHIR_OBS_VAR(type);
- if (!(zephir_array_isset_string_fetch(&type, data, SS("_type"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "", 1);
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(tables);
+ array_init(tables);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 680);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(table, _2);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqltable", &_4, table);
+ zephir_check_call_status();
+ zephir_array_append(&tables, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 677);
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_fast_join_str(_5, SL(", "), tables TSRMLS_CC);
+ ZEPHIR_CPY_WRT(tables, _5);
+ } else {
+ ZEPHIR_CPY_WRT(tables, expression);
}
- object_init_ex(return_value, phalcon_db_index_ce);
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, indexName, columns, type);
- zephir_check_call_status();
+ ZEPHIR_CONCAT_SV(return_value, "FROM ", tables);
RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionJoins) {
+ zephir_nts_static zephir_fcall_cache_entry *_12 = NULL;
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _3, _10;
+ HashTable *_1, *_6;
+ HashPosition _0, _5;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *join = NULL, *sql, *joinCondition = NULL, *joinTable = NULL, *joinType = NULL, *joinConditionsArray = NULL, **_2, *condition = NULL, **_7, *_8 = NULL, *_9 = NULL, *_11, *_13 = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "", 1);
+ ZEPHIR_INIT_VAR(joinType);
+ ZVAL_STRING(joinType, "", 1);
-#include
-#include
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 729);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(join, _2);
+ ZEPHIR_OBS_NVAR(joinConditionsArray);
+ _3 = zephir_array_isset_string_fetch(&joinConditionsArray, join, SS("conditions"), 0 TSRMLS_CC);
+ if (_3) {
+ _3 = !(ZEPHIR_IS_EMPTY(joinConditionsArray));
+ }
+ if (_3) {
+ if (!(zephir_array_isset_long(joinConditionsArray, 0))) {
+ ZEPHIR_CALL_METHOD(&joinCondition, this_ptr, "getsqlexpression", &_4, joinConditionsArray, escapeChar);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(joinCondition);
+ array_init(joinCondition);
+ zephir_is_iterable(joinConditionsArray, &_6, &_5, 0, 0, "phalcon/db/dialect.zep", 714);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HVALUE(condition, _7);
+ ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, condition, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&joinCondition, _8, PH_SEPARATE, "phalcon/db/dialect.zep", 711);
+ }
+ ZEPHIR_INIT_NVAR(_9);
+ zephir_fast_join_str(_9, SL(" AND "), joinCondition TSRMLS_CC);
+ ZEPHIR_CPY_WRT(joinCondition, _9);
+ }
+ } else {
+ ZEPHIR_INIT_NVAR(joinCondition);
+ ZVAL_LONG(joinCondition, 1);
+ }
+ ZEPHIR_OBS_NVAR(joinType);
+ _10 = zephir_array_isset_string_fetch(&joinType, join, SS("type"), 0 TSRMLS_CC);
+ if (_10) {
+ _10 = zephir_is_true(joinType);
+ }
+ if (_10) {
+ zephir_concat_self_str(&joinType, SL(" ") TSRMLS_CC);
+ }
+ zephir_array_fetch_string(&_11, join, SL("source"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 724 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&joinTable, this_ptr, "getsqltable", &_12, _11, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_13);
+ ZEPHIR_CONCAT_SVSVSV(_13, " ", joinType, "JOIN ", joinTable, " ON ", joinCondition);
+ zephir_concat_self(&sql, _13 TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
+}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionWhere) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_IndexInterface) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *whereSql = NULL;
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, IndexInterface, phalcon, db_indexinterface, phalcon_db_indexinterface_method_entry);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- return SUCCESS;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&whereSql, this_ptr, "getsqlexpression", NULL, expression, escapeChar);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CPY_WRT(whereSql, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "WHERE ", whereSql);
+ RETURN_MM();
}
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __construct);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionGroupBy) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getName);
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *filed = NULL, *fields = NULL, **_2, *_3 = NULL, *_5;
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getColumns);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getType);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __set_state);
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(fields);
+ array_init(fields);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 767);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(filed, _2);
+ if (unlikely(Z_TYPE_P(filed) != IS_ARRAY)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-GROUP-BY expression", "phalcon/db/dialect.zep", 761);
+ return;
+ } else {
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlexpression", &_4, filed, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&fields, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 763);
+ }
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_fast_join_str(_5, SL(", "), fields TSRMLS_CC);
+ ZEPHIR_CPY_WRT(fields, _5);
+ } else {
+ ZEPHIR_CPY_WRT(fields, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "GROUP BY ", fields);
+ RETURN_MM();
+
+}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionHaving) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *_0 = NULL;
-#ifdef HAVE_CONFIG_H
-#endif
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-#include
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-#include
-#include
-#include
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", NULL, expression, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SV(return_value, "HAVING ", _0);
+ RETURN_MM();
+ } else {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-HAVING expression", "phalcon/db/dialect.zep", 784);
+ return;
+ }
+}
-ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionOrderBy) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Profiler, phalcon, db_profiler, phalcon_db_profiler_method_entry, 0);
+ zend_bool _5;
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *filed = NULL, *fields = NULL, *type = NULL, *fieldSql = NULL, **_2, *_3, *_6 = NULL, *_7;
- zend_declare_property_null(phalcon_db_profiler_ce, SL("_allProfiles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- zend_declare_property_null(phalcon_db_profiler_ce, SL("_activeProfile"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(fieldSql);
+ ZVAL_NULL(fieldSql);
- zend_declare_property_long(phalcon_db_profiler_ce, SL("_totalSeconds"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- return SUCCESS;
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(fields);
+ array_init(fields);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 817);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(filed, _2);
+ if (unlikely(Z_TYPE_P(filed) != IS_ARRAY)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-ORDER-BY expression", "phalcon/db/dialect.zep", 802);
+ return;
+ } else {
+ zephir_array_fetch_long(&_3, filed, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 804 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&fieldSql, this_ptr, "getsqlexpression", &_4, _3, escapeChar);
+ zephir_check_call_status();
+ }
+ ZEPHIR_OBS_NVAR(type);
+ _5 = zephir_array_isset_long_fetch(&type, filed, 1, 0 TSRMLS_CC);
+ if (_5) {
+ _5 = !ZEPHIR_IS_STRING(type, "");
+ }
+ if (_5) {
+ ZEPHIR_INIT_LNVAR(_6);
+ ZEPHIR_CONCAT_SV(_6, " ", type);
+ zephir_concat_self(&fieldSql, _6 TSRMLS_CC);
+ }
+ zephir_array_append(&fields, fieldSql, PH_SEPARATE, "phalcon/db/dialect.zep", 814);
+ }
+ ZEPHIR_INIT_VAR(_7);
+ zephir_fast_join_str(_7, SL(", "), fields TSRMLS_CC);
+ ZEPHIR_CPY_WRT(fields, _7);
+ } else {
+ ZEPHIR_CPY_WRT(fields, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "ORDER BY ", fields);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Profiler, startProfile) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionLimit) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL;
+ zval *_5;
+ zend_bool _3;
+ zephir_fcall_cache_entry *_2 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement, *sqlVariables = NULL, *sqlBindTypes = NULL, *activeProfile, *_3;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *sql = NULL, *value, *limit = NULL, *offset = NULL, *_0, *_1, *_4 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement, &sqlVariables, &sqlBindTypes);
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- if (!sqlVariables) {
- sqlVariables = ZEPHIR_GLOBAL(global_null);
- }
- if (!sqlBindTypes) {
- sqlBindTypes = ZEPHIR_GLOBAL(global_null);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
}
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "", 1);
+ ZEPHIR_INIT_VAR(offset);
+ ZVAL_NULL(offset);
- ZEPHIR_INIT_VAR(activeProfile);
- object_init_ex(activeProfile, phalcon_db_profiler_item_ce);
- if (zephir_has_constructor(activeProfile TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, activeProfile, "__construct", NULL);
- zephir_check_call_status();
+ ZEPHIR_OBS_VAR(value);
+ zephir_array_fetch_string(&value, expression, SL("value"), PH_NOISY, "phalcon/db/dialect.zep", 832 TSRMLS_CC);
+ if (zephir_array_isset_string(expression, SS("sql"))) {
+ ZEPHIR_OBS_NVAR(sql);
+ zephir_array_fetch_string(&sql, expression, SL("sql"), PH_NOISY, "phalcon/db/dialect.zep", 835 TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlstatement", &_0, sqlStatement);
+ if (Z_TYPE_P(value) == IS_ARRAY) {
+ ZEPHIR_OBS_VAR(_0);
+ zephir_array_fetch_string(&_0, value, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 840 TSRMLS_CC);
+ if (Z_TYPE_P(_0) == IS_ARRAY) {
+ zephir_array_fetch_string(&_1, value, SL("number"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 841 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&limit, this_ptr, "getsqlexpression", &_2, _1);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_OBS_NVAR(limit);
+ zephir_array_fetch_string(&limit, value, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 843 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_NVAR(offset);
+ _3 = zephir_array_isset_string_fetch(&offset, value, SS("offset"), 0 TSRMLS_CC);
+ if (_3) {
+ _3 = Z_TYPE_P(offset) == IS_ARRAY;
+ }
+ if (_3) {
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "getsqlexpression", &_2, offset);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(offset, _4);
+ }
+ } else {
+ ZEPHIR_CPY_WRT(limit, value);
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_create_array(_5, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(_5, limit);
+ zephir_array_fast_append(_5, offset);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "limit", NULL, sql, _5);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareColumnAlias) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *qualified_param = NULL, *alias_param = NULL, *_0 = NULL;
+ zval *qualified = NULL, *alias = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &qualified_param, &alias_param);
+
+ if (unlikely(Z_TYPE_P(qualified_param) != IS_STRING && Z_TYPE_P(qualified_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'qualified' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(qualified_param) == IS_STRING)) {
+ zephir_get_strval(qualified, qualified_param);
+ } else {
+ ZEPHIR_INIT_VAR(qualified);
+ ZVAL_EMPTY_STRING(qualified);
+ }
+ if (!alias_param) {
+ ZEPHIR_INIT_VAR(alias);
+ ZVAL_EMPTY_STRING(alias);
+ } else {
+ zephir_get_strval(alias, alias_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(alias, "")) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_1, alias);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VSV(return_value, qualified, " AS ", _0);
+ RETURN_MM();
+ } else {
+ RETURN_CTOR(qualified);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareTable) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *table_param = NULL, *schema_param = NULL, *alias_param = NULL, *escapeChar_param = NULL, *_0 = NULL, *_2 = NULL, *_3 = NULL;
+ zval *table = NULL, *schema = NULL, *alias = NULL, *escapeChar = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 3, &table_param, &schema_param, &alias_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+ if (!alias_param) {
+ ZEPHIR_INIT_VAR(alias);
+ ZVAL_EMPTY_STRING(alias);
+ } else {
+ zephir_get_strval(alias, alias_param);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_1, table, escapeChar);
+ zephir_check_call_status();
+ zephir_get_strval(table, _0);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "escape", &_1, schema, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _2, ".", table);
+ zephir_get_strval(table, _3);
+ }
+ if (!ZEPHIR_IS_STRING(alias, "")) {
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "escape", &_1, alias, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, table, " AS ", _2);
+ zephir_get_strval(table, _3);
+ }
+ RETURN_CTOR(table);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareQualified) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column_param = NULL, *domain_param = NULL, *escapeChar_param = NULL;
+ zval *column = NULL, *domain = NULL, *escapeChar = NULL, *_0;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &column_param, &domain_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(column_param) != IS_STRING && Z_TYPE_P(column_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'column' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(column_param) == IS_STRING)) {
+ zephir_get_strval(column, column_param);
+ } else {
+ ZEPHIR_INIT_VAR(column);
+ ZVAL_EMPTY_STRING(column);
+ }
+ if (!domain_param) {
+ ZEPHIR_INIT_VAR(domain);
+ ZVAL_EMPTY_STRING(domain);
+ } else {
+ zephir_get_strval(domain, domain_param);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(domain, "")) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, domain, ".", column);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "escape", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "escape", &_1, column, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_DialectInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, DialectInterface, phalcon, db_dialectinterface, phalcon_db_dialectinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, limit);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, forUpdate);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, sharedLock);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, select);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnList);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, modifyColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addIndex);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropIndex);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addPrimaryKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropPrimaryKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addForeignKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropForeignKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createTable);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createView);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropTable);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropView);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableExists);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, viewExists);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeColumns);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, listTables);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeIndexes);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeReferences);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableOptions);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsSavepoints);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsReleaseSavepoints);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createSavepoint);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, releaseSavepoint);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, rollbackSavepoint);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db, Exception, phalcon, db_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Index) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Index, phalcon, db_index, phalcon_db_index_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_columns"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_db_index_ce TSRMLS_CC, 1, phalcon_db_indexinterface_ce);
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getName) {
+
+
+ RETURN_MEMBER(this_ptr, "_name");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getColumns) {
+
+
+ RETURN_MEMBER(this_ptr, "_columns");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getType) {
+
+
+ RETURN_MEMBER(this_ptr, "_type");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, __construct) {
+
+ zval *columns = NULL;
+ zval *name_param = NULL, *columns_param = NULL, *type = NULL;
+ zval *name = NULL, *_0 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &name_param, &columns_param, &type);
+
+ if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
+ zephir_get_strval(name, name_param);
+ } else {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ }
+ columns = columns_param;
+
+ if (!type) {
+ type = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_columns"), columns TSRMLS_CC);
+ zephir_get_strval(_0, type);
+ zephir_update_property_this(this_ptr, SL("_type"), _0 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, __set_state) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *data_param = NULL, *indexName, *columns, *type = NULL;
+ zval *data = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &data_param);
+
+ data = data_param;
+
+
+
+ ZEPHIR_OBS_VAR(indexName);
+ if (!(zephir_array_isset_string_fetch(&indexName, data, SS("_name"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_name parameter is required", "phalcon/db/index.zep", 71);
+ return;
+ }
+ ZEPHIR_OBS_VAR(columns);
+ if (!(zephir_array_isset_string_fetch(&columns, data, SS("_columns"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_columns parameter is required", "phalcon/db/index.zep", 75);
+ return;
+ }
+ ZEPHIR_OBS_VAR(type);
+ if (!(zephir_array_isset_string_fetch(&type, data, SS("_type"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "", 1);
+ }
+ object_init_ex(return_value, phalcon_db_index_ce);
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, indexName, columns, type);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_IndexInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, IndexInterface, phalcon, db_indexinterface, phalcon_db_indexinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __construct);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getName);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getColumns);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getType);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __set_state);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Profiler, phalcon, db_profiler, phalcon_db_profiler_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_profiler_ce, SL("_allProfiles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_ce, SL("_activeProfile"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_long(phalcon_db_profiler_ce, SL("_totalSeconds"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler, startProfile) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *sqlStatement, *sqlVariables = NULL, *sqlBindTypes = NULL, *activeProfile, *_3;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &sqlStatement, &sqlVariables, &sqlBindTypes);
+
+ if (!sqlVariables) {
+ sqlVariables = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!sqlBindTypes) {
+ sqlBindTypes = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ ZEPHIR_INIT_VAR(activeProfile);
+ object_init_ex(activeProfile, phalcon_db_profiler_item_ce);
+ if (zephir_has_constructor(activeProfile TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, activeProfile, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlstatement", &_0, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(sqlVariables) == IS_ARRAY) {
ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlvariables", &_1, sqlVariables);
@@ -46375,11 +47237,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement_param = NULL, *bindParams = NULL, *bindTypes = NULL, *eventsManager = NULL, *pdo = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
+ zval *bindParams = NULL;
+ zval *sqlStatement_param = NULL, *bindParams_param = NULL, *bindTypes = NULL, *eventsManager = NULL, *pdo = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
zval *sqlStatement = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams, &bindTypes);
+ zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams_param, &bindTypes);
if (unlikely(Z_TYPE_P(sqlStatement_param) != IS_STRING && Z_TYPE_P(sqlStatement_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlStatement' must be a string") TSRMLS_CC);
@@ -46392,8 +47255,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
ZEPHIR_INIT_VAR(sqlStatement);
ZVAL_EMPTY_STRING(sqlStatement);
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+ if (!bindParams_param) {
+ ZEPHIR_INIT_VAR(bindParams);
+ array_init(bindParams);
+ } else {
+ zephir_get_arrval(bindParams, bindParams_param);
}
if (!bindTypes) {
bindTypes = ZEPHIR_GLOBAL(global_null);
@@ -46417,7 +47283,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdo"), PH_NOISY_CC);
ZEPHIR_CPY_WRT(pdo, _0);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ if (1 == 1) {
ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(statement) == IS_OBJECT) {
@@ -46449,11 +47315,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement_param = NULL, *bindParams = NULL, *bindTypes = NULL, *eventsManager = NULL, *affectedRows = NULL, *pdo = NULL, *newStatement = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
+ zval *bindParams = NULL;
+ zval *sqlStatement_param = NULL, *bindParams_param = NULL, *bindTypes = NULL, *eventsManager = NULL, *affectedRows = NULL, *pdo = NULL, *newStatement = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
zval *sqlStatement = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams, &bindTypes);
+ zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams_param, &bindTypes);
if (unlikely(Z_TYPE_P(sqlStatement_param) != IS_STRING && Z_TYPE_P(sqlStatement_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlStatement' must be a string") TSRMLS_CC);
@@ -46466,8 +47333,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
ZEPHIR_INIT_VAR(sqlStatement);
ZVAL_EMPTY_STRING(sqlStatement);
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+ if (!bindParams_param) {
+ ZEPHIR_INIT_VAR(bindParams);
+ array_init(bindParams);
+ } else {
+ zephir_get_arrval(bindParams, bindParams_param);
}
if (!bindTypes) {
bindTypes = ZEPHIR_GLOBAL(global_null);
@@ -46493,7 +47363,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
ZVAL_LONG(affectedRows, 0);
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdo"), PH_NOISY_CC);
ZEPHIR_CPY_WRT(pdo, _0);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ if (1 == 1) {
ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(statement) == IS_OBJECT) {
@@ -47059,7 +47929,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/mysql.zep", 271);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/mysql.zep", 267);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47069,15 +47939,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 115 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 111 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/mysql.zep", 122)) {
+ if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/mysql.zep", 118)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 5);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/mysql.zep", 130)) {
+ if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/mysql.zep", 126)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47087,19 +47957,19 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/mysql.zep", 140)) {
+ if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/mysql.zep", 136)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/mysql.zep", 148)) {
+ if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/mysql.zep", 144)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/mysql.zep", 156)) {
+ if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/mysql.zep", 152)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47109,25 +47979,25 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/mysql.zep", 166)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/mysql.zep", 162)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/mysql.zep", 174)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/mysql.zep", 170)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/mysql.zep", 182)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/mysql.zep", 178)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/mysql.zep", 190)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/mysql.zep", 186)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47142,7 +48012,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/mysql.zep", 207)) {
+ if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/mysql.zep", 203)) {
ZEPHIR_INIT_NVAR(matches);
ZVAL_NULL(matches);
ZEPHIR_INIT_NVAR(_8);
@@ -47162,7 +48032,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
}
}
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/mysql.zep", 222)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/mysql.zep", 218)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -47170,30 +48040,30 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 238 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 234 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "PRI")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_11, field, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 245 TSRMLS_CC);
+ zephir_array_fetch_long(&_11, field, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 241 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_11, "NO")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 252 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 248 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_12, "auto_increment")) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
ZEPHIR_OBS_NVAR(_13);
- zephir_array_fetch_long(&_13, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 255 TSRMLS_CC);
if (Z_TYPE_P(_13) != IS_NULL) {
- zephir_array_fetch_long(&_14, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 260 TSRMLS_CC);
+ zephir_array_fetch_long(&_14, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 256 TSRMLS_CC);
zephir_array_update_string(&definition, SL("default"), &_14, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 262 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_15, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/mysql.zep", 267);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/mysql.zep", 263);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47276,11 +48146,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
HashTable *_5;
HashPosition _4;
int ZEPHIR_LAST_CALL_STATUS;
- zval *table_param = NULL, *schema = NULL, *columns, *oldColumn = NULL, *field = NULL, *definition = NULL, *columnSize = NULL, *columnPrecision = NULL, *columnScale = NULL, *columnType = NULL, *columnName, *_0 = NULL, *_1, *_2 = NULL, *_3 = NULL, **_6, *_7 = NULL, *_8 = NULL, *_9, *_10;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *columns, *oldColumn = NULL, *field = NULL, *definition = NULL, *columnSize = NULL, *columnPrecision = NULL, *columnScale = NULL, *columnType = NULL, *columnName, *_0 = NULL, *_1, *_2 = NULL, *_3 = NULL, **_6, *_7 = NULL, *_8 = NULL, *_9, *_10;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -47293,8 +48163,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
@@ -47309,7 +48182,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/oracle.zep", 207);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/oracle.zep", 203);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47319,15 +48192,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnSize);
- zephir_array_fetch_long(&columnSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 106 TSRMLS_CC);
+ zephir_array_fetch_long(&columnSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 102 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnPrecision);
- zephir_array_fetch_long(&columnPrecision, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 107 TSRMLS_CC);
+ zephir_array_fetch_long(&columnPrecision, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 103 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnScale);
- zephir_array_fetch_long(&columnScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 108 TSRMLS_CC);
+ zephir_array_fetch_long(&columnScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 104 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 109 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 105 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("NUMBER"), "phalcon/db/adapter/pdo/oracle.zep", 116)) {
+ if (zephir_memnstr_str(columnType, SL("NUMBER"), "phalcon/db/adapter/pdo/oracle.zep", 112)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 3);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47339,7 +48212,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("INTEGER"), "phalcon/db/adapter/pdo/oracle.zep", 125)) {
+ if (zephir_memnstr_str(columnType, SL("INTEGER"), "phalcon/db/adapter/pdo/oracle.zep", 121)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47350,14 +48223,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("VARCHAR2"), "phalcon/db/adapter/pdo/oracle.zep", 133)) {
+ if (zephir_memnstr_str(columnType, SL("VARCHAR2"), "phalcon/db/adapter/pdo/oracle.zep", 129)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &columnSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("FLOAT"), "phalcon/db/adapter/pdo/oracle.zep", 139)) {
+ if (zephir_memnstr_str(columnType, SL("FLOAT"), "phalcon/db/adapter/pdo/oracle.zep", 135)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47369,31 +48242,31 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("TIMESTAMP"), "phalcon/db/adapter/pdo/oracle.zep", 148)) {
+ if (zephir_memnstr_str(columnType, SL("TIMESTAMP"), "phalcon/db/adapter/pdo/oracle.zep", 144)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("RAW"), "phalcon/db/adapter/pdo/oracle.zep", 153)) {
+ if (zephir_memnstr_str(columnType, SL("RAW"), "phalcon/db/adapter/pdo/oracle.zep", 149)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("BLOB"), "phalcon/db/adapter/pdo/oracle.zep", 158)) {
+ if (zephir_memnstr_str(columnType, SL("BLOB"), "phalcon/db/adapter/pdo/oracle.zep", 154)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("CLOB"), "phalcon/db/adapter/pdo/oracle.zep", 163)) {
+ if (zephir_memnstr_str(columnType, SL("CLOB"), "phalcon/db/adapter/pdo/oracle.zep", 159)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("CHAR"), "phalcon/db/adapter/pdo/oracle.zep", 168)) {
+ if (zephir_memnstr_str(columnType, SL("CHAR"), "phalcon/db/adapter/pdo/oracle.zep", 164)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47410,20 +48283,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_9, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 187 TSRMLS_CC);
+ zephir_array_fetch_long(&_9, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 183 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_9, "P")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 194 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 190 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "N")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 198 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 194 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_8);
object_init_ex(_8, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_11, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/oracle.zep", 203);
+ zephir_array_append(&columns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/oracle.zep", 199);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47433,13 +48306,17 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, lastInsertId) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *sequenceName = NULL, *_0 = NULL, *_1, *_2, *_3;
+ zval *sequenceName_param = NULL, *_0 = NULL, *_2, *_3;
+ zval *sequenceName = NULL, *_1;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &sequenceName);
+ zephir_fetch_params(1, 0, 1, &sequenceName_param);
- if (!sequenceName) {
- sequenceName = ZEPHIR_GLOBAL(global_null);
+ if (!sequenceName_param) {
+ ZEPHIR_INIT_VAR(sequenceName);
+ ZVAL_EMPTY_STRING(sequenceName);
+ } else {
+ zephir_get_strval(sequenceName, sequenceName_param);
}
@@ -47449,7 +48326,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, lastInsertId) {
ZVAL_LONG(_2, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _1, _2);
zephir_check_call_status();
- zephir_array_fetch_long(&_3, _0, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 230 TSRMLS_CC);
+ zephir_array_fetch_long(&_3, _0, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 223 TSRMLS_CC);
RETURN_CTOR(_3);
}
@@ -47598,7 +48475,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/postgresql.zep", 295);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/postgresql.zep", 291);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47608,15 +48485,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 119 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 115 TSRMLS_CC);
ZEPHIR_OBS_NVAR(charSize);
- zephir_array_fetch_long(&charSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 120 TSRMLS_CC);
+ zephir_array_fetch_long(&charSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 116 TSRMLS_CC);
ZEPHIR_OBS_NVAR(numericSize);
- zephir_array_fetch_long(&numericSize, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 121 TSRMLS_CC);
+ zephir_array_fetch_long(&numericSize, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 117 TSRMLS_CC);
ZEPHIR_OBS_NVAR(numericScale);
- zephir_array_fetch_long(&numericScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 122 TSRMLS_CC);
+ zephir_array_fetch_long(&numericScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 118 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("smallint(1)"), "phalcon/db/adapter/pdo/postgresql.zep", 129)) {
+ if (zephir_memnstr_str(columnType, SL("smallint(1)"), "phalcon/db/adapter/pdo/postgresql.zep", 125)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 8);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47625,7 +48502,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/postgresql.zep", 138)) {
+ if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/postgresql.zep", 134)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47636,14 +48513,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("varying"), "phalcon/db/adapter/pdo/postgresql.zep", 149)) {
+ if (zephir_memnstr_str(columnType, SL("varying"), "phalcon/db/adapter/pdo/postgresql.zep", 145)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/postgresql.zep", 158)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/postgresql.zep", 154)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47652,7 +48529,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("size"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("numeric"), "phalcon/db/adapter/pdo/postgresql.zep", 167)) {
+ if (zephir_memnstr_str(columnType, SL("numeric"), "phalcon/db/adapter/pdo/postgresql.zep", 163)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47664,14 +48541,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/postgresql.zep", 179)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/postgresql.zep", 175)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/postgresql.zep", 188)) {
+ if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/postgresql.zep", 184)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47680,14 +48557,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("size"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/postgresql.zep", 197)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/postgresql.zep", 193)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/postgresql.zep", 206)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/postgresql.zep", 202)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47698,7 +48575,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("bool"), "phalcon/db/adapter/pdo/postgresql.zep", 217)) {
+ if (zephir_memnstr_str(columnType, SL("bool"), "phalcon/db/adapter/pdo/postgresql.zep", 213)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 8);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47710,7 +48587,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("uuid"), "phalcon/db/adapter/pdo/postgresql.zep", 227)) {
+ if (zephir_memnstr_str(columnType, SL("uuid"), "phalcon/db/adapter/pdo/postgresql.zep", 223)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47724,7 +48601,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/postgresql.zep", 243)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/postgresql.zep", 239)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -47732,22 +48609,22 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 255 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "PRI")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_11, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&_11, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 262 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_11, "NO")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 7, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 273 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 7, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 269 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_12, "auto_increment")) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
ZEPHIR_OBS_NVAR(_13);
- zephir_array_fetch_long(&_13, field, 9, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 280 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 9, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 276 TSRMLS_CC);
if (Z_TYPE_P(_13) != IS_NULL) {
- zephir_array_fetch_long(&_14, field, 9, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 281 TSRMLS_CC);
+ zephir_array_fetch_long(&_14, field, 9, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 277 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_8);
ZVAL_STRING(_8, "/^'|'?::[[:alnum:][:space:]]+$/", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_9);
@@ -47757,7 +48634,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_check_temp_parameter(_9);
zephir_check_call_status();
zephir_array_update_string(&definition, SL("default"), &_15, PH_COPY | PH_SEPARATE);
- zephir_array_fetch_string(&_17, definition, SL("default"), PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 282 TSRMLS_CC);
+ zephir_array_fetch_string(&_17, definition, SL("default"), PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 278 TSRMLS_CC);
ZEPHIR_SINIT_NVAR(_18);
ZVAL_STRING(&_18, "null", 0);
ZEPHIR_CALL_FUNCTION(&_19, "strcasecmp", &_20, _17, &_18);
@@ -47766,12 +48643,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("default"), &ZEPHIR_GLOBAL(global_null), PH_COPY | PH_SEPARATE);
}
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 290 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 286 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_21, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/postgresql.zep", 291);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/postgresql.zep", 287);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47857,12 +48734,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, connect) {
ZEPHIR_OBS_NVAR(descriptor);
zephir_read_property_this(&descriptor, this_ptr, SL("_descriptor"), PH_NOISY_CC);
}
- if (!(zephir_array_isset_string(descriptor, SS("dbname")))) {
+ ZEPHIR_OBS_VAR(dbname);
+ if (!(zephir_array_isset_string_fetch(&dbname, descriptor, SS("dbname"), 0 TSRMLS_CC))) {
ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "dbname must be specified", "phalcon/db/adapter/pdo/sqlite.zep", 69);
return;
}
- ZEPHIR_OBS_VAR(dbname);
- zephir_array_isset_string_fetch(&dbname, descriptor, SS("dbname"), 0 TSRMLS_CC);
zephir_array_update_string(&descriptor, SL("dsn"), &dbname, PH_COPY | PH_SEPARATE);
ZEPHIR_CALL_PARENT(NULL, phalcon_db_adapter_pdo_sqlite_ce, this_ptr, "connect", &_0, descriptor);
zephir_check_call_status();
@@ -47906,7 +48782,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 286);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 280);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47916,9 +48792,9 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 113 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 107 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("tinyint(1)"), "phalcon/db/adapter/pdo/sqlite.zep", 120)) {
+ if (zephir_memnstr_str(columnType, SL("tinyint(1)"), "phalcon/db/adapter/pdo/sqlite.zep", 114)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 8);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47929,9 +48805,9 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZVAL_STRING(columnType, "boolean", 1);
break;
}
- _8 = zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/sqlite.zep", 130);
+ _8 = zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/sqlite.zep", 124);
if (!(_8)) {
- _8 = zephir_memnstr_str(columnType, SL("INT"), "phalcon/db/adapter/pdo/sqlite.zep", 130);
+ _8 = zephir_memnstr_str(columnType, SL("INT"), "phalcon/db/adapter/pdo/sqlite.zep", 124);
}
if (_8) {
ZEPHIR_INIT_NVAR(_7);
@@ -47941,31 +48817,31 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZEPHIR_INIT_NVAR(_9);
ZVAL_LONG(_9, 1);
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 136 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 130 TSRMLS_CC);
if (zephir_is_true(_10)) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
break;
}
- if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/sqlite.zep", 145)) {
+ if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/sqlite.zep", 139)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/sqlite.zep", 153)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/sqlite.zep", 147)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/sqlite.zep", 161)) {
+ if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/sqlite.zep", 155)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/sqlite.zep", 169)) {
+ if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/sqlite.zep", 163)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47975,25 +48851,25 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/sqlite.zep", 179)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/sqlite.zep", 173)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/sqlite.zep", 187)) {
+ if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/sqlite.zep", 181)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/sqlite.zep", 195)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/sqlite.zep", 189)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/sqlite.zep", 203)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/sqlite.zep", 197)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -48003,7 +48879,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/sqlite.zep", 213)) {
+ if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/sqlite.zep", 207)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -48014,7 +48890,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/sqlite.zep", 228)) {
+ if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/sqlite.zep", 222)) {
ZEPHIR_INIT_NVAR(matches);
ZVAL_NULL(matches);
ZEPHIR_INIT_NVAR(_9);
@@ -48034,7 +48910,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
}
}
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/sqlite.zep", 243)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/sqlite.zep", 237)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -48042,26 +48918,26 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 253 TSRMLS_CC);
if (zephir_is_true(_10)) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 260 TSRMLS_CC);
if (zephir_is_true(_12)) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_13, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 274 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 268 TSRMLS_CC);
ZEPHIR_SINIT_NVAR(_14);
ZVAL_STRING(&_14, "null", 0);
ZEPHIR_CALL_FUNCTION(&_15, "strcasecmp", &_16, _13, &_14);
zephir_check_call_status();
_8 = !ZEPHIR_IS_LONG(_15, 0);
if (_8) {
- zephir_array_fetch_long(&_17, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 274 TSRMLS_CC);
+ zephir_array_fetch_long(&_17, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 268 TSRMLS_CC);
_8 = !ZEPHIR_IS_STRING(_17, "");
}
if (_8) {
- zephir_array_fetch_long(&_18, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 275 TSRMLS_CC);
+ zephir_array_fetch_long(&_18, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 269 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
ZVAL_STRING(_7, "/^'|'$/", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_9);
@@ -48072,12 +48948,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_check_call_status();
zephir_array_update_string(&definition, SL("default"), &_19, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 1, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 281 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 1, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 275 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_21, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 282);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 276);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -48109,20 +48985,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeIndexes) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 318);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 312);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
) {
ZEPHIR_GET_HVALUE(index, _6);
ZEPHIR_OBS_NVAR(keyName);
- zephir_array_fetch_long(&keyName, index, 1, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 304 TSRMLS_CC);
+ zephir_array_fetch_long(&keyName, index, 1, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 298 TSRMLS_CC);
if (!(zephir_array_isset(indexes, keyName))) {
ZEPHIR_INIT_NVAR(columns);
array_init(columns);
} else {
ZEPHIR_OBS_NVAR(columns);
- zephir_array_fetch(&columns, indexes, keyName, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 308 TSRMLS_CC);
+ zephir_array_fetch(&columns, indexes, keyName, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 302 TSRMLS_CC);
}
_8 = zephir_fetch_nproperty_this(this_ptr, SL("_dialect"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(&_9, _8, "describeindex", NULL, keyName);
@@ -48131,20 +49007,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeIndexes) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_7, this_ptr, "fetchall", &_10, _9, _3);
zephir_check_call_status();
- zephir_is_iterable(_7, &_12, &_11, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 315);
+ zephir_is_iterable(_7, &_12, &_11, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 309);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
) {
ZEPHIR_GET_HVALUE(describe_index, _13);
- zephir_array_fetch_long(&_14, describe_index, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 312 TSRMLS_CC);
- zephir_array_append(&columns, _14, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 312);
+ zephir_array_fetch_long(&_14, describe_index, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 306 TSRMLS_CC);
+ zephir_array_append(&columns, _14, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 306);
}
zephir_array_update_zval(&indexes, keyName, &columns, PH_COPY | PH_SEPARATE);
}
ZEPHIR_INIT_VAR(indexObjects);
array_init(indexObjects);
- zephir_is_iterable(indexes, &_16, &_15, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 323);
+ zephir_is_iterable(indexes, &_16, &_15, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 317);
for (
; zephir_hash_get_current_data_ex(_16, (void**) &_17, &_15) == SUCCESS
; zephir_hash_move_forward_ex(_16, &_15)
@@ -48187,7 +49063,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 368);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 362);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -48200,29 +49076,29 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZEPHIR_INIT_NVAR(referencedSchema);
ZVAL_NULL(referencedSchema);
ZEPHIR_OBS_NVAR(referencedTable);
- zephir_array_fetch_long(&referencedTable, reference, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
+ zephir_array_fetch_long(&referencedTable, reference, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 341 TSRMLS_CC);
ZEPHIR_INIT_NVAR(columns);
array_init(columns);
ZEPHIR_INIT_NVAR(referencedColumns);
array_init(referencedColumns);
} else {
- zephir_array_fetch(&_7, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
+ zephir_array_fetch(&_7, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 345 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedSchema);
- zephir_array_fetch_string(&referencedSchema, _7, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
- zephir_array_fetch(&_8, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedSchema, _7, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 345 TSRMLS_CC);
+ zephir_array_fetch(&_8, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 346 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedTable);
- zephir_array_fetch_string(&referencedTable, _8, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
- zephir_array_fetch(&_9, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 353 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedTable, _8, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 346 TSRMLS_CC);
+ zephir_array_fetch(&_9, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columns);
- zephir_array_fetch_string(&columns, _9, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 353 TSRMLS_CC);
- zephir_array_fetch(&_10, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 354 TSRMLS_CC);
+ zephir_array_fetch_string(&columns, _9, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
+ zephir_array_fetch(&_10, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 348 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedColumns);
- zephir_array_fetch_string(&referencedColumns, _10, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 354 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedColumns, _10, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 348 TSRMLS_CC);
}
- zephir_array_fetch_long(&_7, reference, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 357 TSRMLS_CC);
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 357);
- zephir_array_fetch_long(&_8, reference, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 358 TSRMLS_CC);
- zephir_array_append(&referencedColumns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 358);
+ zephir_array_fetch_long(&_7, reference, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 351);
+ zephir_array_fetch_long(&_8, reference, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
+ zephir_array_append(&referencedColumns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 352);
ZEPHIR_INIT_NVAR(_11);
zephir_create_array(_11, 4, 0 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedSchema"), &referencedSchema, PH_COPY | PH_SEPARATE);
@@ -48233,7 +49109,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
}
ZEPHIR_INIT_VAR(referenceObjects);
array_init(referenceObjects);
- zephir_is_iterable(references, &_13, &_12, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 378);
+ zephir_is_iterable(references, &_13, &_12, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 372);
for (
; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
; zephir_hash_move_forward_ex(_13, &_12)
@@ -48245,16 +49121,16 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZEPHIR_INIT_NVAR(_11);
zephir_create_array(_11, 4, 0 TSRMLS_CC);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 371 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 365 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedSchema"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 372 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 366 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedTable"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 373 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 367 TSRMLS_CC);
zephir_array_update_string(&_11, SL("columns"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 375 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 369 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedColumns"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_16, name, _11);
zephir_check_call_status();
@@ -48291,7 +49167,6 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_MySQL) {
zend_declare_property_string(phalcon_db_dialect_mysql_ce, SL("_escapeChar"), "`", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_mysql_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
@@ -48660,7 +49535,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropColumn) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
- zephir_get_strval(columnName, columnName_param);
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -48816,8 +49701,28 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addPrimaryKey) {
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zephir_get_strval(tableName, tableName_param);
- zephir_get_strval(schemaName, schemaName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -48976,11 +49881,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addForeignKey) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName, *sql = NULL;
- zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL, *sql = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49004,6 +49909,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -49021,58 +49937,6 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
}
-static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions) {
-
- zval *definition, *options, *engine, *autoIncrement, *tableCollation, *collationParts, *tableOptions, *_0 = NULL, *_1, *_2;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &definition);
-
-
-
- ZEPHIR_OBS_VAR(options);
- if (zephir_array_isset_string_fetch(&options, definition, SS("options"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(tableOptions);
- array_init(tableOptions);
- ZEPHIR_OBS_VAR(engine);
- if (zephir_array_isset_string_fetch(&engine, options, SS("ENGINE"), 0 TSRMLS_CC)) {
- if (zephir_is_true(engine)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SV(_0, "ENGINE=", engine);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 382);
- }
- }
- ZEPHIR_OBS_VAR(autoIncrement);
- if (zephir_array_isset_string_fetch(&autoIncrement, options, SS("AUTO_INCREMENT"), 0 TSRMLS_CC)) {
- if (zephir_is_true(autoIncrement)) {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SV(_0, "AUTO_INCREMENT=", autoIncrement);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 391);
- }
- }
- ZEPHIR_OBS_VAR(tableCollation);
- if (zephir_array_isset_string_fetch(&tableCollation, options, SS("TABLE_COLLATION"), 0 TSRMLS_CC)) {
- if (zephir_is_true(tableCollation)) {
- ZEPHIR_INIT_VAR(collationParts);
- zephir_fast_explode_str(collationParts, SL("_"), tableCollation, LONG_MAX TSRMLS_CC);
- zephir_array_fetch_long(&_1, collationParts, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/mysql.zep", 401 TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SV(_0, "DEFAULT CHARSET=", _1);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 401);
- ZEPHIR_INIT_VAR(_2);
- ZEPHIR_CONCAT_SV(_2, "COLLATE=", tableCollation);
- zephir_array_append(&tableOptions, _2, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 402);
- }
- }
- if (zephir_fast_count_int(tableOptions TSRMLS_CC)) {
- zephir_fast_join_str(return_value, SL(" "), tableOptions TSRMLS_CC);
- RETURN_MM();
- }
- }
- RETURN_MM_STRING("", 1);
-
-}
-
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
zephir_nts_static zephir_fcall_cache_entry *_9 = NULL, *_14 = NULL;
@@ -49115,7 +49979,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_OBS_VAR(columns);
if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect/mysql.zep", 425);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect/mysql.zep", 368);
return;
}
ZEPHIR_INIT_VAR(table);
@@ -49143,7 +50007,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
}
ZEPHIR_INIT_VAR(createLines);
array_init(createLines);
- zephir_is_iterable(columns, &_2, &_1, 0, 0, "phalcon/db/dialect/mysql.zep", 488);
+ zephir_is_iterable(columns, &_2, &_1, 0, 0, "phalcon/db/dialect/mysql.zep", 431);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -49181,11 +50045,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
if (zephir_is_true(_8)) {
zephir_concat_self_str(&columnLine, SL(" PRIMARY KEY") TSRMLS_CC);
}
- zephir_array_append(&createLines, columnLine, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 482);
+ zephir_array_append(&createLines, columnLine, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 425);
}
ZEPHIR_OBS_VAR(indexes);
if (zephir_array_isset_string_fetch(&indexes, definition, SS("indexes"), 0 TSRMLS_CC)) {
- zephir_is_iterable(indexes, &_12, &_11, 0, 0, "phalcon/db/dialect/mysql.zep", 510);
+ zephir_is_iterable(indexes, &_12, &_11, 0, 0, "phalcon/db/dialect/mysql.zep", 453);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
@@ -49218,12 +50082,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_CONCAT_SVSVS(indexSql, "KEY `", indexName, "` (", _15, ")");
}
}
- zephir_array_append(&createLines, indexSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 508);
+ zephir_array_append(&createLines, indexSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 451);
}
}
ZEPHIR_OBS_VAR(references);
if (zephir_array_isset_string_fetch(&references, definition, SS("references"), 0 TSRMLS_CC)) {
- zephir_is_iterable(references, &_18, &_17, 0, 0, "phalcon/db/dialect/mysql.zep", 532);
+ zephir_is_iterable(references, &_18, &_17, 0, 0, "phalcon/db/dialect/mysql.zep", 475);
for (
; zephir_hash_get_current_data_ex(_18, (void**) &_19, &_17) == SUCCESS
; zephir_hash_move_forward_ex(_18, &_17)
@@ -49257,7 +50121,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_CONCAT_SV(_21, " ON UPDATE ", onUpdate);
zephir_concat_self(&referenceSql, _21 TSRMLS_CC);
}
- zephir_array_append(&createLines, referenceSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 530);
+ zephir_array_append(&createLines, referenceSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 473);
}
}
ZEPHIR_INIT_VAR(_22);
@@ -49278,11 +50142,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists = NULL, *sql, *table = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *table = NULL;
zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists);
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49295,19 +50160,21 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
@@ -49322,7 +50189,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
ZEPHIR_CPY_WRT(table, _0);
}
ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
+ if (ifExists) {
ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
} else {
ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
@@ -49333,11 +50200,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createView) {
- zval *viewName_param = NULL, *definition, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql;
zval *viewName = NULL, *schemaName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName_param, &definition, &schemaName_param);
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49350,22 +50218,19 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ definition = definition_param;
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
ZEPHIR_OBS_VAR(viewSql);
if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/mysql.zep", 582);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/mysql.zep", 515);
return;
}
ZEPHIR_INIT_VAR(view);
@@ -49390,7 +50255,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName_param, &schemaName_param, &ifExists_param);
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49403,21 +50268,21 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
if (!ifExists_param) {
ifExists = 1;
} else {
- ifExists = zephir_get_boolval(ifExists_param);
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
@@ -49440,11 +50305,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
- zval *tableName_param = NULL, *schemaName = NULL;
- zval *tableName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49457,12 +50322,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SELECT IF(COUNT(*)>0, 1 , 0) FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`= '", tableName, "' AND `TABLE_SCHEMA` = '", schemaName, "'");
RETURN_MM();
}
@@ -49473,11 +50341,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
- zval *viewName_param = NULL, *schemaName = NULL;
- zval *viewName = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49490,12 +50358,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SELECT IF(COUNT(*)>0, 1 , 0) FROM `INFORMATION_SCHEMA`.`VIEWS` WHERE `TABLE_NAME`= '", viewName, "' AND `TABLE_SCHEMA`='", schemaName, "'");
RETURN_MM();
}
@@ -49506,11 +50377,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeColumns) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49523,12 +50394,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_SVSVS(return_value, "DESCRIBE `", schema, "`.`", table, "`");
RETURN_MM();
}
@@ -49549,17 +50423,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, listTables) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
} else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
}
@@ -49607,11 +50471,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, listViews) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49624,12 +50488,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SHOW INDEXES FROM `", schema, "`.`", table, "`");
RETURN_MM();
}
@@ -49640,11 +50507,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
- zval *table_param = NULL, *schema = NULL, *sql, *_0;
- zval *table = NULL, *_1;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49657,21 +50524,24 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
ZEPHIR_INIT_VAR(sql);
ZVAL_STRING(sql, "SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_SCHEMA,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME IS NOT NULL AND ", 1);
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_INIT_VAR(_0);
ZEPHIR_CONCAT_SVSVS(_0, "CONSTRAINT_SCHEMA = '", schema, "' AND TABLE_NAME = '", table, "'");
zephir_concat_self(&sql, _0 TSRMLS_CC);
} else {
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "TABLE_NAME = '", table, "'");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "TABLE_NAME = '", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
}
RETURN_CCTOR(sql);
@@ -49679,11 +50549,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
- zval *table_param = NULL, *schema = NULL, *sql;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49696,14 +50566,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
ZEPHIR_INIT_VAR(sql);
ZVAL_STRING(sql, "SELECT TABLES.TABLE_TYPE AS table_type,TABLES.AUTO_INCREMENT AS auto_increment,TABLES.ENGINE AS engine,TABLES.TABLE_COLLATION AS table_collation FROM INFORMATION_SCHEMA.TABLES WHERE ", 1);
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_VSVSVS(return_value, sql, "TABLES.TABLE_SCHEMA = '", schema, "' AND TABLES.TABLE_NAME = '", table, "'");
RETURN_MM();
}
@@ -49712,6 +50585,61 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
}
+static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions) {
+
+ zval *definition_param = NULL, *options, *engine, *autoIncrement, *tableCollation, *collationParts, *tableOptions, *_0 = NULL, *_1, *_2;
+ zval *definition = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &definition_param);
+
+ definition = definition_param;
+
+
+
+ ZEPHIR_OBS_VAR(options);
+ if (zephir_array_isset_string_fetch(&options, definition, SS("options"), 0 TSRMLS_CC)) {
+ ZEPHIR_INIT_VAR(tableOptions);
+ array_init(tableOptions);
+ ZEPHIR_OBS_VAR(engine);
+ if (zephir_array_isset_string_fetch(&engine, options, SS("ENGINE"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(engine)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "ENGINE=", engine);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 671);
+ }
+ }
+ ZEPHIR_OBS_VAR(autoIncrement);
+ if (zephir_array_isset_string_fetch(&autoIncrement, options, SS("AUTO_INCREMENT"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(autoIncrement)) {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "AUTO_INCREMENT=", autoIncrement);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 680);
+ }
+ }
+ ZEPHIR_OBS_VAR(tableCollation);
+ if (zephir_array_isset_string_fetch(&tableCollation, options, SS("TABLE_COLLATION"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(tableCollation)) {
+ ZEPHIR_INIT_VAR(collationParts);
+ zephir_fast_explode_str(collationParts, SL("_"), tableCollation, LONG_MAX TSRMLS_CC);
+ zephir_array_fetch_long(&_1, collationParts, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/mysql.zep", 690 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "DEFAULT CHARSET=", _1);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 690);
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "COLLATE=", tableCollation);
+ zephir_array_append(&tableOptions, _2, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 691);
+ }
+ }
+ if (zephir_fast_count_int(tableOptions TSRMLS_CC)) {
+ zephir_fast_join_str(return_value, SL(" "), tableOptions TSRMLS_CC);
+ RETURN_MM();
+ }
+ }
+ RETURN_MM_STRING("", 1);
+
+}
+
@@ -49728,7 +50656,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Oracle) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Oracle, phalcon, db_dialect_oracle, phalcon_db_dialect_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Oracle, phalcon, db_dialect_oracle, phalcon_db_dialect_ce, phalcon_db_dialect_oracle_method_entry, 0);
zend_declare_property_string(phalcon_db_dialect_oracle_ce, SL("_escapeChar"), "", ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -49736,550 +50664,1038 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Oracle) {
}
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, limit) {
+ int limit, offset = 0;
+ zval *sqlQuery_param = NULL, *number, *_0 = NULL, *_1, _2 = zval_used_for_init, *_3, _4 = zval_used_for_init, _6;
+ zval *sqlQuery = NULL, *_5, *_7;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Postgresql) {
+ if (unlikely(Z_TYPE_P(sqlQuery_param) != IS_STRING && Z_TYPE_P(sqlQuery_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlQuery' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Postgresql, phalcon, db_dialect_postgresql, phalcon_db_dialect_ce, phalcon_db_dialect_postgresql_method_entry, 0);
+ if (likely(Z_TYPE_P(sqlQuery_param) == IS_STRING)) {
+ zephir_get_strval(sqlQuery, sqlQuery_param);
+ } else {
+ ZEPHIR_INIT_VAR(sqlQuery);
+ ZVAL_EMPTY_STRING(sqlQuery);
+ }
- zend_declare_property_string(phalcon_db_dialect_postgresql_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_postgresql_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
- return SUCCESS;
+ if (Z_TYPE_P(number) == IS_ARRAY) {
+ if (zephir_array_isset_long(number, 1)) {
+ ZEPHIR_INIT_VAR(_0);
+ zephir_array_fetch_long(&_1, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 51 TSRMLS_CC);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_STRING(&_2, "'", 0);
+ zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ offset = zephir_get_intval(_0);
+ }
+ ZEPHIR_INIT_NVAR(_0);
+ zephir_array_fetch_long(&_1, number, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 54 TSRMLS_CC);
+ ZEPHIR_SINIT_NVAR(_2);
+ ZVAL_STRING(&_2, "'", 0);
+ zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ limit = (zephir_get_intval(_0) + offset);
+ } else {
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_SINIT_VAR(_4);
+ ZVAL_STRING(&_4, "'", 0);
+ zephir_fast_trim(_3, number, &_4, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ limit = zephir_get_intval(_3);
+ }
+ ZEPHIR_SINIT_NVAR(_4);
+ ZVAL_LONG(&_4, limit);
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SVSVS(_5, "SELECT * FROM (SELECT Z1.*, ROWNUM PHALCON_RN FROM (", sqlQuery, ") Z1 WHERE ROWNUM <= ", &_4, ")");
+ ZEPHIR_CPY_WRT(sqlQuery, _5);
+ if (offset != 0) {
+ ZEPHIR_SINIT_VAR(_6);
+ ZVAL_LONG(&_6, offset);
+ ZEPHIR_INIT_VAR(_7);
+ ZEPHIR_CONCAT_SV(_7, " WHERE PHALCON_RN >= ", &_6);
+ zephir_concat_self(&sqlQuery, _7 TSRMLS_CC);
+ }
+ RETURN_CTOR(sqlQuery);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, getColumnDefinition) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, getColumnDefinition) {
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
- HashTable *_3;
- HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *column, *size = NULL, *columnType = NULL, *columnSql, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *value = NULL, *valueSql, **_4, _5 = zval_used_for_init, _7 = zval_used_for_init, *_8, *_9 = NULL, *_10 = NULL;
+ zval *column, *columnSql = NULL, *size = NULL, *scale = NULL, *type = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &column);
- ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
+ ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&columnType, column, "gettype", NULL);
+ ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_VAR(columnSql);
- ZVAL_STRING(columnSql, "", 1);
- if (Z_TYPE_P(columnType) == IS_STRING) {
- zephir_concat_self(&columnSql, columnType TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&columnType, column, "gettypereference", NULL);
- zephir_check_call_status();
- }
do {
- if (ZEPHIR_IS_LONG(columnType, 0)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 0)) {
+ ZEPHIR_INIT_VAR(columnSql);
+ ZVAL_STRING(columnSql, "INTEGER", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 1)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 1)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "DATE", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 2)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("CHARACTER VARYING") TSRMLS_CC);
- }
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ if (ZEPHIR_IS_LONG(type, 2)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVS(columnSql, "VARCHAR2(", size, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 3)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_1, column, "getscale", NULL);
+ if (ZEPHIR_IS_LONG(type, 3)) {
+ ZEPHIR_CALL_METHOD(&scale, column, "getscale", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "(", size, ",", _1, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVSVS(columnSql, "NUMBER(", size, ",", scale, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 4)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 4)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TIMESTAMP", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 5)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
- }
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ if (ZEPHIR_IS_LONG(type, 5)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVS(columnSql, "CHAR(", size, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 6)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 6)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TEXT", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 7)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 7)) {
+ ZEPHIR_CALL_METHOD(&scale, column, "getscale", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVSVS(columnSql, "FLOAT(", size, ",", scale, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 8)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("SMALLINT(1)") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 8)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TINYINT(1)", 1);
break;
}
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized PostgreSQL data type", "phalcon/db/dialect/postgresql.zep", 117);
- return;
- }
- ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
- zephir_check_call_status();
- if (!(ZEPHIR_IS_EMPTY(typeValues))) {
- if (Z_TYPE_P(typeValues) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(valueSql);
- ZVAL_STRING(valueSql, "", 1);
- zephir_is_iterable(typeValues, &_3, &_2, 0, 0, "phalcon/db/dialect/postgresql.zep", 128);
- for (
- ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
- ; zephir_hash_move_forward_ex(_3, &_2)
- ) {
- ZEPHIR_GET_HVALUE(value, _4);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_1, "addcslashes", &_6, value, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "\"", _1, "\", ");
- zephir_concat_self(&valueSql, _0 TSRMLS_CC);
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, 0);
- ZEPHIR_SINIT_VAR(_7);
- ZVAL_LONG(&_7, -2);
- ZEPHIR_INIT_VAR(_8);
- zephir_substr(_8, valueSql, 0 , -2 , 0);
- ZEPHIR_INIT_VAR(_9);
- ZEPHIR_CONCAT_SVS(_9, "(", _8, ")");
- zephir_concat_self(&columnSql, _9 TSRMLS_CC);
- } else {
- ZEPHIR_SINIT_NVAR(_7);
- ZVAL_STRING(&_7, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_10, "addcslashes", &_6, typeValues, &_7);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SVS(_9, "(\"", _10, "\")");
- zephir_concat_self(&columnSql, _9 TSRMLS_CC);
- }
- }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized Oracle data type", "phalcon/db/dialect/oracle.zep", 120);
+ return;
} while(0);
RETURN_CCTOR(columnSql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addColumn) {
-
- zval *tableName, *schemaName, *column;
-
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &column);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 148);
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, modifyColumn) {
-
- zval *tableName, *schemaName, *column;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &column);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 161);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 131);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropColumn) {
-
- zval *tableName, *schemaName, *columnName;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, modifyColumn) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &columnName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 174);
- return;
-
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addIndex) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- zval *tableName, *schemaName, *index;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &index);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 187);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 139);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropIndex) {
-
- zval *tableName, *schemaName, *indexName;
-
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &indexName);
-
-
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropColumn) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 200);
- return;
-
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addPrimaryKey) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &columnName_param);
- zval *tableName, *schemaName, *index;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &index);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ zephir_get_strval(columnName, columnName_param);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 213);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 147);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey) {
-
- zval *tableName, *schemaName;
-
- zephir_fetch_params(0, 2, 0, &tableName, &schemaName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 225);
- return;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addIndex) {
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addForeignKey) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zval *tableName, *schemaName, *reference;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &reference);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 238);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 155);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropForeignKey) {
-
- zval *tableName, *schemaName, *referenceName;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropIndex) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &referenceName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 251);
- return;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL;
-}
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, _getTableOptions) {
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zval *definition;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 1, 0, &definition);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(indexName_param) != IS_STRING && Z_TYPE_P(indexName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'indexName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(indexName_param) == IS_STRING)) {
+ zephir_get_strval(indexName, indexName_param);
+ } else {
+ ZEPHIR_INIT_VAR(indexName);
+ ZVAL_EMPTY_STRING(indexName);
+ }
- array_init(return_value);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 164);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createTable) {
-
- zval *definition = NULL;
- zval *tableName, *schemaName, *definition_param = NULL;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addPrimaryKey) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &definition_param);
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
- definition = definition_param;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
+ zephir_get_strval(tableName, tableName_param);
+ zephir_get_strval(schemaName, schemaName_param);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 275);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 172);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropPrimaryKey) {
- zval *tableName, *schemaName, *ifExists = NULL, *table = NULL, *sql;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName, &schemaName, &ifExists);
+ zephir_fetch_params(1, 2, 0, &tableName_param, &schemaName_param);
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(table);
- ZEPHIR_CONCAT_VSV(table, schemaName, ".", tableName);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CPY_WRT(table, tableName);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
} else {
- ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- RETURN_CCTOR(sql);
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 180);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addForeignKey) {
- zval *viewName, *definition, *schemaName, *viewSql, *view = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName, &definition, &schemaName);
-
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &reference);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_OBS_VAR(viewSql);
- if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/postgresql.zep", 316);
- return;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(view);
- ZEPHIR_CONCAT_VSV(view, viewName, ".", schemaName);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
} else {
- ZEPHIR_CPY_WRT(view, viewName);
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
- RETURN_MM();
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 188);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropForeignKey) {
- zval *viewName, *schemaName, *ifExists = NULL, *view = NULL, *sql;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName, &schemaName, &ifExists);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(view);
- ZEPHIR_CONCAT_VSV(view, viewName, ".", schemaName);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CPY_WRT(view, viewName);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SV(sql, "DROP VIEW IF EXISTS ", view);
- } else {
- ZEPHIR_CONCAT_SV(sql, "DROP VIEW ", view);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- RETURN_CCTOR(sql);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableExists) {
-
- zval *tableName, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &tableName, &schemaName);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = '", schemaName, "' AND table_name='", tableName, "'");
- return;
- }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = 'public' AND table_name='", tableName, "'");
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 196);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, viewExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createTable) {
- zval *viewName, *schemaName = NULL;
+ zval *definition = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &viewName, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &definition_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "' AND schemaname='", schemaName, "'");
- return;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "'");
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeColumns) {
-
- zval *table, *schema = NULL;
-
- zephir_fetch_params(0, 1, 1, &table, &schema);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
+ definition = definition_param;
- if (zephir_is_true(schema)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='", schema, "' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
- return;
- }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='public' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 204);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listTables) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropTable) {
- zval *schemaName = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_3 = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *table = NULL, *_0 = NULL, *_1 = NULL, *_4 = NULL, *_5 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 0, 1, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVS(return_value, "SELECT table_name FROM information_schema.tables WHERE table_schema = '", schemaName, "' ORDER BY table_name");
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_1, phalcon_text_ce, "upper", &_2, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_3, _1);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_5, phalcon_text_ce, "upper", &_2, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "escape", &_3, _5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(table);
+ ZEPHIR_CONCAT_VSV(table, _0, ".", _4);
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_2, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&table, this_ptr, "escape", &_3, _0);
+ zephir_check_call_status();
+ }
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(return_value, "DROP TABLE IF EXISTS ", table);
+ RETURN_MM();
+ } else {
+ ZEPHIR_CONCAT_SV(return_value, "DROP TABLE ", table);
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createView) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql, *_0 = NULL, *_2 = NULL, *_3;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ definition = definition_param;
+
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ ZEPHIR_OBS_VAR(viewSql);
+ if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/oracle.zep", 235);
return;
}
- RETURN_STRING("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name", 1);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _0, ".", _2);
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _3);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _0);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listViews) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropView) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL;
+ zend_bool ifExists;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *view = NULL, *_0 = NULL, *_2 = NULL, *_3;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _0, ".", _2);
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _3);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _0);
+ zephir_check_call_status();
+ }
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(return_value, "DROP VIEW IF EXISTS ", view);
+ RETURN_MM();
+ } else {
+ ZEPHIR_CONCAT_SV(return_value, "DROP VIEW ", view);
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, viewExists) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_VIEWS WHERE VIEW_NAME='", _0, "' AND OWNER='", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_VIEWS WHERE VIEW_NAME='", _0, "'");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listViews) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *schemaName_param = NULL, *_0 = NULL;
zval *schemaName = NULL;
- zephir_fetch_params(0, 0, 1, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVS(return_value, "SELECT viewname AS view_name FROM pg_views WHERE schemaname = '", schemaName, "' ORDER BY view_name");
- return;
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT VIEW_NAME FROM ALL_VIEWS WHERE OWNER='", _0, "' ORDER BY VIEW_NAME");
+ RETURN_MM();
+ } else {
+ RETURN_MM_STRING("SELECT VIEW_NAME FROM ALL_VIEWS VIEW_NAME", 1);
}
- RETURN_STRING("SELECT viewname AS view_name FROM pg_views WHERE schemaname = 'public' ORDER BY view_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeIndexes) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableExists) {
- zval *table, *schema = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &table, &schema);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT 0 as c0, t.relname as table_name, i.relname as key_name, 3 as c3, a.attname as column_name FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND a.attnum = ANY(ix.indkey) AND t.relkind = 'r' AND t.relname = '", table, "' ORDER BY t.relname, i.relname;");
- return;
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_TABLES WHERE TABLE_NAME='", _0, "' AND OWNER = '", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_TABLES WHERE TABLE_NAME='", _0, "'");
+ RETURN_MM();
+ }
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeReferences) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeColumns) {
- zval *table, *schema = NULL, *sql, *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_INIT_VAR(sql);
- ZVAL_STRING(sql, "SELECT tc.table_name as TABLE_NAME, kcu.column_name as COLUMN_NAME, tc.constraint_name as CONSTRAINT_NAME, tc.table_catalog as REFERENCED_TABLE_SCHEMA, ccu.table_name AS REFERENCED_TABLE_NAME, ccu.column_name AS REFERENCED_COLUMN_NAME FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ", 1);
- if (zephir_is_true(schema)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "tc.table_schema = '", schema, "' AND tc.table_name='", table, "'");
- zephir_concat_self(&sql, _0 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT TC.COLUMN_NAME, TC.DATA_TYPE, TC.DATA_LENGTH, TC.DATA_PRECISION, TC.DATA_SCALE, TC.NULLABLE, C.CONSTRAINT_TYPE, TC.DATA_DEFAULT, CC.POSITION FROM ALL_TAB_COLUMNS TC LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND CC.OWNER = C.OWNER AND C.CONSTRAINT_TYPE = 'P')) ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME WHERE TC.TABLE_NAME = '", _0, "' AND TC.OWNER = '", _2, "' ORDER BY TC.COLUMN_ID");
+ RETURN_MM();
} else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "tc.table_name='", table, "'");
- zephir_concat_self(&sql, _0 TSRMLS_CC);
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT TC.COLUMN_NAME, TC.DATA_TYPE, TC.DATA_LENGTH, TC.DATA_PRECISION, TC.DATA_SCALE, TC.NULLABLE, C.CONSTRAINT_TYPE, TC.DATA_DEFAULT, CC.POSITION FROM ALL_TAB_COLUMNS TC LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND CC.OWNER = C.OWNER AND C.CONSTRAINT_TYPE = 'P')) ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME WHERE TC.TABLE_NAME = '", _0, "' ORDER BY TC.COLUMN_ID");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listTables) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *schemaName_param = NULL, *_0 = NULL;
+ zval *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
+
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT TABLE_NAME, OWNER FROM ALL_TABLES WHERE OWNER='", _0, "' ORDER BY OWNER, TABLE_NAME");
+ RETURN_MM();
+ } else {
+ RETURN_MM_STRING("SELECT TABLE_NAME, OWNER FROM ALL_TABLES ORDER BY OWNER, TABLE_NAME", 1);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeIndexes) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT I.TABLE_NAME, 0 AS C0, I.INDEX_NAME, IC.COLUMN_POSITION, IC.COLUMN_NAME FROM ALL_INDEXES I JOIN ALL_IND_COLUMNS IC ON I.INDEX_NAME = IC.INDEX_NAME WHERE I.TABLE_NAME = '", _0, "' AND IC.INDEX_OWNER = '", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT I.TABLE_NAME, 0 AS C0, I.INDEX_NAME, IC.COLUMN_POSITION, IC.COLUMN_NAME FROM ALL_INDEXES I JOIN ALL_IND_COLUMNS IC ON I.INDEX_NAME = IC.INDEX_NAME WHERE I.TABLE_NAME = '", _0, "'");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeReferences) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql, *_0 = NULL, *_2 = NULL, *_3 = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+
+
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "SELECT AC.TABLE_NAME, CC.COLUMN_NAME, AC.CONSTRAINT_NAME, AC.R_OWNER, RCC.TABLE_NAME R_TABLE_NAME, RCC.COLUMN_NAME R_COLUMN_NAME FROM ALL_CONSTRAINTS AC JOIN ALL_CONS_COLUMNS CC ON AC.CONSTRAINT_NAME = CC.CONSTRAINT_NAME JOIN ALL_CONS_COLUMNS RCC ON AC.R_OWNER = RCC.OWNER AND AC.R_CONSTRAINT_NAME = RCC.CONSTRAINT_NAME WHERE AC.CONSTRAINT_TYPE='R' ", 1);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_SVSVS(_3, "AND AC.OWNER='", _0, "' AND AC.TABLE_NAME = '", _2, "'");
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_3);
+ ZEPHIR_CONCAT_SVS(_3, "AND AC.TABLE_NAME = '", _0, "'");
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableOptions) {
- zval *table, *schema = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
- zephir_fetch_params(0, 1, 1, &table, &schema);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- RETURN_STRING("", 1);
+ RETURN_MM_STRING("", 1);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsSavepoints) {
+
+
+ RETURN_BOOL(0);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsReleaseSavepoints) {
+
+
+ RETURN_BOOL(0);
}
@@ -50297,107 +51713,108 @@ static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Sqlite) {
+ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Postgresql) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Sqlite, phalcon, db_dialect_sqlite, phalcon_db_dialect_ce, phalcon_db_dialect_sqlite_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Postgresql, phalcon, db_dialect_postgresql, phalcon_db_dialect_ce, phalcon_db_dialect_postgresql_method_entry, 0);
- zend_declare_property_string(phalcon_db_dialect_sqlite_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_string(phalcon_db_dialect_postgresql_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_sqlite_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, getColumnDefinition) {
- zephir_nts_static zephir_fcall_cache_entry *_7 = NULL;
- HashTable *_4;
- HashPosition _3;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
+ HashTable *_3;
+ HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *column, *columnSql, *type = NULL, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, *value = NULL, *valueSql, **_5, _6 = zval_used_for_init, _8 = zval_used_for_init, *_9, *_10 = NULL;
+ zval *column, *size = NULL, *columnType = NULL, *columnSql, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *value = NULL, *valueSql, **_4, _5 = zval_used_for_init, _7 = zval_used_for_init, *_8, *_9 = NULL, *_10 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &column);
+ ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&columnType, column, "gettype", NULL);
+ zephir_check_call_status();
ZEPHIR_INIT_VAR(columnSql);
ZVAL_STRING(columnSql, "", 1);
- ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
- zephir_check_call_status();
- if (Z_TYPE_P(type) == IS_STRING) {
- zephir_concat_self(&columnSql, type TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&type, column, "gettypereference", NULL);
+ if (Z_TYPE_P(columnType) == IS_STRING) {
+ zephir_concat_self(&columnSql, columnType TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&columnType, column, "gettypereference", NULL);
zephir_check_call_status();
}
do {
- if (ZEPHIR_IS_LONG(type, 0)) {
+ if (ZEPHIR_IS_LONG(columnType, 0)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 1)) {
+ if (ZEPHIR_IS_LONG(columnType, 1)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 2)) {
+ if (ZEPHIR_IS_LONG(columnType, 2)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("VARCHAR") TSRMLS_CC);
+ zephir_concat_self_str(&columnSql, SL("CHARACTER VARYING") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 3)) {
+ if (ZEPHIR_IS_LONG(columnType, 3)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2, column, "getscale", NULL);
+ ZEPHIR_CALL_METHOD(&_1, column, "getscale", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVSVS(_1, "(", _0, ",", _2, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "(", size, ",", _1, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 4)) {
+ if (ZEPHIR_IS_LONG(columnType, 4)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 5)) {
+ if (ZEPHIR_IS_LONG(columnType, 5)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 6)) {
+ if (ZEPHIR_IS_LONG(columnType, 6)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 7)) {
+ if (ZEPHIR_IS_LONG(columnType, 7)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
}
break;
}
+ if (ZEPHIR_IS_LONG(columnType, 8)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("SMALLINT(1)") TSRMLS_CC);
+ }
+ break;
+ }
if (ZEPHIR_IS_EMPTY(columnSql)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized SQLite data type", "phalcon/db/dialect/sqlite.zep", 112);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized PostgreSQL data type", "phalcon/db/dialect/postgresql.zep", 117);
return;
}
ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
@@ -50406,37 +51823,37 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
if (Z_TYPE_P(typeValues) == IS_ARRAY) {
ZEPHIR_INIT_VAR(valueSql);
ZVAL_STRING(valueSql, "", 1);
- zephir_is_iterable(typeValues, &_4, &_3, 0, 0, "phalcon/db/dialect/sqlite.zep", 123);
+ zephir_is_iterable(typeValues, &_3, &_2, 0, 0, "phalcon/db/dialect/postgresql.zep", 128);
for (
- ; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
- ; zephir_hash_move_forward_ex(_4, &_3)
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
) {
- ZEPHIR_GET_HVALUE(value, _5);
- ZEPHIR_SINIT_NVAR(_6);
- ZVAL_STRING(&_6, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_0, "addcslashes", &_7, value, &_6);
+ ZEPHIR_GET_HVALUE(value, _4);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_1, "addcslashes", &_6, value, &_5);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "\"", _0, "\", ");
- zephir_concat_self(&valueSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "\"", _1, "\", ");
+ zephir_concat_self(&valueSql, _0 TSRMLS_CC);
}
- ZEPHIR_SINIT_NVAR(_6);
- ZVAL_LONG(&_6, 0);
- ZEPHIR_SINIT_VAR(_8);
- ZVAL_LONG(&_8, -2);
- ZEPHIR_INIT_VAR(_9);
- zephir_substr(_9, valueSql, 0 , -2 , 0);
- ZEPHIR_INIT_VAR(_10);
- ZEPHIR_CONCAT_SVS(_10, "(", _9, ")");
- zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, 0);
+ ZEPHIR_SINIT_VAR(_7);
+ ZVAL_LONG(&_7, -2);
+ ZEPHIR_INIT_VAR(_8);
+ zephir_substr(_8, valueSql, 0 , -2 , 0);
+ ZEPHIR_INIT_VAR(_9);
+ ZEPHIR_CONCAT_SVS(_9, "(", _8, ")");
+ zephir_concat_self(&columnSql, _9 TSRMLS_CC);
} else {
- ZEPHIR_SINIT_NVAR(_8);
- ZVAL_STRING(&_8, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "addcslashes", &_7, typeValues, &_8);
+ ZEPHIR_SINIT_NVAR(_7);
+ ZVAL_STRING(&_7, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_10, "addcslashes", &_6, typeValues, &_7);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_10);
- ZEPHIR_CONCAT_SVS(_10, "(\"", _2, "\")");
- zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SVS(_9, "(\"", _10, "\")");
+ zephir_concat_self(&columnSql, _9 TSRMLS_CC);
}
}
} while(0);
@@ -50445,12 +51862,10 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addColumn) {
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName_param = NULL, *schemaName_param = NULL, *column, *sql = NULL, *defaultValue = NULL, *_1 = NULL, *_2 = NULL, *_3, _4, *_5 = NULL, *_7;
- zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
@@ -50479,49 +51894,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
}
- ZEPHIR_INIT_VAR(sql);
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "ALTER TABLE \"", schemaName, "\".\"", tableName, "\" ADD COLUMN ");
- ZEPHIR_CPY_WRT(sql, _0);
- } else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "ALTER TABLE \"", tableName, "\" ADD COLUMN ");
- ZEPHIR_CPY_WRT(sql, _0);
- }
- ZEPHIR_CALL_METHOD(&_1, column, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getcolumndefinition", NULL, column);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_3);
- ZEPHIR_CONCAT_SVSV(_3, "\"", _1, "\" ", _2);
- zephir_concat_self(&sql, _3 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&defaultValue, column, "getdefault", NULL);
- zephir_check_call_status();
- if (!(ZEPHIR_IS_EMPTY(defaultValue))) {
- ZEPHIR_SINIT_VAR(_4);
- ZVAL_STRING(&_4, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_5, "addcslashes", &_6, defaultValue, &_4);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_7);
- ZEPHIR_CONCAT_SVS(_7, " DEFAULT \"", _5, "\"");
- zephir_concat_self(&sql, _7 TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_5, column, "isnotnull", NULL);
- zephir_check_call_status();
- if (zephir_is_true(_5)) {
- zephir_concat_self_str(&sql, SL(" NOT NULL") TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_5, column, "isautoincrement", NULL);
- zephir_check_call_status();
- if (zephir_is_true(_5)) {
- zephir_concat_self_str(&sql, SL(" PRIMARY KEY AUTOINCREMENT") TSRMLS_CC);
- }
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 143);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, modifyColumn) {
zval *tableName_param = NULL, *schemaName_param = NULL, *column;
zval *tableName = NULL, *schemaName = NULL;
@@ -50553,12 +51931,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Altering a DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 169);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 151);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropColumn) {
zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
@@ -50588,19 +51966,27 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
- zephir_get_strval(columnName, columnName_param);
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 177);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 159);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addIndex) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName_param = NULL, *schemaName_param = NULL, *index, *sql, *indexType = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
@@ -50630,42 +52016,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
}
- ZEPHIR_CALL_METHOD(&indexType, index, "gettype", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(sql);
- if (!(ZEPHIR_IS_EMPTY(indexType))) {
- ZEPHIR_CONCAT_SVS(sql, "CREATE ", indexType, " INDEX \"");
- } else {
- ZVAL_STRING(sql, "CREATE INDEX \"", 1);
- }
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_VSVSVS(_1, schemaName, "\".\"", _0, "\" ON \"", tableName, "\" (");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- } else {
- ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_VSVS(_1, _0, "\" ON \"", tableName, "\" (");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_2, index, "getcolumns", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_3, _2);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_VS(_1, _0, ")");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 167);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropIndex) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL, *sql = NULL;
- zval *tableName = NULL, *schemaName = NULL, *indexName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
@@ -50705,21 +52064,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
}
- ZEPHIR_INIT_VAR(sql);
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "DROP INDEX \"", schemaName, "\".\"", indexName, "\"");
- ZEPHIR_CPY_WRT(sql, _0);
- } else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "DROP INDEX \"", indexName, "\"");
- ZEPHIR_CPY_WRT(sql, _0);
- }
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 175);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addPrimaryKey) {
zval *tableName_param = NULL, *schemaName_param = NULL, *index;
zval *tableName = NULL, *schemaName = NULL;
@@ -50727,16 +52077,36 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zephir_get_strval(tableName, tableName_param);
- zephir_get_strval(schemaName, schemaName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 224);
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 183);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey) {
zval *tableName_param = NULL, *schemaName_param = NULL;
zval *tableName = NULL, *schemaName = NULL;
@@ -50768,12 +52138,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Removing a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 232);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 191);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addForeignKey) {
zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
zval *tableName = NULL, *schemaName = NULL;
@@ -50805,18 +52175,18 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a foreign key constraint to an existing table is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 240);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 199);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropForeignKey) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName;
- zval *tableName = NULL, *schemaName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -50840,26 +52210,25 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping a foreign key constraint is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 253);
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, _getTableOptions) {
-
- zval *definition;
-
- zephir_fetch_params(0, 1, 0, &definition);
-
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
- RETURN_STRING("", 1);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 207);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createTable) {
zval *definition = NULL;
zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
@@ -50894,18 +52263,19 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/sqlite.zep", 272);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 215);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropTable) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists = NULL, *sql, *table = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *table = NULL, *sql;
zval *tableName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists);
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -50918,46 +52288,49 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", tableName);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, ".", tableName);
ZEPHIR_CPY_WRT(table, _0);
} else {
ZEPHIR_CPY_WRT(table, tableName);
}
ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SVS(sql, "DROP TABLE IF EXISTS \"", table, "\"");
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
} else {
- ZEPHIR_CONCAT_SVS(sql, "DROP TABLE \"", table, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createView) {
- zval *viewName_param = NULL, *definition, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *viewSql, *view = NULL;
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName_param, &definition, &schemaName_param);
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -50970,44 +52343,41 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ definition = definition_param;
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
ZEPHIR_OBS_VAR(viewSql);
if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/sqlite.zep", 315);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/postgresql.zep", 246);
return;
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CONCAT_VSV(_0, viewName, ".", schemaName);
ZEPHIR_CPY_WRT(view, _0);
} else {
ZEPHIR_CPY_WRT(view, viewName);
}
- ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW \"", view, "\" AS ", viewSql);
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropView) {
zend_bool ifExists;
- zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *view = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *view = NULL, *sql;
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName_param, &schemaName_param, &ifExists_param);
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -51020,48 +52390,48 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
if (!ifExists_param) {
ifExists = 1;
} else {
- ifExists = zephir_get_boolval(ifExists_param);
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CONCAT_VSV(_0, viewName, ".", schemaName);
ZEPHIR_CPY_WRT(view, _0);
} else {
ZEPHIR_CPY_WRT(view, viewName);
}
ZEPHIR_INIT_VAR(sql);
if (ifExists) {
- ZEPHIR_CONCAT_SVS(sql, "DROP VIEW IF EXISTS \"", view, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP VIEW IF EXISTS ", view);
} else {
- ZEPHIR_CONCAT_SVS(sql, "DROP VIEW \"", view, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP VIEW ", view);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableExists) {
- zval *tableName_param = NULL, *schemaName = NULL;
- zval *tableName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -51074,23 +52444,30 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='table' AND tbl_name='", tableName, "'");
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = '", schemaName, "' AND table_name='", tableName, "'");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = 'public' AND table_name='", tableName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, viewExists) {
- zval *viewName_param = NULL, *schemaName = NULL;
- zval *viewName = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -51103,23 +52480,30 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='view' AND tbl_name='", viewName, "'");
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "' AND schemaname='", schemaName, "'");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeColumns) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51132,17 +52516,24 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA table_info('", table, "')");
+ if (schema && Z_STRLEN_P(schema)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='", schema, "' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='public' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listTables) {
zval *schemaName_param = NULL;
zval *schemaName = NULL;
@@ -51154,61 +52545,44 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
} else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
}
- RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'table' ORDER BY tbl_name", 1);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT table_name FROM information_schema.tables WHERE table_schema = '", schemaName, "' ORDER BY table_name");
+ RETURN_MM();
+ }
+ RETURN_MM_STRING("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listViews) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listViews) {
- zval *schemaName_param = NULL;
zval *schemaName = NULL;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &schemaName_param);
-
- if (!schemaName_param) {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- } else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(0, 0, 1, &schemaName);
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
+ if (!schemaName) {
+ schemaName = ZEPHIR_GLOBAL(global_null);
}
- RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'view' ORDER BY tbl_name", 1);
+ if (zephir_is_true(schemaName)) {
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT viewname AS view_name FROM pg_views WHERE schemaname = '", schemaName, "' ORDER BY view_name");
+ return;
+ }
+ RETURN_STRING("SELECT viewname AS view_name FROM pg_views WHERE schemaname = 'public' ORDER BY view_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeIndexes) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51221,49 +52595,26 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
- }
-
-
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_list('", table, "')");
- RETURN_MM();
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndex) {
-
- zval *index_param = NULL;
- zval *index = NULL;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_info('", index, "')");
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT 0 as c0, t.relname as table_name, i.relname as key_name, 3 as c3, a.attname as column_name FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND a.attnum = ANY(ix.indkey) AND t.relkind = 'r' AND t.relname = '", table, "' ORDER BY t.relname, i.relname;");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeReferences) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51276,23 +52627,36 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "SELECT tc.table_name as TABLE_NAME, kcu.column_name as COLUMN_NAME, tc.constraint_name as CONSTRAINT_NAME, tc.table_catalog as REFERENCED_TABLE_SCHEMA, ccu.table_name AS REFERENCED_TABLE_NAME, ccu.column_name AS REFERENCED_COLUMN_NAME FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ", 1);
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA foreign_key_list('", table, "')");
- RETURN_MM();
+ if (schema && Z_STRLEN_P(schema)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "tc.table_schema = '", schema, "' AND tc.table_name='", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "tc.table_name='", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51305,8 +52669,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
@@ -51328,1225 +52695,1057 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler_Item) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Profiler, Item, phalcon, db_profiler_item, phalcon_db_profiler_item_method_entry, 0);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlVariables"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlBindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Sqlite) {
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_initialTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Sqlite, phalcon, db_dialect_sqlite, phalcon_db_dialect_ce, phalcon_db_dialect_sqlite_method_entry, 0);
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_finalTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_string(phalcon_db_dialect_sqlite_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlStatement) {
-
- zval *sqlStatement;
-
- zephir_fetch_params(0, 1, 0, &sqlStatement);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlStatement) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlStatement");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlVariables) {
-
- zval *sqlVariables;
-
- zephir_fetch_params(0, 1, 0, &sqlVariables);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sqlVariables"), sqlVariables TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlVariables) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlVariables");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlBindTypes) {
-
- zval *sqlBindTypes;
-
- zephir_fetch_params(0, 1, 0, &sqlBindTypes);
-
-
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
- zephir_update_property_this(this_ptr, SL("_sqlBindTypes"), sqlBindTypes TSRMLS_CC);
+ zephir_nts_static zephir_fcall_cache_entry *_7 = NULL;
+ HashTable *_4;
+ HashPosition _3;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column, *columnSql, *type = NULL, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, *value = NULL, *valueSql, **_5, _6 = zval_used_for_init, _8 = zval_used_for_init, *_9, *_10 = NULL;
-}
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &column);
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlBindTypes) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlBindTypes");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setInitialTime) {
-
- zval *initialTime;
-
- zephir_fetch_params(0, 1, 0, &initialTime);
+ ZEPHIR_INIT_VAR(columnSql);
+ ZVAL_STRING(columnSql, "", 1);
+ ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
+ zephir_check_call_status();
+ if (Z_TYPE_P(type) == IS_STRING) {
+ zephir_concat_self(&columnSql, type TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&type, column, "gettypereference", NULL);
+ zephir_check_call_status();
+ }
+ do {
+ if (ZEPHIR_IS_LONG(type, 0)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 1)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 2)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("VARCHAR") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 3)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_2, column, "getscale", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVSVS(_1, "(", _0, ",", _2, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 4)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 5)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 6)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 7)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized SQLite data type", "phalcon/db/dialect/sqlite.zep", 112);
+ return;
+ }
+ ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
+ zephir_check_call_status();
+ if (!(ZEPHIR_IS_EMPTY(typeValues))) {
+ if (Z_TYPE_P(typeValues) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(valueSql);
+ ZVAL_STRING(valueSql, "", 1);
+ zephir_is_iterable(typeValues, &_4, &_3, 0, 0, "phalcon/db/dialect/sqlite.zep", 123);
+ for (
+ ; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
+ ; zephir_hash_move_forward_ex(_4, &_3)
+ ) {
+ ZEPHIR_GET_HVALUE(value, _5);
+ ZEPHIR_SINIT_NVAR(_6);
+ ZVAL_STRING(&_6, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_0, "addcslashes", &_7, value, &_6);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "\"", _0, "\", ");
+ zephir_concat_self(&valueSql, _1 TSRMLS_CC);
+ }
+ ZEPHIR_SINIT_NVAR(_6);
+ ZVAL_LONG(&_6, 0);
+ ZEPHIR_SINIT_VAR(_8);
+ ZVAL_LONG(&_8, -2);
+ ZEPHIR_INIT_VAR(_9);
+ zephir_substr(_9, valueSql, 0 , -2 , 0);
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "(", _9, ")");
+ zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ } else {
+ ZEPHIR_SINIT_NVAR(_8);
+ ZVAL_STRING(&_8, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "addcslashes", &_7, typeValues, &_8);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "(\"", _2, "\")");
+ zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ }
+ }
+ } while(0);
- zephir_update_property_this(this_ptr, SL("_initialTime"), initialTime TSRMLS_CC);
+ RETURN_CCTOR(columnSql);
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getInitialTime) {
-
-
- RETURN_MEMBER(this_ptr, "_initialTime");
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
-}
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column, *sql = NULL, *defaultValue = NULL, *_1 = NULL, *_2 = NULL, *_3, _4, *_5 = NULL, *_7;
+ zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setFinalTime) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- zval *finalTime;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 1, 0, &finalTime);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- zephir_update_property_this(this_ptr, SL("_finalTime"), finalTime TSRMLS_CC);
+ ZEPHIR_INIT_VAR(sql);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "ALTER TABLE \"", schemaName, "\".\"", tableName, "\" ADD COLUMN ");
+ ZEPHIR_CPY_WRT(sql, _0);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "ALTER TABLE \"", tableName, "\" ADD COLUMN ");
+ ZEPHIR_CPY_WRT(sql, _0);
+ }
+ ZEPHIR_CALL_METHOD(&_1, column, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getcolumndefinition", NULL, column);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_SVSV(_3, "\"", _1, "\" ", _2);
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&defaultValue, column, "getdefault", NULL);
+ zephir_check_call_status();
+ if (!(ZEPHIR_IS_EMPTY(defaultValue))) {
+ ZEPHIR_SINIT_VAR(_4);
+ ZVAL_STRING(&_4, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_5, "addcslashes", &_6, defaultValue, &_4);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_7);
+ ZEPHIR_CONCAT_SVS(_7, " DEFAULT \"", _5, "\"");
+ zephir_concat_self(&sql, _7 TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_5, column, "isnotnull", NULL);
+ zephir_check_call_status();
+ if (zephir_is_true(_5)) {
+ zephir_concat_self_str(&sql, SL(" NOT NULL") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_5, column, "isautoincrement", NULL);
+ zephir_check_call_status();
+ if (zephir_is_true(_5)) {
+ zephir_concat_self_str(&sql, SL(" PRIMARY KEY AUTOINCREMENT") TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getFinalTime) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
- RETURN_MEMBER(this_ptr, "_finalTime");
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getTotalElapsedSeconds) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zval *_0, *_1;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_finalTime"), PH_NOISY_CC);
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_initialTime"), PH_NOISY_CC);
- sub_function(return_value, _0, _1 TSRMLS_CC);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Altering a DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 169);
return;
}
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &columnName_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-#include
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Db_Result_Pdo) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Result, Pdo, phalcon, db_result_pdo, phalcon_db_result_pdo_method_entry, 0);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 177);
+ return;
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_connection"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_result"), ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
- zend_declare_property_long(phalcon_db_result_pdo_ce, SL("_fetchMode"), 4, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index, *sql, *indexType = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_pdoStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindParams"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- zend_declare_property_bool(phalcon_db_result_pdo_ce, SL("_rowCount"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_result_pdo_ce TSRMLS_CC, 1, phalcon_db_resultinterface_ce);
- return SUCCESS;
+ ZEPHIR_CALL_METHOD(&indexType, index, "gettype", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(sql);
+ if (!(ZEPHIR_IS_EMPTY(indexType))) {
+ ZEPHIR_CONCAT_SVS(sql, "CREATE ", indexType, " INDEX \"");
+ } else {
+ ZVAL_STRING(sql, "CREATE INDEX \"", 1);
+ }
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_VSVSVS(_1, schemaName, "\".\"", _0, "\" ON \"", tableName, "\" (");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ } else {
+ ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_VSVS(_1, _0, "\" ON \"", tableName, "\" (");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_2, index, "getcolumns", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_3, _2);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_VS(_1, _0, ")");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
- zval *connection, *result, *sqlStatement = NULL, *bindParams = NULL, *bindTypes = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL, *sql = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL, *_0 = NULL;
- zephir_fetch_params(0, 2, 3, &connection, &result, &sqlStatement, &bindParams, &bindTypes);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
- if (!sqlStatement) {
- sqlStatement = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (!bindTypes) {
- bindTypes = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- zephir_update_property_this(this_ptr, SL("_connection"), connection TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_pdoStatement"), result TSRMLS_CC);
- if (Z_TYPE_P(sqlStatement) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- if (Z_TYPE_P(bindParams) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_bindParams"), bindParams TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(indexName_param) != IS_STRING && Z_TYPE_P(indexName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'indexName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(bindTypes) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_bindTypes"), bindTypes TSRMLS_CC);
+
+ if (likely(Z_TYPE_P(indexName_param) == IS_STRING)) {
+ zephir_get_strval(indexName, indexName_param);
+ } else {
+ ZEPHIR_INIT_VAR(indexName);
+ ZVAL_EMPTY_STRING(indexName);
+ }
+
+
+ ZEPHIR_INIT_VAR(sql);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "DROP INDEX \"", schemaName, "\".\"", indexName, "\"");
+ ZEPHIR_CPY_WRT(sql, _0);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "DROP INDEX \"", indexName, "\"");
+ ZEPHIR_CPY_WRT(sql, _0);
}
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, execute) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "execute", NULL);
- zephir_check_call_status();
- RETURN_MM();
-
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetch) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
- zephir_check_call_status();
- RETURN_MM();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 224);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchArray) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &tableName_param, &schemaName_param);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
- zephir_check_call_status();
- RETURN_MM();
-
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchAll) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetchall", NULL);
- zephir_check_call_status();
- RETURN_MM();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Removing a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 232);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, numRows) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
- zend_bool _0;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement, *rowCount = NULL, *connection, *type = NULL, *pdoStatement, *matches, *result = NULL, *row = NULL, *_1, _2, *_3, *_4, *_5, *_6;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &reference);
- ZEPHIR_OBS_VAR(rowCount);
- zephir_read_property_this(&rowCount, this_ptr, SL("_rowCount"), PH_NOISY_CC);
- if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
- ZEPHIR_OBS_VAR(connection);
- zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&type, connection, "gettype", NULL);
- zephir_check_call_status();
- _0 = ZEPHIR_IS_STRING(type, "mysql");
- if (!(_0)) {
- _0 = ZEPHIR_IS_STRING(type, "pgsql");
- }
- if (_0) {
- ZEPHIR_OBS_VAR(pdoStatement);
- zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&rowCount, pdoStatement, "rowcount", NULL);
- zephir_check_call_status();
- }
- if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
- ZEPHIR_OBS_VAR(sqlStatement);
- zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
- if (!(zephir_start_with_str(sqlStatement, SL("SELECT COUNT(*) ")))) {
- ZEPHIR_INIT_VAR(matches);
- ZVAL_NULL(matches);
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_SINIT_VAR(_2);
- ZVAL_STRING(&_2, "/^SELECT\\s+(.*)/i", 0);
- zephir_preg_match(_1, &_2, sqlStatement, matches, 0, 0 , 0 TSRMLS_CC);
- if (zephir_is_true(_1)) {
- zephir_array_fetch_long(&_3, matches, 1, PH_NOISY | PH_READONLY, "phalcon/db/result/pdo.zep", 202 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_4);
- ZEPHIR_CONCAT_SVS(_4, "SELECT COUNT(*) \"numrows\" FROM (SELECT ", _3, ")");
- _5 = zephir_fetch_nproperty_this(this_ptr, SL("_bindParams"), PH_NOISY_CC);
- _6 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&result, connection, "query", NULL, _4, _5, _6);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL);
- zephir_check_call_status();
- ZEPHIR_OBS_NVAR(rowCount);
- zephir_array_fetch_string(&rowCount, row, SL("numrows"), PH_NOISY, "phalcon/db/result/pdo.zep", 204 TSRMLS_CC);
- }
- } else {
- ZEPHIR_INIT_NVAR(rowCount);
- ZVAL_LONG(rowCount, 1);
- }
- }
- zephir_update_property_this(this_ptr, SL("_rowCount"), rowCount TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- RETURN_CCTOR(rowCount);
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a foreign key constraint to an existing table is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 240);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, dataSeek) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *number_param = NULL, *connection, *pdo = NULL, *sqlStatement, *bindParams, *statement = NULL, *_0 = NULL, *_1;
- long number;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &number_param);
-
- number = zephir_get_intval(number_param);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- { pdo_stmt_t *stmt; long n;
- ZEPHIR_OBS_VAR(connection);
- zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&pdo, connection, "getinternalhandler", NULL);
- zephir_check_call_status();
- ZEPHIR_OBS_VAR(sqlStatement);
- zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
- ZEPHIR_OBS_VAR(bindParams);
- zephir_read_property_this(&bindParams, this_ptr, SL("_bindParams"), PH_NOISY_CC);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
- zephir_check_call_status();
- if (Z_TYPE_P(statement) == IS_OBJECT) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_0, connection, "executeprepared", NULL, statement, bindParams, _1);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(statement, _0);
- }
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CALL_METHOD(&statement, pdo, "query", NULL, sqlStatement);
- zephir_check_call_status();
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- zephir_update_property_this(this_ptr, SL("_pdoStatement"), statement TSRMLS_CC);
-
-
- stmt = (pdo_stmt_t*) zend_object_store_get_object(statement TSRMLS_CC);
- if (!stmt->dbh) {
- ZEPHIR_MM_RESTORE();
- RETURN_FALSE;
- }
-
- n = -1;
- number--;
- while (n != number) {
- if (!stmt->methods->fetcher(stmt, PDO_FETCH_ORI_NEXT, 0 TSRMLS_CC)) {
- ZEPHIR_MM_RESTORE();
- RETURN_NULL();
- }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- n++;
- }
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
- }
-
- ZEPHIR_MM_RESTORE();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping a foreign key constraint is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 248);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, setFetchMode) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
- zval *fetchMode_param = NULL, *pdoStatement, *_0 = NULL, *_1;
- int fetchMode, ZEPHIR_LAST_CALL_STATUS;
+ zval *definition = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &fetchMode_param);
-
- fetchMode = zephir_get_intval(fetchMode_param);
-
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &definition_param);
- ZEPHIR_OBS_VAR(pdoStatement);
- zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- do {
- if (fetchMode == 2) {
- ZEPHIR_INIT_VAR(_0);
- ZVAL_LONG(_0, 4);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 4);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 1) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 2);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 2);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 3) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 3);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 3);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 4) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 5);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 5);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- } while(0);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_MM_RESTORE();
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-}
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ definition = definition_param;
-static PHP_METHOD(Phalcon_Db_Result_Pdo, getInternalResult) {
- RETURN_MEMBER(this_ptr, "_pdoStatement");
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/sqlite.zep", 256);
+ return;
}
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *table = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *_0;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-#include
-#include
-#include
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Debug_Dump) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", tableName);
+ ZEPHIR_CPY_WRT(table, _0);
+ } else {
+ ZEPHIR_CPY_WRT(table, tableName);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ if (ifExists) {
+ ZEPHIR_CONCAT_SVS(sql, "DROP TABLE IF EXISTS \"", table, "\"");
+ } else {
+ ZEPHIR_CONCAT_SVS(sql, "DROP TABLE \"", table, "\"");
+ }
+ RETURN_CCTOR(sql);
- ZEPHIR_REGISTER_CLASS(Phalcon\\Debug, Dump, phalcon, debug_dump, phalcon_debug_dump_method_entry, 0);
+}
- zend_declare_property_bool(phalcon_debug_dump_ce, SL("_detailed"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
- zend_declare_property_null(phalcon_debug_dump_ce, SL("_methods"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *viewName = NULL, *schemaName = NULL, *_0;
- zend_declare_property_null(phalcon_debug_dump_ce, SL("_styles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
- return SUCCESS;
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-}
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ definition = definition_param;
-static PHP_METHOD(Phalcon_Debug_Dump, getDetailed) {
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
- RETURN_MEMBER(this_ptr, "_detailed");
+ ZEPHIR_OBS_VAR(viewSql);
+ if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/sqlite.zep", 289);
+ return;
+ }
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CPY_WRT(view, _0);
+ } else {
+ ZEPHIR_CPY_WRT(view, viewName);
+ }
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW \"", view, "\" AS ", viewSql);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, setDetailed) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
- zval *detailed;
+ zend_bool ifExists;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *view = NULL;
+ zval *viewName = NULL, *schemaName = NULL, *_0;
- zephir_fetch_params(0, 1, 0, &detailed);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_update_property_this(this_ptr, SL("_detailed"), detailed TSRMLS_CC);
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CPY_WRT(view, _0);
+ } else {
+ ZEPHIR_CPY_WRT(view, viewName);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ if (ifExists) {
+ ZEPHIR_CONCAT_SVS(sql, "DROP VIEW IF EXISTS \"", view, "\"");
+ } else {
+ ZEPHIR_CONCAT_SVS(sql, "DROP VIEW \"", view, "\"");
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Debug_Dump, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
- int ZEPHIR_LAST_CALL_STATUS;
- zend_bool detailed, _0;
- zval *styles_param = NULL, *detailed_param = NULL, *_1;
- zval *styles = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 2, &styles_param, &detailed_param);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!styles_param) {
- ZEPHIR_INIT_VAR(styles);
- array_init(styles);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- zephir_get_arrval(styles, styles_param);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (!detailed_param) {
- detailed = 0;
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- detailed = zephir_get_boolval(detailed_param);
+ zephir_get_strval(schemaName, schemaName_param);
}
- _0 = zephir_is_true(styles);
- if (_0) {
- _0 = 1 != 1;
- }
- if (_0) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 56);
- return;
- }
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "setstyles", NULL, styles);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- array_init(_1);
- zephir_update_property_this(this_ptr, SL("_methods"), _1 TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_detailed"), detailed ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='table' AND tbl_name='", tableName, "'");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, all) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- zval *_1, *_2 = NULL;
- zval *_0;
- int ZEPHIR_LAST_CALL_STATUS;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
- ZEPHIR_INIT_VAR(_0);
- zephir_create_array(_0, 2, 0 TSRMLS_CC);
- zephir_array_fast_append(_0, this_ptr);
- ZEPHIR_INIT_VAR(_1);
- ZVAL_STRING(_1, "vars", 1);
- zephir_array_fast_append(_0, _1);
- ZEPHIR_CALL_FUNCTION(&_2, "func_get_args", &_3);
- zephir_check_call_status();
- ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, _0, _2);
- zephir_check_call_status();
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='view' AND tbl_name='", viewName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, getStyle) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
- zval *type_param = NULL, *style, *_0;
- zval *type = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &type_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
- if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
- zephir_get_strval(type, type_param);
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
} else {
- ZEPHIR_INIT_VAR(type);
- ZVAL_EMPTY_STRING(type);
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
-
-
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_styles"), PH_NOISY_CC);
- if (zephir_array_isset_fetch(&style, _0, type, 1 TSRMLS_CC)) {
- RETURN_CTOR(style);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- RETURN_MM_STRING("color:gray", 1);
+ zephir_get_strval(schema, schema_param);
}
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA table_info('", table, "')");
+ RETURN_MM();
+
}
-static PHP_METHOD(Phalcon_Debug_Dump, setStyles) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
- zval *styles = NULL, *defaultStyles, *_0;
+ zval *schemaName_param = NULL;
+ zval *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &styles);
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!styles) {
- ZEPHIR_CPY_WRT(styles, ZEPHIR_GLOBAL(global_null));
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- ZEPHIR_SEPARATE_PARAM(styles);
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (Z_TYPE_P(styles) == IS_NULL) {
- ZEPHIR_INIT_NVAR(styles);
- array_init(styles);
- }
- if (Z_TYPE_P(styles) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 100);
- return;
- }
- ZEPHIR_INIT_VAR(defaultStyles);
- zephir_create_array(defaultStyles, 11, 0 TSRMLS_CC);
- add_assoc_stringl_ex(defaultStyles, SS("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("arr"), SL("color:red"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("bool"), SL("color:green"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("float"), SL("color:fuchsia"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("int"), SL("color:blue"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("null"), SL("color:black"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("num"), SL("color:navy"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("obj"), SL("color:purple"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("other"), SL("color:maroon"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("res"), SL("color:lime"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("str"), SL("color:teal"), 1);
- ZEPHIR_INIT_VAR(_0);
- zephir_fast_array_merge(_0, &(defaultStyles), &(styles) TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_styles"), _0 TSRMLS_CC);
- RETURN_MM_MEMBER(this_ptr, "_styles");
+ RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'table' ORDER BY tbl_name", 1);
}
-static PHP_METHOD(Phalcon_Debug_Dump, one) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listViews) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *name = NULL;
- zval *variable, *name_param = NULL;
+ zval *schemaName_param = NULL;
+ zval *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &variable, &name_param);
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- zephir_get_strval(name, name_param);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ }
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "var", NULL, variable, name);
- zephir_check_call_status();
- RETURN_MM();
+
+ RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'view' ORDER BY tbl_name", 1);
}
-static PHP_METHOD(Phalcon_Debug_Dump, output) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
- zend_bool _15, _16, _17;
- HashTable *_8, *_25, *_37;
- HashPosition _7, _24, _36;
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_11 = NULL, *_19 = NULL, *_21 = NULL, *_23 = NULL, *_29 = NULL, *_30 = NULL, *_31 = NULL, *_33 = NULL, *_34 = NULL, *_42 = NULL, *_44 = NULL, *_45 = NULL;
- zephir_fcall_cache_entry *_4 = NULL;
- zval *_1 = NULL, *_12 = NULL, *_40 = NULL;
- int tab, ZEPHIR_LAST_CALL_STATUS;
- zval *name = NULL, *_0;
- zval *variable, *name_param = NULL, *tab_param = NULL, *key = NULL, *value = NULL, *output = NULL, *space, *type = NULL, *attr = NULL, *_2 = NULL, *_3 = NULL, _5 = zval_used_for_init, **_9, *_10 = NULL, *_13 = NULL, *_14 = NULL, *_18 = NULL, *_20 = NULL, *_22, **_26, *_27 = NULL, *_28 = NULL, *_32, *_35, **_38, *_39 = NULL, *_41 = NULL, _43;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &variable, &name_param, &tab_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
} else {
- zephir_get_strval(name, name_param);
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
- if (!tab_param) {
- tab = 1;
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- tab = zephir_get_intval(tab_param);
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_INIT_VAR(space);
- ZVAL_STRING(space, " ", 1);
- ZEPHIR_INIT_VAR(output);
- ZVAL_STRING(output, "", 1);
- if (name && Z_STRLEN_P(name)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VS(_0, name, " ");
- ZEPHIR_CPY_WRT(output, _0);
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_list('", table, "')");
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndex) {
+
+ zval *index_param = NULL;
+ zval *index = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &index_param);
+
+ if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(variable) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_3);
- ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":count"), zephir_fast_count_int(variable TSRMLS_CC));
- ZEPHIR_SINIT_VAR(_5);
- ZVAL_STRING(&_5, "Array (:count) (\n", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
- zephir_check_call_status();
- zephir_concat_self(&output, _2 TSRMLS_CC);
- zephir_is_iterable(variable, &_8, &_7, 0, 0, "phalcon/debug/dump.zep", 154);
- for (
- ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
- ; zephir_hash_move_forward_ex(_8, &_7)
- ) {
- ZEPHIR_GET_HMKEY(key, _8, _7);
- ZEPHIR_GET_HVALUE(value, _9);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "[:key] => ", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- _15 = tab == 1;
- if (_15) {
- _15 = !ZEPHIR_IS_STRING(name, "");
- }
- _16 = _15;
- if (_16) {
- _16 = !(Z_TYPE_P(key) == IS_LONG);
- }
- _17 = _16;
- if (_17) {
- _17 = ZEPHIR_IS_EQUAL(name, key);
- }
- if (_17) {
- continue;
- } else {
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab - 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
- RETURN_MM();
+
+ if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
+ zephir_get_strval(index, index_param);
+ } else {
+ ZEPHIR_INIT_VAR(index);
+ ZVAL_EMPTY_STRING(index);
}
- if (Z_TYPE_P(variable) == IS_OBJECT) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- zephir_array_update_string(&_1, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Object :class", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
- zephir_check_call_status();
- zephir_concat_self(&output, _2 TSRMLS_CC);
- ZEPHIR_CALL_FUNCTION(&_13, "get_parent_class", &_21, variable);
- zephir_check_call_status();
- if (zephir_is_true(_13)) {
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_18, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_FUNCTION(&_18, "get_parent_class", &_21, variable);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":parent"), &_18, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, " extends :parent", 0);
- ZEPHIR_CALL_FUNCTION(&_18, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- zephir_concat_self(&output, _18 TSRMLS_CC);
- }
- zephir_concat_self_str(&output, SL(" (\n") TSRMLS_CC);
- _22 = zephir_fetch_nproperty_this(this_ptr, SL("_detailed"), PH_NOISY_CC);
- if (!(zephir_is_true(_22))) {
- ZEPHIR_CALL_FUNCTION(&_10, "get_object_vars", &_23, variable);
- zephir_check_call_status();
- zephir_is_iterable(_10, &_25, &_24, 0, 0, "phalcon/debug/dump.zep", 171);
- for (
- ; zephir_hash_get_current_data_ex(_25, (void**) &_26, &_24) == SUCCESS
- ; zephir_hash_move_forward_ex(_25, &_24)
- ) {
- ZEPHIR_GET_HMKEY(key, _25, _24);
- ZEPHIR_GET_HVALUE(value, _26);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_13, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
- add_assoc_stringl_ex(_12, SS(":type"), SL("public"), 1);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:key (:type) = ", 0);
- ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _13, _27);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _28, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- } else {
- do {
- Z_SET_ISREF_P(variable);
- ZEPHIR_CALL_FUNCTION(&attr, "each", &_29, variable);
- Z_UNSET_ISREF_P(variable);
- zephir_check_call_status();
- if (!(zephir_is_true(attr))) {
- continue;
- }
- ZEPHIR_OBS_NVAR(key);
- zephir_array_fetch_string(&key, attr, SL("key"), PH_NOISY, "phalcon/debug/dump.zep", 178 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(value);
- zephir_array_fetch_string(&value, attr, SL("value"), PH_NOISY, "phalcon/debug/dump.zep", 179 TSRMLS_CC);
- if (!(zephir_is_true(key))) {
- continue;
- }
- ZEPHIR_INIT_NVAR(_3);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "\\x00", 0);
- ZEPHIR_CALL_FUNCTION(&_10, "ord", &_30, &_5);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_13, "chr", &_31, _10);
- zephir_check_call_status();
- zephir_fast_explode(_3, _13, key, LONG_MAX TSRMLS_CC);
- ZEPHIR_CPY_WRT(key, _3);
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "public", 1);
- if (zephir_array_isset_long(key, 1)) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "private", 1);
- zephir_array_fetch_long(&_32, key, 1, PH_NOISY | PH_READONLY, "phalcon/debug/dump.zep", 190 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_32, "*")) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "protected", 1);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
- Z_SET_ISREF_P(key);
- ZEPHIR_CALL_FUNCTION(&_27, "end", &_33, key);
- Z_UNSET_ISREF_P(key);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":key"), &_27, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":type"), &type, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:key (:type) = ", 0);
- ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _18, _27);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _28, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- } while (zephir_is_true(attr));
- }
- ZEPHIR_CALL_FUNCTION(&attr, "get_class_methods", &_34, variable);
- zephir_check_call_status();
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- zephir_array_update_string(&_12, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_12, SS(":count"), zephir_fast_count_int(attr TSRMLS_CC));
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, ":class methods: (:count) (\n", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- _35 = zephir_fetch_nproperty_this(this_ptr, SL("_methods"), PH_NOISY_CC);
- if (zephir_fast_in_array(_3, _35 TSRMLS_CC)) {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, "[already listed]\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- } else {
- zephir_is_iterable(attr, &_37, &_36, 0, 0, "phalcon/debug/dump.zep", 214);
- for (
- ; zephir_hash_get_current_data_ex(_37, (void**) &_38, &_36) == SUCCESS
- ; zephir_hash_move_forward_ex(_37, &_36)
- ) {
- ZEPHIR_GET_HVALUE(value, _38);
- ZEPHIR_INIT_NVAR(_39);
- zephir_get_class(_39, variable, 0 TSRMLS_CC);
- zephir_update_property_array_append(this_ptr, SL("_methods"), _39 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(value, "__construct")) {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_39);
- ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _39);
- zephir_check_temp_parameter(_39);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":method"), &value, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:method(); [constructor]\n", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- } else {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_FUNCTION(&_27, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_40);
- zephir_create_array(_40, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_39);
- ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "getstyle", &_4, _39);
- zephir_check_temp_parameter(_39);
- zephir_check_call_status();
- zephir_array_update_string(&_40, SL(":style"), &_28, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_40, SL(":method"), &value, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:method();\n", 0);
- ZEPHIR_CALL_FUNCTION(&_28, "strtr", &_6, &_5, _40);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_41);
- ZEPHIR_CONCAT_VV(_41, _27, _28);
- zephir_concat_self(&output, _41 TSRMLS_CC);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, ")\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab - 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
- RETURN_MM();
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_info('", index, "')");
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
+
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(variable) == IS_LONG) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "int", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Integer (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
- ZEPHIR_CALL_FUNCTION(&_2, "is_float", &_42, variable);
- zephir_check_call_status();
- if (zephir_is_true(_2)) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "float", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Float (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_numeric(variable)) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "num", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Numeric string (:length) \":var\"", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_STRING) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "str", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, 4);
- ZEPHIR_SINIT_VAR(_43);
- ZVAL_STRING(&_43, "utf-8", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "htmlentities", &_44, variable, &_5, &_43);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_13, "nl2br", &_45, _2);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":var"), &_13, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "String (:length) \":var\"", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_BOOL) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "bool", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_LNVAR(_14);
- if (zephir_is_true(variable)) {
- ZEPHIR_INIT_NVAR(_14);
- ZVAL_STRING(_14, "TRUE", 1);
- } else {
- ZEPHIR_INIT_NVAR(_14);
- ZVAL_STRING(_14, "FALSE", 1);
- }
- zephir_array_update_string(&_1, SL(":var"), &_14, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Boolean (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_NULL) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 1, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "null", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "NULL", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "other", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "(:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA foreign_key_list('", table, "')");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, var) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
- zval *name = NULL;
- zval *variable, *name_param = NULL, *_1 = NULL, *_2, _3;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &variable, &name_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
- } else {
- zephir_get_strval(name, name_param);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
- ZEPHIR_INIT_VAR(_0);
- zephir_create_array(_0, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "pre", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_1, this_ptr, "getstyle", NULL, _2);
- zephir_check_temp_parameter(_2);
- zephir_check_call_status();
- zephir_array_update_string(&_0, SL(":style"), &_1, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_METHOD(&_1, this_ptr, "output", NULL, variable, name);
- zephir_check_call_status();
- zephir_array_update_string(&_0, SL(":output"), &_1, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_VAR(_3);
- ZVAL_STRING(&_3, ":output
", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_4, &_3, _0);
- zephir_check_call_status();
- RETURN_MM();
-
-}
-
-static PHP_METHOD(Phalcon_Debug_Dump, vars) {
-
- zephir_fcall_cache_entry *_7 = NULL;
- HashTable *_3;
- HashPosition _2;
- int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
- zval *key = NULL, *value = NULL, *output, *_0 = NULL, **_4, *_5 = NULL, *_6 = NULL;
-
- ZEPHIR_MM_GROW();
- ZEPHIR_INIT_VAR(output);
- ZVAL_STRING(output, "", 1);
- ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", &_1);
- zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/debug/dump.zep", 283);
- for (
- ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
- ; zephir_hash_move_forward_ex(_3, &_2)
- ) {
- ZEPHIR_GET_HMKEY(key, _3, _2);
- ZEPHIR_GET_HVALUE(value, _4);
- ZEPHIR_INIT_LNVAR(_6);
- ZEPHIR_CONCAT_SV(_6, "var ", key);
- ZEPHIR_CALL_METHOD(&_5, this_ptr, "one", &_7, value, _6);
- zephir_check_call_status();
- zephir_concat_self(&output, _5 TSRMLS_CC);
- }
- RETURN_CCTOR(output);
+ RETURN_MM_STRING("", 1);
}
@@ -52564,33 +53763,128 @@ static PHP_METHOD(Phalcon_Debug_Dump, vars) {
-ZEPHIR_INIT_CLASS(Phalcon_Debug_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler_Item) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Debug, Exception, phalcon, debug_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Profiler, Item, phalcon, db_profiler_item, phalcon_db_profiler_item_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlVariables"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlBindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_initialTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_finalTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlStatement) {
+ zval *sqlStatement;
+ zephir_fetch_params(0, 1, 0, &sqlStatement);
-#ifdef HAVE_CONFIG_H
-#endif
-#include
-#include
-#include
-#include
+ zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+}
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlStatement) {
-ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, Exception, phalcon, di_exception, phalcon_exception_ce, NULL, 0);
+ RETURN_MEMBER(this_ptr, "_sqlStatement");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlVariables) {
+
+ zval *sqlVariables;
+
+ zephir_fetch_params(0, 1, 0, &sqlVariables);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sqlVariables"), sqlVariables TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlVariables) {
+
+
+ RETURN_MEMBER(this_ptr, "_sqlVariables");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlBindTypes) {
+
+ zval *sqlBindTypes;
+
+ zephir_fetch_params(0, 1, 0, &sqlBindTypes);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sqlBindTypes"), sqlBindTypes TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlBindTypes) {
+
+
+ RETURN_MEMBER(this_ptr, "_sqlBindTypes");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setInitialTime) {
+
+ zval *initialTime;
+
+ zephir_fetch_params(0, 1, 0, &initialTime);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_initialTime"), initialTime TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getInitialTime) {
+
+
+ RETURN_MEMBER(this_ptr, "_initialTime");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setFinalTime) {
+
+ zval *finalTime;
+
+ zephir_fetch_params(0, 1, 0, &finalTime);
- return SUCCESS;
+
+
+ zephir_update_property_this(this_ptr, SL("_finalTime"), finalTime TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getFinalTime) {
+
+
+ RETURN_MEMBER(this_ptr, "_finalTime");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getTotalElapsedSeconds) {
+
+ zval *_0, *_1;
+
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_finalTime"), PH_NOISY_CC);
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_initialTime"), PH_NOISY_CC);
+ sub_function(return_value, _0, _1 TSRMLS_CC);
+ return;
}
@@ -52607,829 +53901,1087 @@ ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
#include
+#include
-ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, FactoryDefault, phalcon, di_factorydefault, phalcon_di_ce, phalcon_di_factorydefault_method_entry, 0);
+ZEPHIR_INIT_CLASS(Phalcon_Db_Result_Pdo) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Result, Pdo, phalcon, db_result_pdo, phalcon_db_result_pdo_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_connection"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_result"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_long(phalcon_db_result_pdo_ce, SL("_fetchMode"), 4, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_pdoStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindParams"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_db_result_pdo_ce, SL("_rowCount"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_db_result_pdo_ce TSRMLS_CC, 1, phalcon_db_resultinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_FactoryDefault, __construct) {
+static PHP_METHOD(Phalcon_Db_Result_Pdo, __construct) {
+
+ zval *connection, *result, *sqlStatement = NULL, *bindParams = NULL, *bindTypes = NULL;
+
+ zephir_fetch_params(0, 2, 3, &connection, &result, &sqlStatement, &bindParams, &bindTypes);
+
+ if (!sqlStatement) {
+ sqlStatement = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!bindParams) {
+ bindParams = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!bindTypes) {
+ bindTypes = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ zephir_update_property_this(this_ptr, SL("_connection"), connection TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_pdoStatement"), result TSRMLS_CC);
+ if (Z_TYPE_P(sqlStatement) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+ }
+ if (Z_TYPE_P(bindParams) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_bindParams"), bindParams TSRMLS_CC);
+ }
+ if (Z_TYPE_P(bindTypes) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_bindTypes"), bindTypes TSRMLS_CC);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, execute) {
- zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
- zval *_1;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL;
+ zval *_0;
ZEPHIR_MM_GROW();
- ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_ce, this_ptr, "__construct", &_0);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "execute", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 21, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_VAR(_3);
- ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_VAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Router", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_VAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetch) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("router"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchArray) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("dispatcher"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "url", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Url", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchAll) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetchall", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("url"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, numRows) {
+
+ zend_bool _0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *sqlStatement, *rowCount = NULL, *connection, *type = NULL, *pdoStatement, *matches, *result = NULL, *row = NULL, *_1, _2, *_3, *_4, *_5, *_6;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_OBS_VAR(rowCount);
+ zephir_read_property_this(&rowCount, this_ptr, SL("_rowCount"), PH_NOISY_CC);
+ if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
+ ZEPHIR_OBS_VAR(connection);
+ zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&type, connection, "gettype", NULL);
+ zephir_check_call_status();
+ _0 = ZEPHIR_IS_STRING(type, "mysql");
+ if (!(_0)) {
+ _0 = ZEPHIR_IS_STRING(type, "pgsql");
+ }
+ if (_0) {
+ ZEPHIR_OBS_VAR(pdoStatement);
+ zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&rowCount, pdoStatement, "rowcount", NULL);
+ zephir_check_call_status();
+ }
+ if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
+ ZEPHIR_OBS_VAR(sqlStatement);
+ zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
+ if (!(zephir_start_with_str(sqlStatement, SL("SELECT COUNT(*) ")))) {
+ ZEPHIR_INIT_VAR(matches);
+ ZVAL_NULL(matches);
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_STRING(&_2, "/^SELECT\\s+(.*)/i", 0);
+ zephir_preg_match(_1, &_2, sqlStatement, matches, 0, 0 , 0 TSRMLS_CC);
+ if (zephir_is_true(_1)) {
+ zephir_array_fetch_long(&_3, matches, 1, PH_NOISY | PH_READONLY, "phalcon/db/result/pdo.zep", 202 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_4);
+ ZEPHIR_CONCAT_SVS(_4, "SELECT COUNT(*) \"numrows\" FROM (SELECT ", _3, ")");
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_bindParams"), PH_NOISY_CC);
+ _6 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&result, connection, "query", NULL, _4, _5, _6);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL);
+ zephir_check_call_status();
+ ZEPHIR_OBS_NVAR(rowCount);
+ zephir_array_fetch_string(&rowCount, row, SL("numrows"), PH_NOISY, "phalcon/db/result/pdo.zep", 204 TSRMLS_CC);
+ }
+ } else {
+ ZEPHIR_INIT_NVAR(rowCount);
+ ZVAL_LONG(rowCount, 1);
+ }
+ }
+ zephir_update_property_this(this_ptr, SL("_rowCount"), rowCount TSRMLS_CC);
+ }
+ RETURN_CCTOR(rowCount);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, dataSeek) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *number_param = NULL, *connection, *pdo = NULL, *sqlStatement, *bindParams, *statement = NULL, *_0 = NULL, *_1;
+ long number;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &number_param);
+
+ number = zephir_get_intval(number_param);
+
+
+ { pdo_stmt_t *stmt; long n;
+ ZEPHIR_OBS_VAR(connection);
+ zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&pdo, connection, "getinternalhandler", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("modelsManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\MetaData\\Memory", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("modelsMetadata"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "response", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Response", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("response"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "cookies", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Response\\Cookies", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("cookies"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "request", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Request", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("request"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("filter"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "escaper", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Escaper", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("escaper"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "crypt", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Crypt", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("crypt"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("annotations"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "flash", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Flash\\Direct", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("flash"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "flashSession", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Flash\\Session", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("flashSession"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "tag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Tag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("tag"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "session", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Session\\Adapter\\Files", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("session"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Session\\Bag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("sessionBag"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "transactions", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "assets", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Assets\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("assets"), &_2, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(sqlStatement);
+ zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
+ ZEPHIR_OBS_VAR(bindParams);
+ zephir_read_property_this(&bindParams, this_ptr, SL("_bindParams"), PH_NOISY_CC);
+ if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
+ zephir_check_call_status();
+ if (Z_TYPE_P(statement) == IS_OBJECT) {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_0, connection, "executeprepared", NULL, statement, bindParams, _1);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(statement, _0);
+ }
+ } else {
+ ZEPHIR_CALL_METHOD(&statement, pdo, "query", NULL, sqlStatement);
+ zephir_check_call_status();
+ }
+ zephir_update_property_this(this_ptr, SL("_pdoStatement"), statement TSRMLS_CC);
+
+
+ stmt = (pdo_stmt_t*) zend_object_store_get_object(statement TSRMLS_CC);
+ if (!stmt->dbh) {
+ ZEPHIR_MM_RESTORE();
+ RETURN_FALSE;
+ }
+
+ n = -1;
+ number--;
+ while (n != number) {
+
+ if (!stmt->methods->fetcher(stmt, PDO_FETCH_ORI_NEXT, 0 TSRMLS_CC)) {
+ ZEPHIR_MM_RESTORE();
+ RETURN_NULL();
+ }
+
+ n++;
+ }
+
+ }
+
+
ZEPHIR_MM_RESTORE();
}
+static PHP_METHOD(Phalcon_Db_Result_Pdo, setFetchMode) {
+ zval *fetchMode_param = NULL, *pdoStatement, *_0 = NULL, *_1;
+ int fetchMode, ZEPHIR_LAST_CALL_STATUS;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &fetchMode_param);
-#ifdef HAVE_CONFIG_H
-#endif
+ fetchMode = zephir_get_intval(fetchMode_param);
-#include
-#include
-#include
-#include
+ ZEPHIR_OBS_VAR(pdoStatement);
+ zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ do {
+ if (fetchMode == 2) {
+ ZEPHIR_INIT_VAR(_0);
+ ZVAL_LONG(_0, 4);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 4);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 1) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 2);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 2);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 3) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 3);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 3);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 4) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 5);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 5);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ } while(0);
+ ZEPHIR_MM_RESTORE();
+}
-ZEPHIR_INIT_CLASS(Phalcon_Di_Injectable) {
+static PHP_METHOD(Phalcon_Db_Result_Pdo, getInternalResult) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Injectable, phalcon, di_injectable, phalcon_di_injectable_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
- zend_declare_property_null(phalcon_di_injectable_ce, SL("_dependencyInjector"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ RETURN_MEMBER(this_ptr, "_pdoStatement");
- zend_declare_property_null(phalcon_di_injectable_ce, SL("_eventsManager"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_di_injectionawareinterface_ce);
- zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_events_eventsawareinterface_ce);
- return SUCCESS;
-}
-static PHP_METHOD(Phalcon_Di_Injectable, setDI) {
- zval *dependencyInjector;
+#ifdef HAVE_CONFIG_H
+#endif
- zephir_fetch_params(0, 1, 0, &dependencyInjector);
+#include
+#include
+#include
+#include
- zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
-}
+ZEPHIR_INIT_CLASS(Phalcon_Debug_Dump) {
-static PHP_METHOD(Phalcon_Di_Injectable, getDI) {
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Debug, Dump, phalcon, debug_dump, phalcon_debug_dump_method_entry, 0);
- int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
- zval *dependencyInjector = NULL;
+ zend_declare_property_bool(phalcon_debug_dump_ce, SL("_detailed"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- ZEPHIR_MM_GROW();
+ zend_declare_property_null(phalcon_debug_dump_ce, SL("_methods"), ZEND_ACC_PROTECTED TSRMLS_CC);
- ZEPHIR_OBS_VAR(dependencyInjector);
- zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_0);
- zephir_check_call_status();
- }
- RETURN_CCTOR(dependencyInjector);
+ zend_declare_property_null(phalcon_debug_dump_ce, SL("_styles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_Injectable, setEventsManager) {
+static PHP_METHOD(Phalcon_Debug_Dump, getDetailed) {
- zval *eventsManager;
- zephir_fetch_params(0, 1, 0, &eventsManager);
+ RETURN_MEMBER(this_ptr, "_detailed");
+}
+static PHP_METHOD(Phalcon_Debug_Dump, setDetailed) {
- zephir_update_property_this(this_ptr, SL("_eventsManager"), eventsManager TSRMLS_CC);
+ zval *detailed;
-}
+ zephir_fetch_params(0, 1, 0, &detailed);
-static PHP_METHOD(Phalcon_Di_Injectable, getEventsManager) {
- RETURN_MEMBER(this_ptr, "_eventsManager");
+ zephir_update_property_this(this_ptr, SL("_detailed"), detailed TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Di_Injectable, __get) {
+static PHP_METHOD(Phalcon_Debug_Dump, __construct) {
- zval *_4;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_7 = NULL;
- zval *propertyName_param = NULL, *dependencyInjector = NULL, *service = NULL, *persistent = NULL, *_0, *_2 = NULL, *_3 = NULL, *_5 = NULL;
- zval *propertyName = NULL, *_6;
+ zend_bool detailed, _0;
+ zval *styles_param = NULL, *detailed_param = NULL, *_1;
+ zval *styles = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &propertyName_param);
+ zephir_fetch_params(1, 0, 2, &styles_param, &detailed_param);
- if (unlikely(Z_TYPE_P(propertyName_param) != IS_STRING && Z_TYPE_P(propertyName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'propertyName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ if (!styles_param) {
+ ZEPHIR_INIT_VAR(styles);
+ array_init(styles);
+ } else {
+ zephir_get_arrval(styles, styles_param);
}
-
- if (likely(Z_TYPE_P(propertyName_param) == IS_STRING)) {
- zephir_get_strval(propertyName, propertyName_param);
+ if (!detailed_param) {
+ detailed = 0;
} else {
- ZEPHIR_INIT_VAR(propertyName);
- ZVAL_EMPTY_STRING(propertyName);
+ detailed = zephir_get_boolval(detailed_param);
}
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _0);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
- zephir_check_call_status();
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "A dependency injection object is required to access the application services", "phalcon/di/injectable.zep", 127);
- return;
- }
- }
- ZEPHIR_CALL_METHOD(&_2, dependencyInjector, "has", NULL, propertyName);
- zephir_check_call_status();
- if (zephir_is_true(_2)) {
- ZEPHIR_CALL_METHOD(&service, dependencyInjector, "getshared", NULL, propertyName);
- zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, propertyName, service TSRMLS_CC);
- RETURN_CCTOR(service);
- }
- if (ZEPHIR_IS_STRING(propertyName, "di")) {
- zephir_update_property_zval(this_ptr, SL("di"), dependencyInjector TSRMLS_CC);
- RETURN_CCTOR(dependencyInjector);
+ _0 = zephir_is_true(styles);
+ if (_0) {
+ _0 = 1 != 1;
}
- if (ZEPHIR_IS_STRING(propertyName, "persistent")) {
- ZEPHIR_INIT_VAR(_4);
- zephir_create_array(_4, 1, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_5);
- zephir_get_class(_5, this_ptr, 0 TSRMLS_CC);
- zephir_array_fast_append(_4, _5);
- ZEPHIR_INIT_NVAR(_5);
- ZVAL_STRING(_5, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_3, dependencyInjector, "get", NULL, _5, _4);
- zephir_check_temp_parameter(_5);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(persistent, _3);
- zephir_update_property_zval(this_ptr, SL("persistent"), persistent TSRMLS_CC);
- RETURN_CCTOR(persistent);
+ if (_0) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 56);
+ return;
}
- ZEPHIR_INIT_VAR(_6);
- ZEPHIR_CONCAT_SV(_6, "Access to undefined property ", propertyName);
- ZEPHIR_CALL_FUNCTION(NULL, "trigger_error", &_7, _6);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "setstyles", NULL, styles);
zephir_check_call_status();
- RETURN_MM_NULL();
+ ZEPHIR_INIT_VAR(_1);
+ array_init(_1);
+ zephir_update_property_this(this_ptr, SL("_methods"), _1 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_detailed"), detailed ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
}
+static PHP_METHOD(Phalcon_Debug_Dump, all) {
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ zval *_1, *_2 = NULL;
+ zval *_0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ ZEPHIR_MM_GROW();
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(_0, this_ptr);
+ ZEPHIR_INIT_VAR(_1);
+ ZVAL_STRING(_1, "variables", 1);
+ zephir_array_fast_append(_0, _1);
+ ZEPHIR_CALL_FUNCTION(&_2, "func_get_args", &_3);
+ zephir_check_call_status();
+ ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, _0, _2);
+ zephir_check_call_status();
+ RETURN_MM();
-#include
+}
+static PHP_METHOD(Phalcon_Debug_Dump, getStyle) {
+ zval *type_param = NULL, *style, *_0;
+ zval *type = NULL;
-ZEPHIR_INIT_CLASS(Phalcon_Di_InjectionAwareInterface) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &type_param);
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, InjectionAwareInterface, phalcon, di_injectionawareinterface, phalcon_di_injectionawareinterface_method_entry);
+ if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- return SUCCESS;
+ if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
+ zephir_get_strval(type, type_param);
+ } else {
+ ZEPHIR_INIT_VAR(type);
+ ZVAL_EMPTY_STRING(type);
+ }
-}
-ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, setDI);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_styles"), PH_NOISY_CC);
+ if (zephir_array_isset_fetch(&style, _0, type, 1 TSRMLS_CC)) {
+ RETURN_CTOR(style);
+ } else {
+ RETURN_MM_STRING("color:gray", 1);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, getDI);
+}
+static PHP_METHOD(Phalcon_Debug_Dump, setStyles) {
+ zval *styles = NULL, *defaultStyles, *_0;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &styles);
-#ifdef HAVE_CONFIG_H
-#endif
+ if (!styles) {
+ ZEPHIR_CPY_WRT(styles, ZEPHIR_GLOBAL(global_null));
+ } else {
+ ZEPHIR_SEPARATE_PARAM(styles);
+ }
-#include
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Di_Service) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Service, phalcon, di_service, phalcon_di_service_method_entry, 0);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_definition"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_di_service_ce, SL("_shared"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_di_service_ce, SL("_resolved"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_sharedInstance"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_class_implements(phalcon_di_service_ce TSRMLS_CC, 1, phalcon_di_serviceinterface_ce);
- return SUCCESS;
+ if (Z_TYPE_P(styles) == IS_NULL) {
+ ZEPHIR_INIT_NVAR(styles);
+ array_init(styles);
+ }
+ if (Z_TYPE_P(styles) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 100);
+ return;
+ }
+ ZEPHIR_INIT_VAR(defaultStyles);
+ zephir_create_array(defaultStyles, 11, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(defaultStyles, SS("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("arr"), SL("color:red"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("bool"), SL("color:green"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("float"), SL("color:fuchsia"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("int"), SL("color:blue"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("null"), SL("color:black"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("num"), SL("color:navy"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("obj"), SL("color:purple"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("other"), SL("color:maroon"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("res"), SL("color:lime"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("str"), SL("color:teal"), 1);
+ ZEPHIR_INIT_VAR(_0);
+ zephir_fast_array_merge(_0, &(defaultStyles), &(styles) TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_styles"), _0 TSRMLS_CC);
+ RETURN_MM_MEMBER(this_ptr, "_styles");
}
-static PHP_METHOD(Phalcon_Di_Service, __construct) {
+static PHP_METHOD(Phalcon_Debug_Dump, one) {
- zend_bool shared;
- zval *name_param = NULL, *definition, *shared_param = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
zval *name = NULL;
+ zval *variable, *name_param = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &name_param, &definition, &shared_param);
-
- if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 1, &variable, &name_param);
- if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
- zephir_get_strval(name, name_param);
- } else {
+ if (!name_param) {
ZEPHIR_INIT_VAR(name);
ZVAL_EMPTY_STRING(name);
- }
- if (!shared_param) {
- shared = 0;
} else {
- shared = zephir_get_boolval(shared_param);
+ zephir_get_strval(name, name_param);
}
- zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, getName) {
-
-
- RETURN_MEMBER(this_ptr, "_name");
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setShared) {
-
- zval *shared_param = NULL;
- zend_bool shared;
-
- zephir_fetch_params(0, 1, 0, &shared_param);
-
- shared = zephir_get_boolval(shared_param);
-
-
- zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, isShared) {
-
-
- RETURN_MEMBER(this_ptr, "_shared");
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setSharedInstance) {
-
- zval *sharedInstance;
-
- zephir_fetch_params(0, 1, 0, &sharedInstance);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sharedInstance"), sharedInstance TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setDefinition) {
-
- zval *definition;
-
- zephir_fetch_params(0, 1, 0, &definition);
-
-
-
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, getDefinition) {
-
-
- RETURN_MEMBER(this_ptr, "_definition");
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "variable", NULL, variable, name);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, resolve) {
+static PHP_METHOD(Phalcon_Debug_Dump, output) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_7 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zend_bool found;
- zval *parameters = NULL, *dependencyInjector = NULL, *shared, *definition, *sharedInstance, *instance = NULL, *builder, *reflection = NULL, *_4, *_5, *_6;
+ zend_bool _15, _16, _17;
+ HashTable *_8, *_25, *_37;
+ HashPosition _7, _24, _36;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_11 = NULL, *_19 = NULL, *_21 = NULL, *_23 = NULL, *_29 = NULL, *_30 = NULL, *_31 = NULL, *_33 = NULL, *_34 = NULL, *_42 = NULL, *_44 = NULL, *_45 = NULL;
+ zephir_fcall_cache_entry *_4 = NULL;
+ zval *_1 = NULL, *_12 = NULL, *_40 = NULL;
+ int tab, ZEPHIR_LAST_CALL_STATUS;
+ zval *name = NULL, *_0;
+ zval *variable, *name_param = NULL, *tab_param = NULL, *key = NULL, *value = NULL, *output = NULL, *space, *type = NULL, *attr = NULL, *_2 = NULL, *_3 = NULL, _5 = zval_used_for_init, **_9, *_10 = NULL, *_13 = NULL, *_14 = NULL, *_18 = NULL, *_20 = NULL, *_22, **_26, *_27 = NULL, *_28 = NULL, *_32, *_35, **_38, *_39 = NULL, *_41 = NULL, _43;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 2, ¶meters, &dependencyInjector);
+ zephir_fetch_params(1, 1, 2, &variable, &name_param, &tab_param);
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
+ if (!name_param) {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ } else {
+ zephir_get_strval(name, name_param);
}
- if (!dependencyInjector) {
- dependencyInjector = ZEPHIR_GLOBAL(global_null);
+ if (!tab_param) {
+ tab = 1;
+ } else {
+ tab = zephir_get_intval(tab_param);
}
- ZEPHIR_OBS_VAR(shared);
- zephir_read_property_this(&shared, this_ptr, SL("_shared"), PH_NOISY_CC);
- if (zephir_is_true(shared)) {
- ZEPHIR_OBS_VAR(sharedInstance);
- zephir_read_property_this(&sharedInstance, this_ptr, SL("_sharedInstance"), PH_NOISY_CC);
- if (Z_TYPE_P(sharedInstance) != IS_NULL) {
- RETURN_CCTOR(sharedInstance);
- }
+ ZEPHIR_INIT_VAR(space);
+ ZVAL_STRING(space, " ", 1);
+ ZEPHIR_INIT_VAR(output);
+ ZVAL_STRING(output, "", 1);
+ if (name && Z_STRLEN_P(name)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VS(_0, name, " ");
+ ZEPHIR_CPY_WRT(output, _0);
}
- found = 1;
- ZEPHIR_INIT_VAR(instance);
- ZVAL_NULL(instance);
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) == IS_STRING) {
- if (zephir_class_exists(definition, 1 TSRMLS_CC)) {
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- if (zephir_fast_count_int(parameters TSRMLS_CC)) {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_VAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, definition, parameters TSRMLS_CC);
- zephir_check_call_status();
- }
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+ if (Z_TYPE_P(variable) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_3);
+ ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":count"), zephir_fast_count_int(variable TSRMLS_CC));
+ ZEPHIR_SINIT_VAR(_5);
+ ZVAL_STRING(&_5, "Array (:count) (\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _2 TSRMLS_CC);
+ zephir_is_iterable(variable, &_8, &_7, 0, 0, "phalcon/debug/dump.zep", 154);
+ for (
+ ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
+ ; zephir_hash_move_forward_ex(_8, &_7)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _8, _7);
+ ZEPHIR_GET_HVALUE(value, _9);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "[:key] => ", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ _15 = tab == 1;
+ if (_15) {
+ _15 = !ZEPHIR_IS_STRING(name, "");
+ }
+ _16 = _15;
+ if (_16) {
+ _16 = !(Z_TYPE_P(key) == IS_LONG);
+ }
+ _17 = _16;
+ if (_17) {
+ _17 = ZEPHIR_IS_EQUAL(name, key);
+ }
+ if (_17) {
+ continue;
} else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
- zephir_check_call_status();
- }
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_18, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
}
- } else {
- found = 0;
}
- } else {
- if (Z_TYPE_P(definition) == IS_OBJECT) {
- if (zephir_instance_of_ev(definition, zend_ce_closure TSRMLS_CC)) {
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_USER_FUNC_ARRAY(instance, definition, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_USER_FUNC(instance, definition);
- zephir_check_call_status();
- }
- } else {
- ZEPHIR_CPY_WRT(instance, definition);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab - 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_OBJECT) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ zephir_array_update_string(&_1, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Object :class", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _2 TSRMLS_CC);
+ ZEPHIR_CALL_FUNCTION(&_13, "get_parent_class", &_21, variable);
+ zephir_check_call_status();
+ if (zephir_is_true(_13)) {
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_18, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_18, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_FUNCTION(&_18, "get_parent_class", &_21, variable);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":parent"), &_18, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, " extends :parent", 0);
+ ZEPHIR_CALL_FUNCTION(&_18, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _18 TSRMLS_CC);
+ }
+ zephir_concat_self_str(&output, SL(" (\n") TSRMLS_CC);
+ _22 = zephir_fetch_nproperty_this(this_ptr, SL("_detailed"), PH_NOISY_CC);
+ if (!(zephir_is_true(_22))) {
+ ZEPHIR_CALL_FUNCTION(&_10, "get_object_vars", &_23, variable);
+ zephir_check_call_status();
+ zephir_is_iterable(_10, &_25, &_24, 0, 0, "phalcon/debug/dump.zep", 171);
+ for (
+ ; zephir_hash_get_current_data_ex(_25, (void**) &_26, &_24) == SUCCESS
+ ; zephir_hash_move_forward_ex(_25, &_24)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _25, _24);
+ ZEPHIR_GET_HVALUE(value, _26);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_13, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
+ add_assoc_stringl_ex(_12, SS(":type"), SL("public"), 1);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:key (:type) = ", 0);
+ ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _13, _27);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _28, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
}
} else {
- if (Z_TYPE_P(definition) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(builder);
- object_init_ex(builder, phalcon_di_service_builder_ce);
- if (zephir_has_constructor(builder TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, builder, "__construct", NULL);
- zephir_check_call_status();
+ do {
+ Z_SET_ISREF_P(variable);
+ ZEPHIR_CALL_FUNCTION(&attr, "each", &_29, variable);
+ Z_UNSET_ISREF_P(variable);
+ zephir_check_call_status();
+ if (!(zephir_is_true(attr))) {
+ continue;
}
- ZEPHIR_CALL_METHOD(&instance, builder, "build", &_3, dependencyInjector, definition, parameters);
+ ZEPHIR_OBS_NVAR(key);
+ zephir_array_fetch_string(&key, attr, SL("key"), PH_NOISY, "phalcon/debug/dump.zep", 178 TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(value);
+ zephir_array_fetch_string(&value, attr, SL("value"), PH_NOISY, "phalcon/debug/dump.zep", 179 TSRMLS_CC);
+ if (!(zephir_is_true(key))) {
+ continue;
+ }
+ ZEPHIR_INIT_NVAR(_3);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "\\x00", 0);
+ ZEPHIR_CALL_FUNCTION(&_10, "ord", &_30, &_5);
zephir_check_call_status();
- } else {
- found = 0;
- }
+ ZEPHIR_CALL_FUNCTION(&_13, "chr", &_31, _10);
+ zephir_check_call_status();
+ zephir_fast_explode(_3, _13, key, LONG_MAX TSRMLS_CC);
+ ZEPHIR_CPY_WRT(key, _3);
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "public", 1);
+ if (zephir_array_isset_long(key, 1)) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "private", 1);
+ zephir_array_fetch_long(&_32, key, 1, PH_NOISY | PH_READONLY, "phalcon/debug/dump.zep", 190 TSRMLS_CC);
+ if (ZEPHIR_IS_STRING(_32, "*")) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "protected", 1);
+ }
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
+ Z_SET_ISREF_P(key);
+ ZEPHIR_CALL_FUNCTION(&_27, "end", &_33, key);
+ Z_UNSET_ISREF_P(key);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":key"), &_27, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":type"), &type, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:key (:type) = ", 0);
+ ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _18, _27);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _28, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ } while (zephir_is_true(attr));
}
- }
- if (found == 0) {
- ZEPHIR_INIT_VAR(_4);
- object_init_ex(_4, phalcon_di_exception_ce);
- _5 = zephir_fetch_nproperty_this(this_ptr, SL("_name"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_6);
- ZEPHIR_CONCAT_SVS(_6, "Service '", _5, "' cannot be resolved");
- ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_7, _6);
+ ZEPHIR_CALL_FUNCTION(&attr, "get_class_methods", &_34, variable);
zephir_check_call_status();
- zephir_throw_exception_debug(_4, "phalcon/di/service.zep", 212 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (zephir_is_true(shared)) {
- zephir_update_property_this(this_ptr, SL("_sharedInstance"), instance TSRMLS_CC);
- }
- zephir_update_property_this(this_ptr, SL("_resolved"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- RETURN_CCTOR(instance);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setParameter) {
-
- zval *parameter = NULL;
- zval *position_param = NULL, *parameter_param = NULL, *definition, *arguments = NULL;
- int position;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &position_param, ¶meter_param);
-
- position = zephir_get_intval(position_param);
- parameter = parameter_param;
-
-
-
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to update its parameters", "phalcon/di/service.zep", 236);
- return;
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ zephir_array_update_string(&_12, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_12, SS(":count"), zephir_fast_count_int(attr TSRMLS_CC));
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, ":class methods: (:count) (\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ _35 = zephir_fetch_nproperty_this(this_ptr, SL("_methods"), PH_NOISY_CC);
+ if (zephir_fast_in_array(_3, _35 TSRMLS_CC)) {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, "[already listed]\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ } else {
+ zephir_is_iterable(attr, &_37, &_36, 0, 0, "phalcon/debug/dump.zep", 214);
+ for (
+ ; zephir_hash_get_current_data_ex(_37, (void**) &_38, &_36) == SUCCESS
+ ; zephir_hash_move_forward_ex(_37, &_36)
+ ) {
+ ZEPHIR_GET_HVALUE(value, _38);
+ ZEPHIR_INIT_NVAR(_39);
+ zephir_get_class(_39, variable, 0 TSRMLS_CC);
+ zephir_update_property_array_append(this_ptr, SL("_methods"), _39 TSRMLS_CC);
+ if (ZEPHIR_IS_STRING(value, "__construct")) {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_39);
+ ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _39);
+ zephir_check_temp_parameter(_39);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":method"), &value, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:method(); [constructor]\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ } else {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_FUNCTION(&_27, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_40);
+ zephir_create_array(_40, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_39);
+ ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "getstyle", &_4, _39);
+ zephir_check_temp_parameter(_39);
+ zephir_check_call_status();
+ zephir_array_update_string(&_40, SL(":style"), &_28, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_40, SL(":method"), &value, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:method();\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_28, "strtr", &_6, &_5, _40);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_41);
+ ZEPHIR_CONCAT_VV(_41, _27, _28);
+ zephir_concat_self(&output, _41 TSRMLS_CC);
+ }
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, ")\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab - 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
+ RETURN_MM();
}
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
- zephir_array_update_long(&arguments, position, ¶meter, PH_COPY | PH_SEPARATE, "phalcon/di/service.zep", 243);
- } else {
- ZEPHIR_INIT_NVAR(arguments);
- zephir_create_array(arguments, 1, 0 TSRMLS_CC);
- zephir_array_update_long(&arguments, position, ¶meter, PH_COPY, "phalcon/di/service.zep", 245);
+ if (Z_TYPE_P(variable) == IS_LONG) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "int", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Integer (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
}
- zephir_array_update_string(&definition, SL("arguments"), &arguments, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
- RETURN_THIS();
+ ZEPHIR_CALL_FUNCTION(&_2, "is_float", &_42, variable);
+ zephir_check_call_status();
+ if (zephir_is_true(_2)) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "float", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Float (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (zephir_is_numeric(variable)) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "num", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Numeric string (:length) \":var\"", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_STRING) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "str", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, 4);
+ ZEPHIR_SINIT_VAR(_43);
+ ZVAL_STRING(&_43, "utf-8", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "htmlentities", &_44, variable, &_5, &_43);
+ zephir_check_call_status();
+ ZEPHIR_CALL_FUNCTION(&_13, "nl2br", &_45, _2);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":var"), &_13, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "String (:length) \":var\"", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_BOOL) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "bool", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_LNVAR(_14);
+ if (zephir_is_true(variable)) {
+ ZEPHIR_INIT_NVAR(_14);
+ ZVAL_STRING(_14, "TRUE", 1);
+ } else {
+ ZEPHIR_INIT_NVAR(_14);
+ ZVAL_STRING(_14, "FALSE", 1);
+ }
+ zephir_array_update_string(&_1, SL(":var"), &_14, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Boolean (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_NULL) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 1, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "null", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "NULL", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "other", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "(:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, getParameter) {
+static PHP_METHOD(Phalcon_Debug_Dump, variable) {
- zval *position_param = NULL, *definition, *arguments, *parameter;
- int position;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+ zval *name = NULL;
+ zval *variable, *name_param = NULL, *_1 = NULL, *_2, _3;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &position_param);
-
- position = zephir_get_intval(position_param);
-
+ zephir_fetch_params(1, 1, 1, &variable, &name_param);
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to obtain its parameters", "phalcon/di/service.zep", 273);
- return;
- }
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 1 TSRMLS_CC)) {
- if (zephir_array_isset_long_fetch(¶meter, arguments, position, 1 TSRMLS_CC)) {
- RETURN_CTOR(parameter);
- }
+ if (!name_param) {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ } else {
+ zephir_get_strval(name, name_param);
}
- RETURN_MM_NULL();
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, isResolved) {
- RETURN_MEMBER(this_ptr, "_resolved");
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_2);
+ ZVAL_STRING(_2, "pre", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "getstyle", NULL, _2);
+ zephir_check_temp_parameter(_2);
+ zephir_check_call_status();
+ zephir_array_update_string(&_0, SL(":style"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "output", NULL, variable, name);
+ zephir_check_call_status();
+ zephir_array_update_string(&_0, SL(":output"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_VAR(_3);
+ ZVAL_STRING(&_3, ":output
", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_4, &_3, _0);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, __set_state) {
+static PHP_METHOD(Phalcon_Debug_Dump, variables) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zephir_fcall_cache_entry *_7 = NULL;
+ HashTable *_3;
+ HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *attributes_param = NULL, *name, *definition, *shared;
- zval *attributes = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *key = NULL, *value = NULL, *output, *_0 = NULL, **_4, *_5 = NULL, *_6 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &attributes_param);
-
- attributes = attributes_param;
-
-
- ZEPHIR_OBS_VAR(name);
- if (!(zephir_array_isset_string_fetch(&name, attributes, SS("_name"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_name' is required", "phalcon/di/service.zep", 304);
- return;
- }
- ZEPHIR_OBS_VAR(definition);
- if (!(zephir_array_isset_string_fetch(&definition, attributes, SS("_definition"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_definition' is required", "phalcon/di/service.zep", 308);
- return;
- }
- ZEPHIR_OBS_VAR(shared);
- if (!(zephir_array_isset_string_fetch(&shared, attributes, SS("_shared"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_shared' is required", "phalcon/di/service.zep", 312);
- return;
- }
- object_init_ex(return_value, phalcon_di_service_ce);
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, name, definition, shared);
+ ZEPHIR_INIT_VAR(output);
+ ZVAL_STRING(output, "", 1);
+ ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", &_1);
zephir_check_call_status();
- RETURN_MM();
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/debug/dump.zep", 283);
+ for (
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _3, _2);
+ ZEPHIR_GET_HVALUE(value, _4);
+ ZEPHIR_INIT_LNVAR(_6);
+ ZEPHIR_CONCAT_SV(_6, "var ", key);
+ ZEPHIR_CALL_METHOD(&_5, this_ptr, "one", &_7, value, _6);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _5 TSRMLS_CC);
+ }
+ RETURN_CCTOR(output);
}
@@ -53441,33 +54993,41 @@ static PHP_METHOD(Phalcon_Di_Service, __set_state) {
#include
+#include
#include
+#include
-ZEPHIR_INIT_CLASS(Phalcon_Di_ServiceInterface) {
+ZEPHIR_INIT_CLASS(Phalcon_Debug_Exception) {
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, ServiceInterface, phalcon, di_serviceinterface, phalcon_di_serviceinterface_method_entry);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Debug, Exception, phalcon, debug_exception, phalcon_exception_ce, NULL, 0);
return SUCCESS;
}
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __construct);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getName);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setShared);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, isShared);
+#ifdef HAVE_CONFIG_H
+#endif
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setDefinition);
+#include
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getDefinition);
+#include
+#include
+#include
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, resolve);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
+
+ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, Exception, phalcon, di_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
@@ -53483,15 +55043,15 @@ ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
-ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault_Cli) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di\\FactoryDefault, Cli, phalcon, di_factorydefault_cli, phalcon_di_factorydefault_ce, phalcon_di_factorydefault_cli_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, FactoryDefault, phalcon, di_factorydefault, phalcon_di_ce, phalcon_di_factorydefault_method_entry, 0);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
+static PHP_METHOD(Phalcon_Di_FactoryDefault, __construct) {
zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
zval *_1;
@@ -53500,16 +55060,16 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_MM_GROW();
- ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_cli_ce, this_ptr, "__construct", &_0);
+ ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_ce, this_ptr, "__construct", &_0);
zephir_check_call_status();
ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 10, 0 TSRMLS_CC);
+ zephir_create_array(_1, 21, 0 TSRMLS_CC);
ZEPHIR_INIT_VAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_VAR(_3);
ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_VAR(_4);
- ZVAL_STRING(_4, "Phalcon\\CLI\\Router", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Router", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_VAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
@@ -53522,7 +55082,7 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\CLI\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
@@ -53533,6 +55093,19 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "url", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Url", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("url"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
@@ -53559,6 +55132,45 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "response", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Response", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("response"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "cookies", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Response\\Cookies", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("cookies"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "request", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Request", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("request"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
@@ -53585,6 +55197,32 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "crypt", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Crypt", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("crypt"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
@@ -53598,424 +55236,253 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "flash", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Flash\\Direct", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("flash"), &_2, PH_COPY | PH_SEPARATE);
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "flashSession", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Flash\\Session", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("flashSession"), &_2, PH_COPY | PH_SEPARATE);
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "transactionManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "tag", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Tag", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
-
-}
-
-
-
-
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Di_Service_Builder) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di\\Service, Builder, phalcon, di_service_builder, phalcon_di_service_builder_method_entry, 0);
-
- return SUCCESS;
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameter) {
-
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- zval *_2 = NULL;
- zval *argument = NULL;
- int position, ZEPHIR_LAST_CALL_STATUS;
- zval *dependencyInjector, *position_param = NULL, *argument_param = NULL, *type, *name = NULL, *value, *instanceArguments, *_0 = NULL, _1 = zval_used_for_init;
+ zephir_array_update_string(&_1, SL("tag"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "session", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Session\\Adapter\\Files", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("session"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Session\\Bag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("sessionBag"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "transactions", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "assets", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Assets\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("assets"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &dependencyInjector, &position_param, &argument_param);
+}
- position = zephir_get_intval(position_param);
- argument = argument_param;
- ZEPHIR_OBS_VAR(type);
- if (!(zephir_array_isset_string_fetch(&type, argument, SS("type"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_VAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_VAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_VAR(_2);
- ZEPHIR_CONCAT_SVS(_2, "Argument at position ", &_1, " must have a type");
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 49 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- do {
- if (ZEPHIR_IS_STRING(type, "service")) {
- ZEPHIR_OBS_VAR(name);
- if (!(zephir_array_isset_string_fetch(&name, argument, SS("name"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'name' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 59 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 62);
- return;
- }
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "parameter")) {
- ZEPHIR_OBS_VAR(value);
- if (!(zephir_array_isset_string_fetch(&value, argument, SS("value"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'value' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 71 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- RETURN_CCTOR(value);
- }
- if (ZEPHIR_IS_STRING(type, "instance")) {
- ZEPHIR_OBS_NVAR(name);
- if (!(zephir_array_isset_string_fetch(&name, argument, SS("className"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'className' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 81 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 85);
- return;
- }
- ZEPHIR_OBS_VAR(instanceArguments);
- if (zephir_array_isset_string_fetch(&instanceArguments, argument, SS("arguments"), 0 TSRMLS_CC)) {
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name, instanceArguments);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Unknown service type in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 104 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- } while(0);
+#ifdef HAVE_CONFIG_H
+#endif
- ZEPHIR_MM_RESTORE();
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Di_Injectable) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Injectable, phalcon, di_injectable, phalcon_di_injectable_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
+
+ zend_declare_property_null(phalcon_di_injectable_ce, SL("_dependencyInjector"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_di_injectable_ce, SL("_eventsManager"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_di_injectionawareinterface_ce);
+ zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_events_eventsawareinterface_ce);
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameters) {
+static PHP_METHOD(Phalcon_Di_Injectable, setDI) {
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- HashTable *_1;
- HashPosition _0;
- zval *arguments = NULL;
- zval *dependencyInjector, *arguments_param = NULL, *position = NULL, *argument = NULL, *buildArguments, **_2, *_3 = NULL;
+ zval *dependencyInjector;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &dependencyInjector, &arguments_param);
+ zephir_fetch_params(0, 1, 0, &dependencyInjector);
- arguments = arguments_param;
+ zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
- ZEPHIR_INIT_VAR(buildArguments);
- array_init(buildArguments);
- zephir_is_iterable(arguments, &_1, &_0, 0, 0, "phalcon/di/service/builder.zep", 119);
- for (
- ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
- ; zephir_hash_move_forward_ex(_1, &_0)
- ) {
- ZEPHIR_GET_HMKEY(position, _1, _0);
- ZEPHIR_GET_HVALUE(argument, _2);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_4, dependencyInjector, position, argument);
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, getDI) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zval *dependencyInjector = NULL;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_OBS_VAR(dependencyInjector);
+ zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_0);
zephir_check_call_status();
- zephir_array_append(&buildArguments, _3, PH_SEPARATE, "phalcon/di/service/builder.zep", 117);
}
- RETURN_CCTOR(buildArguments);
+ RETURN_CCTOR(dependencyInjector);
}
-static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
+static PHP_METHOD(Phalcon_Di_Injectable, setEventsManager) {
- zephir_fcall_cache_entry *_10 = NULL;
- HashTable *_6, *_12;
- HashPosition _5, _11;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_15 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *definition = NULL;
- zval *dependencyInjector, *definition_param = NULL, *parameters = NULL, *className, *arguments = NULL, *paramCalls = NULL, *methodPosition = NULL, *method = NULL, *methodName = NULL, *methodCall = NULL, *instance = NULL, *propertyPosition = NULL, *property = NULL, *propertyName = NULL, *propertyValue = NULL, *reflection = NULL, *_3 = NULL, **_7, *_8 = NULL, *_9 = NULL, **_13, *_14 = NULL;
+ zval *eventsManager;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &dependencyInjector, &definition_param, ¶meters);
+ zephir_fetch_params(0, 1, 0, &eventsManager);
- definition = definition_param;
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
- }
+ zephir_update_property_this(this_ptr, SL("_eventsManager"), eventsManager TSRMLS_CC);
- ZEPHIR_OBS_VAR(className);
- if (!(zephir_array_isset_string_fetch(&className, definition, SS("className"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Invalid service definition. Missing 'className' parameter", "phalcon/di/service/builder.zep", 140);
- return;
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, getEventsManager) {
+
+
+ RETURN_MEMBER(this_ptr, "_eventsManager");
+
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, __get) {
+
+ zval *_4;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_7 = NULL;
+ zval *propertyName_param = NULL, *dependencyInjector = NULL, *service = NULL, *persistent = NULL, *_0, *_2 = NULL, *_3 = NULL, *_5 = NULL;
+ zval *propertyName = NULL, *_6;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &propertyName_param);
+
+ if (unlikely(Z_TYPE_P(propertyName_param) != IS_STRING && Z_TYPE_P(propertyName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'propertyName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- if (zephir_fast_count_int(parameters TSRMLS_CC)) {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_VAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, parameters TSRMLS_CC);
- zephir_check_call_status();
- }
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+
+ if (likely(Z_TYPE_P(propertyName_param) == IS_STRING)) {
+ zephir_get_strval(propertyName, propertyName_param);
} else {
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
- zephir_check_call_status();
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, _3 TSRMLS_CC);
- zephir_check_call_status();
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+ ZEPHIR_INIT_VAR(propertyName);
+ ZVAL_EMPTY_STRING(propertyName);
}
- ZEPHIR_OBS_VAR(paramCalls);
- if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("calls"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(instance) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has setter injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 192);
- return;
- }
- if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 196);
+
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
+ ZEPHIR_CPY_WRT(dependencyInjector, _0);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
+ zephir_check_call_status();
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "A dependency injection object is required to access the application services", "phalcon/di/injectable.zep", 127);
return;
}
- zephir_is_iterable(paramCalls, &_6, &_5, 0, 0, "phalcon/di/service/builder.zep", 250);
- for (
- ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
- ; zephir_hash_move_forward_ex(_6, &_5)
- ) {
- ZEPHIR_GET_HMKEY(methodPosition, _6, _5);
- ZEPHIR_GET_HVALUE(method, _7);
- if (Z_TYPE_P(method) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Method call must be an array on position ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 208 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(methodName);
- if (!(zephir_array_isset_string_fetch(&methodName, method, SS("method"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The method name is required on position ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 215 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_INIT_NVAR(methodCall);
- zephir_create_array(methodCall, 2, 0 TSRMLS_CC);
- zephir_array_fast_append(methodCall, instance);
- zephir_array_fast_append(methodCall, methodName);
- ZEPHIR_OBS_NVAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, method, SS("arguments"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(arguments) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Call arguments must be an array ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 226 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (zephir_fast_count_int(arguments TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(_8);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
- zephir_check_call_status();
- ZEPHIR_CALL_USER_FUNC_ARRAY(_8, methodCall, _3);
- zephir_check_call_status();
- continue;
- }
- }
- ZEPHIR_INIT_NVAR(_8);
- ZEPHIR_CALL_USER_FUNC(_8, methodCall);
- zephir_check_call_status();
- }
}
- ZEPHIR_OBS_NVAR(paramCalls);
- if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("properties"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(instance) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has properties injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 258);
- return;
- }
- if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 262);
- return;
- }
- zephir_is_iterable(paramCalls, &_12, &_11, 0, 0, "phalcon/di/service/builder.zep", 297);
- for (
- ; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
- ; zephir_hash_move_forward_ex(_12, &_11)
- ) {
- ZEPHIR_GET_HMKEY(propertyPosition, _12, _11);
- ZEPHIR_GET_HVALUE(property, _13);
- if (Z_TYPE_P(property) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_14);
- object_init_ex(_14, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Property must be an array on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _14, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_14, "phalcon/di/service/builder.zep", 274 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(propertyName);
- if (!(zephir_array_isset_string_fetch(&propertyName, property, SS("name"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The property name is required on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 281 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(propertyValue);
- if (!(zephir_array_isset_string_fetch(&propertyValue, property, SS("value"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The property value is required on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 288 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_15, dependencyInjector, propertyPosition, propertyValue);
- zephir_check_call_status();
- zephir_update_property_zval_zval(instance, propertyName, _3 TSRMLS_CC);
- }
+ ZEPHIR_CALL_METHOD(&_2, dependencyInjector, "has", NULL, propertyName);
+ zephir_check_call_status();
+ if (zephir_is_true(_2)) {
+ ZEPHIR_CALL_METHOD(&service, dependencyInjector, "getshared", NULL, propertyName);
+ zephir_check_call_status();
+ zephir_update_property_zval_zval(this_ptr, propertyName, service TSRMLS_CC);
+ RETURN_CCTOR(service);
}
- RETURN_CCTOR(instance);
+ if (ZEPHIR_IS_STRING(propertyName, "di")) {
+ zephir_update_property_zval(this_ptr, SL("di"), dependencyInjector TSRMLS_CC);
+ RETURN_CCTOR(dependencyInjector);
+ }
+ if (ZEPHIR_IS_STRING(propertyName, "persistent")) {
+ ZEPHIR_INIT_VAR(_4);
+ zephir_create_array(_4, 1, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_5);
+ zephir_get_class(_5, this_ptr, 0 TSRMLS_CC);
+ zephir_array_fast_append(_4, _5);
+ ZEPHIR_INIT_NVAR(_5);
+ ZVAL_STRING(_5, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_3, dependencyInjector, "get", NULL, _5, _4);
+ zephir_check_temp_parameter(_5);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(persistent, _3);
+ zephir_update_property_zval(this_ptr, SL("persistent"), persistent TSRMLS_CC);
+ RETURN_CCTOR(persistent);
+ }
+ ZEPHIR_INIT_VAR(_6);
+ ZEPHIR_CONCAT_SV(_6, "Access to undefined property ", propertyName);
+ ZEPHIR_CALL_FUNCTION(NULL, "trigger_error", &_7, _6);
+ zephir_check_call_status();
+ RETURN_MM_NULL();
}
@@ -54027,20 +55494,22 @@ static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
#include
-#include
#include
-#include
-ZEPHIR_INIT_CLASS(Phalcon_Escaper_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_InjectionAwareInterface) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Escaper, Exception, phalcon, escaper_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, InjectionAwareInterface, phalcon, di_injectionawareinterface, phalcon_di_injectionawareinterface_method_entry);
return SUCCESS;
}
+ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, setDI);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, getDI);
+
@@ -54055,136 +55524,347 @@ ZEPHIR_INIT_CLASS(Phalcon_Escaper_Exception) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_Event) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_Service) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Event, phalcon, events_event, phalcon_events_event_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Service, phalcon, di_service, phalcon_di_service_method_entry, 0);
- zend_declare_property_null(phalcon_events_event_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_events_event_ce, SL("_source"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_definition"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_events_event_ce, SL("_data"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(phalcon_di_service_ce, SL("_shared"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_bool(phalcon_events_event_ce, SL("_stopped"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(phalcon_di_service_ce, SL("_resolved"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_bool(phalcon_events_event_ce, SL("_cancelable"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_sharedInstance"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_class_implements(phalcon_di_service_ce TSRMLS_CC, 1, phalcon_di_serviceinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Event, setType) {
+static PHP_METHOD(Phalcon_Di_Service, __construct) {
- zval *type;
+ zend_bool shared;
+ zval *name_param = NULL, *definition, *shared_param = NULL;
+ zval *name = NULL;
- zephir_fetch_params(0, 1, 0, &type);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &name_param, &definition, &shared_param);
+
+ if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
+ zephir_get_strval(name, name_param);
+ } else {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ }
+ if (!shared_param) {
+ shared = 0;
+ } else {
+ shared = zephir_get_boolval(shared_param);
+ }
- zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
}
-static PHP_METHOD(Phalcon_Events_Event, getType) {
+static PHP_METHOD(Phalcon_Di_Service, getName) {
- RETURN_MEMBER(this_ptr, "_type");
+ RETURN_MEMBER(this_ptr, "_name");
}
-static PHP_METHOD(Phalcon_Events_Event, getSource) {
+static PHP_METHOD(Phalcon_Di_Service, setShared) {
+ zval *shared_param = NULL;
+ zend_bool shared;
- RETURN_MEMBER(this_ptr, "_source");
+ zephir_fetch_params(0, 1, 0, &shared_param);
+
+ shared = zephir_get_boolval(shared_param);
+
+
+ zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, setData) {
+static PHP_METHOD(Phalcon_Di_Service, isShared) {
- zval *data;
- zephir_fetch_params(0, 1, 0, &data);
+ RETURN_MEMBER(this_ptr, "_shared");
+
+}
+static PHP_METHOD(Phalcon_Di_Service, setSharedInstance) {
+ zval *sharedInstance;
- zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+ zephir_fetch_params(0, 1, 0, &sharedInstance);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sharedInstance"), sharedInstance TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, getData) {
+static PHP_METHOD(Phalcon_Di_Service, setDefinition) {
+ zval *definition;
- RETURN_MEMBER(this_ptr, "_data");
+ zephir_fetch_params(0, 1, 0, &definition);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, getCancelable) {
+static PHP_METHOD(Phalcon_Di_Service, getDefinition) {
- RETURN_MEMBER(this_ptr, "_cancelable");
+ RETURN_MEMBER(this_ptr, "_definition");
}
-static PHP_METHOD(Phalcon_Events_Event, __construct) {
+static PHP_METHOD(Phalcon_Di_Service, resolve) {
- zend_bool cancelable;
- zval *type_param = NULL, *source, *data = NULL, *cancelable_param = NULL;
- zval *type = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_7 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool found;
+ zval *parameters = NULL, *dependencyInjector = NULL, *shared, *definition, *sharedInstance, *instance = NULL, *builder, *reflection = NULL, *_4, *_5, *_6;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 2, &type_param, &source, &data, &cancelable_param);
+ zephir_fetch_params(1, 0, 2, ¶meters, &dependencyInjector);
- if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ if (!parameters) {
+ parameters = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!dependencyInjector) {
+ dependencyInjector = ZEPHIR_GLOBAL(global_null);
}
- if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
- zephir_get_strval(type, type_param);
+
+ ZEPHIR_OBS_VAR(shared);
+ zephir_read_property_this(&shared, this_ptr, SL("_shared"), PH_NOISY_CC);
+ if (zephir_is_true(shared)) {
+ ZEPHIR_OBS_VAR(sharedInstance);
+ zephir_read_property_this(&sharedInstance, this_ptr, SL("_sharedInstance"), PH_NOISY_CC);
+ if (Z_TYPE_P(sharedInstance) != IS_NULL) {
+ RETURN_CCTOR(sharedInstance);
+ }
+ }
+ found = 1;
+ ZEPHIR_INIT_VAR(instance);
+ ZVAL_NULL(instance);
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) == IS_STRING) {
+ if (zephir_class_exists(definition, 1 TSRMLS_CC)) {
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ if (zephir_fast_count_int(parameters TSRMLS_CC)) {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_VAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, definition, parameters TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ found = 0;
+ }
} else {
- ZEPHIR_INIT_VAR(type);
- ZVAL_EMPTY_STRING(type);
+ if (Z_TYPE_P(definition) == IS_OBJECT) {
+ if (zephir_instance_of_ev(definition, zend_ce_closure TSRMLS_CC)) {
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_USER_FUNC_ARRAY(instance, definition, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_USER_FUNC(instance, definition);
+ zephir_check_call_status();
+ }
+ } else {
+ ZEPHIR_CPY_WRT(instance, definition);
+ }
+ } else {
+ if (Z_TYPE_P(definition) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(builder);
+ object_init_ex(builder, phalcon_di_service_builder_ce);
+ if (zephir_has_constructor(builder TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, builder, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CALL_METHOD(&instance, builder, "build", &_3, dependencyInjector, definition, parameters);
+ zephir_check_call_status();
+ } else {
+ found = 0;
+ }
+ }
}
- if (!data) {
- data = ZEPHIR_GLOBAL(global_null);
+ if (found == 0) {
+ ZEPHIR_INIT_VAR(_4);
+ object_init_ex(_4, phalcon_di_exception_ce);
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_name"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_6);
+ ZEPHIR_CONCAT_SVS(_6, "Service '", _5, "' cannot be resolved");
+ ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_7, _6);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_4, "phalcon/di/service.zep", 212 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- if (!cancelable_param) {
- cancelable = 1;
- } else {
- cancelable = zephir_get_boolval(cancelable_param);
+ if (zephir_is_true(shared)) {
+ zephir_update_property_this(this_ptr, SL("_sharedInstance"), instance TSRMLS_CC);
}
+ zephir_update_property_this(this_ptr, SL("_resolved"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ RETURN_CCTOR(instance);
+
+}
+static PHP_METHOD(Phalcon_Di_Service, setParameter) {
- zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_source"), source TSRMLS_CC);
- if (Z_TYPE_P(data) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+ zval *parameter = NULL;
+ zval *position_param = NULL, *parameter_param = NULL, *definition, *arguments = NULL;
+ int position;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &position_param, ¶meter_param);
+
+ position = zephir_get_intval(position_param);
+ parameter = parameter_param;
+
+
+
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to update its parameters", "phalcon/di/service.zep", 236);
+ return;
}
- if (cancelable != 1) {
- zephir_update_property_this(this_ptr, SL("_cancelable"), cancelable ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_OBS_VAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
+ zephir_array_update_long(&arguments, position, ¶meter, PH_COPY | PH_SEPARATE, "phalcon/di/service.zep", 243);
+ } else {
+ ZEPHIR_INIT_NVAR(arguments);
+ zephir_create_array(arguments, 1, 0 TSRMLS_CC);
+ zephir_array_update_long(&arguments, position, ¶meter, PH_COPY, "phalcon/di/service.zep", 245);
}
- ZEPHIR_MM_RESTORE();
+ zephir_array_update_string(&definition, SL("arguments"), &arguments, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
+ RETURN_THIS();
}
-static PHP_METHOD(Phalcon_Events_Event, stop) {
+static PHP_METHOD(Phalcon_Di_Service, getParameter) {
- zval *_0;
+ zval *position_param = NULL, *definition, *arguments, *parameter;
+ int position;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &position_param);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_cancelable"), PH_NOISY_CC);
- if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_events_exception_ce, "Trying to cancel a non-cancelable event", "phalcon/events/event.zep", 93);
+ position = zephir_get_intval(position_param);
+
+
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to obtain its parameters", "phalcon/di/service.zep", 273);
return;
}
- zephir_update_property_this(this_ptr, SL("_stopped"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 1 TSRMLS_CC)) {
+ if (zephir_array_isset_long_fetch(¶meter, arguments, position, 1 TSRMLS_CC)) {
+ RETURN_CTOR(parameter);
+ }
+ }
+ RETURN_MM_NULL();
}
-static PHP_METHOD(Phalcon_Events_Event, isStopped) {
+static PHP_METHOD(Phalcon_Di_Service, isResolved) {
- RETURN_MEMBER(this_ptr, "_stopped");
+ RETURN_MEMBER(this_ptr, "_resolved");
+
+}
+
+static PHP_METHOD(Phalcon_Di_Service, __set_state) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *attributes_param = NULL, *name, *definition, *shared;
+ zval *attributes = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &attributes_param);
+
+ attributes = attributes_param;
+
+
+
+ ZEPHIR_OBS_VAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, attributes, SS("_name"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_name' is required", "phalcon/di/service.zep", 304);
+ return;
+ }
+ ZEPHIR_OBS_VAR(definition);
+ if (!(zephir_array_isset_string_fetch(&definition, attributes, SS("_definition"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_definition' is required", "phalcon/di/service.zep", 308);
+ return;
+ }
+ ZEPHIR_OBS_VAR(shared);
+ if (!(zephir_array_isset_string_fetch(&shared, attributes, SS("_shared"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_shared' is required", "phalcon/di/service.zep", 312);
+ return;
+ }
+ object_init_ex(return_value, phalcon_di_service_ce);
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, name, definition, shared);
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -54200,17 +55880,29 @@ static PHP_METHOD(Phalcon_Events_Event, isStopped) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_EventsAwareInterface) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_ServiceInterface) {
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Events, EventsAwareInterface, phalcon, events_eventsawareinterface, phalcon_events_eventsawareinterface_method_entry);
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, ServiceInterface, phalcon, di_serviceinterface, phalcon_di_serviceinterface_method_entry);
return SUCCESS;
}
-ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, setEventsManager);
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __construct);
-ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, getEventsManager);
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getName);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setShared);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, isShared);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, resolve);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
@@ -54226,14 +55918,162 @@ ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, getEventsManager);
-ZEPHIR_INIT_CLASS(Phalcon_Events_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault_Cli) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Events, Exception, phalcon, events_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di\\FactoryDefault, Cli, phalcon, di_factorydefault_cli, phalcon_di_factorydefault_ce, phalcon_di_factorydefault_cli_method_entry, 0);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
+
+ zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
+ zval *_1;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_cli_ce, this_ptr, "__construct", &_0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 10, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_VAR(_3);
+ ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_VAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\CLI\\Router", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_VAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("router"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\CLI\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("dispatcher"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("modelsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\MetaData\\Memory", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("modelsMetadata"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("filter"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "escaper", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Escaper", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("escaper"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("annotations"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "transactionManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
@@ -54248,234 +56088,487 @@ ZEPHIR_INIT_CLASS(Phalcon_Events_Exception) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_Manager) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Manager, phalcon, events_manager, phalcon_events_manager_method_entry, 0);
-
- zend_declare_property_null(phalcon_events_manager_ce, SL("_events"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_events_manager_ce, SL("_collect"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_events_manager_ce, SL("_enablePriorities"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+ZEPHIR_INIT_CLASS(Phalcon_Di_Service_Builder) {
- zend_declare_property_null(phalcon_events_manager_ce, SL("_responses"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di\\Service, Builder, phalcon, di_service_builder, phalcon_di_service_builder_method_entry, 0);
- zend_class_implements(phalcon_events_manager_ce TSRMLS_CC, 1, phalcon_events_managerinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Manager, attach) {
+static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameter) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL;
- int priority, ZEPHIR_LAST_CALL_STATUS;
- zval *eventType_param = NULL, *handler, *priority_param = NULL, *priorityQueue = NULL, *_0, *_1, *_2 = NULL;
- zval *eventType = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ zval *_2 = NULL;
+ zval *argument = NULL;
+ int position, ZEPHIR_LAST_CALL_STATUS;
+ zval *dependencyInjector, *position_param = NULL, *argument_param = NULL, *type, *name = NULL, *value, *instanceArguments, *_0 = NULL, _1 = zval_used_for_init;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &eventType_param, &handler, &priority_param);
-
- if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 3, 0, &dependencyInjector, &position_param, &argument_param);
- if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
- zephir_get_strval(eventType, eventType_param);
- } else {
- ZEPHIR_INIT_VAR(eventType);
- ZVAL_EMPTY_STRING(eventType);
- }
- if (!priority_param) {
- priority = 100;
- } else {
- if (unlikely(Z_TYPE_P(priority_param) != IS_LONG)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'priority' must be a long/integer") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ position = zephir_get_intval(position_param);
+ argument = argument_param;
- priority = Z_LVAL_P(priority_param);
- }
- if (Z_TYPE_P(handler) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 56);
+ ZEPHIR_OBS_VAR(type);
+ if (!(zephir_array_isset_string_fetch(&type, argument, SS("type"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_VAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_VAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SVS(_2, "Argument at position ", &_1, " must have a type");
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 49 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
return;
}
- ZEPHIR_OBS_VAR(priorityQueue);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
- if (!(zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC))) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_enablePriorities"), PH_NOISY_CC);
- ZEPHIR_INIT_NVAR(priorityQueue);
- if (zephir_is_true(_1)) {
- object_init_ex(priorityQueue, spl_ce_SplPriorityQueue);
- if (zephir_has_constructor(priorityQueue TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "__construct", NULL);
+ do {
+ if (ZEPHIR_IS_STRING(type, "service")) {
+ ZEPHIR_OBS_VAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, argument, SS("name"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'name' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 59 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- ZEPHIR_INIT_VAR(_2);
- ZVAL_LONG(_2, 1);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", &_3, _2);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 62);
+ return;
+ }
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
zephir_check_call_status();
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
- } else {
- array_init(priorityQueue);
+ RETURN_MM();
}
- }
- if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
- ZEPHIR_INIT_NVAR(_2);
- ZVAL_LONG(_2, priority);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "insert", &_4, handler, _2);
+ if (ZEPHIR_IS_STRING(type, "parameter")) {
+ ZEPHIR_OBS_VAR(value);
+ if (!(zephir_array_isset_string_fetch(&value, argument, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'value' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 71 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ RETURN_CCTOR(value);
+ }
+ if (ZEPHIR_IS_STRING(type, "instance")) {
+ ZEPHIR_OBS_NVAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, argument, SS("className"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'className' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 81 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 85);
+ return;
+ }
+ ZEPHIR_OBS_VAR(instanceArguments);
+ if (zephir_array_isset_string_fetch(&instanceArguments, argument, SS("arguments"), 0 TSRMLS_CC)) {
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name, instanceArguments);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Unknown service type in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
zephir_check_call_status();
- } else {
- zephir_array_append(&priorityQueue, handler, PH_SEPARATE, "phalcon/events/manager.zep", 82);
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
- }
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 104 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ } while(0);
+
ZEPHIR_MM_RESTORE();
}
-static PHP_METHOD(Phalcon_Events_Manager, detach) {
+static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameters) {
- zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL, *_9 = NULL;
- zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_10 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *eventType_param = NULL, *handler, *priorityQueue, *newPriorityQueue, *key = NULL, *data = NULL, *_0, *_1 = NULL, *_3 = NULL, *_6, *_7, *_8;
- zval *eventType = NULL;
+ HashTable *_1;
+ HashPosition _0;
+ zval *arguments = NULL;
+ zval *dependencyInjector, *arguments_param = NULL, *position = NULL, *argument = NULL, *buildArguments, **_2, *_3 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &eventType_param, &handler);
+ zephir_fetch_params(1, 2, 0, &dependencyInjector, &arguments_param);
- if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ arguments = arguments_param;
+
+
+
+ ZEPHIR_INIT_VAR(buildArguments);
+ array_init(buildArguments);
+ zephir_is_iterable(arguments, &_1, &_0, 0, 0, "phalcon/di/service/builder.zep", 119);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HMKEY(position, _1, _0);
+ ZEPHIR_GET_HVALUE(argument, _2);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_4, dependencyInjector, position, argument);
+ zephir_check_call_status();
+ zephir_array_append(&buildArguments, _3, PH_SEPARATE, "phalcon/di/service/builder.zep", 117);
}
+ RETURN_CCTOR(buildArguments);
- if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
- zephir_get_strval(eventType, eventType_param);
- } else {
- ZEPHIR_INIT_VAR(eventType);
- ZVAL_EMPTY_STRING(eventType);
+}
+
+static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
+
+ zephir_fcall_cache_entry *_10 = NULL;
+ HashTable *_6, *_12;
+ HashPosition _5, _11;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_15 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *definition = NULL;
+ zval *dependencyInjector, *definition_param = NULL, *parameters = NULL, *className, *arguments = NULL, *paramCalls = NULL, *methodPosition = NULL, *method = NULL, *methodName = NULL, *methodCall = NULL, *instance = NULL, *propertyPosition = NULL, *property = NULL, *propertyName = NULL, *propertyValue = NULL, *reflection = NULL, *_3 = NULL, **_7, *_8 = NULL, *_9 = NULL, **_13, *_14 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &dependencyInjector, &definition_param, ¶meters);
+
+ definition = definition_param;
+
+ if (!parameters) {
+ parameters = ZEPHIR_GLOBAL(global_null);
}
- if (Z_TYPE_P(handler) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 99);
+ ZEPHIR_OBS_VAR(className);
+ if (!(zephir_array_isset_string_fetch(&className, definition, SS("className"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Invalid service definition. Missing 'className' parameter", "phalcon/di/service/builder.zep", 140);
return;
}
- ZEPHIR_OBS_VAR(priorityQueue);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
- if (zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
- ZEPHIR_INIT_VAR(newPriorityQueue);
- object_init_ex(newPriorityQueue, spl_ce_SplPriorityQueue);
- if (zephir_has_constructor(newPriorityQueue TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "__construct", NULL);
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ if (zephir_fast_count_int(parameters TSRMLS_CC)) {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_VAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, parameters TSRMLS_CC);
zephir_check_call_status();
}
- ZEPHIR_INIT_VAR(_1);
- ZVAL_LONG(_1, 1);
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "setextractflags", &_2, _1);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_LONG(_1, 3);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", NULL, _1);
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ ZEPHIR_OBS_VAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "top", NULL);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, _3 TSRMLS_CC);
zephir_check_call_status();
- while (1) {
- ZEPHIR_CALL_METHOD(&_3, priorityQueue, "valid", NULL);
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
zephir_check_call_status();
- if (!(zephir_is_true(_3))) {
- break;
- }
- ZEPHIR_CALL_METHOD(&data, priorityQueue, "current", &_4);
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "next", &_5);
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
zephir_check_call_status();
- zephir_array_fetch_string(&_6, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 116 TSRMLS_CC);
- if (!ZEPHIR_IS_IDENTICAL(_6, handler)) {
- zephir_array_fetch_string(&_7, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
- zephir_array_fetch_string(&_8, data, SL("priority"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "insert", &_9, _7, _8);
+ }
+ }
+ }
+ ZEPHIR_OBS_VAR(paramCalls);
+ if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("calls"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(instance) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has setter injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 192);
+ return;
+ }
+ if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 196);
+ return;
+ }
+ zephir_is_iterable(paramCalls, &_6, &_5, 0, 0, "phalcon/di/service/builder.zep", 250);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HMKEY(methodPosition, _6, _5);
+ ZEPHIR_GET_HVALUE(method, _7);
+ if (Z_TYPE_P(method) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Method call must be an array on position ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 208 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_OBS_NVAR(methodName);
+ if (!(zephir_array_isset_string_fetch(&methodName, method, SS("method"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The method name is required on position ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 215 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_INIT_NVAR(methodCall);
+ zephir_create_array(methodCall, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(methodCall, instance);
+ zephir_array_fast_append(methodCall, methodName);
+ ZEPHIR_OBS_NVAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, method, SS("arguments"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(arguments) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Call arguments must be an array ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 226 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ if (zephir_fast_count_int(arguments TSRMLS_CC)) {
+ ZEPHIR_INIT_NVAR(_8);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
+ zephir_check_call_status();
+ ZEPHIR_CALL_USER_FUNC_ARRAY(_8, methodCall, _3);
zephir_check_call_status();
+ continue;
}
}
- zephir_update_property_array(this_ptr, SL("_events"), eventType, newPriorityQueue TSRMLS_CC);
- } else {
- ZEPHIR_CALL_FUNCTION(&key, "array_search", &_10, handler, priorityQueue, ZEPHIR_GLOBAL(global_true));
+ ZEPHIR_INIT_NVAR(_8);
+ ZEPHIR_CALL_USER_FUNC(_8, methodCall);
zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(key)) {
- zephir_array_unset(&priorityQueue, key, PH_SEPARATE);
+ }
+ }
+ ZEPHIR_OBS_NVAR(paramCalls);
+ if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("properties"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(instance) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has properties injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 258);
+ return;
+ }
+ if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 262);
+ return;
+ }
+ zephir_is_iterable(paramCalls, &_12, &_11, 0, 0, "phalcon/di/service/builder.zep", 297);
+ for (
+ ; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
+ ; zephir_hash_move_forward_ex(_12, &_11)
+ ) {
+ ZEPHIR_GET_HMKEY(propertyPosition, _12, _11);
+ ZEPHIR_GET_HVALUE(property, _13);
+ if (Z_TYPE_P(property) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_14);
+ object_init_ex(_14, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Property must be an array on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _14, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_14, "phalcon/di/service/builder.zep", 274 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(propertyName);
+ if (!(zephir_array_isset_string_fetch(&propertyName, property, SS("name"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The property name is required on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 281 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_OBS_NVAR(propertyValue);
+ if (!(zephir_array_isset_string_fetch(&propertyValue, property, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The property value is required on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 288 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_15, dependencyInjector, propertyPosition, propertyValue);
+ zephir_check_call_status();
+ zephir_update_property_zval_zval(instance, propertyName, _3 TSRMLS_CC);
}
}
- ZEPHIR_MM_RESTORE();
+ RETURN_CCTOR(instance);
}
-static PHP_METHOD(Phalcon_Events_Manager, enablePriorities) {
- zval *enablePriorities_param = NULL;
- zend_bool enablePriorities;
- zephir_fetch_params(0, 1, 0, &enablePriorities_param);
- enablePriorities = zephir_get_boolval(enablePriorities_param);
+#ifdef HAVE_CONFIG_H
+#endif
+#include
+
+#include
+#include
+#include
- zephir_update_property_this(this_ptr, SL("_enablePriorities"), enablePriorities ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Escaper_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Escaper, Exception, phalcon, escaper_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Manager, arePrioritiesEnabled) {
- RETURN_MEMBER(this_ptr, "_enablePriorities");
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Events_Event) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Event, phalcon, events_event, phalcon_events_event_method_entry, 0);
+
+ zend_declare_property_null(phalcon_events_event_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_events_event_ce, SL("_source"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_events_event_ce, SL("_data"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_events_event_ce, SL("_stopped"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_events_event_ce, SL("_cancelable"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Manager, collectResponses) {
+static PHP_METHOD(Phalcon_Events_Event, setType) {
- zval *collect_param = NULL;
- zend_bool collect;
+ zval *type;
- zephir_fetch_params(0, 1, 0, &collect_param);
+ zephir_fetch_params(0, 1, 0, &type);
- collect = zephir_get_boolval(collect_param);
- zephir_update_property_this(this_ptr, SL("_collect"), collect ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Manager, isCollecting) {
+static PHP_METHOD(Phalcon_Events_Event, getType) {
- RETURN_MEMBER(this_ptr, "_collect");
+ RETURN_MEMBER(this_ptr, "_type");
}
-static PHP_METHOD(Phalcon_Events_Manager, getResponses) {
+static PHP_METHOD(Phalcon_Events_Event, getSource) {
- RETURN_MEMBER(this_ptr, "_responses");
+ RETURN_MEMBER(this_ptr, "_source");
}
-static PHP_METHOD(Phalcon_Events_Manager, detachAll) {
+static PHP_METHOD(Phalcon_Events_Event, setData) {
- zval *type_param = NULL, *_0, *_1;
+ zval *data;
+
+ zephir_fetch_params(0, 1, 0, &data);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Events_Event, getData) {
+
+
+ RETURN_MEMBER(this_ptr, "_data");
+
+}
+
+static PHP_METHOD(Phalcon_Events_Event, getCancelable) {
+
+
+ RETURN_MEMBER(this_ptr, "_cancelable");
+
+}
+
+static PHP_METHOD(Phalcon_Events_Event, __construct) {
+
+ zend_bool cancelable;
+ zval *type_param = NULL, *source, *data = NULL, *cancelable_param = NULL;
zval *type = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &type_param);
+ zephir_fetch_params(1, 2, 2, &type_param, &source, &data, &cancelable_param);
- if (!type_param) {
- ZEPHIR_INIT_VAR(type);
- ZVAL_EMPTY_STRING(type);
- } else {
if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
@@ -54487,10 +56580,352 @@ static PHP_METHOD(Phalcon_Events_Manager, detachAll) {
ZEPHIR_INIT_VAR(type);
ZVAL_EMPTY_STRING(type);
}
+ if (!data) {
+ data = ZEPHIR_GLOBAL(global_null);
}
-
-
- if (ZEPHIR_IS_STRING_IDENTICAL(type, "")) {
+ if (!cancelable_param) {
+ cancelable = 1;
+ } else {
+ cancelable = zephir_get_boolval(cancelable_param);
+ }
+
+
+ zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_source"), source TSRMLS_CC);
+ if (Z_TYPE_P(data) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+ }
+ if (cancelable != 1) {
+ zephir_update_property_this(this_ptr, SL("_cancelable"), cancelable ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ }
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Events_Event, stop) {
+
+ zval *_0;
+
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_cancelable"), PH_NOISY_CC);
+ if (!(zephir_is_true(_0))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_events_exception_ce, "Trying to cancel a non-cancelable event", "phalcon/events/event.zep", 93);
+ return;
+ }
+ zephir_update_property_this(this_ptr, SL("_stopped"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Events_Event, isStopped) {
+
+
+ RETURN_MEMBER(this_ptr, "_stopped");
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Events_EventsAwareInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Events, EventsAwareInterface, phalcon, events_eventsawareinterface, phalcon_events_eventsawareinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, setEventsManager);
+
+ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, getEventsManager);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Events_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Events, Exception, phalcon, events_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Events_Manager) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Manager, phalcon, events_manager, phalcon_events_manager_method_entry, 0);
+
+ zend_declare_property_null(phalcon_events_manager_ce, SL("_events"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_events_manager_ce, SL("_collect"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_events_manager_ce, SL("_enablePriorities"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_events_manager_ce, SL("_responses"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_events_manager_ce TSRMLS_CC, 1, phalcon_events_managerinterface_ce);
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, attach) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL;
+ int priority, ZEPHIR_LAST_CALL_STATUS;
+ zval *eventType_param = NULL, *handler, *priority_param = NULL, *priorityQueue = NULL, *_0, *_1, *_2 = NULL;
+ zval *eventType = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &eventType_param, &handler, &priority_param);
+
+ if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
+ zephir_get_strval(eventType, eventType_param);
+ } else {
+ ZEPHIR_INIT_VAR(eventType);
+ ZVAL_EMPTY_STRING(eventType);
+ }
+ if (!priority_param) {
+ priority = 100;
+ } else {
+ if (unlikely(Z_TYPE_P(priority_param) != IS_LONG)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'priority' must be a long/integer") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ priority = Z_LVAL_P(priority_param);
+ }
+
+
+ if (Z_TYPE_P(handler) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 56);
+ return;
+ }
+ ZEPHIR_OBS_VAR(priorityQueue);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
+ if (!(zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC))) {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_enablePriorities"), PH_NOISY_CC);
+ ZEPHIR_INIT_NVAR(priorityQueue);
+ if (zephir_is_true(_1)) {
+ object_init_ex(priorityQueue, spl_ce_SplPriorityQueue);
+ if (zephir_has_constructor(priorityQueue TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_INIT_VAR(_2);
+ ZVAL_LONG(_2, 1);
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", &_3, _2);
+ zephir_check_call_status();
+ zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
+ } else {
+ array_init(priorityQueue);
+ }
+ }
+ if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
+ ZEPHIR_INIT_NVAR(_2);
+ ZVAL_LONG(_2, priority);
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "insert", &_4, handler, _2);
+ zephir_check_call_status();
+ } else {
+ zephir_array_append(&priorityQueue, handler, PH_SEPARATE, "phalcon/events/manager.zep", 82);
+ zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
+ }
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, detach) {
+
+ zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL, *_9 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_10 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *eventType_param = NULL, *handler, *priorityQueue, *newPriorityQueue, *key = NULL, *data = NULL, *_0, *_1 = NULL, *_3 = NULL, *_6, *_7, *_8;
+ zval *eventType = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &eventType_param, &handler);
+
+ if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
+ zephir_get_strval(eventType, eventType_param);
+ } else {
+ ZEPHIR_INIT_VAR(eventType);
+ ZVAL_EMPTY_STRING(eventType);
+ }
+
+
+ if (Z_TYPE_P(handler) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 99);
+ return;
+ }
+ ZEPHIR_OBS_VAR(priorityQueue);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
+ if (zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
+ ZEPHIR_INIT_VAR(newPriorityQueue);
+ object_init_ex(newPriorityQueue, spl_ce_SplPriorityQueue);
+ if (zephir_has_constructor(newPriorityQueue TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_INIT_VAR(_1);
+ ZVAL_LONG(_1, 1);
+ ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "setextractflags", &_2, _1);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_1);
+ ZVAL_LONG(_1, 3);
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", NULL, _1);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "top", NULL);
+ zephir_check_call_status();
+ while (1) {
+ ZEPHIR_CALL_METHOD(&_3, priorityQueue, "valid", NULL);
+ zephir_check_call_status();
+ if (!(zephir_is_true(_3))) {
+ break;
+ }
+ ZEPHIR_CALL_METHOD(&data, priorityQueue, "current", &_4);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, priorityQueue, "next", &_5);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_6, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 116 TSRMLS_CC);
+ if (!ZEPHIR_IS_IDENTICAL(_6, handler)) {
+ zephir_array_fetch_string(&_7, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
+ zephir_array_fetch_string(&_8, data, SL("priority"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "insert", &_9, _7, _8);
+ zephir_check_call_status();
+ }
+ }
+ zephir_update_property_array(this_ptr, SL("_events"), eventType, newPriorityQueue TSRMLS_CC);
+ } else {
+ ZEPHIR_CALL_FUNCTION(&key, "array_search", &_10, handler, priorityQueue, ZEPHIR_GLOBAL(global_true));
+ zephir_check_call_status();
+ if (!ZEPHIR_IS_FALSE_IDENTICAL(key)) {
+ zephir_array_unset(&priorityQueue, key, PH_SEPARATE);
+ }
+ zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
+ }
+ }
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, enablePriorities) {
+
+ zval *enablePriorities_param = NULL;
+ zend_bool enablePriorities;
+
+ zephir_fetch_params(0, 1, 0, &enablePriorities_param);
+
+ enablePriorities = zephir_get_boolval(enablePriorities_param);
+
+
+ zephir_update_property_this(this_ptr, SL("_enablePriorities"), enablePriorities ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, arePrioritiesEnabled) {
+
+
+ RETURN_MEMBER(this_ptr, "_enablePriorities");
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, collectResponses) {
+
+ zval *collect_param = NULL;
+ zend_bool collect;
+
+ zephir_fetch_params(0, 1, 0, &collect_param);
+
+ collect = zephir_get_boolval(collect_param);
+
+
+ zephir_update_property_this(this_ptr, SL("_collect"), collect ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, isCollecting) {
+
+
+ RETURN_MEMBER(this_ptr, "_collect");
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, getResponses) {
+
+
+ RETURN_MEMBER(this_ptr, "_responses");
+
+}
+
+static PHP_METHOD(Phalcon_Events_Manager, detachAll) {
+
+ zval *type_param = NULL, *_0, *_1;
+ zval *type = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &type_param);
+
+ if (!type_param) {
+ ZEPHIR_INIT_VAR(type);
+ ZVAL_EMPTY_STRING(type);
+ } else {
+ if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
+ zephir_get_strval(type, type_param);
+ } else {
+ ZEPHIR_INIT_VAR(type);
+ ZVAL_EMPTY_STRING(type);
+ }
+ }
+
+
+ if (ZEPHIR_IS_STRING_IDENTICAL(type, "")) {
zephir_update_property_this(this_ptr, SL("_events"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
} else {
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
@@ -58394,8 +60829,8 @@ static PHP_METHOD(Phalcon_Http_Request, getDI) {
static PHP_METHOD(Phalcon_Http_Request, get) {
int ZEPHIR_LAST_CALL_STATUS;
- zend_bool notAllowEmpty, noRecursive, _3, _4;
- zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *request = NULL, *value = NULL, *filter = NULL, *dependencyInjector = NULL, *_REQUEST, *_0, *_1 = NULL, *_2;
+ zend_bool notAllowEmpty, noRecursive;
+ zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *_REQUEST;
zval *name = NULL;
ZEPHIR_MM_GROW();
@@ -58436,68 +60871,17 @@ static PHP_METHOD(Phalcon_Http_Request, get) {
zephir_get_global(&_REQUEST, SS("_REQUEST") TSRMLS_CC);
- ZEPHIR_CPY_WRT(request, _REQUEST);
- if (!ZEPHIR_IS_STRING_IDENTICAL(name, "")) {
- ZEPHIR_OBS_VAR(value);
- if (zephir_array_isset_fetch(&value, request, name, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(filters) != IS_NULL) {
- ZEPHIR_OBS_VAR(filter);
- zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC);
- if (Z_TYPE_P(filter) != IS_OBJECT) {
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _0);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_request_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/request.zep", 96);
- return;
- }
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_1, dependencyInjector, "getshared", NULL, _2);
- zephir_check_temp_parameter(_2);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(filter, _1);
- zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_1, filter, "sanitize", NULL, value, filters, (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(value, _1);
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- _4 = _3;
- if (!(_4)) {
- _4 = ZEPHIR_IS_FALSE_IDENTICAL(value);
- }
- if (_4) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- } else {
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- if (_3) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- }
- }
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(request);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "gethelper", NULL, _REQUEST, name, filters, defaultValue, (notAllowEmpty ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)), (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
+ zephir_check_call_status();
+ RETURN_MM();
}
static PHP_METHOD(Phalcon_Http_Request, getPost) {
int ZEPHIR_LAST_CALL_STATUS;
- zend_bool notAllowEmpty, noRecursive, _3;
- zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *post = NULL, *value = NULL, *filter = NULL, *dependencyInjector = NULL, *_POST, *_0, *_1 = NULL, *_2;
+ zend_bool notAllowEmpty, noRecursive;
+ zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *_POST;
zval *name = NULL;
ZEPHIR_MM_GROW();
@@ -58538,56 +60922,9 @@ static PHP_METHOD(Phalcon_Http_Request, getPost) {
zephir_get_global(&_POST, SS("_POST") TSRMLS_CC);
- ZEPHIR_CPY_WRT(post, _POST);
- if (!ZEPHIR_IS_STRING_IDENTICAL(name, "")) {
- ZEPHIR_OBS_VAR(value);
- if (zephir_array_isset_fetch(&value, post, name, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(filters) != IS_NULL) {
- ZEPHIR_OBS_VAR(filter);
- zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC);
- if (Z_TYPE_P(filter) != IS_OBJECT) {
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _0);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_request_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/request.zep", 148);
- return;
- }
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_1, dependencyInjector, "getshared", NULL, _2);
- zephir_check_temp_parameter(_2);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(filter, _1);
- zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_1, filter, "sanitize", NULL, value, filters, (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(value, _1);
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- if (_3) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- } else {
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- if (_3) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- }
- }
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(post);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "gethelper", NULL, _POST, name, filters, defaultValue, (notAllowEmpty ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)), (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -58595,8 +60932,8 @@ static PHP_METHOD(Phalcon_Http_Request, getPut) {
int ZEPHIR_LAST_CALL_STATUS;
zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
- zend_bool notAllowEmpty, noRecursive, _6;
- zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *put, *value = NULL, *filter = NULL, *dependencyInjector = NULL, *_0, _1, *_3, *_4 = NULL, *_5;
+ zend_bool notAllowEmpty, noRecursive;
+ zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *put, *_0, _1;
zval *name = NULL;
ZEPHIR_MM_GROW();
@@ -58646,63 +60983,17 @@ static PHP_METHOD(Phalcon_Http_Request, getPut) {
ZEPHIR_CALL_FUNCTION(NULL, "parse_str", &_2, _0, put);
Z_UNSET_ISREF_P(put);
zephir_check_call_status();
- if (!ZEPHIR_IS_STRING_IDENTICAL(name, "")) {
- ZEPHIR_OBS_VAR(value);
- if (zephir_array_isset_fetch(&value, put, name, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(filters) != IS_NULL) {
- ZEPHIR_OBS_VAR(filter);
- zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC);
- if (Z_TYPE_P(filter) != IS_OBJECT) {
- _3 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _3);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_request_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/request.zep", 200);
- return;
- }
- ZEPHIR_INIT_VAR(_5);
- ZVAL_STRING(_5, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_4, dependencyInjector, "getshared", NULL, _5);
- zephir_check_temp_parameter(_5);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(filter, _4);
- zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_4, filter, "sanitize", NULL, value, filters, (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(value, _4);
- _6 = ZEPHIR_IS_EMPTY(value);
- if (_6) {
- _6 = notAllowEmpty == 1;
- }
- if (_6) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- } else {
- _6 = ZEPHIR_IS_EMPTY(value);
- if (_6) {
- _6 = notAllowEmpty == 1;
- }
- if (_6) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- }
- }
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(put);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "gethelper", NULL, put, name, filters, defaultValue, (notAllowEmpty ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)), (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
+ zephir_check_call_status();
+ RETURN_MM();
}
static PHP_METHOD(Phalcon_Http_Request, getQuery) {
int ZEPHIR_LAST_CALL_STATUS;
- zend_bool notAllowEmpty, noRecursive, _3;
- zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *get = NULL, *value = NULL, *filter = NULL, *dependencyInjector = NULL, *_GET, *_0, *_1 = NULL, *_2;
+ zend_bool notAllowEmpty, noRecursive;
+ zval *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *_GET;
zval *name = NULL;
ZEPHIR_MM_GROW();
@@ -58743,56 +61034,97 @@ static PHP_METHOD(Phalcon_Http_Request, getQuery) {
zephir_get_global(&_GET, SS("_GET") TSRMLS_CC);
- ZEPHIR_CPY_WRT(get, _GET);
- if (!ZEPHIR_IS_STRING_IDENTICAL(name, "")) {
- ZEPHIR_OBS_VAR(value);
- if (zephir_array_isset_fetch(&value, get, name, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(filters) != IS_NULL) {
- ZEPHIR_OBS_VAR(filter);
- zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC);
- if (Z_TYPE_P(filter) != IS_OBJECT) {
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _0);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_request_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/request.zep", 254);
- return;
- }
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_1, dependencyInjector, "getshared", NULL, _2);
- zephir_check_temp_parameter(_2);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(filter, _1);
- zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_1, filter, "sanitize", NULL, value, filters, (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(value, _1);
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- if (_3) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
- } else {
- _3 = ZEPHIR_IS_EMPTY(value);
- if (_3) {
- _3 = notAllowEmpty == 1;
- }
- if (_3) {
- RETVAL_ZVAL(defaultValue, 1, 0);
- RETURN_MM();
- }
- RETURN_CCTOR(value);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "gethelper", NULL, _GET, name, filters, defaultValue, (notAllowEmpty ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)), (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Http_Request, getHelper) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool notAllowEmpty, noRecursive, _3;
+ zval *name = NULL;
+ zval *source_param = NULL, *name_param = NULL, *filters = NULL, *defaultValue = NULL, *notAllowEmpty_param = NULL, *noRecursive_param = NULL, *value = NULL, *filter = NULL, *dependencyInjector = NULL, *_0, *_1 = NULL, *_2;
+ zval *source = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 5, &source_param, &name_param, &filters, &defaultValue, ¬AllowEmpty_param, &noRecursive_param);
+
+ zephir_get_arrval(source, source_param);
+ if (!name_param) {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ } else {
+ if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
+ zephir_get_strval(name, name_param);
+ } else {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ }
+ }
+ if (!filters) {
+ filters = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!defaultValue) {
+ defaultValue = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!notAllowEmpty_param) {
+ notAllowEmpty = 0;
+ } else {
+ notAllowEmpty = zephir_get_boolval(notAllowEmpty_param);
+ }
+ if (!noRecursive_param) {
+ noRecursive = 0;
+ } else {
+ noRecursive = zephir_get_boolval(noRecursive_param);
+ }
+
+
+ if (ZEPHIR_IS_STRING_IDENTICAL(name, "")) {
+ RETURN_CTOR(source);
+ }
+ ZEPHIR_OBS_VAR(value);
+ if (!(zephir_array_isset_fetch(&value, source, name, 0 TSRMLS_CC))) {
+ RETVAL_ZVAL(defaultValue, 1, 0);
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(filters) != IS_NULL) {
+ ZEPHIR_OBS_VAR(filter);
+ zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC);
+ if (Z_TYPE_P(filter) != IS_OBJECT) {
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
+ ZEPHIR_CPY_WRT(dependencyInjector, _0);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_request_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/request.zep", 168);
+ return;
}
+ ZEPHIR_INIT_VAR(_2);
+ ZVAL_STRING(_2, "filter", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_1, dependencyInjector, "getshared", NULL, _2);
+ zephir_check_temp_parameter(_2);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(filter, _1);
+ zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC);
}
+ ZEPHIR_CALL_METHOD(&_1, filter, "sanitize", NULL, value, filters, (noRecursive ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(value, _1);
+ }
+ _3 = ZEPHIR_IS_EMPTY(value);
+ if (_3) {
+ _3 = notAllowEmpty == 1;
+ }
+ if (_3) {
RETVAL_ZVAL(defaultValue, 1, 0);
RETURN_MM();
}
- RETURN_CCTOR(get);
+ RETURN_CCTOR(value);
}
@@ -59011,7 +61343,7 @@ static PHP_METHOD(Phalcon_Http_Request, isAjax) {
zephir_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC);
_0 = zephir_array_isset_string(_SERVER, SS("HTTP_X_REQUESTED_WITH"));
if (_0) {
- zephir_array_fetch_string(&_1, _SERVER, SL("HTTP_X_REQUESTED_WITH"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 372 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, _SERVER, SL("HTTP_X_REQUESTED_WITH"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 274 TSRMLS_CC);
_0 = ZEPHIR_IS_STRING_IDENTICAL(_1, "XMLHttpRequest");
}
RETURN_BOOL(_0);
@@ -59032,7 +61364,7 @@ static PHP_METHOD(Phalcon_Http_Request, isSoapRequested) {
ZEPHIR_CALL_METHOD(&contentType, this_ptr, "getcontenttype", NULL);
zephir_check_call_status();
if (!(ZEPHIR_IS_EMPTY(contentType))) {
- RETURN_MM_BOOL(zephir_memnstr_str(contentType, SL("application/soap+xml"), "phalcon/http/request.zep", 387));
+ RETURN_MM_BOOL(zephir_memnstr_str(contentType, SL("application/soap+xml"), "phalcon/http/request.zep", 289));
}
}
RETURN_MM_BOOL(0);
@@ -59226,10 +61558,10 @@ static PHP_METHOD(Phalcon_Http_Request, getClientAddress) {
zephir_array_isset_string_fetch(&address, _SERVER, SS("REMOTE_ADDR"), 0 TSRMLS_CC);
}
if (Z_TYPE_P(address) == IS_STRING) {
- if (zephir_memnstr_str(address, SL(","), "phalcon/http/request.zep", 547)) {
+ if (zephir_memnstr_str(address, SL(","), "phalcon/http/request.zep", 449)) {
ZEPHIR_INIT_VAR(_0);
zephir_fast_explode_str(_0, SL(","), address, LONG_MAX TSRMLS_CC);
- zephir_array_fetch_long(&_1, _0, 0, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 551 TSRMLS_CC);
+ zephir_array_fetch_long(&_1, _0, 0, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 453 TSRMLS_CC);
RETURN_CTOR(_1);
}
RETURN_CCTOR(address);
@@ -59283,7 +61615,7 @@ static PHP_METHOD(Phalcon_Http_Request, isMethod) {
RETURN_MM_BOOL(ZEPHIR_IS_EQUAL(methods, httpMethod));
} else {
if (Z_TYPE_P(methods) == IS_ARRAY) {
- zephir_is_iterable(methods, &_2, &_1, 0, 0, "phalcon/http/request.zep", 603);
+ zephir_is_iterable(methods, &_2, &_1, 0, 0, "phalcon/http/request.zep", 505);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -59421,7 +61753,7 @@ static PHP_METHOD(Phalcon_Http_Request, hasFiles) {
if (Z_TYPE_P(files) != IS_ARRAY) {
RETURN_MM_LONG(0);
}
- zephir_is_iterable(files, &_1, &_0, 0, 0, "phalcon/http/request.zep", 693);
+ zephir_is_iterable(files, &_1, &_0, 0, 0, "phalcon/http/request.zep", 595);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59467,7 +61799,7 @@ static PHP_METHOD(Phalcon_Http_Request, hasFileHelper) {
if (Z_TYPE_P(data) != IS_ARRAY) {
RETURN_MM_LONG(1);
}
- zephir_is_iterable(data, &_1, &_0, 0, 0, "phalcon/http/request.zep", 720);
+ zephir_is_iterable(data, &_1, &_0, 0, 0, "phalcon/http/request.zep", 622);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59499,16 +61831,16 @@ static PHP_METHOD(Phalcon_Http_Request, getUploadedFiles) {
HashTable *_1, *_11;
HashPosition _0, _10;
zval *files;
- zval *notErrored_param = NULL, *superFiles = NULL, *prefix = NULL, *input = NULL, *smoothInput = NULL, *file = NULL, *dataFile = NULL, *_FILES, **_2, *_3 = NULL, *_4, *_5, *_6, *_7, *_8, **_12, *_14, *_15 = NULL, *_16 = NULL, *_17;
- zend_bool notErrored, _13;
+ zval *onlySuccessful_param = NULL, *superFiles = NULL, *prefix = NULL, *input = NULL, *smoothInput = NULL, *file = NULL, *dataFile = NULL, *_FILES, **_2, *_3 = NULL, *_4, *_5, *_6, *_7, *_8, **_12, *_14, *_15 = NULL, *_16 = NULL, *_17;
+ zend_bool onlySuccessful, _13;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, ¬Errored_param);
+ zephir_fetch_params(1, 0, 1, &onlySuccessful_param);
- if (!notErrored_param) {
- notErrored = 0;
+ if (!onlySuccessful_param) {
+ onlySuccessful = 0;
} else {
- notErrored = zephir_get_boolval(notErrored_param);
+ onlySuccessful = zephir_get_boolval(onlySuccessful_param);
}
ZEPHIR_INIT_VAR(files);
array_init(files);
@@ -59517,7 +61849,7 @@ static PHP_METHOD(Phalcon_Http_Request, getUploadedFiles) {
zephir_get_global(&_FILES, SS("_FILES") TSRMLS_CC);
ZEPHIR_CPY_WRT(superFiles, _FILES);
if (zephir_fast_count_int(superFiles TSRMLS_CC) > 0) {
- zephir_is_iterable(superFiles, &_1, &_0, 0, 0, "phalcon/http/request.zep", 758);
+ zephir_is_iterable(superFiles, &_1, &_0, 0, 0, "phalcon/http/request.zep", 660);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59525,56 +61857,56 @@ static PHP_METHOD(Phalcon_Http_Request, getUploadedFiles) {
ZEPHIR_GET_HMKEY(prefix, _1, _0);
ZEPHIR_GET_HVALUE(input, _2);
ZEPHIR_OBS_NVAR(_3);
- zephir_array_fetch_string(&_3, input, SL("name"), PH_NOISY, "phalcon/http/request.zep", 736 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, input, SL("name"), PH_NOISY, "phalcon/http/request.zep", 638 TSRMLS_CC);
if (Z_TYPE_P(_3) == IS_ARRAY) {
- zephir_array_fetch_string(&_4, input, SL("name"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 737 TSRMLS_CC);
- zephir_array_fetch_string(&_5, input, SL("type"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 737 TSRMLS_CC);
- zephir_array_fetch_string(&_6, input, SL("tmp_name"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 737 TSRMLS_CC);
- zephir_array_fetch_string(&_7, input, SL("size"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 737 TSRMLS_CC);
- zephir_array_fetch_string(&_8, input, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 737 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, input, SL("name"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 639 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, input, SL("type"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 639 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, input, SL("tmp_name"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 639 TSRMLS_CC);
+ zephir_array_fetch_string(&_7, input, SL("size"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 639 TSRMLS_CC);
+ zephir_array_fetch_string(&_8, input, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 639 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&smoothInput, this_ptr, "smoothfiles", &_9, _4, _5, _6, _7, _8, prefix);
zephir_check_call_status();
- zephir_is_iterable(smoothInput, &_11, &_10, 0, 0, "phalcon/http/request.zep", 752);
+ zephir_is_iterable(smoothInput, &_11, &_10, 0, 0, "phalcon/http/request.zep", 654);
for (
; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS
; zephir_hash_move_forward_ex(_11, &_10)
) {
ZEPHIR_GET_HVALUE(file, _12);
- _13 = notErrored == 0;
+ _13 = onlySuccessful == 0;
if (!(_13)) {
- zephir_array_fetch_string(&_14, file, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 740 TSRMLS_CC);
+ zephir_array_fetch_string(&_14, file, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 642 TSRMLS_CC);
_13 = ZEPHIR_IS_LONG(_14, 0);
}
if (_13) {
ZEPHIR_INIT_NVAR(dataFile);
zephir_create_array(dataFile, 5, 0 TSRMLS_CC);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, file, SL("name"), PH_NOISY, "phalcon/http/request.zep", 742 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, file, SL("name"), PH_NOISY, "phalcon/http/request.zep", 644 TSRMLS_CC);
zephir_array_update_string(&dataFile, SL("name"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, file, SL("type"), PH_NOISY, "phalcon/http/request.zep", 743 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, file, SL("type"), PH_NOISY, "phalcon/http/request.zep", 645 TSRMLS_CC);
zephir_array_update_string(&dataFile, SL("type"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, file, SL("tmp_name"), PH_NOISY, "phalcon/http/request.zep", 744 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, file, SL("tmp_name"), PH_NOISY, "phalcon/http/request.zep", 646 TSRMLS_CC);
zephir_array_update_string(&dataFile, SL("tmp_name"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, file, SL("size"), PH_NOISY, "phalcon/http/request.zep", 745 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, file, SL("size"), PH_NOISY, "phalcon/http/request.zep", 647 TSRMLS_CC);
zephir_array_update_string(&dataFile, SL("size"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, file, SL("error"), PH_NOISY, "phalcon/http/request.zep", 747 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, file, SL("error"), PH_NOISY, "phalcon/http/request.zep", 649 TSRMLS_CC);
zephir_array_update_string(&dataFile, SL("error"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_INIT_NVAR(_16);
object_init_ex(_16, phalcon_http_request_file_ce);
- zephir_array_fetch_string(&_17, file, SL("key"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 749 TSRMLS_CC);
+ zephir_array_fetch_string(&_17, file, SL("key"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 651 TSRMLS_CC);
ZEPHIR_CALL_METHOD(NULL, _16, "__construct", &_18, dataFile, _17);
zephir_check_call_status();
- zephir_array_append(&files, _16, PH_SEPARATE, "phalcon/http/request.zep", 749);
+ zephir_array_append(&files, _16, PH_SEPARATE, "phalcon/http/request.zep", 651);
}
}
} else {
- _13 = notErrored == 0;
+ _13 = onlySuccessful == 0;
if (!(_13)) {
- zephir_array_fetch_string(&_4, input, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 753 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, input, SL("error"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 655 TSRMLS_CC);
_13 = ZEPHIR_IS_LONG(_4, 0);
}
if (_13) {
@@ -59582,7 +61914,7 @@ static PHP_METHOD(Phalcon_Http_Request, getUploadedFiles) {
object_init_ex(_16, phalcon_http_request_file_ce);
ZEPHIR_CALL_METHOD(NULL, _16, "__construct", &_18, input, prefix);
zephir_check_call_status();
- zephir_array_append(&files, _16, PH_SEPARATE, "phalcon/http/request.zep", 754);
+ zephir_array_append(&files, _16, PH_SEPARATE, "phalcon/http/request.zep", 656);
}
}
}
@@ -59619,7 +61951,7 @@ static PHP_METHOD(Phalcon_Http_Request, smoothFiles) {
ZEPHIR_INIT_VAR(files);
array_init(files);
- zephir_is_iterable(names, &_1, &_0, 0, 0, "phalcon/http/request.zep", 796);
+ zephir_is_iterable(names, &_1, &_0, 0, 0, "phalcon/http/request.zep", 698);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59633,35 +61965,35 @@ static PHP_METHOD(Phalcon_Http_Request, smoothFiles) {
zephir_create_array(_3, 6, 0 TSRMLS_CC);
zephir_array_update_string(&_3, SL("name"), &name, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch(&_4, types, idx, PH_NOISY, "phalcon/http/request.zep", 779 TSRMLS_CC);
+ zephir_array_fetch(&_4, types, idx, PH_NOISY, "phalcon/http/request.zep", 681 TSRMLS_CC);
zephir_array_update_string(&_3, SL("type"), &_4, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch(&_4, tmp_names, idx, PH_NOISY, "phalcon/http/request.zep", 780 TSRMLS_CC);
+ zephir_array_fetch(&_4, tmp_names, idx, PH_NOISY, "phalcon/http/request.zep", 682 TSRMLS_CC);
zephir_array_update_string(&_3, SL("tmp_name"), &_4, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch(&_4, sizes, idx, PH_NOISY, "phalcon/http/request.zep", 781 TSRMLS_CC);
+ zephir_array_fetch(&_4, sizes, idx, PH_NOISY, "phalcon/http/request.zep", 683 TSRMLS_CC);
zephir_array_update_string(&_3, SL("size"), &_4, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch(&_4, errors, idx, PH_NOISY, "phalcon/http/request.zep", 782 TSRMLS_CC);
+ zephir_array_fetch(&_4, errors, idx, PH_NOISY, "phalcon/http/request.zep", 684 TSRMLS_CC);
zephir_array_update_string(&_3, SL("error"), &_4, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&_3, SL("key"), &p, PH_COPY | PH_SEPARATE);
- zephir_array_append(&files, _3, PH_SEPARATE, "phalcon/http/request.zep", 784);
+ zephir_array_append(&files, _3, PH_SEPARATE, "phalcon/http/request.zep", 686);
}
if (Z_TYPE_P(name) == IS_ARRAY) {
- zephir_array_fetch(&_5, names, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 788 TSRMLS_CC);
- zephir_array_fetch(&_6, types, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 788 TSRMLS_CC);
- zephir_array_fetch(&_7, tmp_names, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 788 TSRMLS_CC);
- zephir_array_fetch(&_8, sizes, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 788 TSRMLS_CC);
- zephir_array_fetch(&_9, errors, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 788 TSRMLS_CC);
+ zephir_array_fetch(&_5, names, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 690 TSRMLS_CC);
+ zephir_array_fetch(&_6, types, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 690 TSRMLS_CC);
+ zephir_array_fetch(&_7, tmp_names, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 690 TSRMLS_CC);
+ zephir_array_fetch(&_8, sizes, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 690 TSRMLS_CC);
+ zephir_array_fetch(&_9, errors, idx, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 690 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&parentFiles, this_ptr, "smoothfiles", &_10, _5, _6, _7, _8, _9, p);
zephir_check_call_status();
- zephir_is_iterable(parentFiles, &_12, &_11, 0, 0, "phalcon/http/request.zep", 793);
+ zephir_is_iterable(parentFiles, &_12, &_11, 0, 0, "phalcon/http/request.zep", 695);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
) {
ZEPHIR_GET_HVALUE(file, _13);
- zephir_array_append(&files, file, PH_SEPARATE, "phalcon/http/request.zep", 791);
+ zephir_array_append(&files, file, PH_SEPARATE, "phalcon/http/request.zep", 693);
}
}
}
@@ -59687,7 +62019,7 @@ static PHP_METHOD(Phalcon_Http_Request, getHeaders) {
zephir_array_update_string(&contentHeaders, SL("CONTENT_TYPE"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
zephir_array_update_string(&contentHeaders, SL("CONTENT_LENGTH"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
zephir_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC);
- zephir_is_iterable(_SERVER, &_1, &_0, 0, 0, "phalcon/http/request.zep", 822);
+ zephir_is_iterable(_SERVER, &_1, &_0, 0, 0, "phalcon/http/request.zep", 724);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59803,7 +62135,7 @@ static PHP_METHOD(Phalcon_Http_Request, _getQualityHeader) {
ZVAL_LONG(&_3, 1);
ZEPHIR_CALL_FUNCTION(&_4, "preg_split", &_5, &_1, _0, &_2, &_3);
zephir_check_call_status();
- zephir_is_iterable(_4, &_7, &_6, 0, 0, "phalcon/http/request.zep", 865);
+ zephir_is_iterable(_4, &_7, &_6, 0, 0, "phalcon/http/request.zep", 767);
for (
; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
; zephir_hash_move_forward_ex(_7, &_6)
@@ -59821,7 +62153,7 @@ static PHP_METHOD(Phalcon_Http_Request, _getQualityHeader) {
ZVAL_LONG(&_3, 1);
ZEPHIR_CALL_FUNCTION(&_10, "preg_split", &_5, &_1, _9, &_2, &_3);
zephir_check_call_status();
- zephir_is_iterable(_10, &_12, &_11, 0, 0, "phalcon/http/request.zep", 862);
+ zephir_is_iterable(_10, &_12, &_11, 0, 0, "phalcon/http/request.zep", 764);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
@@ -59834,17 +62166,17 @@ static PHP_METHOD(Phalcon_Http_Request, _getQualityHeader) {
if (!ZEPHIR_IS_FALSE_IDENTICAL(_14)) {
ZEPHIR_INIT_NVAR(split);
zephir_fast_explode_str(split, SL("="), headerPart, 2 TSRMLS_CC);
- zephir_array_fetch_long(&_15, split, 0, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 851 TSRMLS_CC);
+ zephir_array_fetch_long(&_15, split, 0, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 753 TSRMLS_CC);
if (ZEPHIR_IS_STRING_IDENTICAL(_15, "q")) {
ZEPHIR_OBS_NVAR(_16);
- zephir_array_fetch_long(&_16, split, 1, PH_NOISY, "phalcon/http/request.zep", 852 TSRMLS_CC);
+ zephir_array_fetch_long(&_16, split, 1, PH_NOISY, "phalcon/http/request.zep", 754 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_17);
ZVAL_DOUBLE(_17, zephir_get_doubleval(_16));
zephir_array_update_string(&headerParts, SL("quality"), &_17, PH_COPY | PH_SEPARATE);
} else {
- zephir_array_fetch_long(&_18, split, 1, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 854 TSRMLS_CC);
+ zephir_array_fetch_long(&_18, split, 1, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 756 TSRMLS_CC);
ZEPHIR_OBS_NVAR(_16);
- zephir_array_fetch_long(&_16, split, 0, PH_NOISY, "phalcon/http/request.zep", 854 TSRMLS_CC);
+ zephir_array_fetch_long(&_16, split, 0, PH_NOISY, "phalcon/http/request.zep", 756 TSRMLS_CC);
zephir_array_update_zval(&headerParts, _16, &_18, PH_COPY | PH_SEPARATE);
}
} else {
@@ -59854,7 +62186,7 @@ static PHP_METHOD(Phalcon_Http_Request, _getQualityHeader) {
zephir_array_update_string(&headerParts, SL("quality"), &_17, PH_COPY | PH_SEPARATE);
}
}
- zephir_array_append(&returnedParts, headerParts, PH_SEPARATE, "phalcon/http/request.zep", 862);
+ zephir_array_append(&returnedParts, headerParts, PH_SEPARATE, "phalcon/http/request.zep", 764);
}
RETURN_CCTOR(returnedParts);
@@ -59891,7 +62223,7 @@ static PHP_METHOD(Phalcon_Http_Request, _getBestQuality) {
quality = 0.0;
ZEPHIR_INIT_VAR(selectedName);
ZVAL_STRING(selectedName, "", 1);
- zephir_is_iterable(qualityParts, &_1, &_0, 0, 0, "phalcon/http/request.zep", 894);
+ zephir_is_iterable(qualityParts, &_1, &_0, 0, 0, "phalcon/http/request.zep", 796);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -59899,18 +62231,18 @@ static PHP_METHOD(Phalcon_Http_Request, _getBestQuality) {
ZEPHIR_GET_HVALUE(accept, _2);
if (i == 0) {
ZEPHIR_OBS_NVAR(_3);
- zephir_array_fetch_string(&_3, accept, SL("quality"), PH_NOISY, "phalcon/http/request.zep", 883 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, accept, SL("quality"), PH_NOISY, "phalcon/http/request.zep", 785 TSRMLS_CC);
quality = zephir_get_doubleval(_3);
ZEPHIR_OBS_NVAR(selectedName);
- zephir_array_fetch(&selectedName, accept, name, PH_NOISY, "phalcon/http/request.zep", 884 TSRMLS_CC);
+ zephir_array_fetch(&selectedName, accept, name, PH_NOISY, "phalcon/http/request.zep", 786 TSRMLS_CC);
} else {
ZEPHIR_OBS_NVAR(_3);
- zephir_array_fetch_string(&_3, accept, SL("quality"), PH_NOISY, "phalcon/http/request.zep", 886 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, accept, SL("quality"), PH_NOISY, "phalcon/http/request.zep", 788 TSRMLS_CC);
acceptQuality = zephir_get_doubleval(_3);
if (acceptQuality > quality) {
quality = acceptQuality;
ZEPHIR_OBS_NVAR(selectedName);
- zephir_array_fetch(&selectedName, accept, name, PH_NOISY, "phalcon/http/request.zep", 889 TSRMLS_CC);
+ zephir_array_fetch(&selectedName, accept, name, PH_NOISY, "phalcon/http/request.zep", 791 TSRMLS_CC);
}
}
i++;
@@ -60065,9 +62397,9 @@ static PHP_METHOD(Phalcon_Http_Request, getBasicAuth) {
if (_0) {
ZEPHIR_INIT_VAR(auth);
array_init(auth);
- zephir_array_fetch_string(&_1, _SERVER, SL("PHP_AUTH_USER"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 977 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, _SERVER, SL("PHP_AUTH_USER"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 878 TSRMLS_CC);
zephir_array_update_string(&auth, SL("username"), &_1, PH_COPY | PH_SEPARATE);
- zephir_array_fetch_string(&_2, _SERVER, SL("PHP_AUTH_PW"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 978 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, _SERVER, SL("PHP_AUTH_PW"), PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 879 TSRMLS_CC);
zephir_array_update_string(&auth, SL("password"), &_2, PH_COPY | PH_SEPARATE);
RETURN_CCTOR(auth);
}
@@ -60106,15 +62438,15 @@ static PHP_METHOD(Phalcon_Http_Request, getDigestAuth) {
RETURN_CTOR(auth);
}
if (Z_TYPE_P(matches) == IS_ARRAY) {
- zephir_is_iterable(matches, &_5, &_4, 0, 0, "phalcon/http/request.zep", 1003);
+ zephir_is_iterable(matches, &_5, &_4, 0, 0, "phalcon/http/request.zep", 904);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
) {
ZEPHIR_GET_HVALUE(match, _6);
- zephir_array_fetch_long(&_7, match, 3, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 1001 TSRMLS_CC);
+ zephir_array_fetch_long(&_7, match, 3, PH_NOISY | PH_READONLY, "phalcon/http/request.zep", 902 TSRMLS_CC);
ZEPHIR_OBS_NVAR(_8);
- zephir_array_fetch_long(&_8, match, 1, PH_NOISY, "phalcon/http/request.zep", 1001 TSRMLS_CC);
+ zephir_array_fetch_long(&_8, match, 1, PH_NOISY, "phalcon/http/request.zep", 902 TSRMLS_CC);
zephir_array_update_zval(&auth, _8, &_7, PH_COPY | PH_SEPARATE);
}
}
@@ -60716,20 +63048,22 @@ static PHP_METHOD(Phalcon_Http_Response, setEtag) {
static PHP_METHOD(Phalcon_Http_Response, redirect) {
zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- zend_bool _0;
int statusCode, ZEPHIR_LAST_CALL_STATUS;
- zval *location = NULL, *externalRedirect = NULL, *statusCode_param = NULL, *header = NULL, *url = NULL, *dependencyInjector = NULL, *matched, *message = NULL, *view = NULL, _1 = zval_used_for_init, *_2 = NULL, *_4, *_5 = NULL, *_6;
+ zend_bool externalRedirect, _0;
+ zval *location = NULL, *externalRedirect_param = NULL, *statusCode_param = NULL, *header = NULL, *url = NULL, *dependencyInjector = NULL, *matched, *message = NULL, *view = NULL, _1 = zval_used_for_init, *_2 = NULL, *_4, *_5 = NULL, *_6;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 3, &location, &externalRedirect, &statusCode_param);
+ zephir_fetch_params(1, 0, 3, &location, &externalRedirect_param, &statusCode_param);
if (!location) {
ZEPHIR_CPY_WRT(location, ZEPHIR_GLOBAL(global_null));
} else {
ZEPHIR_SEPARATE_PARAM(location);
}
- if (!externalRedirect) {
- externalRedirect = ZEPHIR_GLOBAL(global_false);
+ if (!externalRedirect_param) {
+ externalRedirect = 0;
+ } else {
+ externalRedirect = zephir_get_boolval(externalRedirect_param);
}
if (!statusCode_param) {
statusCode = 302;
@@ -60742,7 +63076,7 @@ static PHP_METHOD(Phalcon_Http_Response, redirect) {
ZEPHIR_INIT_NVAR(location);
ZVAL_STRING(location, "", 1);
}
- if (zephir_is_true(externalRedirect)) {
+ if (externalRedirect) {
ZEPHIR_CPY_WRT(header, location);
} else {
_0 = Z_TYPE_P(location) == IS_STRING;
@@ -61921,10 +64255,13 @@ static PHP_METHOD(Phalcon_Http_Response_Headers, __set_state) {
HashTable *_1;
HashPosition _0;
int ZEPHIR_LAST_CALL_STATUS;
- zval *data, *headers, *key = NULL, *value = NULL, *dataHeaders, **_2;
+ zval *data_param = NULL, *headers, *key = NULL, *value = NULL, *dataHeaders, **_2;
+ zval *data = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &data);
+ zephir_fetch_params(1, 1, 0, &data_param);
+
+ data = data_param;
@@ -61936,7 +64273,7 @@ static PHP_METHOD(Phalcon_Http_Response_Headers, __set_state) {
}
ZEPHIR_OBS_VAR(dataHeaders);
if (zephir_array_isset_string_fetch(&dataHeaders, data, SS("_headers"), 0 TSRMLS_CC)) {
- zephir_is_iterable(dataHeaders, &_1, &_0, 0, 0, "phalcon/http/response/headers.zep", 135);
+ zephir_is_iterable(dataHeaders, &_1, &_0, 0, 0, "phalcon/http/response/headers.zep", 130);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -69178,8 +71515,8 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _getResultset) {
static PHP_METHOD(Phalcon_Mvc_Collection, _getGroupResultset) {
+ zend_bool _0, _1;
int ZEPHIR_LAST_CALL_STATUS;
- zend_bool simple;
zval *params, *collection, *connection, *source = NULL, *mongoCollection = NULL, *conditions = NULL, *limit, *sort = NULL, *documentsCursor = NULL;
ZEPHIR_MM_GROW();
@@ -69203,19 +71540,15 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _getGroupResultset) {
array_init(conditions);
}
}
- simple = 1;
- if (zephir_array_isset_string(params, SS("limit"))) {
- simple = 0;
- } else {
- if (zephir_array_isset_string(params, SS("sort"))) {
- simple = 0;
- } else {
- if (zephir_array_isset_string(params, SS("skip"))) {
- simple = 0;
- }
- }
+ _0 = zephir_array_isset_string(params, SS("limit"));
+ if (!(_0)) {
+ _0 = zephir_array_isset_string(params, SS("sort"));
+ }
+ _1 = _0;
+ if (!(_1)) {
+ _1 = zephir_array_isset_string(params, SS("skip"));
}
- if (simple == 0) {
+ if (_1) {
ZEPHIR_CALL_METHOD(&documentsCursor, mongoCollection, "find", NULL, conditions);
zephir_check_call_status();
ZEPHIR_OBS_VAR(limit);
@@ -69245,14 +71578,17 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _preSave) {
zephir_fcall_cache_entry *_2 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *dependencyInjector, *disableEvents, *exists, *eventName = NULL, *_0 = NULL, *_1 = NULL, *_3 = NULL, *_4 = NULL, *_5 = NULL;
+ zend_bool disableEvents, exists;
+ zval *dependencyInjector, *disableEvents_param = NULL, *exists_param = NULL, *eventName = NULL, *_0 = NULL, *_1 = NULL, *_3 = NULL, *_4 = NULL, *_5 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &dependencyInjector, &disableEvents, &exists);
+ zephir_fetch_params(1, 3, 0, &dependencyInjector, &disableEvents_param, &exists_param);
+ disableEvents = zephir_get_boolval(disableEvents_param);
+ exists = zephir_get_boolval(exists_param);
- if (!(zephir_is_true(disableEvents))) {
+ if (!(disableEvents)) {
ZEPHIR_INIT_VAR(_1);
ZVAL_STRING(_1, "beforeValidation", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fireeventcancel", &_2, _1);
@@ -69262,7 +71598,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _preSave) {
RETURN_MM_BOOL(0);
}
ZEPHIR_INIT_VAR(eventName);
- if (!(zephir_is_true(exists))) {
+ if (!(exists)) {
ZVAL_STRING(eventName, "beforeValidationOnCreate", 1);
} else {
ZVAL_STRING(eventName, "beforeValidationOnUpdate", 1);
@@ -69279,7 +71615,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _preSave) {
zephir_check_temp_parameter(_1);
zephir_check_call_status();
if (ZEPHIR_IS_FALSE_IDENTICAL(_0)) {
- if (!(zephir_is_true(disableEvents))) {
+ if (!(disableEvents)) {
ZEPHIR_INIT_NVAR(_1);
ZVAL_STRING(_1, "onValidationFails", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_CALL_METHOD(NULL, this_ptr, "fireevent", NULL, _1);
@@ -69288,9 +71624,9 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _preSave) {
}
RETURN_MM_BOOL(0);
}
- if (!(zephir_is_true(disableEvents))) {
+ if (!(disableEvents)) {
ZEPHIR_INIT_NVAR(eventName);
- if (!(zephir_is_true(exists))) {
+ if (!(exists)) {
ZVAL_STRING(eventName, "afterValidationOnCreate", 1);
} else {
ZVAL_STRING(eventName, "afterValidationOnUpdate", 1);
@@ -69317,7 +71653,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, _preSave) {
RETURN_MM_BOOL(0);
}
ZEPHIR_INIT_NVAR(eventName);
- if (zephir_is_true(exists)) {
+ if (exists) {
ZVAL_STRING(eventName, "beforeUpdate", 1);
} else {
ZVAL_STRING(eventName, "beforeCreate", 1);
@@ -69395,7 +71731,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, validate) {
if (ZEPHIR_IS_FALSE_IDENTICAL(_0)) {
ZEPHIR_CALL_METHOD(&_1, validator, "getmessages", NULL);
zephir_check_call_status();
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/collection.zep", 658);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/collection.zep", 645);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -69598,13 +71934,13 @@ static PHP_METHOD(Phalcon_Mvc_Collection, save) {
ZEPHIR_OBS_VAR(dependencyInjector);
zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "A dependency injector container is required to obtain the services related to the ORM", "phalcon/mvc/collection.zep", 849);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "A dependency injector container is required to obtain the services related to the ORM", "phalcon/mvc/collection.zep", 836);
return;
}
ZEPHIR_CALL_METHOD(&source, this_ptr, "getsource", NULL);
zephir_check_call_status();
if (ZEPHIR_IS_EMPTY(source)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 854);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 841);
return;
}
ZEPHIR_CALL_METHOD(&connection, this_ptr, "getconnection", NULL);
@@ -69638,7 +71974,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, save) {
zephir_check_call_status();
ZEPHIR_CALL_FUNCTION(&properties, "get_object_vars", &_4, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(properties, &_6, &_5, 0, 0, "phalcon/mvc/collection.zep", 909);
+ zephir_is_iterable(properties, &_6, &_5, 0, 0, "phalcon/mvc/collection.zep", 896);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -69737,22 +72073,20 @@ static PHP_METHOD(Phalcon_Mvc_Collection, findFirst) {
int ZEPHIR_LAST_CALL_STATUS;
zend_class_entry *_1;
- zval *parameters = NULL, *className, *collection, *connection = NULL, *_0 = NULL, *_2;
+ zval *parameters_param = NULL, *className, *collection, *connection = NULL, *_0 = NULL, *_2;
+ zval *parameters = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, ¶meters);
+ zephir_fetch_params(1, 0, 1, ¶meters_param);
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
+ if (!parameters_param) {
+ ZEPHIR_INIT_VAR(parameters);
+ array_init(parameters);
+ } else {
+ zephir_get_arrval(parameters, parameters_param);
}
- if (zephir_is_true(parameters)) {
- if (Z_TYPE_P(parameters) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Invalid parameters for findFirst", "phalcon/mvc/collection.zep", 1002);
- return;
- }
- }
ZEPHIR_INIT_VAR(className);
zephir_get_called_class(className TSRMLS_CC);
ZEPHIR_INIT_VAR(collection);
@@ -69777,22 +72111,20 @@ static PHP_METHOD(Phalcon_Mvc_Collection, find) {
int ZEPHIR_LAST_CALL_STATUS;
zend_class_entry *_1;
- zval *parameters = NULL, *className, *collection, *_0 = NULL, *_2 = NULL, *_3;
+ zval *parameters_param = NULL, *className, *collection, *_0 = NULL, *_2 = NULL, *_3;
+ zval *parameters = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, ¶meters);
+ zephir_fetch_params(1, 0, 1, ¶meters_param);
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
+ if (!parameters_param) {
+ ZEPHIR_INIT_VAR(parameters);
+ array_init(parameters);
+ } else {
+ zephir_get_arrval(parameters, parameters_param);
}
- if (zephir_is_true(parameters)) {
- if (Z_TYPE_P(parameters) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Invalid parameters for find", "phalcon/mvc/collection.zep", 1059);
- return;
- }
- }
ZEPHIR_INIT_VAR(className);
zephir_get_called_class(className TSRMLS_CC);
ZEPHIR_INIT_VAR(collection);
@@ -69817,22 +72149,20 @@ static PHP_METHOD(Phalcon_Mvc_Collection, count) {
int ZEPHIR_LAST_CALL_STATUS;
zend_class_entry *_1;
- zval *parameters = NULL, *className, *collection, *connection = NULL, *_0 = NULL;
+ zval *parameters_param = NULL, *className, *collection, *connection = NULL, *_0 = NULL;
+ zval *parameters = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, ¶meters);
+ zephir_fetch_params(1, 0, 1, ¶meters_param);
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
+ if (!parameters_param) {
+ ZEPHIR_INIT_VAR(parameters);
+ array_init(parameters);
+ } else {
+ zephir_get_arrval(parameters, parameters_param);
}
- if (zephir_is_true(parameters)) {
- if (Z_TYPE_P(parameters) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Invalid parameters for count", "phalcon/mvc/collection.zep", 1084);
- return;
- }
- }
ZEPHIR_INIT_VAR(className);
zephir_get_called_class(className TSRMLS_CC);
ZEPHIR_INIT_VAR(collection);
@@ -69855,19 +72185,20 @@ static PHP_METHOD(Phalcon_Mvc_Collection, aggregate) {
int ZEPHIR_LAST_CALL_STATUS;
zend_class_entry *_1;
- zval *parameters, *className, *model, *connection = NULL, *source = NULL, *_0 = NULL, *_2 = NULL;
+ zval *parameters_param = NULL, *className, *model, *connection = NULL, *source = NULL, *_0 = NULL, *_2 = NULL;
+ zval *parameters = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, ¶meters);
+ zephir_fetch_params(1, 0, 1, ¶meters_param);
+ if (!parameters_param) {
+ ZEPHIR_INIT_VAR(parameters);
+ array_init(parameters);
+ } else {
+ zephir_get_arrval(parameters, parameters_param);
+ }
- if (zephir_is_true(parameters)) {
- if (Z_TYPE_P(parameters) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Invalid parameters for aggregate", "phalcon/mvc/collection.zep", 1109);
- return;
- }
- }
ZEPHIR_INIT_VAR(className);
zephir_get_called_class(className TSRMLS_CC);
ZEPHIR_INIT_VAR(model);
@@ -69883,7 +72214,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, aggregate) {
ZEPHIR_CALL_METHOD(&source, model, "getsource", NULL);
zephir_check_call_status();
if (ZEPHIR_IS_EMPTY(source)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1121);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1072);
return;
}
ZEPHIR_CALL_METHOD(&_2, connection, "selectcollection", NULL, source);
@@ -69938,7 +72269,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, summatory) {
ZEPHIR_CALL_METHOD(&source, model, "getsource", NULL);
zephir_check_call_status();
if (ZEPHIR_IS_EMPTY(source)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1148);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1099);
return;
}
ZEPHIR_CALL_METHOD(&collection, connection, "selectcollection", NULL, source);
@@ -69958,7 +72289,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, summatory) {
if (zephir_array_isset_string_fetch(&retval, group, SS("retval"), 1 TSRMLS_CC)) {
if (zephir_array_isset_long_fetch(&firstRetval, retval, 0, 1 TSRMLS_CC)) {
if (zephir_array_isset_string(firstRetval, SS("summatory"))) {
- zephir_array_fetch_string(&_3, firstRetval, SL("summatory"), PH_NOISY | PH_READONLY, "phalcon/mvc/collection.zep", 1172 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, firstRetval, SL("summatory"), PH_NOISY | PH_READONLY, "phalcon/mvc/collection.zep", 1123 TSRMLS_CC);
RETURN_CTOR(_3);
}
RETURN_CTOR(firstRetval);
@@ -69980,7 +72311,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, delete) {
ZEPHIR_OBS_VAR(id);
if (!(zephir_fetch_property(&id, this_ptr, SL("_id"), PH_SILENT_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "The document cannot be deleted because it doesn't exist", "phalcon/mvc/collection.zep", 1199);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "The document cannot be deleted because it doesn't exist", "phalcon/mvc/collection.zep", 1150);
return;
}
ZEPHIR_OBS_VAR(disableEvents);
@@ -70000,7 +72331,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, delete) {
ZEPHIR_CALL_METHOD(&source, this_ptr, "getsource", NULL);
zephir_check_call_status();
if (ZEPHIR_IS_EMPTY(source)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1214);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "Method getSource() returns empty string", "phalcon/mvc/collection.zep", 1165);
return;
}
ZEPHIR_CALL_METHOD(&collection, connection, "selectcollection", NULL, source);
@@ -70067,7 +72398,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, toArray) {
array_init(data);
ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", &_1, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/mvc/collection.zep", 1292);
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/mvc/collection.zep", 1243);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -70135,7 +72466,7 @@ static PHP_METHOD(Phalcon_Mvc_Collection, unserialize) {
ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
zephir_check_call_status();
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "A dependency injector container is required to obtain the services related to the ODM", "phalcon/mvc/collection.zep", 1323);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "A dependency injector container is required to obtain the services related to the ODM", "phalcon/mvc/collection.zep", 1272);
return;
}
zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
@@ -70145,11 +72476,11 @@ static PHP_METHOD(Phalcon_Mvc_Collection, unserialize) {
zephir_check_temp_parameter(_2);
zephir_check_call_status();
if (Z_TYPE_P(manager) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "The injected service 'collectionManager' is not valid", "phalcon/mvc/collection.zep", 1336);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_collection_exception_ce, "The injected service 'collectionManager' is not valid", "phalcon/mvc/collection.zep", 1285);
return;
}
zephir_update_property_this(this_ptr, SL("_modelsManager"), manager TSRMLS_CC);
- zephir_is_iterable(attributes, &_4, &_3, 0, 0, "phalcon/mvc/collection.zep", 1350);
+ zephir_is_iterable(attributes, &_4, &_3, 0, 0, "phalcon/mvc/collection.zep", 1299);
for (
; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
; zephir_hash_move_forward_ex(_4, &_3)
@@ -72510,7 +74841,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, findFirst) {
zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_2 = NULL, *_4 = NULL, *_5 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *parameters = NULL, *params = NULL, *builder, *query = NULL, *bindParams = NULL, *bindTypes = NULL, *cache, *_1, *_3 = NULL;
+ zval *parameters = NULL, *params = NULL, *builder, *query = NULL, *bindParams = NULL, *bindTypes = NULL, *cache, *resultset = NULL, *hydration, *_1, *_3 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 1, ¶meters);
@@ -72561,9 +74892,16 @@ static PHP_METHOD(Phalcon_Mvc_Model, findFirst) {
ZVAL_BOOL(_3, 1);
ZEPHIR_CALL_METHOD(NULL, query, "setuniquerow", NULL, _3);
zephir_check_call_status();
- ZEPHIR_RETURN_CALL_METHOD(query, "execute", NULL, bindParams, bindTypes);
+ ZEPHIR_CALL_METHOD(&resultset, query, "execute", NULL, bindParams, bindTypes);
zephir_check_call_status();
- RETURN_MM();
+ if (Z_TYPE_P(resultset) == IS_OBJECT) {
+ ZEPHIR_OBS_VAR(hydration);
+ if (zephir_array_isset_string_fetch(&hydration, params, SS("hydration"), 0 TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, resultset, "sethydratemode", NULL, hydration);
+ zephir_check_call_status();
+ }
+ }
+ RETURN_CCTOR(resultset);
}
@@ -72660,7 +74998,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _exists) {
array_init(uniqueParams);
ZEPHIR_INIT_NVAR(uniqueTypes);
array_init(uniqueTypes);
- zephir_is_iterable(primaryKeys, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 939);
+ zephir_is_iterable(primaryKeys, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 950);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -72675,7 +75013,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _exists) {
ZEPHIR_CONCAT_SVS(_4, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 903 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 914 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -72693,9 +75031,9 @@ static PHP_METHOD(Phalcon_Mvc_Model, _exists) {
if (_6) {
numberEmpty++;
}
- zephir_array_append(&uniqueParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 921);
+ zephir_array_append(&uniqueParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 932);
} else {
- zephir_array_append(&uniqueParams, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 924);
+ zephir_array_append(&uniqueParams, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 935);
numberEmpty++;
}
ZEPHIR_OBS_NVAR(type);
@@ -72706,16 +75044,16 @@ static PHP_METHOD(Phalcon_Mvc_Model, _exists) {
ZEPHIR_CONCAT_SVS(_4, "Column '", field, "' isn't part of the table columns");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 929 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 940 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
- zephir_array_append(&uniqueTypes, type, PH_SEPARATE, "phalcon/mvc/model.zep", 932);
+ zephir_array_append(&uniqueTypes, type, PH_SEPARATE, "phalcon/mvc/model.zep", 943);
ZEPHIR_CALL_METHOD(&_7, connection, "escapeidentifier", &_8, field);
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_9);
ZEPHIR_CONCAT_VS(_9, _7, " = ?");
- zephir_array_append(&wherePk, _9, PH_SEPARATE, "phalcon/mvc/model.zep", 933);
+ zephir_array_append(&wherePk, _9, PH_SEPARATE, "phalcon/mvc/model.zep", 944);
}
if (numberPrimary == numberEmpty) {
RETURN_MM_BOOL(0);
@@ -72763,7 +75101,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _exists) {
ZVAL_NULL(_3);
ZEPHIR_CALL_METHOD(&num, connection, "fetchone", NULL, _9, _3, uniqueParams, uniqueTypes);
zephir_check_call_status();
- zephir_array_fetch_string(&_11, num, SL("rowcount"), PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 989 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, num, SL("rowcount"), PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1000 TSRMLS_CC);
if (zephir_is_true(_11)) {
ZEPHIR_INIT_ZVAL_NREF(_12);
ZVAL_LONG(_12, 0);
@@ -72816,7 +75154,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _groupResult) {
ZEPHIR_INIT_VAR(params);
array_init(params);
if (Z_TYPE_P(parameters) != IS_NULL) {
- zephir_array_append(¶ms, parameters, PH_SEPARATE, "phalcon/mvc/model.zep", 1016);
+ zephir_array_append(¶ms, parameters, PH_SEPARATE, "phalcon/mvc/model.zep", 1027);
}
} else {
ZEPHIR_CPY_WRT(params, parameters);
@@ -73131,7 +75469,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, validate) {
if (ZEPHIR_IS_FALSE_IDENTICAL(_0)) {
ZEPHIR_CALL_METHOD(&_1, validator, "getmessages", NULL);
zephir_check_call_status();
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 1311);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 1322);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -73183,7 +75521,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, getMessages) {
ZEPHIR_INIT_VAR(filtered);
array_init(filtered);
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_errorMessages"), PH_NOISY_CC);
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 1378);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 1389);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -73192,7 +75530,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, getMessages) {
ZEPHIR_CALL_METHOD(&_5, message, "getfield", NULL);
zephir_check_call_status();
if (ZEPHIR_IS_EQUAL(_5, filter)) {
- zephir_array_append(&filtered, message, PH_SEPARATE, "phalcon/mvc/model.zep", 1375);
+ zephir_array_append(&filtered, message, PH_SEPARATE, "phalcon/mvc/model.zep", 1386);
}
}
RETURN_CCTOR(filtered);
@@ -73219,7 +75557,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysRestrict) {
zephir_check_call_status();
if (zephir_fast_count_int(belongsTo TSRMLS_CC)) {
error = 0;
- zephir_is_iterable(belongsTo, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1498);
+ zephir_is_iterable(belongsTo, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1509);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -73232,7 +75570,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysRestrict) {
if (Z_TYPE_P(foreignKey) == IS_ARRAY) {
if (zephir_array_isset_string(foreignKey, SS("action"))) {
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1422 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1433 TSRMLS_CC);
action = zephir_get_intval(_4);
}
}
@@ -73250,7 +75588,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysRestrict) {
ZEPHIR_CALL_METHOD(&referencedFields, relation, "getreferencedfields", NULL);
zephir_check_call_status();
if (Z_TYPE_P(fields) == IS_ARRAY) {
- zephir_is_iterable(fields, &_8, &_7, 0, 0, "phalcon/mvc/model.zep", 1453);
+ zephir_is_iterable(fields, &_8, &_7, 0, 0, "phalcon/mvc/model.zep", 1464);
for (
; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
; zephir_hash_move_forward_ex(_8, &_7)
@@ -73259,23 +75597,23 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysRestrict) {
ZEPHIR_GET_HVALUE(field, _9);
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, field, PH_SILENT_CC);
- zephir_array_fetch(&_10, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1450 TSRMLS_CC);
+ zephir_array_fetch(&_10, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1461 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_11);
ZEPHIR_CONCAT_SVSV(_11, "[", _10, "] = ?", position);
- zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1450);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1451);
+ zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1461);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1462);
}
} else {
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, fields, PH_SILENT_CC);
ZEPHIR_INIT_LNVAR(_11);
ZEPHIR_CONCAT_SVS(_11, "[", referencedFields, "] = ?0");
- zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1455);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1456);
+ zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1466);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1467);
}
ZEPHIR_OBS_NVAR(extraConditions);
if (zephir_array_isset_string_fetch(&extraConditions, foreignKey, SS("conditions"), 0 TSRMLS_CC)) {
- zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1463);
+ zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1474);
}
ZEPHIR_INIT_NVAR(_13);
zephir_create_array(_13, 2, 0 TSRMLS_CC);
@@ -73345,7 +75683,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseCascade) {
ZEPHIR_CALL_METHOD(&relations, manager, "gethasoneandhasmany", NULL, this_ptr);
zephir_check_call_status();
if (zephir_fast_count_int(relations TSRMLS_CC)) {
- zephir_is_iterable(relations, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1612);
+ zephir_is_iterable(relations, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1623);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -73358,7 +75696,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseCascade) {
if (Z_TYPE_P(foreignKey) == IS_ARRAY) {
if (zephir_array_isset_string(foreignKey, SS("action"))) {
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1551 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1562 TSRMLS_CC);
action = zephir_get_intval(_4);
}
}
@@ -73376,7 +75714,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseCascade) {
ZEPHIR_INIT_NVAR(bindParams);
array_init(bindParams);
if (Z_TYPE_P(fields) == IS_ARRAY) {
- zephir_is_iterable(fields, &_8, &_7, 0, 0, "phalcon/mvc/model.zep", 1579);
+ zephir_is_iterable(fields, &_8, &_7, 0, 0, "phalcon/mvc/model.zep", 1590);
for (
; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
; zephir_hash_move_forward_ex(_8, &_7)
@@ -73385,23 +75723,23 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseCascade) {
ZEPHIR_GET_HVALUE(field, _9);
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, field, PH_SILENT_CC);
- zephir_array_fetch(&_10, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1576 TSRMLS_CC);
+ zephir_array_fetch(&_10, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1587 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_11);
ZEPHIR_CONCAT_SVSV(_11, "[", _10, "] = ?", position);
- zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1576);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1577);
+ zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1587);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1588);
}
} else {
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, fields, PH_SILENT_CC);
ZEPHIR_INIT_LNVAR(_11);
ZEPHIR_CONCAT_SVS(_11, "[", referencedFields, "] = ?0");
- zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1581);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1582);
+ zephir_array_append(&conditions, _11, PH_SEPARATE, "phalcon/mvc/model.zep", 1592);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1593);
}
ZEPHIR_OBS_NVAR(extraConditions);
if (zephir_array_isset_string_fetch(&extraConditions, foreignKey, SS("conditions"), 0 TSRMLS_CC)) {
- zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1589);
+ zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1600);
}
ZEPHIR_INIT_NVAR(_12);
zephir_create_array(_12, 2, 0 TSRMLS_CC);
@@ -73442,7 +75780,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseRestrict) {
zephir_check_call_status();
if (zephir_fast_count_int(relations TSRMLS_CC)) {
error = 0;
- zephir_is_iterable(relations, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1729);
+ zephir_is_iterable(relations, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 1740);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -73455,7 +75793,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseRestrict) {
if (Z_TYPE_P(foreignKey) == IS_ARRAY) {
if (zephir_array_isset_string(foreignKey, SS("action"))) {
ZEPHIR_OBS_NVAR(_4);
- zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1659 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, foreignKey, SL("action"), PH_NOISY, "phalcon/mvc/model.zep", 1670 TSRMLS_CC);
action = zephir_get_intval(_4);
}
}
@@ -73473,7 +75811,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseRestrict) {
ZEPHIR_INIT_NVAR(bindParams);
array_init(bindParams);
if (Z_TYPE_P(fields) == IS_ARRAY) {
- zephir_is_iterable(fields, &_7, &_6, 0, 0, "phalcon/mvc/model.zep", 1689);
+ zephir_is_iterable(fields, &_7, &_6, 0, 0, "phalcon/mvc/model.zep", 1700);
for (
; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
; zephir_hash_move_forward_ex(_7, &_6)
@@ -73482,23 +75820,23 @@ static PHP_METHOD(Phalcon_Mvc_Model, _checkForeignKeysReverseRestrict) {
ZEPHIR_GET_HVALUE(field, _8);
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, field, PH_SILENT_CC);
- zephir_array_fetch(&_9, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1686 TSRMLS_CC);
+ zephir_array_fetch(&_9, referencedFields, position, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 1697 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_10);
ZEPHIR_CONCAT_SVSV(_10, "[", _9, "] = ?", position);
- zephir_array_append(&conditions, _10, PH_SEPARATE, "phalcon/mvc/model.zep", 1686);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1687);
+ zephir_array_append(&conditions, _10, PH_SEPARATE, "phalcon/mvc/model.zep", 1697);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1698);
}
} else {
ZEPHIR_OBS_NVAR(value);
zephir_fetch_property_zval(&value, this_ptr, fields, PH_SILENT_CC);
ZEPHIR_INIT_LNVAR(_10);
ZEPHIR_CONCAT_SVS(_10, "[", referencedFields, "] = ?0");
- zephir_array_append(&conditions, _10, PH_SEPARATE, "phalcon/mvc/model.zep", 1691);
- zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1692);
+ zephir_array_append(&conditions, _10, PH_SEPARATE, "phalcon/mvc/model.zep", 1702);
+ zephir_array_append(&bindParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 1703);
}
ZEPHIR_OBS_NVAR(extraConditions);
if (zephir_array_isset_string_fetch(&extraConditions, foreignKey, SS("conditions"), 0 TSRMLS_CC)) {
- zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1699);
+ zephir_array_append(&conditions, extraConditions, PH_SEPARATE, "phalcon/mvc/model.zep", 1710);
}
ZEPHIR_INIT_NVAR(_12);
zephir_create_array(_12, 2, 0 TSRMLS_CC);
@@ -73618,7 +75956,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSave) {
zephir_check_call_status();
}
error = 0;
- zephir_is_iterable(notNull, &_5, &_4, 0, 0, "phalcon/mvc/model.zep", 1879);
+ zephir_is_iterable(notNull, &_5, &_4, 0, 0, "phalcon/mvc/model.zep", 1890);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -73635,7 +75973,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSave) {
ZEPHIR_CONCAT_SVS(_7, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_8, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 1829 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 1840 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -73844,7 +76182,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_INIT_NVAR(columnMap);
ZVAL_NULL(columnMap);
}
- zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 2051);
+ zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 2062);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -73860,7 +76198,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_CONCAT_SVS(_4, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2015 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2026 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -73868,7 +76206,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_CPY_WRT(attributeField, field);
}
if (!ZEPHIR_IS_EQUAL(field, identityField)) {
- zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2026);
+ zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2037);
ZEPHIR_OBS_NVAR(value);
if (zephir_fetch_property_zval(&value, this_ptr, attributeField, PH_SILENT_CC)) {
ZEPHIR_OBS_NVAR(bindType);
@@ -73879,15 +76217,15 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_CONCAT_SVS(_4, "Column '", field, "' have not defined a bind data type");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2037 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2048 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
- zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2040);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2040);
+ zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2051);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2051);
} else {
- zephir_array_append(&values, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2042);
- zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2042);
+ zephir_array_append(&values, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2053);
+ zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2053);
}
}
}
@@ -73899,7 +76237,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
zephir_check_call_status();
useExplicitIdentity = zephir_get_boolval(_6);
if (useExplicitIdentity) {
- zephir_array_append(&fields, identityField, PH_SEPARATE, "phalcon/mvc/model.zep", 2060);
+ zephir_array_append(&fields, identityField, PH_SEPARATE, "phalcon/mvc/model.zep", 2071);
}
if (Z_TYPE_P(columnMap) == IS_ARRAY) {
ZEPHIR_OBS_NVAR(attributeField);
@@ -73910,7 +76248,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_CONCAT_SVS(_4, "Identity column '", identityField, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2068 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2079 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -73925,12 +76263,12 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
}
if (_7) {
if (useExplicitIdentity) {
- zephir_array_append(&values, defaultValue, PH_SEPARATE, "phalcon/mvc/model.zep", 2081);
- zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2081);
+ zephir_array_append(&values, defaultValue, PH_SEPARATE, "phalcon/mvc/model.zep", 2092);
+ zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2092);
}
} else {
if (!(useExplicitIdentity)) {
- zephir_array_append(&fields, identityField, PH_SEPARATE, "phalcon/mvc/model.zep", 2089);
+ zephir_array_append(&fields, identityField, PH_SEPARATE, "phalcon/mvc/model.zep", 2100);
}
ZEPHIR_OBS_NVAR(bindType);
if (!(zephir_array_isset_fetch(&bindType, bindDataTypes, identityField, 0 TSRMLS_CC))) {
@@ -73940,17 +76278,17 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowInsert) {
ZEPHIR_CONCAT_SVS(_4, "Identity column '", identityField, "' isn\\'t part of the table columns");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2096 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 2107 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
- zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2099);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2099);
+ zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2110);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2110);
}
} else {
if (useExplicitIdentity) {
- zephir_array_append(&values, defaultValue, PH_SEPARATE, "phalcon/mvc/model.zep", 2103);
- zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2103);
+ zephir_array_append(&values, defaultValue, PH_SEPARATE, "phalcon/mvc/model.zep", 2114);
+ zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2114);
}
}
}
@@ -74035,7 +76373,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_INIT_NVAR(columnMap);
ZVAL_NULL(columnMap);
}
- zephir_is_iterable(nonPrimary, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 2290);
+ zephir_is_iterable(nonPrimary, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 2301);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -74050,7 +76388,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_CONCAT_SVS(_6, "Column '", field, "' have not defined a bind data type");
ZEPHIR_CALL_METHOD(NULL, _5, "__construct", &_7, _6);
zephir_check_call_status();
- zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2194 TSRMLS_CC);
+ zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2205 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74063,7 +76401,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_CONCAT_SVS(_6, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _5, "__construct", &_7, _6);
zephir_check_call_status();
- zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2202 TSRMLS_CC);
+ zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2213 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74073,9 +76411,9 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_OBS_NVAR(value);
if (zephir_fetch_property_zval(&value, this_ptr, attributeField, PH_SILENT_CC)) {
if (!(useDynamicUpdate)) {
- zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2218);
- zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2218);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2219);
+ zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2229);
+ zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2229);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2230);
} else {
ZEPHIR_OBS_NVAR(snapshotValue);
if (!(zephir_array_isset_fetch(&snapshotValue, snapshot, attributeField, 0 TSRMLS_CC))) {
@@ -74117,15 +76455,15 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
}
}
if (changed) {
- zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2276);
- zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2276);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2277);
+ zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2287);
+ zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2287);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2288);
}
}
} else {
- zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2282);
- zephir_array_append(&values, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2282);
- zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2282);
+ zephir_array_append(&fields, field, PH_SEPARATE, "phalcon/mvc/model.zep", 2293);
+ zephir_array_append(&values, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2293);
+ zephir_array_append(&bindTypes, bindSkip, PH_SEPARATE, "phalcon/mvc/model.zep", 2293);
}
}
}
@@ -74142,12 +76480,12 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_CALL_METHOD(&primaryKeys, metaData, "getprimarykeyattributes", NULL, this_ptr);
zephir_check_call_status();
if (!(zephir_fast_count_int(primaryKeys TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A primary key must be defined in the model in order to perform the operation", "phalcon/mvc/model.zep", 2309);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A primary key must be defined in the model in order to perform the operation", "phalcon/mvc/model.zep", 2320);
return;
}
ZEPHIR_INIT_NVAR(uniqueParams);
array_init(uniqueParams);
- zephir_is_iterable(primaryKeys, &_13, &_12, 0, 0, "phalcon/mvc/model.zep", 2333);
+ zephir_is_iterable(primaryKeys, &_13, &_12, 0, 0, "phalcon/mvc/model.zep", 2344);
for (
; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
; zephir_hash_move_forward_ex(_13, &_12)
@@ -74162,7 +76500,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
ZEPHIR_CONCAT_SVS(_6, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _5, "__construct", &_7, _6);
zephir_check_call_status();
- zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2320 TSRMLS_CC);
+ zephir_throw_exception_debug(_5, "phalcon/mvc/model.zep", 2331 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74171,9 +76509,9 @@ static PHP_METHOD(Phalcon_Mvc_Model, _doLowUpdate) {
}
ZEPHIR_OBS_NVAR(value);
if (zephir_fetch_property_zval(&value, this_ptr, attributeField, PH_SILENT_CC)) {
- zephir_array_append(&uniqueParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2327);
+ zephir_array_append(&uniqueParams, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2338);
} else {
- zephir_array_append(&uniqueParams, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2329);
+ zephir_array_append(&uniqueParams, ZEPHIR_GLOBAL(global_null), PH_SEPARATE, "phalcon/mvc/model.zep", 2340);
}
}
}
@@ -74210,7 +76548,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSaveRelatedRecords) {
ZEPHIR_CALL_METHOD(&_0, this_ptr, "getmodelsmanager", NULL);
zephir_check_call_status();
ZEPHIR_CPY_WRT(manager, _0);
- zephir_is_iterable(related, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 2439);
+ zephir_is_iterable(related, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 2450);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -74227,7 +76565,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSaveRelatedRecords) {
if (Z_TYPE_P(record) != IS_OBJECT) {
ZEPHIR_CALL_METHOD(NULL, connection, "rollback", &_6, (nesting ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Only objects can be stored as part of belongs-to relations", "phalcon/mvc/model.zep", 2388);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Only objects can be stored as part of belongs-to relations", "phalcon/mvc/model.zep", 2399);
return;
}
ZEPHIR_CALL_METHOD(&columns, relation, "getfields", &_7);
@@ -74239,7 +76577,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSaveRelatedRecords) {
if (Z_TYPE_P(columns) == IS_ARRAY) {
ZEPHIR_CALL_METHOD(NULL, connection, "rollback", &_6, (nesting ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Not implemented", "phalcon/mvc/model.zep", 2397);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Not implemented", "phalcon/mvc/model.zep", 2408);
return;
}
ZEPHIR_CALL_METHOD(&_0, record, "save", NULL);
@@ -74247,7 +76585,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _preSaveRelatedRecords) {
if (!(zephir_is_true(_0))) {
ZEPHIR_CALL_METHOD(&_10, record, "getmessages", NULL);
zephir_check_call_status();
- zephir_is_iterable(_10, &_12, &_11, 0, 0, "phalcon/mvc/model.zep", 2426);
+ zephir_is_iterable(_10, &_12, &_11, 0, 0, "phalcon/mvc/model.zep", 2437);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
@@ -74294,7 +76632,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
ZEPHIR_CALL_METHOD(&_0, this_ptr, "getmodelsmanager", NULL);
zephir_check_call_status();
ZEPHIR_CPY_WRT(manager, _0);
- zephir_is_iterable(related, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 2628);
+ zephir_is_iterable(related, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 2639);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -74317,7 +76655,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
if (_6) {
ZEPHIR_CALL_METHOD(NULL, connection, "rollback", &_7, (nesting ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Only objects/arrays can be stored as part of has-many/has-one/has-many-to-many relations", "phalcon/mvc/model.zep", 2478);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Only objects/arrays can be stored as part of has-many/has-one/has-many-to-many relations", "phalcon/mvc/model.zep", 2489);
return;
}
ZEPHIR_CALL_METHOD(&columns, relation, "getfields", &_8);
@@ -74329,7 +76667,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
if (Z_TYPE_P(columns) == IS_ARRAY) {
ZEPHIR_CALL_METHOD(NULL, connection, "rollback", &_7, (nesting ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Not implemented", "phalcon/mvc/model.zep", 2487);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Not implemented", "phalcon/mvc/model.zep", 2498);
return;
}
if (Z_TYPE_P(record) == IS_OBJECT) {
@@ -74349,7 +76687,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
ZEPHIR_CONCAT_SVS(_12, "The column '", columns, "' needs to be present in the model");
ZEPHIR_CALL_METHOD(NULL, _11, "__construct", &_13, _12);
zephir_check_call_status();
- zephir_throw_exception_debug(_11, "phalcon/mvc/model.zep", 2501 TSRMLS_CC);
+ zephir_throw_exception_debug(_11, "phalcon/mvc/model.zep", 2512 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74364,7 +76702,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
ZEPHIR_CALL_METHOD(&intermediateReferencedFields, relation, "getintermediatereferencedfields", &_18);
zephir_check_call_status();
}
- zephir_is_iterable(relatedRecords, &_20, &_19, 0, 0, "phalcon/mvc/model.zep", 2617);
+ zephir_is_iterable(relatedRecords, &_20, &_19, 0, 0, "phalcon/mvc/model.zep", 2628);
for (
; zephir_hash_get_current_data_ex(_20, (void**) &_21, &_19) == SUCCESS
; zephir_hash_move_forward_ex(_20, &_19)
@@ -74379,7 +76717,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
if (!(zephir_is_true(_14))) {
ZEPHIR_CALL_METHOD(&_22, recordAfter, "getmessages", NULL);
zephir_check_call_status();
- zephir_is_iterable(_22, &_24, &_23, 0, 0, "phalcon/mvc/model.zep", 2559);
+ zephir_is_iterable(_22, &_24, &_23, 0, 0, "phalcon/mvc/model.zep", 2570);
for (
; zephir_hash_get_current_data_ex(_24, (void**) &_25, &_23) == SUCCESS
; zephir_hash_move_forward_ex(_24, &_23)
@@ -74412,7 +76750,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
if (!(zephir_is_true(_22))) {
ZEPHIR_CALL_METHOD(&_30, intermediateModel, "getmessages", &_31);
zephir_check_call_status();
- zephir_is_iterable(_30, &_33, &_32, 0, 0, "phalcon/mvc/model.zep", 2611);
+ zephir_is_iterable(_30, &_33, &_32, 0, 0, "phalcon/mvc/model.zep", 2622);
for (
; zephir_hash_get_current_data_ex(_33, (void**) &_34, &_32) == SUCCESS
; zephir_hash_move_forward_ex(_33, &_32)
@@ -74441,7 +76779,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, _postSaveRelatedRecords) {
ZEPHIR_CONCAT_SVSVS(_12, "There are no defined relations for the model '", className, "' using alias '", name, "'");
ZEPHIR_CALL_METHOD(NULL, _11, "__construct", &_13, _12);
zephir_check_call_status();
- zephir_throw_exception_debug(_11, "phalcon/mvc/model.zep", 2620 TSRMLS_CC);
+ zephir_throw_exception_debug(_11, "phalcon/mvc/model.zep", 2631 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74540,7 +76878,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, save) {
_3 = zephir_fetch_nproperty_this(this_ptr, SL("_errorMessages"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_5, this_ptr, _3);
zephir_check_call_status();
- zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 2732 TSRMLS_CC);
+ zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 2743 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74739,10 +77077,10 @@ static PHP_METHOD(Phalcon_Mvc_Model, delete) {
ZVAL_NULL(columnMap);
}
if (!(zephir_fast_count_int(primaryKeys TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A primary key must be defined in the model in order to perform the operation", "phalcon/mvc/model.zep", 2925);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A primary key must be defined in the model in order to perform the operation", "phalcon/mvc/model.zep", 2936);
return;
}
- zephir_is_iterable(primaryKeys, &_4, &_3, 0, 0, "phalcon/mvc/model.zep", 2966);
+ zephir_is_iterable(primaryKeys, &_4, &_3, 0, 0, "phalcon/mvc/model.zep", 2977);
for (
; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
; zephir_hash_move_forward_ex(_4, &_3)
@@ -74756,7 +77094,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, delete) {
ZEPHIR_CONCAT_SVS(_7, "Column '", primaryKey, "' have not defined a bind data type");
ZEPHIR_CALL_METHOD(NULL, _6, "__construct", &_8, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2937 TSRMLS_CC);
+ zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2948 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74769,7 +77107,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, delete) {
ZEPHIR_CONCAT_SVS(_7, "Column '", primaryKey, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _6, "__construct", &_8, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2945 TSRMLS_CC);
+ zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2956 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -74784,17 +77122,17 @@ static PHP_METHOD(Phalcon_Mvc_Model, delete) {
ZEPHIR_CONCAT_SVS(_7, "Cannot delete the record because the primary key attribute: '", attributeField, "' wasn't set");
ZEPHIR_CALL_METHOD(NULL, _6, "__construct", &_8, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2955 TSRMLS_CC);
+ zephir_throw_exception_debug(_6, "phalcon/mvc/model.zep", 2966 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
- zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2961);
+ zephir_array_append(&values, value, PH_SEPARATE, "phalcon/mvc/model.zep", 2972);
ZEPHIR_CALL_METHOD(&_2, writeConnection, "escapeidentifier", &_9, primaryKey);
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_7);
ZEPHIR_CONCAT_VS(_7, _2, " = ?");
- zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model.zep", 2962);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2963);
+ zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model.zep", 2973);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model.zep", 2974);
}
if (ZEPHIR_GLOBAL(orm).events) {
zephir_update_property_this(this_ptr, SL("_skipped"), (0) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
@@ -74864,13 +77202,13 @@ static PHP_METHOD(Phalcon_Mvc_Model, refresh) {
HashTable *_3;
HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *metaData = NULL, *readConnection = NULL, *schema = NULL, *source = NULL, *table = NULL, *uniqueKey = NULL, *uniqueParams, *dialect = NULL, *row = NULL, *fields, *attribute = NULL, *_0, *_1 = NULL, **_4, *_6 = NULL, *_7, *_8;
+ zval *metaData = NULL, *readConnection = NULL, *schema = NULL, *source = NULL, *table = NULL, *uniqueKey = NULL, *tables = NULL, *uniqueParams, *dialect = NULL, *row = NULL, *fields, *attribute = NULL, *_0, *_1 = NULL, **_4, *_6, *_7;
ZEPHIR_MM_GROW();
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_dirtyState"), PH_NOISY_CC);
if (!ZEPHIR_IS_LONG(_0, 0)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3041);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3052);
return;
}
ZEPHIR_CALL_METHOD(&metaData, this_ptr, "getmodelsmetadata", NULL);
@@ -74895,7 +77233,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, refresh) {
ZEPHIR_CALL_METHOD(&_1, this_ptr, "_exists", NULL, metaData, readConnection, table);
zephir_check_call_status();
if (!(zephir_is_true(_1))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3063);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3074);
return;
}
ZEPHIR_OBS_NVAR(uniqueKey);
@@ -74904,14 +77242,14 @@ static PHP_METHOD(Phalcon_Mvc_Model, refresh) {
ZEPHIR_OBS_VAR(uniqueParams);
zephir_read_property_this(&uniqueParams, this_ptr, SL("_uniqueParams"), PH_NOISY_CC);
if (Z_TYPE_P(uniqueParams) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3071);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record cannot be refreshed because it does not exist or is deleted", "phalcon/mvc/model.zep", 3082);
return;
}
ZEPHIR_INIT_VAR(fields);
array_init(fields);
ZEPHIR_CALL_METHOD(&_1, metaData, "getattributes", NULL, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 3085);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 3096);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -74920,28 +77258,28 @@ static PHP_METHOD(Phalcon_Mvc_Model, refresh) {
ZEPHIR_INIT_NVAR(_5);
zephir_create_array(_5, 1, 0 TSRMLS_CC);
zephir_array_fast_append(_5, attribute);
- zephir_array_append(&fields, _5, PH_SEPARATE, "phalcon/mvc/model.zep", 3079);
+ zephir_array_append(&fields, _5, PH_SEPARATE, "phalcon/mvc/model.zep", 3090);
}
ZEPHIR_CALL_METHOD(&dialect, readConnection, "getdialect", NULL);
zephir_check_call_status();
ZEPHIR_INIT_NVAR(_5);
zephir_create_array(_5, 3, 0 TSRMLS_CC);
zephir_array_update_string(&_5, SL("columns"), &fields, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_METHOD(&_6, readConnection, "escapeidentifier", NULL, table);
+ ZEPHIR_CALL_METHOD(&_1, readConnection, "escapeidentifier", NULL, table);
zephir_check_call_status();
- zephir_array_update_string(&_5, SL("tables"), &_6, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_5, SL("tables"), &_1, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&_5, SL("where"), &uniqueKey, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_METHOD(&_1, dialect, "select", NULL, _5);
+ ZEPHIR_CALL_METHOD(&tables, dialect, "select", NULL, _5);
zephir_check_call_status();
- _7 = zephir_fetch_nproperty_this(this_ptr, SL("_uniqueTypes"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_8);
- ZVAL_LONG(_8, 1);
- ZEPHIR_CALL_METHOD(&row, readConnection, "fetchone", NULL, _1, _8, uniqueParams, _7);
+ _6 = zephir_fetch_nproperty_this(this_ptr, SL("_uniqueTypes"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_7);
+ ZVAL_LONG(_7, 1);
+ ZEPHIR_CALL_METHOD(&row, readConnection, "fetchone", NULL, tables, _7, uniqueParams, _6);
zephir_check_call_status();
if (Z_TYPE_P(row) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_6, metaData, "getcolumnmap", NULL, this_ptr);
+ ZEPHIR_CALL_METHOD(&_1, metaData, "getcolumnmap", NULL, this_ptr);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "assign", NULL, row, _6);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "assign", NULL, row, _1);
zephir_check_call_status();
}
RETURN_THIS();
@@ -75035,7 +77373,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, skipAttributes) {
ZEPHIR_INIT_VAR(keysAttributes);
array_init(keysAttributes);
- zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3172);
+ zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3184);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -75070,7 +77408,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, skipAttributesOnCreate) {
ZEPHIR_INIT_VAR(keysAttributes);
array_init(keysAttributes);
- zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3204);
+ zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3216);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -75103,7 +77441,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, skipAttributesOnUpdate) {
ZEPHIR_INIT_VAR(keysAttributes);
array_init(keysAttributes);
- zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3234);
+ zephir_is_iterable(attributes, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3246);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -75316,7 +77654,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, setSnapshotData) {
if (Z_TYPE_P(columnMap) == IS_ARRAY) {
ZEPHIR_INIT_VAR(snapshot);
array_init(snapshot);
- zephir_is_iterable(data, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3457);
+ zephir_is_iterable(data, &_1, &_0, 0, 0, "phalcon/mvc/model.zep", 3469);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -75334,7 +77672,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, setSnapshotData) {
ZEPHIR_CONCAT_SVS(_4, "Column '", key, "' doesn't make part of the column map");
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 3451 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/mvc/model.zep", 3463 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75384,12 +77722,12 @@ static PHP_METHOD(Phalcon_Mvc_Model, hasChanged) {
ZEPHIR_OBS_VAR(snapshot);
zephir_read_property_this(&snapshot, this_ptr, SL("_snapshot"), PH_NOISY_CC);
if (Z_TYPE_P(snapshot) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record doesn't have a valid data snapshot", "phalcon/mvc/model.zep", 3496);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record doesn't have a valid data snapshot", "phalcon/mvc/model.zep", 3508);
return;
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_dirtyState"), PH_NOISY_CC);
if (!ZEPHIR_IS_LONG(_0, 0)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Change checking cannot be performed because the object has not been persisted or is deleted", "phalcon/mvc/model.zep", 3503);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Change checking cannot be performed because the object has not been persisted or is deleted", "phalcon/mvc/model.zep", 3515);
return;
}
ZEPHIR_CALL_METHOD(&metaData, this_ptr, "getmodelsmetadata", NULL);
@@ -75411,7 +77749,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, hasChanged) {
ZEPHIR_CONCAT_SVS(_2, "The field '", fieldName, "' is not part of the model");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3535 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3547 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75423,7 +77761,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, hasChanged) {
ZEPHIR_CONCAT_SVS(_2, "The field '", fieldName, "' is not part of the model");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3539 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3551 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75436,7 +77774,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, hasChanged) {
ZEPHIR_CONCAT_SVS(_2, "The field '", fieldName, "' is not defined on the model");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3547 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3559 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75448,14 +77786,14 @@ static PHP_METHOD(Phalcon_Mvc_Model, hasChanged) {
ZEPHIR_CONCAT_SVS(_4, "The field '", fieldName, "' was not found in the snapshot");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3554 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3566 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
RETURN_MM_BOOL(!ZEPHIR_IS_EQUAL(value, originalValue));
}
ZEPHIR_INIT_NVAR(_1);
- zephir_is_iterable(allAttributes, &_6, &_5, 0, 0, "phalcon/mvc/model.zep", 3590);
+ zephir_is_iterable(allAttributes, &_6, &_5, 0, 0, "phalcon/mvc/model.zep", 3602);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -75490,12 +77828,12 @@ static PHP_METHOD(Phalcon_Mvc_Model, getChangedFields) {
ZEPHIR_OBS_VAR(snapshot);
zephir_read_property_this(&snapshot, this_ptr, SL("_snapshot"), PH_NOISY_CC);
if (Z_TYPE_P(snapshot) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record doesn't have a valid data snapshot", "phalcon/mvc/model.zep", 3603);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The record doesn't have a valid data snapshot", "phalcon/mvc/model.zep", 3615);
return;
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_dirtyState"), PH_NOISY_CC);
if (!ZEPHIR_IS_LONG(_0, 0)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Change checking cannot be performed because the object has not been persisted or is deleted", "phalcon/mvc/model.zep", 3610);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Change checking cannot be performed because the object has not been persisted or is deleted", "phalcon/mvc/model.zep", 3622);
return;
}
ZEPHIR_CALL_METHOD(&metaData, this_ptr, "getmodelsmetadata", NULL);
@@ -75511,7 +77849,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, getChangedFields) {
ZEPHIR_INIT_VAR(changed);
array_init(changed);
ZEPHIR_INIT_VAR(_1);
- zephir_is_iterable(allAttributes, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 3664);
+ zephir_is_iterable(allAttributes, &_3, &_2, 0, 0, "phalcon/mvc/model.zep", 3676);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -75519,17 +77857,17 @@ static PHP_METHOD(Phalcon_Mvc_Model, getChangedFields) {
ZEPHIR_GET_HMKEY(name, _3, _2);
ZEPHIR_GET_HVALUE(_1, _4);
if (!(zephir_array_isset(snapshot, name))) {
- zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3642);
+ zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3654);
continue;
}
ZEPHIR_OBS_NVAR(value);
if (!(zephir_fetch_property_zval(&value, this_ptr, name, PH_SILENT_CC))) {
- zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3650);
+ zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3662);
continue;
}
- zephir_array_fetch(&_5, snapshot, name, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 3657 TSRMLS_CC);
+ zephir_array_fetch(&_5, snapshot, name, PH_NOISY | PH_READONLY, "phalcon/mvc/model.zep", 3669 TSRMLS_CC);
if (!ZEPHIR_IS_EQUAL(value, _5)) {
- zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3658);
+ zephir_array_append(&changed, name, PH_SEPARATE, "phalcon/mvc/model.zep", 3670);
continue;
}
}
@@ -75587,7 +77925,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, getRelated) {
ZEPHIR_CONCAT_SVSVS(_3, "There is no defined relations for the model '", className, "' using alias '", alias, "'");
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_4, _3);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/mvc/model.zep", 3707 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/mvc/model.zep", 3719 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75729,7 +78067,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __call) {
ZEPHIR_CONCAT_SVSVS(_2, "The method '", method, "' doesn't exist on model '", modelName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3799 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3811 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
@@ -75792,7 +78130,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __callStatic) {
ZEPHIR_CONCAT_SVSVS(_2, "The static method '", method, "' doesn't exist on model '", modelName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3850 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3862 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75804,7 +78142,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __callStatic) {
ZEPHIR_CONCAT_SVS(_4, "The static method '", method, "' requires one argument");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3854 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3866 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75841,7 +78179,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __callStatic) {
ZEPHIR_CONCAT_SVS(_2, "Cannot resolve attribute '", extraMethod, "' in the model");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3888 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/model.zep", 3900 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -75900,7 +78238,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __set) {
zephir_check_call_status();
ZEPHIR_INIT_VAR(related);
array_init(related);
- zephir_is_iterable(value, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 3952);
+ zephir_is_iterable(value, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 3964);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -75909,7 +78247,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, __set) {
ZEPHIR_GET_HVALUE(item, _3);
if (Z_TYPE_P(item) == IS_OBJECT) {
if (zephir_instance_of_ev(item, phalcon_mvc_modelinterface_ce TSRMLS_CC)) {
- zephir_array_append(&related, item, PH_SEPARATE, "phalcon/mvc/model.zep", 3939);
+ zephir_array_append(&related, item, PH_SEPARATE, "phalcon/mvc/model.zep", 3951);
}
} else {
ZEPHIR_INIT_NVAR(lowerKey);
@@ -76070,7 +78408,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, serialize) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&_0, metaData, "getattributes", NULL, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 4083);
+ zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 4095);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -76085,7 +78423,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, serialize) {
ZEPHIR_CONCAT_SVS(_5, "Column '", attribute, "' doesn't make part of the column map");
ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 4067 TSRMLS_CC);
+ zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 4079 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -76136,7 +78474,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, unserialize) {
ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
zephir_check_call_status();
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A dependency injector container is required to obtain the services related to the ORM", "phalcon/mvc/model.zep", 4101);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A dependency injector container is required to obtain the services related to the ORM", "phalcon/mvc/model.zep", 4113);
return;
}
zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
@@ -76147,13 +78485,13 @@ static PHP_METHOD(Phalcon_Mvc_Model, unserialize) {
zephir_check_call_status();
ZEPHIR_CPY_WRT(manager, _2);
if (Z_TYPE_P(manager) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The injected service 'modelsManager' is not valid", "phalcon/mvc/model.zep", 4114);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The injected service 'modelsManager' is not valid", "phalcon/mvc/model.zep", 4126);
return;
}
zephir_update_property_this(this_ptr, SL("_modelsManager"), manager TSRMLS_CC);
ZEPHIR_CALL_METHOD(NULL, manager, "initialize", NULL, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(attributes, &_5, &_4, 0, 0, "phalcon/mvc/model.zep", 4133);
+ zephir_is_iterable(attributes, &_5, &_4, 0, 0, "phalcon/mvc/model.zep", 4145);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -76204,7 +78542,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, toArray) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&_0, metaData, "getattributes", NULL, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 4192);
+ zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/mvc/model.zep", 4204);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -76219,7 +78557,7 @@ static PHP_METHOD(Phalcon_Mvc_Model, toArray) {
ZEPHIR_CONCAT_SVS(_5, "Column '", attribute, "' doesn't make part of the column map");
ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 4173 TSRMLS_CC);
+ zephir_throw_exception_debug(_4, "phalcon/mvc/model.zep", 4185 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -77891,7 +80229,7 @@ static PHP_METHOD(Phalcon_Mvc_Url, get) {
if (Z_TYPE_P(uri) == IS_ARRAY) {
ZEPHIR_OBS_VAR(routeName);
if (!(zephir_array_isset_string_fetch(&routeName, uri, SS("for"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_url_exception_ce, "It's necessary to define the route name with the parameter 'for'", "phalcon/mvc/url.zep", 201);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_url_exception_ce, "It's necessary to define the route name with the parameter 'for'", "phalcon/mvc/url.zep", 202);
return;
}
_5 = zephir_fetch_nproperty_this(this_ptr, SL("_router"), PH_NOISY_CC);
@@ -77900,7 +80238,7 @@ static PHP_METHOD(Phalcon_Mvc_Url, get) {
_5 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
ZEPHIR_CPY_WRT(dependencyInjector, _5);
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_url_exception_ce, "A dependency injector container is required to obtain the 'router' service", "phalcon/mvc/url.zep", 213);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_url_exception_ce, "A dependency injector container is required to obtain the 'router' service", "phalcon/mvc/url.zep", 214);
return;
}
ZEPHIR_INIT_VAR(_6);
@@ -77921,7 +80259,7 @@ static PHP_METHOD(Phalcon_Mvc_Url, get) {
ZEPHIR_CONCAT_SVS(_7, "Cannot obtain a route using the name '", routeName, "'");
ZEPHIR_CALL_METHOD(NULL, _6, "__construct", &_8, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_6, "phalcon/mvc/url.zep", 225 TSRMLS_CC);
+ zephir_throw_exception_debug(_6, "phalcon/mvc/url.zep", 226 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -89843,7 +92181,7 @@ ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset) {
zend_declare_property_bool(phalcon_mvc_model_resultset_ce, SL("_isFresh"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_long(phalcon_mvc_model_resultset_ce, SL("_pointer"), -1, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_long(phalcon_mvc_model_resultset_ce, SL("_pointer"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_null(phalcon_mvc_model_resultset_ce, SL("_count"), ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -89851,6 +92189,8 @@ ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset) {
zend_declare_property_null(phalcon_mvc_model_resultset_ce, SL("_rows"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_mvc_model_resultset_ce, SL("_row"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
zend_declare_property_null(phalcon_mvc_model_resultset_ce, SL("_errorMessages"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_long(phalcon_mvc_model_resultset_ce, SL("_hydrateMode"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -89877,70 +92217,75 @@ ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset) {
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, next) {
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0, _1;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ ZEPHIR_SINIT_VAR(_1);
+ ZVAL_LONG(&_1, (zephir_get_numberval(_0) + 1));
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_2, &_1);
+ zephir_check_call_status();
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset, valid) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0, *_1 = NULL;
+
+ ZEPHIR_MM_GROW();
- RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_pointer") TSRMLS_CC));
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "count", &_2);
+ zephir_check_call_status();
+ RETURN_MM_BOOL(ZEPHIR_LT(_0, _1));
}
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, key) {
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0, *_1 = NULL;
+
+ ZEPHIR_MM_GROW();
- RETURN_MEMBER(this_ptr, "_pointer");
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "count", &_2);
+ zephir_check_call_status();
+ if (ZEPHIR_GE(_0, _1)) {
+ RETURN_MM_NULL();
+ }
+ RETURN_MM_MEMBER(this_ptr, "_pointer");
}
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, rewind) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *rows = NULL, *result = NULL, *_0, *_1, *_2;
+ zval _0;
ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_type"), PH_NOISY_CC);
- if (zephir_is_true(_0)) {
- ZEPHIR_OBS_VAR(result);
- zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
- if (!ZEPHIR_IS_FALSE_IDENTICAL(result)) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_activeRow"), PH_NOISY_CC);
- if (Z_TYPE_P(_1) != IS_NULL) {
- ZEPHIR_INIT_VAR(_2);
- ZVAL_LONG(_2, 0);
- ZEPHIR_CALL_METHOD(NULL, result, "dataseek", NULL, _2);
- zephir_check_call_status();
- }
- }
- } else {
- ZEPHIR_OBS_VAR(rows);
- zephir_read_property_this(&rows, this_ptr, SL("_rows"), PH_NOISY_CC);
- if (Z_TYPE_P(rows) == IS_NULL) {
- ZEPHIR_OBS_NVAR(result);
- zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
- if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_CALL_METHOD(&rows, result, "fetchall", NULL);
- zephir_check_call_status();
- zephir_update_property_this(this_ptr, SL("_rows"), rows TSRMLS_CC);
- }
- }
- if (Z_TYPE_P(rows) == IS_ARRAY) {
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(NULL, "reset", &_3, rows);
- Z_UNSET_ISREF_P(rows);
- zephir_check_call_status();
- }
- }
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 0);
- zephir_update_property_this(this_ptr, SL("_pointer"), _1 TSRMLS_CC);
+ ZEPHIR_SINIT_VAR(_0);
+ ZVAL_LONG(&_0, 0);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_1, &_0);
+ zephir_check_call_status();
ZEPHIR_MM_RESTORE();
}
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, seek) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL;
- zval *position_param = NULL, *result = NULL, *rows = NULL, *_0, *_1, *_2, *_5;
- int position, i, ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _2, _5;
+ zval *position_param = NULL, *result, *_0, *_1, *_3, *_4, *_6, *_7, *_8 = NULL, *_9;
+ int position, ZEPHIR_LAST_CALL_STATUS;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &position_param);
@@ -89948,51 +92293,58 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, seek) {
position = zephir_get_intval(position_param);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
- if (!ZEPHIR_IS_LONG(_0, position)) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_type"), PH_NOISY_CC);
- if (zephir_is_true(_1)) {
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_type"), PH_NOISY_CC);
+ if (zephir_is_true(_0)) {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC);
+ _2 = Z_TYPE_P(_1) == IS_NULL;
+ if (!(_2)) {
+ _3 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ _2 = !ZEPHIR_IS_LONG(_3, position);
+ }
+ if (_2) {
ZEPHIR_OBS_VAR(result);
zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
if (!ZEPHIR_IS_FALSE_IDENTICAL(result)) {
- ZEPHIR_INIT_VAR(_2);
- ZVAL_LONG(_2, position);
- ZEPHIR_CALL_METHOD(NULL, result, "dataseek", NULL, _2);
- zephir_check_call_status();
- }
- } else {
- ZEPHIR_OBS_VAR(rows);
- zephir_read_property_this(&rows, this_ptr, SL("_rows"), PH_NOISY_CC);
- if (Z_TYPE_P(rows) == IS_NULL) {
- ZEPHIR_OBS_NVAR(result);
- zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
- if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_CALL_METHOD(&rows, result, "fetchall", NULL);
- zephir_check_call_status();
- zephir_update_property_this(this_ptr, SL("_rows"), rows TSRMLS_CC);
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC);
+ _5 = Z_TYPE_P(_4) == IS_NULL;
+ if (!(_5)) {
+ _6 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ _5 = ZEPHIR_GT_LONG(_6, position);
}
- }
- if (Z_TYPE_P(rows) == IS_ARRAY) {
- i = 0;
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(NULL, "reset", &_3, rows);
- Z_UNSET_ISREF_P(rows);
- zephir_check_call_status();
- while (1) {
- if (!(i < position)) {
- break;
- }
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(NULL, "next", &_4, rows);
- Z_UNSET_ISREF_P(rows);
+ if (_5) {
+ ZEPHIR_INIT_VAR(_7);
+ ZVAL_LONG(_7, position);
+ ZEPHIR_CALL_METHOD(NULL, result, "dataseek", NULL, _7);
zephir_check_call_status();
- i++;
+ ZEPHIR_CALL_METHOD(&_8, result, "fetch", NULL, result);
+ zephir_check_call_status();
+ zephir_update_property_this(this_ptr, SL("_row"), _8 TSRMLS_CC);
+ } else {
+ while (1) {
+ _9 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ if (!(ZEPHIR_LT_LONG(_9, position))) {
+ break;
+ }
+ ZEPHIR_CALL_METHOD(&_8, result, "fetch", NULL, result);
+ zephir_check_call_status();
+ zephir_update_property_this(this_ptr, SL("_row"), _8 TSRMLS_CC);
+ RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_pointer") TSRMLS_CC));
+ }
}
}
+ ZEPHIR_INIT_ZVAL_NREF(_4);
+ ZVAL_LONG(_4, position);
+ zephir_update_property_this(this_ptr, SL("_pointer"), _4 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_activeRow"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
+ }
+ } else {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ if (!ZEPHIR_IS_LONG(_1, position)) {
+ ZEPHIR_INIT_ZVAL_NREF(_3);
+ ZVAL_LONG(_3, position);
+ zephir_update_property_this(this_ptr, SL("_pointer"), _3 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_activeRow"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
}
- ZEPHIR_INIT_ZVAL_NREF(_5);
- ZVAL_LONG(_5, position);
- zephir_update_property_this(this_ptr, SL("_pointer"), _5 TSRMLS_CC);
}
ZEPHIR_MM_RESTORE();
@@ -90061,8 +92413,8 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, offsetExists) {
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, offsetGet) {
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL, *_5 = NULL;
- zval *index_param = NULL, *_0 = NULL, *_2, _4, *_6 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL;
+ zval *index_param = NULL, *_0 = NULL, _2;
int index, ZEPHIR_LAST_CALL_STATUS;
ZEPHIR_MM_GROW();
@@ -90079,26 +92431,15 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, offsetGet) {
ZEPHIR_CALL_METHOD(&_0, this_ptr, "count", &_1);
zephir_check_call_status();
if (ZEPHIR_GT_LONG(_0, index)) {
- _2 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
- if (ZEPHIR_IS_LONG(_2, index)) {
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", &_3);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_SINIT_VAR(_4);
- ZVAL_LONG(&_4, index);
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_5, &_4);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_LONG(&_2, index);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_3, &_2);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "valid", NULL);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", NULL);
zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(_6)) {
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", &_3);
- zephir_check_call_status();
- RETURN_MM();
- }
- RETURN_MM_BOOL(0);
+ RETURN_MM();
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The index does not exist in the cursor", "phalcon/mvc/model/resultset.zep", 272);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The index does not exist in the cursor", "phalcon/mvc/model/resultset.zep", 243);
return;
}
@@ -90111,7 +92452,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, offsetSet) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_mvc_model_exception_ce, "Cursor is an immutable ArrayAccess object", "phalcon/mvc/model/resultset.zep", 283);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_mvc_model_exception_ce, "Cursor is an immutable ArrayAccess object", "phalcon/mvc/model/resultset.zep", 254);
return;
}
@@ -90126,7 +92467,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, offsetUnset) {
offset = zephir_get_intval(offset_param);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_mvc_model_exception_ce, "Cursor is an immutable ArrayAccess object", "phalcon/mvc/model/resultset.zep", 291);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_mvc_model_exception_ce, "Cursor is an immutable ArrayAccess object", "phalcon/mvc/model/resultset.zep", 262);
return;
}
@@ -90140,53 +92481,47 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getType) {
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getFirst) {
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_2 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *_0, *_3 = NULL;
+ zval *_0 = NULL, _2;
ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "count", &_1);
+ zephir_check_call_status();
if (ZEPHIR_IS_LONG(_0, 0)) {
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", &_1);
- zephir_check_call_status();
- RETURN_MM();
+ RETURN_MM_BOOL(0);
}
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "rewind", &_2);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_LONG(&_2, 0);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_3, &_2);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "valid", NULL);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", NULL);
zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(_3)) {
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", &_1);
- zephir_check_call_status();
- RETURN_MM();
- }
- RETURN_MM_BOOL(0);
+ RETURN_MM();
}
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getLast) {
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL, *_5 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_2 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *_0 = NULL, _2, *_4 = NULL;
+ zval *count = NULL, _1;
ZEPHIR_MM_GROW();
- ZEPHIR_CALL_METHOD(&_0, this_ptr, "count", &_1);
+ ZEPHIR_CALL_METHOD(&count, this_ptr, "count", &_0);
zephir_check_call_status();
- ZEPHIR_SINIT_VAR(_2);
- ZVAL_LONG(&_2, (zephir_get_numberval(_0) - 1));
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_3, &_2);
+ if (ZEPHIR_IS_LONG(count, 0)) {
+ RETURN_MM_BOOL(0);
+ }
+ ZEPHIR_SINIT_VAR(_1);
+ ZVAL_LONG(&_1, (zephir_get_numberval(count) - 1));
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "seek", &_2, &_1);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_4, this_ptr, "valid", NULL);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", NULL);
zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(_4)) {
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "current", &_5);
- zephir_check_call_status();
- RETURN_MM();
- }
- RETURN_MM_BOOL(0);
+ RETURN_MM();
}
@@ -90243,13 +92578,6 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getCache) {
}
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset, current) {
-
-
- RETURN_MEMBER(this_ptr, "_activeRow");
-
-}
-
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getMessages) {
@@ -90286,7 +92614,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, update) {
}
if (transaction == 0) {
if (!((zephir_method_exists_ex(record, SS("getwriteconnection") TSRMLS_CC) == SUCCESS))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The returned record is not valid", "phalcon/mvc/model/resultset.zep", 415);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The returned record is not valid", "phalcon/mvc/model/resultset.zep", 372);
return;
}
ZEPHIR_CALL_METHOD(&connection, record, "getwriteconnection", NULL);
@@ -90356,7 +92684,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, delete) {
}
if (transaction == 0) {
if (!((zephir_method_exists_ex(record, SS("getwriteconnection") TSRMLS_CC) == SUCCESS))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The returned record is not valid", "phalcon/mvc/model/resultset.zep", 478);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The returned record is not valid", "phalcon/mvc/model/resultset.zep", 435);
return;
}
ZEPHIR_CALL_METHOD(&connection, record, "getwriteconnection", NULL);
@@ -90420,7 +92748,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, filter) {
_0->funcs->get_current_data(_0, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC);
ZEPHIR_CPY_WRT(record, (*ZEPHIR_TMP_ITERATOR_PTR));
}
- zephir_array_update_long(¶meters, 0, &record, PH_COPY | PH_SEPARATE, "phalcon/mvc/model/resultset.zep", 547);
+ zephir_array_update_long(¶meters, 0, &record, PH_COPY | PH_SEPARATE, "phalcon/mvc/model/resultset.zep", 504);
ZEPHIR_INIT_NVAR(processedRecord);
ZEPHIR_CALL_USER_FUNC_ARRAY(processedRecord, filter, parameters);
zephir_check_call_status();
@@ -90429,7 +92757,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, filter) {
continue;
}
}
- zephir_array_append(&records, processedRecord, PH_SEPARATE, "phalcon/mvc/model/resultset.zep", 559);
+ zephir_array_append(&records, processedRecord, PH_SEPARATE, "phalcon/mvc/model/resultset.zep", 516);
}
_0->funcs->dtor(_0 TSRMLS_CC);
RETURN_CCTOR(records);
@@ -90925,7 +93253,7 @@ ZEPHIR_DOC_METHOD(Phalcon_Mvc_Model_TransactionInterface, setRollbackedRecord);
ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_ValidationFailed) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Mvc\\Model, ValidationFailed, phalcon, mvc_model_validationfailed, phalcon_mvc_model_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Mvc\\Model, ValidationFailed, phalcon, mvc_model_validationfailed, phalcon_mvc_model_exception_ce, phalcon_mvc_model_validationfailed_method_entry, 0);
zend_declare_property_null(phalcon_mvc_model_validationfailed_ce, SL("_model"), ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -90935,6 +93263,50 @@ ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_ValidationFailed) {
}
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, __construct) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *validationMessages = NULL;
+ zval *model, *validationMessages_param = NULL, *messageStr = NULL, *message;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &model, &validationMessages_param);
+
+ validationMessages = validationMessages_param;
+
+
+
+ if (zephir_fast_count_int(validationMessages TSRMLS_CC) > 0) {
+ ZEPHIR_OBS_VAR(message);
+ zephir_array_fetch_long(&message, validationMessages, 0, PH_NOISY, "phalcon/mvc/model/validationfailed.zep", 51 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&messageStr, message, "getmessage", NULL);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(messageStr);
+ ZVAL_STRING(messageStr, "Validation failed", 1);
+ }
+ zephir_update_property_this(this_ptr, SL("_model"), model TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_messages"), validationMessages TSRMLS_CC);
+ ZEPHIR_CALL_PARENT(NULL, phalcon_mvc_model_validationfailed_ce, this_ptr, "__construct", NULL, messageStr);
+ zephir_check_call_status();
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, getModel) {
+
+
+ RETURN_MEMBER(this_ptr, "_model");
+
+}
+
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, getMessages) {
+
+
+ RETURN_MEMBER(this_ptr, "_messages");
+
+}
+
@@ -94462,58 +96834,58 @@ static zval *phql_ret_func_call(phql_parser_token *name, zval *arguments, zval *
#endif
/* The next thing included is series of defines which control
** various aspects of the generated parser.
-** YYCODETYPE is the data type used for storing terminal
+** PPCODETYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 terminals
** and nonterminals. "int" is used otherwise.
-** YYNOCODE is a number of type YYCODETYPE which corresponds
+** PPNOCODE is a number of type PPCODETYPE which corresponds
** to no legal terminal or nonterminal number. This
** number is used to fill in empty slots of the hash
** table.
-** YYFALLBACK If defined, this indicates that one or more tokens
+** PPFALLBACK If defined, this indicates that one or more tokens
** have fall-back values which should be used if the
** original value of the token will not parse.
-** YYACTIONTYPE is the data type used for storing terminal
+** PPACTIONTYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 rules and
** states combined. "int" is used otherwise.
** phql_TOKENTYPE is the data type used for minor tokens given
** directly to the parser from the tokenizer.
-** YYMINORTYPE is the data type used for all minor tokens.
+** PPMINORTYPE is the data type used for all minor tokens.
** This is typically a union of many types, one of
** which is phql_TOKENTYPE. The entry in the union
-** for base tokens is called "yy0".
-** YYSTACKDEPTH is the maximum depth of the parser's stack.
+** for base tokens is called "pp0".
+** PPSTACKDEPTH is the maximum depth of the parser's stack.
** phql_ARG_SDECL A static variable declaration for the %extra_argument
** phql_ARG_PDECL A parameter declaration for the %extra_argument
-** phql_ARG_STORE Code to store %extra_argument into yypParser
-** phql_ARG_FETCH Code to extract %extra_argument from yypParser
-** YYNSTATE the combined number of states.
-** YYNRULE the number of rules in the grammar
-** YYERRORSYMBOL is the code number of the error symbol. If not
+** phql_ARG_STORE Code to store %extra_argument into pppParser
+** phql_ARG_FETCH Code to extract %extra_argument from pppParser
+** PPNSTATE the combined number of states.
+** PPNRULE the number of rules in the grammar
+** PPERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
*/
-#define YYCODETYPE unsigned char
-#define YYNOCODE 120
-#define YYACTIONTYPE unsigned short int
+#define PPCODETYPE unsigned char
+#define PPNOCODE 120
+#define PPACTIONTYPE unsigned short int
#define phql_TOKENTYPE phql_parser_token*
typedef union {
- phql_TOKENTYPE yy0;
- zval* yy92;
- int yy239;
-} YYMINORTYPE;
-#define YYSTACKDEPTH 100
+ phql_TOKENTYPE pp0;
+ zval* pp92;
+ int pp239;
+} PPMINORTYPE;
+#define PPSTACKDEPTH 100
#define phql_ARG_SDECL phql_parser_status *status;
#define phql_ARG_PDECL ,phql_parser_status *status
-#define phql_ARG_FETCH phql_parser_status *status = yypParser->status
-#define phql_ARG_STORE yypParser->status = status
-#define YYNSTATE 249
-#define YYNRULE 139
-#define YYERRORSYMBOL 70
-#define YYERRSYMDT yy239
-#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
-#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
-#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
+#define phql_ARG_FETCH phql_parser_status *status = pppParser->status
+#define phql_ARG_STORE pppParser->status = status
+#define PPNSTATE 249
+#define PPNRULE 139
+#define PPERRORSYMBOL 70
+#define PPERRSYMDT pp239
+#define PP_NO_ACTION (PPNSTATE+PPNRULE+2)
+#define PP_ACCEPT_ACTION (PPNSTATE+PPNRULE+1)
+#define PP_ERROR_ACTION (PPNSTATE+PPNRULE)
/* Next are that tables used to determine what action to take based on the
** current state and lookahead token. These tables are used to implement
@@ -94523,234 +96895,234 @@ typedef union {
** Suppose the action integer is N. Then the action is determined as
** follows
**
-** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
+** 0 <= N < PPNSTATE Shift N. That is, push the lookahead
** token onto the stack and goto state N.
**
-** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
+** PPNSTATE <= N < PPNSTATE+PPNRULE Reduce by rule N-PPNSTATE.
**
-** N == YYNSTATE+YYNRULE A syntax error has occurred.
+** N == PPNSTATE+PPNRULE A syntax error has occurred.
**
-** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
+** N == PPNSTATE+PPNRULE+1 The parser accepts its input.
**
-** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
-** slots in the yy_action[] table.
+** N == PPNSTATE+PPNRULE+2 No such action. Denotes unused
+** slots in the pp_action[] table.
**
-** The action table is constructed as a single large table named yy_action[].
+** The action table is constructed as a single large table named pp_action[].
** Given state S and lookahead X, the action is computed as
**
-** yy_action[ yy_shift_ofst[S] + X ]
+** pp_action[ pp_shift_ofst[S] + X ]
**
-** If the index value yy_shift_ofst[S]+X is out of range or if the value
-** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
-** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that yy_default[S] should be used instead.
+** If the index value pp_shift_ofst[S]+X is out of range or if the value
+** pp_lookahead[pp_shift_ofst[S]+X] is not equal to X or if pp_shift_ofst[S]
+** is equal to PP_SHIFT_USE_DFLT, it means that the action is not in the table
+** and that pp_default[S] should be used instead.
**
** The formula above is for computing the action when the lookahead is
** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the yy_reduce_ofst[] array is used in place of
-** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
-** YY_SHIFT_USE_DFLT.
+** a reduce action) then the pp_reduce_ofst[] array is used in place of
+** the pp_shift_ofst[] array and PP_REDUCE_USE_DFLT is used in place of
+** PP_SHIFT_USE_DFLT.
**
** The following are the tables generated in this section:
**
-** yy_action[] A single table containing all actions.
-** yy_lookahead[] A table containing the lookahead for each entry in
-** yy_action. Used to detect hash collisions.
-** yy_shift_ofst[] For each state, the offset into yy_action for
+** pp_action[] A single table containing all actions.
+** pp_lookahead[] A table containing the lookahead for each entry in
+** pp_action. Used to detect hash collisions.
+** pp_shift_ofst[] For each state, the offset into pp_action for
** shifting terminals.
-** yy_reduce_ofst[] For each state, the offset into yy_action for
+** pp_reduce_ofst[] For each state, the offset into pp_action for
** shifting non-terminals after a reduce.
-** yy_default[] Default action for each state.
+** pp_default[] Default action for each state.
*/
-static YYACTIONTYPE yy_action[] = {
+static PPACTIONTYPE pp_action[] = {
/* 0 */ 72, 78, 50, 52, 54, 56, 58, 60, 40, 42,
/* 10 */ 62, 67, 44, 46, 48, 36, 34, 38, 32, 29,
- /* 20 */ 74, 69, 64, 145, 72, 78, 50, 52, 54, 56,
+ /* 20 */ 74, 69, 64, 64, 72, 78, 50, 52, 54, 56,
/* 30 */ 58, 60, 40, 42, 62, 67, 44, 46, 48, 36,
- /* 40 */ 34, 38, 32, 29, 74, 69, 64, 16, 17, 18,
- /* 50 */ 249, 27, 28, 201, 192, 199, 150, 72, 78, 50,
+ /* 40 */ 34, 38, 32, 29, 74, 69, 64, 74, 69, 64,
+ /* 50 */ 167, 27, 28, 201, 192, 199, 150, 72, 78, 50,
/* 60 */ 52, 54, 56, 58, 60, 40, 42, 62, 67, 44,
/* 70 */ 46, 48, 36, 34, 38, 32, 29, 74, 69, 64,
- /* 80 */ 36, 34, 38, 32, 29, 74, 69, 64, 83, 7,
+ /* 80 */ 36, 34, 38, 32, 29, 74, 69, 64, 83, 77,
/* 90 */ 72, 78, 50, 52, 54, 56, 58, 60, 40, 42,
/* 100 */ 62, 67, 44, 46, 48, 36, 34, 38, 32, 29,
- /* 110 */ 74, 69, 64, 72, 78, 50, 52, 54, 56, 58,
- /* 120 */ 60, 40, 42, 62, 67, 44, 46, 48, 36, 34,
- /* 130 */ 38, 32, 29, 74, 69, 64, 40, 42, 62, 67,
- /* 140 */ 44, 46, 48, 36, 34, 38, 32, 29, 74, 69,
- /* 150 */ 64, 327, 89, 74, 69, 64, 158, 108, 156, 72,
+ /* 110 */ 74, 69, 64, 50, 52, 54, 56, 58, 60, 40,
+ /* 120 */ 42, 62, 67, 44, 46, 48, 36, 34, 38, 32,
+ /* 130 */ 29, 74, 69, 64, 108, 168, 72, 78, 50, 52,
+ /* 140 */ 54, 56, 58, 60, 40, 42, 62, 67, 44, 46,
+ /* 150 */ 48, 36, 34, 38, 32, 29, 74, 69, 64, 72,
/* 160 */ 78, 50, 52, 54, 56, 58, 60, 40, 42, 62,
/* 170 */ 67, 44, 46, 48, 36, 34, 38, 32, 29, 74,
- /* 180 */ 69, 64, 50, 52, 54, 56, 58, 60, 40, 42,
- /* 190 */ 62, 67, 44, 46, 48, 36, 34, 38, 32, 29,
- /* 200 */ 74, 69, 64, 101, 203, 204, 30, 12, 250, 102,
- /* 210 */ 104, 65, 128, 138, 101, 153, 93, 30, 324, 99,
- /* 220 */ 102, 104, 130, 173, 189, 175, 177, 93, 181, 185,
- /* 230 */ 106, 364, 173, 189, 175, 177, 76, 181, 185, 363,
- /* 240 */ 172, 106, 170, 14, 110, 116, 117, 80, 86, 26,
- /* 250 */ 113, 111, 112, 114, 115, 110, 116, 117, 80, 86,
- /* 260 */ 26, 113, 111, 112, 114, 115, 194, 109, 71, 30,
- /* 270 */ 23, 135, 102, 104, 251, 19, 92, 75, 109, 195,
- /* 280 */ 30, 8, 25, 102, 104, 124, 109, 92, 208, 216,
- /* 290 */ 93, 252, 99, 106, 98, 92, 253, 96, 118, 32,
- /* 300 */ 29, 74, 69, 64, 106, 136, 9, 110, 116, 117,
- /* 310 */ 80, 86, 127, 113, 111, 112, 114, 115, 110, 116,
- /* 320 */ 117, 80, 86, 120, 113, 111, 112, 114, 115, 62,
- /* 330 */ 67, 44, 46, 48, 36, 34, 38, 32, 29, 74,
- /* 340 */ 69, 64, 44, 46, 48, 36, 34, 38, 32, 29,
- /* 350 */ 74, 69, 64, 71, 143, 389, 1, 2, 3, 4,
- /* 360 */ 5, 6, 162, 163, 164, 235, 242, 238, 10, 71,
- /* 370 */ 180, 109, 109, 178, 237, 238, 21, 140, 144, 126,
- /* 380 */ 92, 92, 214, 118, 11, 149, 227, 109, 202, 198,
- /* 390 */ 254, 210, 243, 124, 215, 132, 92, 152, 147, 118,
- /* 400 */ 109, 161, 190, 163, 164, 214, 94, 109, 71, 92,
- /* 410 */ 143, 13, 15, 205, 221, 151, 92, 215, 232, 191,
- /* 420 */ 246, 193, 198, 109, 155, 241, 109, 214, 109, 134,
- /* 430 */ 31, 120, 92, 33, 142, 92, 159, 92, 100, 213,
- /* 440 */ 109, 35, 22, 109, 240, 109, 37, 109, 109, 92,
- /* 450 */ 154, 109, 92, 165, 92, 155, 92, 92, 39, 109,
- /* 460 */ 92, 41, 196, 99, 109, 159, 43, 159, 92, 45,
- /* 470 */ 325, 47, 49, 92, 51, 94, 109, 53, 184, 109,
- /* 480 */ 20, 182, 326, 133, 109, 92, 64, 109, 92, 109,
- /* 490 */ 109, 55, 109, 92, 57, 109, 92, 59, 92, 92,
- /* 500 */ 120, 92, 61, 197, 92, 63, 24, 66, 68, 109,
- /* 510 */ 73, 188, 109, 79, 186, 109, 125, 70, 92, 212,
- /* 520 */ 109, 92, 223, 109, 92, 109, 109, 82, 109, 92,
- /* 530 */ 88, 109, 92, 103, 92, 92, 329, 92, 105, 211,
- /* 540 */ 92, 107, 218, 129, 169, 109, 137, 217, 109, 146,
- /* 550 */ 226, 109, 212, 77, 92, 81, 109, 92, 233, 109,
- /* 560 */ 92, 109, 109, 155, 109, 92, 207, 109, 92, 248,
- /* 570 */ 92, 92, 222, 92, 155, 159, 92, 84, 159, 85,
- /* 580 */ 90, 87, 119, 91, 95, 97, 159, 121, 131, 122,
- /* 590 */ 123, 125, 230, 139, 141, 148, 160, 157, 166, 168,
- /* 600 */ 167, 171, 174, 277, 176, 278, 179, 279, 280, 281,
- /* 610 */ 183, 282, 283, 284, 187, 285, 200, 288, 209, 225,
- /* 620 */ 289, 224, 229, 228, 296, 328, 206, 231, 236, 239,
- /* 630 */ 219, 244, 220, 245, 302, 247, 260, 234,
+ /* 180 */ 69, 64, 101, 217, 196, 30, 226, 21, 102, 104,
+ /* 190 */ 16, 17, 18, 101, 153, 93, 30, 94, 89, 102,
+ /* 200 */ 104, 79, 173, 189, 175, 177, 93, 181, 185, 106,
+ /* 210 */ 364, 173, 189, 175, 177, 188, 181, 185, 186, 109,
+ /* 220 */ 106, 324, 120, 110, 116, 117, 80, 86, 92, 113,
+ /* 230 */ 111, 112, 114, 115, 110, 116, 117, 80, 86, 166,
+ /* 240 */ 113, 111, 112, 114, 115, 194, 14, 71, 30, 65,
+ /* 250 */ 128, 102, 104, 32, 29, 74, 69, 64, 195, 30,
+ /* 260 */ 130, 10, 102, 104, 124, 109, 235, 242, 238, 93,
+ /* 270 */ 171, 99, 106, 98, 92, 152, 96, 118, 19, 161,
+ /* 280 */ 190, 163, 164, 106, 237, 238, 110, 116, 117, 80,
+ /* 290 */ 86, 133, 113, 111, 112, 114, 115, 110, 116, 117,
+ /* 300 */ 80, 86, 120, 113, 111, 112, 114, 115, 40, 42,
+ /* 310 */ 62, 67, 44, 46, 48, 36, 34, 38, 32, 29,
+ /* 320 */ 74, 69, 64, 62, 67, 44, 46, 48, 36, 34,
+ /* 330 */ 38, 32, 29, 74, 69, 64, 44, 46, 48, 36,
+ /* 340 */ 34, 38, 32, 29, 74, 69, 64, 26, 76, 124,
+ /* 350 */ 160, 158, 143, 156, 214, 389, 1, 2, 3, 4,
+ /* 360 */ 5, 6, 94, 210, 71, 109, 215, 174, 23, 135,
+ /* 370 */ 109, 81, 109, 207, 92, 140, 144, 71, 176, 92,
+ /* 380 */ 149, 92, 109, 202, 198, 159, 227, 120, 214, 75,
+ /* 390 */ 132, 92, 243, 180, 118, 109, 178, 221, 241, 147,
+ /* 400 */ 215, 329, 109, 126, 92, 26, 109, 118, 165, 151,
+ /* 410 */ 143, 92, 11, 191, 205, 92, 109, 240, 155, 232,
+ /* 420 */ 159, 246, 71, 109, 105, 92, 214, 25, 109, 73,
+ /* 430 */ 159, 254, 92, 179, 142, 193, 198, 92, 213, 277,
+ /* 440 */ 109, 107, 109, 82, 109, 233, 33, 109, 41, 92,
+ /* 450 */ 155, 92, 100, 92, 109, 183, 92, 230, 43, 109,
+ /* 460 */ 278, 109, 159, 92, 109, 35, 109, 279, 92, 146,
+ /* 470 */ 92, 134, 66, 92, 251, 92, 109, 45, 162, 163,
+ /* 480 */ 164, 203, 204, 109, 37, 92, 24, 109, 47, 109,
+ /* 490 */ 109, 59, 92, 327, 49, 109, 92, 9, 92, 92,
+ /* 500 */ 154, 85, 109, 197, 92, 155, 109, 169, 31, 109,
+ /* 510 */ 51, 92, 109, 212, 248, 92, 125, 159, 92, 155,
+ /* 520 */ 172, 92, 170, 63, 68, 109, 109, 53, 109, 39,
+ /* 530 */ 137, 159, 99, 211, 92, 92, 280, 92, 208, 216,
+ /* 540 */ 55, 109, 109, 61, 223, 109, 212, 109, 109, 12,
+ /* 550 */ 92, 92, 127, 103, 92, 57, 92, 92, 109, 129,
+ /* 560 */ 88, 109, 184, 99, 218, 182, 222, 92, 187, 84,
+ /* 570 */ 92, 109, 281, 109, 282, 87, 283, 109, 109, 284,
+ /* 580 */ 92, 285, 92, 363, 90, 91, 92, 92, 13, 119,
+ /* 590 */ 200, 70, 95, 157, 206, 97, 288, 209, 225, 219,
+ /* 600 */ 15, 220, 289, 136, 224, 148, 325, 145, 228, 296,
+ /* 610 */ 231, 229, 328, 252, 234, 236, 131, 250, 239, 253,
+ /* 620 */ 22, 245, 8, 244, 302, 141, 247, 249, 139, 122,
+ /* 630 */ 326, 121, 138, 123, 125, 260, 20, 7,
};
-static YYCODETYPE yy_lookahead[] = {
+static PPCODETYPE pp_lookahead[] = {
/* 0 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
/* 10 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- /* 20 */ 21, 22, 23, 49, 1, 2, 3, 4, 5, 6,
+ /* 20 */ 21, 22, 23, 23, 1, 2, 3, 4, 5, 6,
/* 30 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- /* 40 */ 17, 18, 19, 20, 21, 22, 23, 58, 59, 60,
- /* 50 */ 0, 52, 53, 30, 25, 32, 27, 1, 2, 3,
+ /* 40 */ 17, 18, 19, 20, 21, 22, 23, 21, 22, 23,
+ /* 50 */ 96, 52, 53, 30, 25, 32, 27, 1, 2, 3,
/* 60 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
/* 70 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- /* 80 */ 16, 17, 18, 19, 20, 21, 22, 23, 32, 78,
+ /* 80 */ 16, 17, 18, 19, 20, 21, 22, 23, 32, 64,
/* 90 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
/* 100 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- /* 110 */ 21, 22, 23, 1, 2, 3, 4, 5, 6, 7,
- /* 120 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- /* 130 */ 18, 19, 20, 21, 22, 23, 9, 10, 11, 12,
- /* 140 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 150 */ 23, 0, 63, 21, 22, 23, 30, 45, 32, 1,
+ /* 110 */ 21, 22, 23, 3, 4, 5, 6, 7, 8, 9,
+ /* 120 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ /* 130 */ 20, 21, 22, 23, 45, 40, 1, 2, 3, 4,
+ /* 140 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ /* 150 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 1,
/* 160 */ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
/* 170 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 180 */ 22, 23, 3, 4, 5, 6, 7, 8, 9, 10,
- /* 190 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- /* 200 */ 21, 22, 23, 17, 28, 29, 20, 56, 0, 23,
- /* 210 */ 24, 11, 12, 54, 17, 25, 30, 20, 0, 25,
- /* 220 */ 23, 24, 22, 33, 34, 35, 36, 30, 38, 39,
- /* 230 */ 44, 45, 33, 34, 35, 36, 23, 38, 39, 45,
- /* 240 */ 30, 44, 32, 25, 58, 59, 60, 61, 62, 88,
- /* 250 */ 64, 65, 66, 67, 68, 58, 59, 60, 61, 62,
- /* 260 */ 88, 64, 65, 66, 67, 68, 17, 106, 88, 20,
- /* 270 */ 109, 110, 23, 24, 0, 57, 115, 64, 106, 30,
- /* 280 */ 20, 79, 110, 23, 24, 31, 106, 115, 43, 44,
- /* 290 */ 30, 0, 25, 44, 114, 115, 0, 117, 118, 19,
- /* 300 */ 20, 21, 22, 23, 44, 55, 80, 58, 59, 60,
- /* 310 */ 61, 62, 45, 64, 65, 66, 67, 68, 58, 59,
- /* 320 */ 60, 61, 62, 69, 64, 65, 66, 67, 68, 11,
- /* 330 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 340 */ 22, 23, 13, 14, 15, 16, 17, 18, 19, 20,
- /* 350 */ 21, 22, 23, 88, 88, 71, 72, 73, 74, 75,
- /* 360 */ 76, 77, 91, 92, 93, 104, 105, 106, 81, 88,
- /* 370 */ 34, 106, 106, 37, 105, 106, 50, 111, 112, 114,
- /* 380 */ 115, 115, 88, 118, 82, 84, 102, 106, 87, 88,
- /* 390 */ 0, 97, 108, 31, 100, 114, 115, 86, 26, 118,
- /* 400 */ 106, 90, 91, 92, 93, 88, 44, 106, 88, 115,
- /* 410 */ 88, 113, 113, 41, 97, 85, 115, 100, 46, 89,
- /* 420 */ 48, 87, 88, 106, 94, 88, 106, 88, 106, 88,
- /* 430 */ 88, 69, 115, 88, 112, 115, 106, 115, 118, 100,
- /* 440 */ 106, 88, 51, 106, 107, 106, 88, 106, 106, 115,
- /* 450 */ 89, 106, 115, 94, 115, 94, 115, 115, 88, 106,
- /* 460 */ 115, 88, 31, 25, 106, 106, 88, 106, 115, 88,
- /* 470 */ 0, 88, 88, 115, 88, 44, 106, 88, 34, 106,
- /* 480 */ 113, 37, 0, 45, 106, 115, 23, 106, 115, 106,
- /* 490 */ 106, 88, 106, 115, 88, 106, 115, 88, 115, 115,
- /* 500 */ 69, 115, 88, 17, 115, 88, 25, 88, 88, 106,
- /* 510 */ 88, 34, 106, 88, 37, 106, 30, 44, 115, 25,
- /* 520 */ 106, 115, 25, 106, 115, 106, 106, 88, 106, 115,
- /* 530 */ 88, 106, 115, 88, 115, 115, 0, 115, 88, 45,
- /* 540 */ 115, 88, 45, 88, 88, 106, 88, 98, 106, 88,
- /* 550 */ 101, 106, 25, 64, 115, 44, 106, 115, 89, 106,
- /* 560 */ 115, 106, 106, 94, 106, 115, 94, 106, 115, 89,
- /* 570 */ 115, 115, 45, 115, 94, 106, 115, 30, 106, 45,
- /* 580 */ 30, 44, 28, 45, 116, 45, 106, 30, 44, 31,
- /* 590 */ 30, 30, 56, 51, 25, 83, 30, 30, 95, 40,
- /* 600 */ 96, 30, 34, 30, 34, 30, 34, 30, 30, 30,
- /* 610 */ 34, 30, 30, 30, 34, 30, 30, 0, 44, 30,
- /* 620 */ 0, 101, 103, 78, 0, 0, 42, 113, 25, 3,
- /* 630 */ 43, 78, 44, 103, 0, 27, 119, 47,
+ /* 180 */ 22, 23, 17, 98, 31, 20, 101, 50, 23, 24,
+ /* 190 */ 58, 59, 60, 17, 25, 30, 20, 44, 63, 23,
+ /* 200 */ 24, 88, 33, 34, 35, 36, 30, 38, 39, 44,
+ /* 210 */ 45, 33, 34, 35, 36, 34, 38, 39, 37, 106,
+ /* 220 */ 44, 0, 69, 58, 59, 60, 61, 62, 115, 64,
+ /* 230 */ 65, 66, 67, 68, 58, 59, 60, 61, 62, 95,
+ /* 240 */ 64, 65, 66, 67, 68, 17, 25, 88, 20, 11,
+ /* 250 */ 12, 23, 24, 19, 20, 21, 22, 23, 30, 20,
+ /* 260 */ 22, 81, 23, 24, 31, 106, 104, 105, 106, 30,
+ /* 270 */ 30, 25, 44, 114, 115, 86, 117, 118, 57, 90,
+ /* 280 */ 91, 92, 93, 44, 105, 106, 58, 59, 60, 61,
+ /* 290 */ 62, 45, 64, 65, 66, 67, 68, 58, 59, 60,
+ /* 300 */ 61, 62, 69, 64, 65, 66, 67, 68, 9, 10,
+ /* 310 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ /* 320 */ 21, 22, 23, 11, 12, 13, 14, 15, 16, 17,
+ /* 330 */ 18, 19, 20, 21, 22, 23, 13, 14, 15, 16,
+ /* 340 */ 17, 18, 19, 20, 21, 22, 23, 88, 23, 31,
+ /* 350 */ 30, 30, 88, 32, 88, 71, 72, 73, 74, 75,
+ /* 360 */ 76, 77, 44, 97, 88, 106, 100, 34, 109, 110,
+ /* 370 */ 106, 44, 106, 94, 115, 111, 112, 88, 34, 115,
+ /* 380 */ 84, 115, 106, 87, 88, 106, 102, 69, 88, 64,
+ /* 390 */ 114, 115, 108, 34, 118, 106, 37, 97, 88, 26,
+ /* 400 */ 100, 0, 106, 114, 115, 88, 106, 118, 94, 85,
+ /* 410 */ 88, 115, 82, 89, 41, 115, 106, 107, 94, 46,
+ /* 420 */ 106, 48, 88, 106, 88, 115, 88, 110, 106, 88,
+ /* 430 */ 106, 0, 115, 34, 112, 87, 88, 115, 100, 30,
+ /* 440 */ 106, 88, 106, 88, 106, 89, 88, 106, 88, 115,
+ /* 450 */ 94, 115, 118, 115, 106, 34, 115, 56, 88, 106,
+ /* 460 */ 30, 106, 106, 115, 106, 88, 106, 30, 115, 88,
+ /* 470 */ 115, 88, 88, 115, 0, 115, 106, 88, 91, 92,
+ /* 480 */ 93, 28, 29, 106, 88, 115, 25, 106, 88, 106,
+ /* 490 */ 106, 88, 115, 0, 88, 106, 115, 80, 115, 115,
+ /* 500 */ 89, 45, 106, 17, 115, 94, 106, 88, 88, 106,
+ /* 510 */ 88, 115, 106, 25, 89, 115, 30, 106, 115, 94,
+ /* 520 */ 30, 115, 32, 88, 88, 106, 106, 88, 106, 88,
+ /* 530 */ 88, 106, 25, 45, 115, 115, 30, 115, 43, 44,
+ /* 540 */ 88, 106, 106, 88, 25, 106, 25, 106, 106, 56,
+ /* 550 */ 115, 115, 45, 88, 115, 88, 115, 115, 106, 88,
+ /* 560 */ 88, 106, 34, 25, 45, 37, 45, 115, 34, 30,
+ /* 570 */ 115, 106, 30, 106, 30, 44, 30, 106, 106, 30,
+ /* 580 */ 115, 30, 115, 45, 30, 45, 115, 115, 113, 28,
+ /* 590 */ 30, 44, 116, 30, 42, 45, 0, 44, 30, 43,
+ /* 600 */ 113, 44, 0, 55, 101, 83, 0, 49, 78, 0,
+ /* 610 */ 113, 103, 0, 0, 47, 25, 44, 0, 3, 0,
+ /* 620 */ 51, 103, 79, 78, 0, 25, 27, 0, 51, 31,
+ /* 630 */ 0, 30, 54, 30, 30, 119, 113, 78,
};
-#define YY_SHIFT_USE_DFLT (-27)
-static short yy_shift_ofst[] = {
- /* 0 */ 372, 50, 208, 274, 291, 296, -26, 159, 250, 326,
- /* 10 */ 151, 390, -11, 218, -11, 470, -27, -27, -27, -11,
- /* 20 */ 482, 391, 260, 481, 260, -27, -1, -27, -27, 260,
- /* 30 */ 260, 132, 260, 132, 260, 280, 260, 280, 260, 280,
- /* 40 */ 260, 318, 260, 318, 260, 64, 260, 64, 260, 64,
- /* 50 */ 260, 127, 260, 127, 260, 127, 260, 127, 260, 127,
- /* 60 */ 260, 127, 260, 329, 200, 260, 463, 260, 329, 473,
- /* 70 */ 197, 158, 260, 158, 213, -27, 489, -27, 260, 179,
- /* 80 */ 511, 260, 56, 547, 534, -27, 537, 260, 89, 550,
- /* 90 */ 538, -27, -27, 362, 554, 186, 540, -27, 194, 197,
- /* 100 */ -27, -27, 260, 463, 260, 463, 260, 112, -27, -27,
- /* 110 */ -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- /* 120 */ 557, 558, 560, -27, 561, -27, 267, -27, 260, 463,
- /* 130 */ 544, 197, 438, -27, 132, -27, 260, 158, 542, 260,
- /* 140 */ 569, 260, -27, 158, -27, 260, 158, 176, 249, 29,
- /* 150 */ 566, 190, -27, 566, -27, 126, 567, -27, -27, -27,
- /* 160 */ 254, 199, -27, -27, 566, 210, 559, -27, 260, 158,
- /* 170 */ 571, -27, -27, 568, 573, 570, 575, 336, 572, 577,
- /* 180 */ 578, 444, 576, 579, 581, 477, 580, 582, 583, 585,
- /* 190 */ -27, -27, 249, -27, -27, 431, 486, -27, 23, 586,
- /* 200 */ -27, -27, -27, -27, -27, 584, 566, 245, 574, 260,
- /* 210 */ 494, 617, 260, -27, 158, -27, 589, 497, 587, 588,
- /* 220 */ 260, 527, 620, 589, -27, -27, -27, -26, 536, 624,
- /* 230 */ -11, 625, 566, 590, 566, 603, 566, -27, 626, 260,
- /* 240 */ -27, 158, -27, -26, 536, 634, 608, 566, -27,
+#define PP_SHIFT_USE_DFLT (-2)
+static short pp_shift_ofst[] = {
+ /* 0 */ 373, 627, 617, 474, 613, 619, 558, 578, 548, 137,
+ /* 10 */ 493, 431, 132, 221, 132, 606, -2, -2, -2, 132,
+ /* 20 */ 630, 569, 239, 461, 239, -2, -1, -2, -2, 239,
+ /* 30 */ 239, 26, 239, 26, 239, 234, 239, 234, 239, 234,
+ /* 40 */ 239, 312, 239, 312, 239, 64, 239, 64, 239, 64,
+ /* 50 */ 239, 299, 239, 299, 239, 299, 239, 299, 239, 299,
+ /* 60 */ 239, 299, 239, 323, 238, 239, 0, 239, 323, 547,
+ /* 70 */ 176, 158, 239, 158, 325, -2, 25, -2, 239, 110,
+ /* 80 */ 327, 239, 56, 539, 456, -2, 531, 239, 135, 554,
+ /* 90 */ 540, -2, -2, 318, 561, 165, 550, -2, 538, 176,
+ /* 100 */ -2, -2, 239, 0, 239, 0, 239, 89, -2, -2,
+ /* 110 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
+ /* 120 */ 601, 598, 603, -2, 604, -2, 507, -2, 239, 0,
+ /* 130 */ 572, 176, 246, -2, 26, -2, 239, 158, 577, 239,
+ /* 140 */ 600, 239, -2, 158, -2, 239, 158, 453, 228, 29,
+ /* 150 */ 320, 169, -2, 320, -2, 321, 563, -2, -2, -2,
+ /* 160 */ 233, 178, -2, -2, 320, 490, 95, -2, 239, 158,
+ /* 170 */ 240, -2, -2, 333, 409, 344, 430, 359, 399, 437,
+ /* 180 */ 506, 528, 421, 542, 544, 181, 534, 546, 549, 551,
+ /* 190 */ -2, -2, 228, -2, -2, 153, 486, -2, 23, 560,
+ /* 200 */ -2, -2, -2, -2, -2, 552, 320, 495, 553, 239,
+ /* 210 */ 488, 596, 239, -2, 158, -2, 568, 519, 556, 557,
+ /* 220 */ 239, 521, 602, 568, -2, -2, -2, 558, 401, 609,
+ /* 230 */ 132, 612, 320, 567, 320, 590, 320, -2, 615, 239,
+ /* 240 */ -2, 158, -2, 558, 401, 624, 599, 320, -2,
};
-#define YY_REDUCE_USE_DFLT (-1)
-static short yy_reduce_ofst[] = {
- /* 0 */ 284, -1, -1, -1, -1, -1, 11, 202, 226, 287,
- /* 10 */ 302, -1, 298, -1, 299, -1, -1, -1, -1, 367,
- /* 20 */ -1, -1, 161, -1, 172, -1, -1, -1, -1, 341,
- /* 30 */ 342, -1, 345, -1, 353, -1, 358, -1, 370, -1,
- /* 40 */ 373, -1, 378, -1, 381, -1, 383, -1, 384, -1,
- /* 50 */ 386, -1, 389, -1, 403, -1, 406, -1, 409, -1,
- /* 60 */ 414, -1, 417, -1, -1, 419, -1, 420, -1, -1,
- /* 70 */ 265, -1, 422, -1, -1, -1, -1, -1, 425, -1,
- /* 80 */ -1, 439, -1, -1, -1, -1, -1, 442, -1, -1,
- /* 90 */ -1, -1, -1, -1, 468, 180, -1, -1, -1, 320,
- /* 100 */ -1, -1, 445, -1, 450, -1, 453, -1, -1, -1,
- /* 110 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- /* 120 */ -1, -1, -1, -1, -1, -1, -1, -1, 455, -1,
- /* 130 */ -1, 281, -1, -1, -1, -1, 458, -1, -1, 266,
- /* 140 */ -1, 322, -1, -1, -1, 461, -1, 512, 301, -1,
- /* 150 */ 330, 311, -1, 361, -1, -1, -1, -1, -1, -1,
- /* 160 */ -1, 271, -1, -1, 359, 503, 504, -1, 456, -1,
- /* 170 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- /* 180 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- /* 190 */ -1, -1, 334, -1, -1, -1, -1, -1, -1, -1,
- /* 200 */ -1, -1, -1, -1, -1, -1, 472, -1, -1, 294,
- /* 210 */ -1, -1, 339, -1, -1, -1, 449, -1, -1, -1,
- /* 220 */ 317, -1, -1, 520, -1, -1, -1, 545, 519, -1,
- /* 230 */ 514, -1, 469, -1, 261, -1, 269, -1, -1, 337,
- /* 240 */ -1, -1, -1, 553, 530, -1, -1, 480, -1,
+#define PP_REDUCE_USE_DFLT (-47)
+static short pp_reduce_ofst[] = {
+ /* 0 */ 284, -47, -47, -47, -47, -47, 559, 543, 417, 180,
+ /* 10 */ 330, -47, 475, -47, 487, -47, -47, -47, -47, 523,
+ /* 20 */ -47, -47, 259, -47, 317, -47, -47, -47, -47, 383,
+ /* 30 */ 420, -47, 358, -47, 377, -47, 396, -47, 441, -47,
+ /* 40 */ 360, -47, 370, -47, 389, -47, 400, -47, 406, -47,
+ /* 50 */ 422, -47, 439, -47, 452, -47, 467, -47, 403, -47,
+ /* 60 */ 455, -47, 435, -47, -47, 384, -47, 436, -47, -47,
+ /* 70 */ 289, -47, 341, -47, -47, -47, -47, -47, 113, -47,
+ /* 80 */ -47, 355, -47, -47, -47, -47, -47, 472, -47, -47,
+ /* 90 */ -47, -47, -47, -47, 476, 159, -47, -47, -47, 334,
+ /* 100 */ -47, -47, 465, -47, 336, -47, 353, -47, -47, -47,
+ /* 110 */ -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
+ /* 120 */ -47, -47, -47, -47, -47, -47, -47, -47, 471, -47,
+ /* 130 */ -47, 276, -47, -47, -47, -47, 442, -47, -47, 264,
+ /* 140 */ -47, 322, -47, -47, -47, 381, -47, 522, 296, -47,
+ /* 150 */ 324, 189, -47, 411, -47, -47, -47, -47, -47, -47,
+ /* 160 */ -47, 387, -47, -47, 314, 144, -46, -47, 419, -47,
+ /* 170 */ -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
+ /* 180 */ -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
+ /* 190 */ -47, -47, 348, -47, -47, -47, -47, -47, -47, -47,
+ /* 200 */ -47, -47, -47, -47, -47, -47, 279, -47, -47, 266,
+ /* 210 */ -47, -47, 338, -47, -47, -47, 85, -47, -47, -47,
+ /* 220 */ 300, -47, -47, 503, -47, -47, -47, 530, 508, -47,
+ /* 230 */ 497, -47, 356, -47, 162, -47, 179, -47, -47, 310,
+ /* 240 */ -47, -47, -47, 545, 518, -47, -47, 425, -47,
};
-static YYACTIONTYPE yy_default[] = {
+static PPACTIONTYPE pp_default[] = {
/* 0 */ 388, 388, 388, 388, 388, 388, 309, 318, 323, 311,
/* 10 */ 388, 388, 388, 388, 388, 388, 330, 331, 332, 388,
/* 20 */ 388, 388, 388, 310, 388, 312, 314, 315, 316, 388,
@@ -94777,7 +97149,7 @@ static YYACTIONTYPE yy_default[] = {
/* 230 */ 388, 388, 388, 388, 388, 297, 388, 298, 388, 388,
/* 240 */ 300, 301, 299, 309, 388, 388, 388, 388, 303,
};
-#define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0]))
+#define PP_SZ_ACTTAB (sizeof(pp_action)/sizeof(pp_action[0]))
/* The next table maps tokens into fallback tokens. If a construct
** like the following:
@@ -94789,10 +97161,10 @@ static YYACTIONTYPE yy_default[] = {
** but it does not parse, the type of the token is changed to ID and
** the parse is retried before an error is thrown.
*/
-#ifdef YYFALLBACK
-static const YYCODETYPE yyFallback[] = {
+#ifdef PPFALLBACK
+static const PPCODETYPE ppFallback[] = {
};
-#endif /* YYFALLBACK */
+#endif /* PPFALLBACK */
/* The following structure represents a single element of the
** parser's stack. Information stored includes:
@@ -94806,44 +97178,44 @@ static const YYCODETYPE yyFallback[] = {
** the information used by the action routines in the grammar.
** It is sometimes called the "minor" token.
*/
-struct yyStackEntry {
+struct ppStackEntry {
int stateno; /* The state-number */
int major; /* The major token value. This is the code
** number for the token at this stack level */
- YYMINORTYPE minor; /* The user-supplied minor token value. This
+ PPMINORTYPE minor; /* The user-supplied minor token value. This
** is the value of the token */
};
-typedef struct yyStackEntry yyStackEntry;
+typedef struct ppStackEntry ppStackEntry;
/* The state of the parser is completely contained in an instance of
** the following structure */
-struct yyParser {
- int yyidx; /* Index of top element in stack */
- int yyerrcnt; /* Shifts left before out of the error */
+struct ppParser {
+ int ppidx; /* Index of top element in stack */
+ int pperrcnt; /* Shifts left before out of the error */
phql_ARG_SDECL /* A place to hold %extra_argument */
- yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
+ ppStackEntry ppstack[PPSTACKDEPTH]; /* The parser's stack */
};
-typedef struct yyParser yyParser;
+typedef struct ppParser ppParser;
#ifndef NDEBUG
#include
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
+static FILE *ppTraceFILE = 0;
+static char *ppTracePrompt = 0;
#endif /* NDEBUG */
#ifndef NDEBUG
static void phql_Trace(FILE *TraceFILE, char *zTracePrompt){
- yyTraceFILE = TraceFILE;
- yyTracePrompt = zTracePrompt;
- if( yyTraceFILE==0 ) yyTracePrompt = 0;
- else if( yyTracePrompt==0 ) yyTraceFILE = 0;
+ ppTraceFILE = TraceFILE;
+ ppTracePrompt = zTracePrompt;
+ if( ppTraceFILE==0 ) ppTracePrompt = 0;
+ else if( ppTracePrompt==0 ) ppTraceFILE = 0;
}
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing shifts, the names of all terminals and nonterminals
** are required. The following table supplies these names */
-static const char *yyTokenName[] = {
+static const char *ppTokenName[] = {
"$", "AGAINST", "BETWEEN", "EQUALS",
"NOTEQUALS", "LESS", "GREATER", "GREATEREQUAL",
"LESSEQUAL", "AND", "OR", "LIKE",
@@ -94880,7 +97252,7 @@ static const char *yyTokenName[] = {
#ifndef NDEBUG
/* For tracing reduce actions, the names of all rules are required.
*/
-static const char *yyRuleName[] = {
+static const char *ppRuleName[] = {
/* 0 */ "program ::= query_language",
/* 1 */ "query_language ::= select_statement",
/* 2 */ "query_language ::= insert_statement",
@@ -95025,8 +97397,8 @@ static const char *yyRuleName[] = {
const char *phql_TokenName(int tokenType){
#ifndef NDEBUG
- if( tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0])) ){
- return yyTokenName[tokenType];
+ if( tokenType>0 && tokenType<(sizeof(ppTokenName)/sizeof(ppTokenName[0])) ){
+ return ppTokenName[tokenType];
}else{
return "Unknown";
}
@@ -95036,21 +97408,21 @@ const char *phql_TokenName(int tokenType){
}
void *phql_Alloc(void *(*mallocProc)(size_t)){
- yyParser *pParser;
- pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
+ ppParser *pParser;
+ pParser = (ppParser*)(*mallocProc)( (size_t)sizeof(ppParser) );
if( pParser ){
- pParser->yyidx = -1;
+ pParser->ppidx = -1;
}
return pParser;
}
/* The following function deletes the value associated with a
** symbol. The symbol can be either a terminal or nonterminal.
-** "yymajor" is the symbol code, and "yypminor" is a pointer to
+** "ppmajor" is the symbol code, and "pppminor" is a pointer to
** the value.
*/
-static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
- switch( yymajor ){
+static void pp_destructor(PPCODETYPE ppmajor, PPMINORTYPE *pppminor){
+ switch( ppmajor ){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
** when the symbol is popped from the stack during a
@@ -95132,11 +97504,11 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 69:
// 541 "parser.lemon"
{
- if ((yypminor->yy0)) {
- if ((yypminor->yy0)->free_flag) {
- efree((yypminor->yy0)->token);
+ if ((pppminor->pp0)) {
+ if ((pppminor->pp0)->free_flag) {
+ efree((pppminor->pp0)->token);
}
- efree((yypminor->yy0));
+ efree((pppminor->pp0));
}
}
// 1171 "parser.c"
@@ -95173,7 +97545,7 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 115:
case 118:
// 554 "parser.lemon"
-{ zval_ptr_dtor(&(yypminor->yy92)); }
+{ zval_ptr_dtor(&(pppminor->pp92)); }
// 1206 "parser.c"
break;
case 78:
@@ -95188,133 +97560,133 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 116:
case 117:
// 842 "parser.lemon"
-{ zephir_safe_zval_ptr_dtor((yypminor->yy92)); }
+{ zephir_safe_zval_ptr_dtor((pppminor->pp92)); }
// 1221 "parser.c"
break;
default: break; /* If no destructor action specified: do nothing */
}
}
-static int yy_pop_parser_stack(yyParser *pParser){
- YYCODETYPE yymajor;
- yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
+static int pp_pop_parser_stack(ppParser *pParser){
+ PPCODETYPE ppmajor;
+ ppStackEntry *pptos = &pParser->ppstack[pParser->ppidx];
- if( pParser->yyidx<0 ) return 0;
+ if( pParser->ppidx<0 ) return 0;
#ifndef NDEBUG
- if( yyTraceFILE && pParser->yyidx>=0 ){
- fprintf(yyTraceFILE,"%sPopping %s\n",
- yyTracePrompt,
- yyTokenName[yytos->major]);
+ if( ppTraceFILE && pParser->ppidx>=0 ){
+ fprintf(ppTraceFILE,"%sPopping %s\n",
+ ppTracePrompt,
+ ppTokenName[pptos->major]);
}
#endif
- yymajor = yytos->major;
- yy_destructor( yymajor, &yytos->minor);
- pParser->yyidx--;
- return yymajor;
+ ppmajor = pptos->major;
+ pp_destructor( ppmajor, &pptos->minor);
+ pParser->ppidx--;
+ return ppmajor;
}
static void phql_Free(
void *p, /* The parser to be deleted */
void (*freeProc)(void*) /* Function used to reclaim memory */
){
- yyParser *pParser = (yyParser*)p;
+ ppParser *pParser = (ppParser*)p;
if( pParser==0 ) return;
- while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
+ while( pParser->ppidx>=0 ) pp_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
-static int yy_find_shift_action(
- yyParser *pParser, /* The parser */
+static int pp_find_shift_action(
+ ppParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
+ int stateno = pParser->ppstack[pParser->ppidx].stateno;
- /* if( pParser->yyidx<0 ) return YY_NO_ACTION; */
- i = yy_shift_ofst[stateno];
- if( i==YY_SHIFT_USE_DFLT ){
- return yy_default[stateno];
+ /* if( pParser->ppidx<0 ) return PP_NO_ACTION; */
+ i = pp_shift_ofst[stateno];
+ if( i==PP_SHIFT_USE_DFLT ){
+ return pp_default[stateno];
}
- if( iLookAhead==YYNOCODE ){
- return YY_NO_ACTION;
+ if( iLookAhead==PPNOCODE ){
+ return PP_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
-#ifdef YYFALLBACK
+ if( i<0 || i>=PP_SZ_ACTTAB || pp_lookahead[i]!=iLookAhead ){
+#ifdef PPFALLBACK
int iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE, "%sFALLBACK %s => %s\n",
+ ppTracePrompt, ppTokenName[iLookAhead], ppTokenName[iFallback]);
}
#endif
- return yy_find_shift_action(pParser, iFallback);
+ return pp_find_shift_action(pParser, iFallback);
}
#endif
- return yy_default[stateno];
+ return pp_default[stateno];
}else{
- return yy_action[i];
+ return pp_action[i];
}
}
-static int yy_find_reduce_action(
- yyParser *pParser, /* The parser */
+static int pp_find_reduce_action(
+ ppParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
+ int stateno = pParser->ppstack[pParser->ppidx].stateno;
- i = yy_reduce_ofst[stateno];
- if( i==YY_REDUCE_USE_DFLT ){
- return yy_default[stateno];
+ i = pp_reduce_ofst[stateno];
+ if( i==PP_REDUCE_USE_DFLT ){
+ return pp_default[stateno];
}
- if( iLookAhead==YYNOCODE ){
- return YY_NO_ACTION;
+ if( iLookAhead==PPNOCODE ){
+ return PP_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
- return yy_default[stateno];
+ if( i<0 || i>=PP_SZ_ACTTAB || pp_lookahead[i]!=iLookAhead ){
+ return pp_default[stateno];
}else{
- return yy_action[i];
+ return pp_action[i];
}
}
-static void yy_shift(
- yyParser *yypParser, /* The parser to be shifted */
- int yyNewState, /* The new state to shift in */
- int yyMajor, /* The major token to shift in */
- YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */
+static void pp_shift(
+ ppParser *pppParser, /* The parser to be shifted */
+ int ppNewState, /* The new state to shift in */
+ int ppMajor, /* The major token to shift in */
+ PPMINORTYPE *pppMinor /* Pointer ot the minor token to shift in */
){
- yyStackEntry *yytos;
- yypParser->yyidx++;
- if( yypParser->yyidx>=YYSTACKDEPTH ){
+ ppStackEntry *pptos;
+ pppParser->ppidx++;
+ if( pppParser->ppidx>=PPSTACKDEPTH ){
phql_ARG_FETCH;
- yypParser->yyidx--;
+ pppParser->ppidx--;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sStack Overflow!\n",ppTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( pppParser->ppidx>=0 ) pp_pop_parser_stack(pppParser);
/* Here code is inserted which will execute if the parser
** stack every overflows */
phql_ARG_STORE; /* Suppress warning about unused %extra_argument var */
return;
}
- yytos = &yypParser->yystack[yypParser->yyidx];
- yytos->stateno = yyNewState;
- yytos->major = yyMajor;
- yytos->minor = *yypMinor;
+ pptos = &pppParser->ppstack[pppParser->ppidx];
+ pptos->stateno = ppNewState;
+ pptos->major = ppMajor;
+ pptos->minor = *pppMinor;
#ifndef NDEBUG
- if( yyTraceFILE && yypParser->yyidx>0 ){
+ if( ppTraceFILE && pppParser->ppidx>0 ){
int i;
- fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
- fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
- for(i=1; i<=yypParser->yyidx; i++)
- fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
- fprintf(yyTraceFILE,"\n");
+ fprintf(ppTraceFILE,"%sShift %d\n",ppTracePrompt,ppNewState);
+ fprintf(ppTraceFILE,"%sStack:",ppTracePrompt);
+ for(i=1; i<=pppParser->ppidx; i++)
+ fprintf(ppTraceFILE," %s",ppTokenName[pppParser->ppstack[i].major]);
+ fprintf(ppTraceFILE,"\n");
}
#endif
}
@@ -95323,9 +97695,9 @@ static void yy_shift(
** is used during the reduce.
*/
static struct {
- YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
+ PPCODETYPE lhs; /* Symbol on the left-hand side of the rule */
unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} yyRuleInfo[] = {
+} ppRuleInfo[] = {
{ 71, 1 },
{ 72, 1 },
{ 72, 1 },
@@ -95467,28 +97839,28 @@ static struct {
{ 106, 1 },
};
-static void yy_accept(yyParser*); /* Forward Declaration */
+static void pp_accept(ppParser*); /* Forward Declaration */
-static void yy_reduce(
- yyParser *yypParser, /* The parser */
- int yyruleno /* Number of the rule by which to reduce */
+static void pp_reduce(
+ ppParser *pppParser, /* The parser */
+ int ppruleno /* Number of the rule by which to reduce */
){
- int yygoto; /* The next state */
- int yyact; /* The next action */
- YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
- yyStackEntry *yymsp; /* The top of the parser's stack */
- int yysize; /* Amount to pop the stack */
+ int ppgoto; /* The next state */
+ int ppact; /* The next action */
+ PPMINORTYPE ppgotominor; /* The LHS of the rule reduced */
+ ppStackEntry *ppmsp; /* The top of the parser's stack */
+ int ppsize; /* Amount to pop the stack */
phql_ARG_FETCH;
- yymsp = &yypParser->yystack[yypParser->yyidx];
+ ppmsp = &pppParser->ppstack[pppParser->ppidx];
#ifndef NDEBUG
- if( yyTraceFILE && yyruleno>=0
- && yyruleno=0
+ && pprulenoret = yymsp[0].minor.yy92;
+ status->ret = ppmsp[0].minor.pp92;
}
// 1577 "parser.c"
break;
@@ -95525,39 +97897,39 @@ static void yy_reduce(
case 126:
// 556 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
}
// 1602 "parser.c"
break;
case 5:
// 574 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_select_statement(yymsp[-5].minor.yy92, yymsp[-4].minor.yy92, yymsp[-1].minor.yy92, yymsp[-3].minor.yy92, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
+ ppgotominor.pp92 = phql_ret_select_statement(ppmsp[-5].minor.pp92, ppmsp[-4].minor.pp92, ppmsp[-1].minor.pp92, ppmsp[-3].minor.pp92, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
}
// 1609 "parser.c"
break;
case 6:
// 580 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_select_clause(yymsp[-4].minor.yy92, yymsp[-3].minor.yy92, yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(26,&yymsp[-5].minor);
- yy_destructor(27,&yymsp[-2].minor);
+ ppgotominor.pp92 = phql_ret_select_clause(ppmsp[-4].minor.pp92, ppmsp[-3].minor.pp92, ppmsp[-1].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(26,&ppmsp[-5].minor);
+ pp_destructor(27,&ppmsp[-2].minor);
}
// 1618 "parser.c"
break;
case 7:
// 586 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_distinct_all(1);
- yy_destructor(28,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_distinct_all(1);
+ pp_destructor(28,&ppmsp[0].minor);
}
// 1626 "parser.c"
break;
case 8:
// 590 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_distinct_all(0);
- yy_destructor(29,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_distinct_all(0);
+ pp_destructor(29,&ppmsp[0].minor);
}
// 1634 "parser.c"
break;
@@ -95575,7 +97947,7 @@ static void yy_reduce(
case 115:
// 594 "parser.lemon"
{
- yygotominor.yy92 = NULL;
+ ppgotominor.pp92 = NULL;
}
// 1652 "parser.c"
break;
@@ -95589,8 +97961,8 @@ static void yy_reduce(
case 116:
// 600 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_zval_list(yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(25,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_zval_list(ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(25,&ppmsp[-1].minor);
}
// 1667 "parser.c"
break;
@@ -95600,7 +97972,7 @@ static void yy_reduce(
case 117:
// 604 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_zval_list(yymsp[0].minor.yy92, NULL);
+ ppgotominor.pp92 = phql_ret_zval_list(ppmsp[0].minor.pp92, NULL);
}
// 1677 "parser.c"
break;
@@ -95608,61 +97980,61 @@ static void yy_reduce(
case 118:
// 610 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_column_item(PHQL_T_STARALL, NULL, NULL, NULL);
- yy_destructor(17,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_column_item(PHQL_T_STARALL, NULL, NULL, NULL);
+ pp_destructor(17,&ppmsp[0].minor);
}
// 1686 "parser.c"
break;
case 13:
// 614 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_column_item(PHQL_T_DOMAINALL, NULL, yymsp[-2].minor.yy0, NULL);
- yy_destructor(31,&yymsp[-1].minor);
- yy_destructor(17,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_column_item(PHQL_T_DOMAINALL, NULL, ppmsp[-2].minor.pp0, NULL);
+ pp_destructor(31,&ppmsp[-1].minor);
+ pp_destructor(17,&ppmsp[0].minor);
}
// 1695 "parser.c"
break;
case 14:
// 618 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_column_item(PHQL_T_EXPR, yymsp[-2].minor.yy92, NULL, yymsp[0].minor.yy0);
- yy_destructor(32,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_column_item(PHQL_T_EXPR, ppmsp[-2].minor.pp92, NULL, ppmsp[0].minor.pp0);
+ pp_destructor(32,&ppmsp[-1].minor);
}
// 1703 "parser.c"
break;
case 15:
// 622 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_column_item(PHQL_T_EXPR, yymsp[-1].minor.yy92, NULL, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_column_item(PHQL_T_EXPR, ppmsp[-1].minor.pp92, NULL, ppmsp[0].minor.pp0);
}
// 1710 "parser.c"
break;
case 16:
// 626 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_column_item(PHQL_T_EXPR, yymsp[0].minor.yy92, NULL, NULL);
+ ppgotominor.pp92 = phql_ret_column_item(PHQL_T_EXPR, ppmsp[0].minor.pp92, NULL, NULL);
}
// 1717 "parser.c"
break;
case 21:
// 650 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_zval_list(yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
+ ppgotominor.pp92 = phql_ret_zval_list(ppmsp[-1].minor.pp92, ppmsp[0].minor.pp92);
}
// 1724 "parser.c"
break;
case 24:
// 667 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_item(yymsp[-3].minor.yy92, yymsp[-2].minor.yy92, yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
+ ppgotominor.pp92 = phql_ret_join_item(ppmsp[-3].minor.pp92, ppmsp[-2].minor.pp92, ppmsp[-1].minor.pp92, ppmsp[0].minor.pp92);
}
// 1731 "parser.c"
break;
case 25:
// 673 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_qualified_name(NULL, NULL, yymsp[0].minor.yy0);
- yy_destructor(32,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_qualified_name(NULL, NULL, ppmsp[0].minor.pp0);
+ pp_destructor(32,&ppmsp[-1].minor);
}
// 1739 "parser.c"
break;
@@ -95671,243 +98043,243 @@ static void yy_reduce(
case 138:
// 677 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_qualified_name(NULL, NULL, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_qualified_name(NULL, NULL, ppmsp[0].minor.pp0);
}
// 1748 "parser.c"
break;
case 28:
// 687 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_INNERJOIN);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_INNERJOIN);
+ pp_destructor(33,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1757 "parser.c"
break;
case 29:
// 691 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_CROSSJOIN);
- yy_destructor(35,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_CROSSJOIN);
+ pp_destructor(35,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1766 "parser.c"
break;
case 30:
// 695 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_LEFTJOIN);
- yy_destructor(36,&yymsp[-2].minor);
- yy_destructor(37,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_LEFTJOIN);
+ pp_destructor(36,&ppmsp[-2].minor);
+ pp_destructor(37,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1776 "parser.c"
break;
case 31:
// 699 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_LEFTJOIN);
- yy_destructor(36,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_LEFTJOIN);
+ pp_destructor(36,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1785 "parser.c"
break;
case 32:
// 703 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_RIGHTJOIN);
- yy_destructor(38,&yymsp[-2].minor);
- yy_destructor(37,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_RIGHTJOIN);
+ pp_destructor(38,&ppmsp[-2].minor);
+ pp_destructor(37,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1795 "parser.c"
break;
case 33:
// 707 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_RIGHTJOIN);
- yy_destructor(38,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_RIGHTJOIN);
+ pp_destructor(38,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1804 "parser.c"
break;
case 34:
// 711 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_FULLJOIN);
- yy_destructor(39,&yymsp[-2].minor);
- yy_destructor(37,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_FULLJOIN);
+ pp_destructor(39,&ppmsp[-2].minor);
+ pp_destructor(37,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1814 "parser.c"
break;
case 35:
// 715 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_FULLJOIN);
- yy_destructor(39,&yymsp[-1].minor);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_FULLJOIN);
+ pp_destructor(39,&ppmsp[-1].minor);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1823 "parser.c"
break;
case 36:
// 719 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_join_type(PHQL_T_INNERJOIN);
- yy_destructor(34,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_join_type(PHQL_T_INNERJOIN);
+ pp_destructor(34,&ppmsp[0].minor);
}
// 1831 "parser.c"
break;
case 37:
// 725 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
- yy_destructor(40,&yymsp[-1].minor);
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
+ pp_destructor(40,&ppmsp[-1].minor);
}
// 1839 "parser.c"
break;
case 39:
// 736 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_insert_statement(yymsp[-4].minor.yy92, NULL, yymsp[-1].minor.yy92);
- yy_destructor(41,&yymsp[-6].minor);
- yy_destructor(42,&yymsp[-5].minor);
- yy_destructor(43,&yymsp[-3].minor);
- yy_destructor(44,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_insert_statement(ppmsp[-4].minor.pp92, NULL, ppmsp[-1].minor.pp92);
+ pp_destructor(41,&ppmsp[-6].minor);
+ pp_destructor(42,&ppmsp[-5].minor);
+ pp_destructor(43,&ppmsp[-3].minor);
+ pp_destructor(44,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 1851 "parser.c"
break;
case 40:
// 740 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_insert_statement(yymsp[-7].minor.yy92, yymsp[-5].minor.yy92, yymsp[-1].minor.yy92);
- yy_destructor(41,&yymsp[-9].minor);
- yy_destructor(42,&yymsp[-8].minor);
- yy_destructor(44,&yymsp[-6].minor);
- yy_destructor(45,&yymsp[-4].minor);
- yy_destructor(43,&yymsp[-3].minor);
- yy_destructor(44,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_insert_statement(ppmsp[-7].minor.pp92, ppmsp[-5].minor.pp92, ppmsp[-1].minor.pp92);
+ pp_destructor(41,&ppmsp[-9].minor);
+ pp_destructor(42,&ppmsp[-8].minor);
+ pp_destructor(44,&ppmsp[-6].minor);
+ pp_destructor(45,&ppmsp[-4].minor);
+ pp_destructor(43,&ppmsp[-3].minor);
+ pp_destructor(44,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 1865 "parser.c"
break;
case 47:
// 778 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_update_statement(yymsp[-2].minor.yy92, yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
+ ppgotominor.pp92 = phql_ret_update_statement(ppmsp[-2].minor.pp92, ppmsp[-1].minor.pp92, ppmsp[0].minor.pp92);
}
// 1872 "parser.c"
break;
case 48:
// 784 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_update_clause(yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(46,&yymsp[-3].minor);
- yy_destructor(47,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_update_clause(ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(46,&ppmsp[-3].minor);
+ pp_destructor(47,&ppmsp[-1].minor);
}
// 1881 "parser.c"
break;
case 51:
// 800 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_update_item(yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(3,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_update_item(ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(3,&ppmsp[-1].minor);
}
// 1889 "parser.c"
break;
case 53:
// 812 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_delete_statement(yymsp[-2].minor.yy92, yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
+ ppgotominor.pp92 = phql_ret_delete_statement(ppmsp[-2].minor.pp92, ppmsp[-1].minor.pp92, ppmsp[0].minor.pp92);
}
// 1896 "parser.c"
break;
case 54:
// 818 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_delete_clause(yymsp[0].minor.yy92);
- yy_destructor(48,&yymsp[-2].minor);
- yy_destructor(27,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_delete_clause(ppmsp[0].minor.pp92);
+ pp_destructor(48,&ppmsp[-2].minor);
+ pp_destructor(27,&ppmsp[-1].minor);
}
// 1905 "parser.c"
break;
case 55:
// 824 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_assoc_name(yymsp[-2].minor.yy92, yymsp[0].minor.yy0);
- yy_destructor(32,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_assoc_name(ppmsp[-2].minor.pp92, ppmsp[0].minor.pp0);
+ pp_destructor(32,&ppmsp[-1].minor);
}
// 1913 "parser.c"
break;
case 56:
// 828 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_assoc_name(yymsp[-1].minor.yy92, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_assoc_name(ppmsp[-1].minor.pp92, ppmsp[0].minor.pp0);
}
// 1920 "parser.c"
break;
case 57:
// 832 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_assoc_name(yymsp[0].minor.yy92, NULL);
+ ppgotominor.pp92 = phql_ret_assoc_name(ppmsp[0].minor.pp92, NULL);
}
// 1927 "parser.c"
break;
case 59:
// 844 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
- yy_destructor(49,&yymsp[-1].minor);
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
+ pp_destructor(49,&ppmsp[-1].minor);
}
// 1935 "parser.c"
break;
case 61:
// 854 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
- yy_destructor(50,&yymsp[-2].minor);
- yy_destructor(51,&yymsp[-1].minor);
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
+ pp_destructor(50,&ppmsp[-2].minor);
+ pp_destructor(51,&ppmsp[-1].minor);
}
// 1944 "parser.c"
break;
case 65:
// 874 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_order_item(yymsp[0].minor.yy92, 0);
+ ppgotominor.pp92 = phql_ret_order_item(ppmsp[0].minor.pp92, 0);
}
// 1951 "parser.c"
break;
case 66:
// 878 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_order_item(yymsp[-1].minor.yy92, PHQL_T_ASC);
- yy_destructor(52,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_order_item(ppmsp[-1].minor.pp92, PHQL_T_ASC);
+ pp_destructor(52,&ppmsp[0].minor);
}
// 1959 "parser.c"
break;
case 67:
// 882 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_order_item(yymsp[-1].minor.yy92, PHQL_T_DESC);
- yy_destructor(53,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_order_item(ppmsp[-1].minor.pp92, PHQL_T_DESC);
+ pp_destructor(53,&ppmsp[0].minor);
}
// 1967 "parser.c"
break;
case 68:
// 888 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
- yy_destructor(54,&yymsp[-2].minor);
- yy_destructor(51,&yymsp[-1].minor);
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
+ pp_destructor(54,&ppmsp[-2].minor);
+ pp_destructor(51,&ppmsp[-1].minor);
}
// 1976 "parser.c"
break;
case 73:
// 914 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
- yy_destructor(55,&yymsp[-1].minor);
+ ppgotominor.pp92 = ppmsp[0].minor.pp92;
+ pp_destructor(55,&ppmsp[-1].minor);
}
// 1984 "parser.c"
break;
@@ -95915,26 +98287,26 @@ static void yy_reduce(
case 79:
// 924 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_limit_clause(yymsp[0].minor.yy92, NULL);
- yy_destructor(56,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_limit_clause(ppmsp[0].minor.pp92, NULL);
+ pp_destructor(56,&ppmsp[-1].minor);
}
// 1993 "parser.c"
break;
case 76:
// 928 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_limit_clause(yymsp[0].minor.yy92, yymsp[-2].minor.yy92);
- yy_destructor(56,&yymsp[-3].minor);
- yy_destructor(25,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_limit_clause(ppmsp[0].minor.pp92, ppmsp[-2].minor.pp92);
+ pp_destructor(56,&ppmsp[-3].minor);
+ pp_destructor(25,&ppmsp[-1].minor);
}
// 2002 "parser.c"
break;
case 77:
// 932 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_limit_clause(yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(56,&yymsp[-3].minor);
- yy_destructor(57,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_limit_clause(ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(56,&ppmsp[-3].minor);
+ pp_destructor(57,&ppmsp[-1].minor);
}
// 2011 "parser.c"
break;
@@ -95942,7 +98314,7 @@ static void yy_reduce(
case 127:
// 950 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_INTEGER, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_INTEGER, ppmsp[0].minor.pp0);
}
// 2019 "parser.c"
break;
@@ -95950,7 +98322,7 @@ static void yy_reduce(
case 133:
// 954 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_placeholder_zval(PHQL_T_NPLACEHOLDER, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_placeholder_zval(PHQL_T_NPLACEHOLDER, ppmsp[0].minor.pp0);
}
// 2027 "parser.c"
break;
@@ -95958,397 +98330,397 @@ static void yy_reduce(
case 134:
// 958 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_placeholder_zval(PHQL_T_SPLACEHOLDER, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_placeholder_zval(PHQL_T_SPLACEHOLDER, ppmsp[0].minor.pp0);
}
// 2035 "parser.c"
break;
case 84:
// 964 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_MINUS, NULL, yymsp[0].minor.yy92);
- yy_destructor(20,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_MINUS, NULL, ppmsp[0].minor.pp92);
+ pp_destructor(20,&ppmsp[-1].minor);
}
// 2043 "parser.c"
break;
case 85:
// 968 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_SUB, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(20,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_SUB, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(20,&ppmsp[-1].minor);
}
// 2051 "parser.c"
break;
case 86:
// 972 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_ADD, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(19,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_ADD, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(19,&ppmsp[-1].minor);
}
// 2059 "parser.c"
break;
case 87:
// 976 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_MUL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(17,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_MUL, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(17,&ppmsp[-1].minor);
}
// 2067 "parser.c"
break;
case 88:
// 980 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_DIV, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(16,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_DIV, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(16,&ppmsp[-1].minor);
}
// 2075 "parser.c"
break;
case 89:
// 984 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_MOD, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(18,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_MOD, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(18,&ppmsp[-1].minor);
}
// 2083 "parser.c"
break;
case 90:
// 988 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_AND, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(9,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_AND, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(9,&ppmsp[-1].minor);
}
// 2091 "parser.c"
break;
case 91:
// 992 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_OR, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(10,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_OR, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(10,&ppmsp[-1].minor);
}
// 2099 "parser.c"
break;
case 92:
// 996 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_BITWISE_AND, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(13,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_BITWISE_AND, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(13,&ppmsp[-1].minor);
}
// 2107 "parser.c"
break;
case 93:
// 1000 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_BITWISE_OR, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(14,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_BITWISE_OR, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(14,&ppmsp[-1].minor);
}
// 2115 "parser.c"
break;
case 94:
// 1004 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_BITWISE_XOR, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(15,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_BITWISE_XOR, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(15,&ppmsp[-1].minor);
}
// 2123 "parser.c"
break;
case 95:
// 1008 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_EQUALS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(3,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_EQUALS, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(3,&ppmsp[-1].minor);
}
// 2131 "parser.c"
break;
case 96:
// 1012 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_NOTEQUALS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(4,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_NOTEQUALS, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(4,&ppmsp[-1].minor);
}
// 2139 "parser.c"
break;
case 97:
// 1016 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_LESS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(5,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_LESS, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(5,&ppmsp[-1].minor);
}
// 2147 "parser.c"
break;
case 98:
// 1020 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_GREATER, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(6,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_GREATER, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(6,&ppmsp[-1].minor);
}
// 2155 "parser.c"
break;
case 99:
// 1024 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_GREATEREQUAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(7,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_GREATEREQUAL, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(7,&ppmsp[-1].minor);
}
// 2163 "parser.c"
break;
case 100:
// 1028 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_LESSEQUAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(8,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_LESSEQUAL, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(8,&ppmsp[-1].minor);
}
// 2171 "parser.c"
break;
case 101:
// 1032 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_LIKE, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(11,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_LIKE, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(11,&ppmsp[-1].minor);
}
// 2179 "parser.c"
break;
case 102:
// 1036 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_NLIKE, yymsp[-3].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(23,&yymsp[-2].minor);
- yy_destructor(11,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_NLIKE, ppmsp[-3].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(23,&ppmsp[-2].minor);
+ pp_destructor(11,&ppmsp[-1].minor);
}
// 2188 "parser.c"
break;
case 103:
// 1040 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_ILIKE, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(12,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_ILIKE, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(12,&ppmsp[-1].minor);
}
// 2196 "parser.c"
break;
case 104:
// 1044 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_NILIKE, yymsp[-3].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(23,&yymsp[-2].minor);
- yy_destructor(12,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_NILIKE, ppmsp[-3].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(23,&ppmsp[-2].minor);
+ pp_destructor(12,&ppmsp[-1].minor);
}
// 2205 "parser.c"
break;
case 105:
// 1048 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_IN, yymsp[-4].minor.yy92, yymsp[-1].minor.yy92);
- yy_destructor(22,&yymsp[-3].minor);
- yy_destructor(44,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_IN, ppmsp[-4].minor.pp92, ppmsp[-1].minor.pp92);
+ pp_destructor(22,&ppmsp[-3].minor);
+ pp_destructor(44,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2215 "parser.c"
break;
case 106:
// 1052 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_NOTIN, yymsp[-5].minor.yy92, yymsp[-1].minor.yy92);
- yy_destructor(23,&yymsp[-4].minor);
- yy_destructor(22,&yymsp[-3].minor);
- yy_destructor(44,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_NOTIN, ppmsp[-5].minor.pp92, ppmsp[-1].minor.pp92);
+ pp_destructor(23,&ppmsp[-4].minor);
+ pp_destructor(22,&ppmsp[-3].minor);
+ pp_destructor(44,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2226 "parser.c"
break;
case 107:
// 1056 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_AGAINST, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(1,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_AGAINST, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(1,&ppmsp[-1].minor);
}
// 2234 "parser.c"
break;
case 108:
// 1060 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_CAST, yymsp[-3].minor.yy92, phql_ret_raw_qualified_name(yymsp[-1].minor.yy0, NULL));
- yy_destructor(61,&yymsp[-5].minor);
- yy_destructor(44,&yymsp[-4].minor);
- yy_destructor(32,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_CAST, ppmsp[-3].minor.pp92, phql_ret_raw_qualified_name(ppmsp[-1].minor.pp0, NULL));
+ pp_destructor(61,&ppmsp[-5].minor);
+ pp_destructor(44,&ppmsp[-4].minor);
+ pp_destructor(32,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2245 "parser.c"
break;
case 109:
// 1064 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_CONVERT, yymsp[-3].minor.yy92, phql_ret_raw_qualified_name(yymsp[-1].minor.yy0, NULL));
- yy_destructor(62,&yymsp[-5].minor);
- yy_destructor(44,&yymsp[-4].minor);
- yy_destructor(63,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_CONVERT, ppmsp[-3].minor.pp92, phql_ret_raw_qualified_name(ppmsp[-1].minor.pp0, NULL));
+ pp_destructor(62,&ppmsp[-5].minor);
+ pp_destructor(44,&ppmsp[-4].minor);
+ pp_destructor(63,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2256 "parser.c"
break;
case 111:
// 1074 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_func_call(yymsp[-4].minor.yy0, yymsp[-1].minor.yy92, yymsp[-2].minor.yy92);
- yy_destructor(44,&yymsp[-3].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_func_call(ppmsp[-4].minor.pp0, ppmsp[-1].minor.pp92, ppmsp[-2].minor.pp92);
+ pp_destructor(44,&ppmsp[-3].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2265 "parser.c"
break;
case 112:
// 1080 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_distinct();
- yy_destructor(28,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_distinct();
+ pp_destructor(28,&ppmsp[0].minor);
}
// 2273 "parser.c"
break;
case 120:
// 1118 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_ISNULL, yymsp[-2].minor.yy92, NULL);
- yy_destructor(21,&yymsp[-1].minor);
- yy_destructor(64,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_ISNULL, ppmsp[-2].minor.pp92, NULL);
+ pp_destructor(21,&ppmsp[-1].minor);
+ pp_destructor(64,&ppmsp[0].minor);
}
// 2282 "parser.c"
break;
case 121:
// 1122 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_ISNOTNULL, yymsp[-3].minor.yy92, NULL);
- yy_destructor(21,&yymsp[-2].minor);
- yy_destructor(23,&yymsp[-1].minor);
- yy_destructor(64,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_ISNOTNULL, ppmsp[-3].minor.pp92, NULL);
+ pp_destructor(21,&ppmsp[-2].minor);
+ pp_destructor(23,&ppmsp[-1].minor);
+ pp_destructor(64,&ppmsp[0].minor);
}
// 2292 "parser.c"
break;
case 122:
// 1126 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_BETWEEN, yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(2,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_BETWEEN, ppmsp[-2].minor.pp92, ppmsp[0].minor.pp92);
+ pp_destructor(2,&ppmsp[-1].minor);
}
// 2300 "parser.c"
break;
case 123:
// 1130 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_NOT, NULL, yymsp[0].minor.yy92);
- yy_destructor(23,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_NOT, NULL, ppmsp[0].minor.pp92);
+ pp_destructor(23,&ppmsp[-1].minor);
}
// 2308 "parser.c"
break;
case 124:
// 1134 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_BITWISE_NOT, NULL, yymsp[0].minor.yy92);
- yy_destructor(24,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_BITWISE_NOT, NULL, ppmsp[0].minor.pp92);
+ pp_destructor(24,&ppmsp[-1].minor);
}
// 2316 "parser.c"
break;
case 125:
// 1138 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_expr(PHQL_T_ENCLOSED, yymsp[-1].minor.yy92, NULL);
- yy_destructor(44,&yymsp[-2].minor);
- yy_destructor(45,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_expr(PHQL_T_ENCLOSED, ppmsp[-1].minor.pp92, NULL);
+ pp_destructor(44,&ppmsp[-2].minor);
+ pp_destructor(45,&ppmsp[0].minor);
}
// 2325 "parser.c"
break;
case 128:
// 1150 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_STRING, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_STRING, ppmsp[0].minor.pp0);
}
// 2332 "parser.c"
break;
case 129:
// 1154 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_DOUBLE, yymsp[0].minor.yy0);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_DOUBLE, ppmsp[0].minor.pp0);
}
// 2339 "parser.c"
break;
case 130:
// 1158 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_NULL, NULL);
- yy_destructor(64,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_NULL, NULL);
+ pp_destructor(64,&ppmsp[0].minor);
}
// 2347 "parser.c"
break;
case 131:
// 1162 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_TRUE, NULL);
- yy_destructor(67,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_TRUE, NULL);
+ pp_destructor(67,&ppmsp[0].minor);
}
// 2355 "parser.c"
break;
case 132:
// 1166 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_literal_zval(PHQL_T_FALSE, NULL);
- yy_destructor(68,&yymsp[0].minor);
+ ppgotominor.pp92 = phql_ret_literal_zval(PHQL_T_FALSE, NULL);
+ pp_destructor(68,&ppmsp[0].minor);
}
// 2363 "parser.c"
break;
case 135:
// 1180 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_qualified_name(yymsp[-4].minor.yy0, yymsp[-2].minor.yy0, yymsp[0].minor.yy0);
- yy_destructor(69,&yymsp[-3].minor);
- yy_destructor(31,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_qualified_name(ppmsp[-4].minor.pp0, ppmsp[-2].minor.pp0, ppmsp[0].minor.pp0);
+ pp_destructor(69,&ppmsp[-3].minor);
+ pp_destructor(31,&ppmsp[-1].minor);
}
// 2372 "parser.c"
break;
case 136:
// 1184 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_qualified_name(yymsp[-2].minor.yy0, NULL, yymsp[0].minor.yy0);
- yy_destructor(69,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_qualified_name(ppmsp[-2].minor.pp0, NULL, ppmsp[0].minor.pp0);
+ pp_destructor(69,&ppmsp[-1].minor);
}
// 2380 "parser.c"
break;
case 137:
// 1188 "parser.lemon"
{
- yygotominor.yy92 = phql_ret_qualified_name(NULL, yymsp[-2].minor.yy0, yymsp[0].minor.yy0);
- yy_destructor(31,&yymsp[-1].minor);
+ ppgotominor.pp92 = phql_ret_qualified_name(NULL, ppmsp[-2].minor.pp0, ppmsp[0].minor.pp0);
+ pp_destructor(31,&ppmsp[-1].minor);
}
// 2388 "parser.c"
break;
};
- yygoto = yyRuleInfo[yyruleno].lhs;
- yysize = yyRuleInfo[yyruleno].nrhs;
- yypParser->yyidx -= yysize;
- yyact = yy_find_reduce_action(yypParser,yygoto);
- if( yyact < YYNSTATE ){
- yy_shift(yypParser,yyact,yygoto,&yygotominor);
- }else if( yyact == YYNSTATE + YYNRULE + 1 ){
- yy_accept(yypParser);
+ ppgoto = ppRuleInfo[ppruleno].lhs;
+ ppsize = ppRuleInfo[ppruleno].nrhs;
+ pppParser->ppidx -= ppsize;
+ ppact = pp_find_reduce_action(pppParser,ppgoto);
+ if( ppact < PPNSTATE ){
+ pp_shift(pppParser,ppact,ppgoto,&ppgotominor);
+ }else if( ppact == PPNSTATE + PPNRULE + 1 ){
+ pp_accept(pppParser);
}
}
-static void yy_parse_failed(
- yyParser *yypParser /* The parser */
+static void pp_parse_failed(
+ ppParser *pppParser /* The parser */
){
phql_ARG_FETCH;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sFail!\n",ppTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( pppParser->ppidx>=0 ) pp_pop_parser_stack(pppParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
phql_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void yy_syntax_error(
- yyParser *yypParser, /* The parser */
- int yymajor, /* The major type of the error token */
- YYMINORTYPE yyminor /* The minor type of the error token */
+static void pp_syntax_error(
+ ppParser *pppParser, /* The parser */
+ int ppmajor, /* The major type of the error token */
+ PPMINORTYPE ppminor /* The minor type of the error token */
){
phql_ARG_FETCH;
-#define TOKEN (yyminor.yy0)
+#define TOKEN (ppminor.pp0)
// 474 "parser.lemon"
if (status->scanner_state->start_length) {
@@ -96420,16 +98792,16 @@ static void yy_syntax_error(
phql_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void yy_accept(
- yyParser *yypParser /* The parser */
+static void pp_accept(
+ ppParser *pppParser /* The parser */
){
phql_ARG_FETCH;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sAccept!\n",ppTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( pppParser->ppidx>=0 ) pp_pop_parser_stack(pppParser);
/* Here code is inserted which will be executed whenever the
** parser accepts */
phql_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
@@ -96455,56 +98827,56 @@ static void yy_accept(
** None.
*/
static void phql_(
- void *yyp, /* The parser */
- int yymajor, /* The major token code number */
- phql_TOKENTYPE yyminor /* The value for the token */
+ void *ppp, /* The parser */
+ int ppmajor, /* The major token code number */
+ phql_TOKENTYPE ppminor /* The value for the token */
phql_ARG_PDECL /* Optional %extra_argument parameter */
){
- YYMINORTYPE yyminorunion;
- int yyact; /* The parser action. */
- int yyendofinput; /* True if we are at the end of input */
- int yyerrorhit = 0; /* True if yymajor has invoked an error */
- yyParser *yypParser; /* The parser */
+ PPMINORTYPE ppminorunion;
+ int ppact; /* The parser action. */
+ int ppendofinput; /* True if we are at the end of input */
+ int pperrorhit = 0; /* True if ppmajor has invoked an error */
+ ppParser *pppParser; /* The parser */
/* (re)initialize the parser, if necessary */
- yypParser = (yyParser*)yyp;
- if( yypParser->yyidx<0 ){
- if( yymajor==0 ) return;
- yypParser->yyidx = 0;
- yypParser->yyerrcnt = -1;
- yypParser->yystack[0].stateno = 0;
- yypParser->yystack[0].major = 0;
+ pppParser = (ppParser*)ppp;
+ if( pppParser->ppidx<0 ){
+ if( ppmajor==0 ) return;
+ pppParser->ppidx = 0;
+ pppParser->pperrcnt = -1;
+ pppParser->ppstack[0].stateno = 0;
+ pppParser->ppstack[0].major = 0;
}
- yyminorunion.yy0 = yyminor;
- yyendofinput = (yymajor==0);
+ ppminorunion.pp0 = ppminor;
+ ppendofinput = (ppmajor==0);
phql_ARG_STORE;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sInput %s\n",ppTracePrompt,ppTokenName[ppmajor]);
}
#endif
do{
- yyact = yy_find_shift_action(yypParser,yymajor);
- if( yyactyyerrcnt--;
- if( yyendofinput && yypParser->yyidx>=0 ){
- yymajor = 0;
+ ppact = pp_find_shift_action(pppParser,ppmajor);
+ if( ppactpperrcnt--;
+ if( ppendofinput && pppParser->ppidx>=0 ){
+ ppmajor = 0;
}else{
- yymajor = YYNOCODE;
+ ppmajor = PPNOCODE;
}
- }else if( yyact < YYNSTATE + YYNRULE ){
- yy_reduce(yypParser,yyact-YYNSTATE);
- }else if( yyact == YY_ERROR_ACTION ){
- int yymx;
+ }else if( ppact < PPNSTATE + PPNRULE ){
+ pp_reduce(pppParser,ppact-PPNSTATE);
+ }else if( ppact == PP_ERROR_ACTION ){
+ int ppmx;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sSyntax Error!\n",ppTracePrompt);
}
#endif
-#ifdef YYERRORSYMBOL
+#ifdef PPERRORSYMBOL
/* A syntax error has occurred.
** The response to an error depends upon whether or not the
** grammar defines an error token "ERROR".
@@ -96524,40 +98896,40 @@ static void phql_(
** shifted successfully.
**
*/
- if( yypParser->yyerrcnt<0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
+ if( pppParser->pperrcnt<0 ){
+ pp_syntax_error(pppParser,ppmajor,ppminorunion);
}
- yymx = yypParser->yystack[yypParser->yyidx].major;
- if( yymx==YYERRORSYMBOL || yyerrorhit ){
+ ppmx = pppParser->ppstack[pppParser->ppidx].major;
+ if( ppmx==PPERRORSYMBOL || pperrorhit ){
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sDiscard input token %s\n",
- yyTracePrompt,yyTokenName[yymajor]);
+ if( ppTraceFILE ){
+ fprintf(ppTraceFILE,"%sDiscard input token %s\n",
+ ppTracePrompt,ppTokenName[ppmajor]);
}
#endif
- yy_destructor(yymajor,&yyminorunion);
- yymajor = YYNOCODE;
+ pp_destructor(ppmajor,&ppminorunion);
+ ppmajor = PPNOCODE;
}else{
while(
- yypParser->yyidx >= 0 &&
- yymx != YYERRORSYMBOL &&
- (yyact = yy_find_shift_action(yypParser,YYERRORSYMBOL)) >= YYNSTATE
+ pppParser->ppidx >= 0 &&
+ ppmx != PPERRORSYMBOL &&
+ (ppact = pp_find_shift_action(pppParser,PPERRORSYMBOL)) >= PPNSTATE
){
- yy_pop_parser_stack(yypParser);
+ pp_pop_parser_stack(pppParser);
}
- if( yypParser->yyidx < 0 || yymajor==0 ){
- yy_destructor(yymajor,&yyminorunion);
- yy_parse_failed(yypParser);
- yymajor = YYNOCODE;
- }else if( yymx!=YYERRORSYMBOL ){
- YYMINORTYPE u2;
- u2.YYERRSYMDT = 0;
- yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
+ if( pppParser->ppidx < 0 || ppmajor==0 ){
+ pp_destructor(ppmajor,&ppminorunion);
+ pp_parse_failed(pppParser);
+ ppmajor = PPNOCODE;
+ }else if( ppmx!=PPERRORSYMBOL ){
+ PPMINORTYPE u2;
+ u2.PPERRSYMDT = 0;
+ pp_shift(pppParser,ppact,PPERRORSYMBOL,&u2);
}
}
- yypParser->yyerrcnt = 3;
- yyerrorhit = 1;
-#else /* YYERRORSYMBOL is not defined */
+ pppParser->pperrcnt = 3;
+ pperrorhit = 1;
+#else /* PPERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
** * Report an error message, and throw away the input token.
@@ -96567,21 +98939,21 @@ static void phql_(
** As before, subsequent error messages are suppressed until
** three input tokens have been successfully shifted.
*/
- if( yypParser->yyerrcnt<=0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
+ if( pppParser->pperrcnt<=0 ){
+ pp_syntax_error(pppParser,ppmajor,ppminorunion);
}
- yypParser->yyerrcnt = 3;
- yy_destructor(yymajor,&yyminorunion);
- if( yyendofinput ){
- yy_parse_failed(yypParser);
+ pppParser->pperrcnt = 3;
+ pp_destructor(ppmajor,&ppminorunion);
+ if( ppendofinput ){
+ pp_parse_failed(pppParser);
}
- yymajor = YYNOCODE;
+ ppmajor = PPNOCODE;
#endif
}else{
- yy_accept(yypParser);
- yymajor = YYNOCODE;
+ pp_accept(pppParser);
+ ppmajor = PPNOCODE;
}
- }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
+ }while( ppmajor!=PPNOCODE && pppParser->ppidx>=0 );
return;
}
@@ -97128,7 +99500,7 @@ static int phql_internal_parse_phql(zval **result, char *phql, unsigned int phql
}
-/* Generated by re2c 0.13.5 on Mon Apr 27 09:01:41 2015 */
+/* Generated by re2c 0.13.6 on Mon May 4 14:07:52 2015 */
// 1 "scanner.re"
@@ -97137,14 +99509,14 @@ static int phql_internal_parse_phql(zval **result, char *phql, unsigned int phql
-#define YYCTYPE unsigned char
-#define YYCURSOR (s->start)
-#define YYLIMIT (s->end)
-#define YYMARKER q
+#define PPCTYPE unsigned char
+#define PPCURSOR (s->start)
+#define PPLIMIT (s->end)
+#define PPMARKER q
static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
- char *q = YYCURSOR;
+ char *q = PPCURSOR;
int status = PHQL_SCANNER_RETCODE_IMPOSSIBLE;
while (PHQL_SCANNER_RETCODE_IMPOSSIBLE == status) {
@@ -97152,29 +99524,29 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
// 45 "scanner.c"
{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
+ PPCTYPE ppch;
+ unsigned int ppaccept = 0;
- yych = *YYCURSOR;
- switch (yych) {
- case 0x00: goto yy69;
+ ppch = *PPCURSOR;
+ switch (ppch) {
+ case 0x00: goto pp69;
case '\t':
case '\n':
case '\r':
- case ' ': goto yy67;
- case '!': goto yy50;
- case '"': goto yy29;
- case '%': goto yy42;
- case '&': goto yy61;
- case '\'': goto yy30;
- case '(': goto yy46;
- case ')': goto yy48;
- case '*': goto yy38;
- case '+': goto yy34;
- case ',': goto yy44;
- case '-': goto yy36;
- case '.': goto yy4;
- case '/': goto yy40;
+ case ' ': goto pp67;
+ case '!': goto pp50;
+ case '"': goto pp29;
+ case '%': goto pp42;
+ case '&': goto pp61;
+ case '\'': goto pp30;
+ case '(': goto pp46;
+ case ')': goto pp48;
+ case '*': goto pp38;
+ case '+': goto pp34;
+ case ',': goto pp44;
+ case '-': goto pp36;
+ case '.': goto pp4;
+ case '/': goto pp40;
case '0':
case '1':
case '2':
@@ -97184,21 +99556,21 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy2;
- case ':': goto yy8;
- case '<': goto yy52;
- case '=': goto yy56;
- case '>': goto yy54;
- case '?': goto yy6;
- case '@': goto yy58;
+ case '9': goto pp2;
+ case ':': goto pp8;
+ case '<': goto pp52;
+ case '=': goto pp56;
+ case '>': goto pp54;
+ case '?': goto pp6;
+ case '@': goto pp58;
case 'A':
- case 'a': goto yy15;
+ case 'a': goto pp15;
case 'B':
- case 'b': goto yy20;
+ case 'b': goto pp20;
case 'C':
- case 'c': goto yy27;
+ case 'c': goto pp27;
case 'D':
- case 'd': goto yy13;
+ case 'd': goto pp13;
case 'E':
case 'K':
case 'M':
@@ -97215,46 +99587,46 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'q':
case 'x':
case 'y':
- case 'z': goto yy32;
+ case 'z': goto pp32;
case 'F':
- case 'f': goto yy14;
+ case 'f': goto pp14;
case 'G':
- case 'g': goto yy21;
+ case 'g': goto pp21;
case 'H':
- case 'h': goto yy22;
+ case 'h': goto pp22;
case 'I':
- case 'i': goto yy16;
+ case 'i': goto pp16;
case 'J':
- case 'j': goto yy25;
+ case 'j': goto pp25;
case 'L':
- case 'l': goto yy23;
+ case 'l': goto pp23;
case 'N':
- case 'n': goto yy24;
+ case 'n': goto pp24;
case 'O':
- case 'o': goto yy19;
+ case 'o': goto pp19;
case 'R':
- case 'r': goto yy26;
+ case 'r': goto pp26;
case 'S':
- case 's': goto yy12;
+ case 's': goto pp12;
case 'T':
- case 't': goto yy28;
+ case 't': goto pp28;
case 'U':
- case 'u': goto yy10;
+ case 'u': goto pp10;
case 'V':
- case 'v': goto yy17;
+ case 'v': goto pp17;
case 'W':
- case 'w': goto yy18;
- case '[': goto yy33;
- case '\\': goto yy31;
- case '^': goto yy65;
- case '|': goto yy59;
- case '~': goto yy63;
- default: goto yy71;
- }
-yy2:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '.': goto yy302;
+ case 'w': goto pp18;
+ case '[': goto pp33;
+ case '\\': goto pp31;
+ case '^': goto pp65;
+ case '|': goto pp59;
+ case '~': goto pp63;
+ default: goto pp71;
+ }
+pp2:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '.': goto pp302;
case '0':
case '1':
case '2':
@@ -97264,22 +99636,22 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy304;
- default: goto yy3;
+ case '9': goto pp304;
+ default: goto pp3;
}
-yy3:
+pp3:
// 46 "scanner.re"
{
token->opcode = PHQL_T_INTEGER;
- token->value = estrndup(q, YYCURSOR - q);
- token->len = YYCURSOR - q;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q);
+ token->len = PPCURSOR - q;
+ q = PPCURSOR;
return 0;
}
// 171 "scanner.c"
-yy4:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp4:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -97289,19 +99661,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy299;
- default: goto yy5;
+ case '9': goto pp299;
+ default: goto pp5;
}
-yy5:
+pp5:
// 358 "scanner.re"
{
token->opcode = PHQL_T_DOT;
return 0;
}
// 193 "scanner.c"
-yy6:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp6:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -97311,20 +99683,20 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy296;
- default: goto yy7;
+ case '9': goto pp296;
+ default: goto pp7;
}
-yy7:
+pp7:
// 483 "scanner.re"
{
status = PHQL_SCANNER_RETCODE_ERR;
break;
}
// 215 "scanner.c"
-yy8:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- switch (yych) {
+pp8:
+ ppaccept = 0;
+ ppch = *(PPMARKER = ++PPCURSOR);
+ switch (ppch) {
case '-':
case '0':
case '1':
@@ -97388,209 +99760,209 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy292;
- default: goto yy9;
+ case 'z': goto pp292;
+ default: goto pp9;
}
-yy9:
+pp9:
// 363 "scanner.re"
{
token->opcode = PHQL_T_COLON;
return 0;
}
// 292 "scanner.c"
-yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp10:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case 'P':
- case 'p': goto yy281;
+ case 'p': goto pp281;
case 'S':
- case 's': goto yy282;
- default: goto yy98;
+ case 's': goto pp282;
+ default: goto pp98;
}
-yy11:
+pp11:
// 306 "scanner.re"
{
token->opcode = PHQL_T_IDENTIFIER;
- if ((YYCURSOR - q) > 1) {
+ if ((PPCURSOR - q) > 1) {
if (q[0] == '\\') {
- token->value = estrndup(q + 1, YYCURSOR - q - 1);
- token->len = YYCURSOR - q - 1;
+ token->value = estrndup(q + 1, PPCURSOR - q - 1);
+ token->len = PPCURSOR - q - 1;
} else {
- token->value = estrndup(q, YYCURSOR - q);
- token->len = YYCURSOR - q;
+ token->value = estrndup(q, PPCURSOR - q);
+ token->len = PPCURSOR - q;
}
} else {
- token->value = estrndup(q, YYCURSOR - q);
- token->len = YYCURSOR - q;
+ token->value = estrndup(q, PPCURSOR - q);
+ token->len = PPCURSOR - q;
}
- q = YYCURSOR;
+ q = PPCURSOR;
return 0;
}
// 321 "scanner.c"
-yy12:
- yych = *++YYCURSOR;
- switch (yych) {
+pp12:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy273;
- default: goto yy98;
+ case 'e': goto pp273;
+ default: goto pp98;
}
-yy13:
- yych = *++YYCURSOR;
- switch (yych) {
+pp13:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy256;
+ case 'e': goto pp256;
case 'I':
- case 'i': goto yy257;
- default: goto yy98;
+ case 'i': goto pp257;
+ default: goto pp98;
}
-yy14:
- yych = *++YYCURSOR;
- switch (yych) {
+pp14:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy243;
+ case 'a': goto pp243;
case 'R':
- case 'r': goto yy244;
+ case 'r': goto pp244;
case 'U':
- case 'u': goto yy245;
- default: goto yy98;
+ case 'u': goto pp245;
+ default: goto pp98;
}
-yy15:
- yych = *++YYCURSOR;
- switch (yych) {
+pp15:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'G':
- case 'g': goto yy226;
+ case 'g': goto pp226;
case 'L':
- case 'l': goto yy227;
+ case 'l': goto pp227;
case 'N':
- case 'n': goto yy228;
+ case 'n': goto pp228;
case 'S':
- case 's': goto yy229;
- default: goto yy98;
+ case 's': goto pp229;
+ default: goto pp98;
}
-yy16:
- yych = *++YYCURSOR;
- switch (yych) {
+pp16:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy205;
+ case 'l': goto pp205;
case 'N':
- case 'n': goto yy206;
+ case 'n': goto pp206;
case 'S':
- case 's': goto yy208;
- default: goto yy98;
+ case 's': goto pp208;
+ default: goto pp98;
}
-yy17:
- yych = *++YYCURSOR;
- switch (yych) {
+pp17:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy199;
- default: goto yy98;
+ case 'a': goto pp199;
+ default: goto pp98;
}
-yy18:
- yych = *++YYCURSOR;
- switch (yych) {
+pp18:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'H':
- case 'h': goto yy194;
- default: goto yy98;
+ case 'h': goto pp194;
+ default: goto pp98;
}
-yy19:
- yych = *++YYCURSOR;
- switch (yych) {
+pp19:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'F':
- case 'f': goto yy175;
+ case 'f': goto pp175;
case 'N':
- case 'n': goto yy176;
+ case 'n': goto pp176;
case 'R':
- case 'r': goto yy178;
+ case 'r': goto pp178;
case 'U':
- case 'u': goto yy180;
- default: goto yy98;
+ case 'u': goto pp180;
+ default: goto pp98;
}
-yy20:
- yych = *++YYCURSOR;
- switch (yych) {
+pp20:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy166;
+ case 'e': goto pp166;
case 'Y':
- case 'y': goto yy167;
- default: goto yy98;
+ case 'y': goto pp167;
+ default: goto pp98;
}
-yy21:
- yych = *++YYCURSOR;
- switch (yych) {
+pp21:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy161;
- default: goto yy98;
+ case 'r': goto pp161;
+ default: goto pp98;
}
-yy22:
- yych = *++YYCURSOR;
- switch (yych) {
+pp22:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy155;
- default: goto yy98;
+ case 'a': goto pp155;
+ default: goto pp98;
}
-yy23:
- yych = *++YYCURSOR;
- switch (yych) {
+pp23:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy143;
+ case 'e': goto pp143;
case 'I':
- case 'i': goto yy144;
- default: goto yy98;
+ case 'i': goto pp144;
+ default: goto pp98;
}
-yy24:
- yych = *++YYCURSOR;
- switch (yych) {
+pp24:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy136;
+ case 'o': goto pp136;
case 'U':
- case 'u': goto yy137;
- default: goto yy98;
+ case 'u': goto pp137;
+ default: goto pp98;
}
-yy25:
- yych = *++YYCURSOR;
- switch (yych) {
+pp25:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy132;
- default: goto yy98;
+ case 'o': goto pp132;
+ default: goto pp98;
}
-yy26:
- yych = *++YYCURSOR;
- switch (yych) {
+pp26:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy127;
- default: goto yy98;
+ case 'i': goto pp127;
+ default: goto pp98;
}
-yy27:
- yych = *++YYCURSOR;
- switch (yych) {
+pp27:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy111;
+ case 'a': goto pp111;
case 'O':
- case 'o': goto yy112;
+ case 'o': goto pp112;
case 'R':
- case 'r': goto yy113;
- default: goto yy98;
+ case 'r': goto pp113;
+ default: goto pp98;
}
-yy28:
- yych = *++YYCURSOR;
- switch (yych) {
+pp28:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy107;
- default: goto yy98;
- }
-yy29:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x00) goto yy7;
- goto yy105;
-yy30:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x00) goto yy7;
- goto yy100;
-yy31:
- yych = *++YYCURSOR;
- switch (yych) {
+ case 'r': goto pp107;
+ default: goto pp98;
+ }
+pp29:
+ ppaccept = 1;
+ ppch = *(PPMARKER = ++PPCURSOR);
+ if (ppch <= 0x00) goto pp7;
+ goto pp105;
+pp30:
+ ppaccept = 1;
+ ppch = *(PPMARKER = ++PPCURSOR);
+ if (ppch <= 0x00) goto pp7;
+ goto pp100;
+pp31:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
case 'B':
case 'C':
@@ -97643,16 +100015,16 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy7;
- }
-yy32:
- yych = *++YYCURSOR;
- goto yy98;
-yy33:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- switch (yych) {
+ case 'z': goto pp97;
+ default: goto pp7;
+ }
+pp32:
+ ppch = *++PPCURSOR;
+ goto pp98;
+pp33:
+ ppaccept = 1;
+ ppch = *(PPMARKER = ++PPCURSOR);
+ switch (ppch) {
case 'A':
case 'B':
case 'C':
@@ -97706,280 +100078,280 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy92;
- default: goto yy7;
+ case 'z': goto pp92;
+ default: goto pp7;
}
-yy34:
- ++YYCURSOR;
+pp34:
+ ++PPCURSOR;
// 333 "scanner.re"
{
token->opcode = PHQL_T_ADD;
return 0;
}
// 611 "scanner.c"
-yy36:
- ++YYCURSOR;
+pp36:
+ ++PPCURSOR;
// 338 "scanner.re"
{
token->opcode = PHQL_T_SUB;
return 0;
}
// 619 "scanner.c"
-yy38:
- ++YYCURSOR;
+pp38:
+ ++PPCURSOR;
// 343 "scanner.re"
{
token->opcode = PHQL_T_MUL;
return 0;
}
// 627 "scanner.c"
-yy40:
- ++YYCURSOR;
+pp40:
+ ++PPCURSOR;
// 348 "scanner.re"
{
token->opcode = PHQL_T_DIV;
return 0;
}
// 635 "scanner.c"
-yy42:
- ++YYCURSOR;
+pp42:
+ ++PPCURSOR;
// 353 "scanner.re"
{
token->opcode = PHQL_T_MOD;
return 0;
}
// 643 "scanner.c"
-yy44:
- ++YYCURSOR;
+pp44:
+ ++PPCURSOR;
// 368 "scanner.re"
{
token->opcode = PHQL_T_COMMA;
return 0;
}
// 651 "scanner.c"
-yy46:
- ++YYCURSOR;
+pp46:
+ ++PPCURSOR;
// 373 "scanner.re"
{
token->opcode = PHQL_T_PARENTHESES_OPEN;
return 0;
}
// 659 "scanner.c"
-yy48:
- ++YYCURSOR;
+pp48:
+ ++PPCURSOR;
// 378 "scanner.re"
{
token->opcode = PHQL_T_PARENTHESES_CLOSE;
return 0;
}
// 667 "scanner.c"
-yy50:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '!': goto yy88;
- case '=': goto yy90;
- default: goto yy51;
- }
-yy51:
+pp50:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '!': goto pp88;
+ case '=': goto pp90;
+ default: goto pp51;
+ }
+pp51:
// 448 "scanner.re"
{
token->opcode = PHQL_T_NOT;
return 0;
}
// 681 "scanner.c"
-yy52:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy84;
- case '>': goto yy86;
- default: goto yy53;
- }
-yy53:
+pp52:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '=': goto pp84;
+ case '>': goto pp86;
+ default: goto pp53;
+ }
+pp53:
// 403 "scanner.re"
{
token->opcode = PHQL_T_LESS;
return 0;
}
// 695 "scanner.c"
-yy54:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy82;
- default: goto yy55;
+pp54:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '=': goto pp82;
+ default: goto pp55;
}
-yy55:
+pp55:
// 408 "scanner.re"
{
token->opcode = PHQL_T_GREATER;
return 0;
}
// 708 "scanner.c"
-yy56:
- ++YYCURSOR;
+pp56:
+ ++PPCURSOR;
// 413 "scanner.re"
{
token->opcode = PHQL_T_EQUALS;
return 0;
}
// 716 "scanner.c"
-yy58:
- yych = *++YYCURSOR;
- switch (yych) {
- case '>': goto yy78;
- case '@': goto yy80;
- default: goto yy7;
- }
-yy59:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '|': goto yy76;
- default: goto yy60;
- }
-yy60:
+pp58:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
+ case '>': goto pp78;
+ case '@': goto pp80;
+ default: goto pp7;
+ }
+pp59:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '|': goto pp76;
+ default: goto pp60;
+ }
+pp60:
// 468 "scanner.re"
{
token->opcode = PHQL_T_BITWISE_OR;
return 0;
}
// 736 "scanner.c"
-yy61:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '&': goto yy74;
- default: goto yy62;
+pp61:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
+ case '&': goto pp74;
+ default: goto pp62;
}
-yy62:
+pp62:
// 463 "scanner.re"
{
token->opcode = PHQL_T_BITWISE_AND;
return 0;
}
// 749 "scanner.c"
-yy63:
- ++YYCURSOR;
+pp63:
+ ++PPCURSOR;
// 453 "scanner.re"
{
token->opcode = PHQL_T_BITWISE_NOT;
return 0;
}
// 757 "scanner.c"
-yy65:
- ++YYCURSOR;
+pp65:
+ ++PPCURSOR;
// 458 "scanner.re"
{
token->opcode = PHQL_T_BITWISE_XOR;
return 0;
}
// 765 "scanner.c"
-yy67:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy73;
-yy68:
+pp67:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ goto pp73;
+pp68:
// 473 "scanner.re"
{
token->opcode = PHQL_T_IGNORE;
return 0;
}
// 776 "scanner.c"
-yy69:
- ++YYCURSOR;
+pp69:
+ ++PPCURSOR;
// 478 "scanner.re"
{
status = PHQL_SCANNER_RETCODE_EOF;
break;
}
// 784 "scanner.c"
-yy71:
- yych = *++YYCURSOR;
- goto yy7;
-yy72:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy73:
- switch (yych) {
+pp71:
+ ppch = *++PPCURSOR;
+ goto pp7;
+pp72:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+pp73:
+ switch (ppch) {
case '\t':
case '\n':
case '\r':
- case ' ': goto yy72;
- default: goto yy68;
+ case ' ': goto pp72;
+ default: goto pp68;
}
-yy74:
- ++YYCURSOR;
+pp74:
+ ++PPCURSOR;
// 428 "scanner.re"
{
token->opcode = PHQL_T_TS_AND;
return 0;
}
// 806 "scanner.c"
-yy76:
- ++YYCURSOR;
+pp76:
+ ++PPCURSOR;
// 423 "scanner.re"
{
token->opcode = PHQL_T_TS_OR;
return 0;
}
// 814 "scanner.c"
-yy78:
- ++YYCURSOR;
+pp78:
+ ++PPCURSOR;
// 438 "scanner.re"
{
token->opcode = PHQL_T_TS_CONTAINS_ANOTHER;
return 0;
}
// 822 "scanner.c"
-yy80:
- ++YYCURSOR;
+pp80:
+ ++PPCURSOR;
// 418 "scanner.re"
{
token->opcode = PHQL_T_TS_MATCHES;
return 0;
}
// 830 "scanner.c"
-yy82:
- ++YYCURSOR;
+pp82:
+ ++PPCURSOR;
// 398 "scanner.re"
{
token->opcode = PHQL_T_GREATEREQUAL;
return 0;
}
// 838 "scanner.c"
-yy84:
- ++YYCURSOR;
+pp84:
+ ++PPCURSOR;
// 393 "scanner.re"
{
token->opcode = PHQL_T_LESSEQUAL;
return 0;
}
// 846 "scanner.c"
-yy86:
- ++YYCURSOR;
+pp86:
+ ++PPCURSOR;
// 388 "scanner.re"
{
token->opcode = PHQL_T_NOTEQUALS;
return 0;
}
// 854 "scanner.c"
-yy88:
- ++YYCURSOR;
+pp88:
+ ++PPCURSOR;
// 433 "scanner.re"
{
token->opcode = PHQL_T_TS_NEGATE;
return 0;
}
// 862 "scanner.c"
-yy90:
- ++YYCURSOR;
+pp90:
+ ++PPCURSOR;
// 383 "scanner.re"
{
token->opcode = PHQL_T_NOTEQUALS;
return 0;
}
// 870 "scanner.c"
-yy92:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
+pp92:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
case '0':
case '1':
case '2':
@@ -98043,32 +100415,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy92;
- case ']': goto yy95;
- default: goto yy94;
- }
-yy94:
- YYCURSOR = YYMARKER;
- switch (yyaccept) {
- case 0: goto yy9;
- case 1: goto yy7;
- }
-yy95:
- ++YYCURSOR;
+ case 'z': goto pp92;
+ case ']': goto pp95;
+ default: goto pp94;
+ }
+pp94:
+ PPCURSOR = PPMARKER;
+ if (ppaccept == 0) {
+ goto pp9;
+ } else {
+ goto pp7;
+ }
+pp95:
+ ++PPCURSOR;
// 325 "scanner.re"
{
token->opcode = PHQL_T_IDENTIFIER;
- token->value = estrndup(q, YYCURSOR - q - 1);
- token->len = YYCURSOR - q - 1;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q - 1);
+ token->len = PPCURSOR - q - 1;
+ q = PPCURSOR;
return 0;
}
-// 958 "scanner.c"
-yy97:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy98:
- switch (yych) {
+// 959 "scanner.c"
+pp97:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+pp98:
+ switch (ppch) {
case '0':
case '1':
case '2':
@@ -98132,71 +100505,71 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy11;
- }
-yy99:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy100:
- switch (yych) {
- case 0x00: goto yy94;
- case '\'': goto yy102;
- case '\\': goto yy101;
- default: goto yy99;
- }
-yy101:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
- case '\n': goto yy94;
- default: goto yy99;
- }
-yy102:
- ++YYCURSOR;
+ case 'z': goto pp97;
+ default: goto pp11;
+ }
+pp99:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+pp100:
+ switch (ppch) {
+ case 0x00: goto pp94;
+ case '\'': goto pp102;
+ case '\\': goto pp101;
+ default: goto pp99;
+ }
+pp101:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
+ case '\n': goto pp94;
+ default: goto pp99;
+ }
+pp102:
+ ++PPCURSOR;
// 297 "scanner.re"
{
token->opcode = PHQL_T_STRING;
- token->value = estrndup(q, YYCURSOR - q - 1);
- token->len = YYCURSOR - q - 1;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q - 1);
+ token->len = PPCURSOR - q - 1;
+ q = PPCURSOR;
return 0;
}
-// 1057 "scanner.c"
-yy104:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy105:
- switch (yych) {
- case 0x00: goto yy94;
- case '"': goto yy102;
- case '\\': goto yy106;
- default: goto yy104;
- }
-yy106:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
- case '\n': goto yy94;
- default: goto yy104;
- }
-yy107:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1058 "scanner.c"
+pp104:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+pp105:
+ switch (ppch) {
+ case 0x00: goto pp94;
+ case '"': goto pp102;
+ case '\\': goto pp106;
+ default: goto pp104;
+ }
+pp106:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
+ case '\n': goto pp94;
+ default: goto pp104;
+ }
+pp107:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'U':
- case 'u': goto yy108;
- default: goto yy98;
+ case 'u': goto pp108;
+ default: goto pp98;
}
-yy108:
- yych = *++YYCURSOR;
- switch (yych) {
+pp108:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy109;
- default: goto yy98;
+ case 'e': goto pp109;
+ default: goto pp98;
}
-yy109:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp109:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98260,54 +100633,54 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy110;
+ case 'z': goto pp97;
+ default: goto pp110;
}
-yy110:
+pp110:
// 286 "scanner.re"
{
token->opcode = PHQL_T_TRUE;
return 0;
}
-// 1164 "scanner.c"
-yy111:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1165 "scanner.c"
+pp111:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy124;
- default: goto yy98;
+ case 's': goto pp124;
+ default: goto pp98;
}
-yy112:
- yych = *++YYCURSOR;
- switch (yych) {
+pp112:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy118;
- default: goto yy98;
+ case 'n': goto pp118;
+ default: goto pp98;
}
-yy113:
- yych = *++YYCURSOR;
- switch (yych) {
+pp113:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy114;
- default: goto yy98;
+ case 'o': goto pp114;
+ default: goto pp98;
}
-yy114:
- yych = *++YYCURSOR;
- switch (yych) {
+pp114:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy115;
- default: goto yy98;
+ case 's': goto pp115;
+ default: goto pp98;
}
-yy115:
- yych = *++YYCURSOR;
- switch (yych) {
+pp115:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy116;
- default: goto yy98;
+ case 's': goto pp116;
+ default: goto pp98;
}
-yy116:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp116:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98371,47 +100744,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy117;
+ case 'z': goto pp97;
+ default: goto pp117;
}
-yy117:
+pp117:
// 231 "scanner.re"
{
token->opcode = PHQL_T_CROSS;
return 0;
}
-// 1275 "scanner.c"
-yy118:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1276 "scanner.c"
+pp118:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'V':
- case 'v': goto yy119;
- default: goto yy98;
+ case 'v': goto pp119;
+ default: goto pp98;
}
-yy119:
- yych = *++YYCURSOR;
- switch (yych) {
+pp119:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy120;
- default: goto yy98;
+ case 'e': goto pp120;
+ default: goto pp98;
}
-yy120:
- yych = *++YYCURSOR;
- switch (yych) {
+pp120:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy121;
- default: goto yy98;
+ case 'r': goto pp121;
+ default: goto pp98;
}
-yy121:
- yych = *++YYCURSOR;
- switch (yych) {
+pp121:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy122;
- default: goto yy98;
+ case 't': goto pp122;
+ default: goto pp98;
}
-yy122:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp122:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98475,26 +100848,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy123;
+ case 'z': goto pp97;
+ default: goto pp123;
}
-yy123:
+pp123:
// 276 "scanner.re"
{
token->opcode = PHQL_T_CONVERT;
return 0;
}
-// 1379 "scanner.c"
-yy124:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1380 "scanner.c"
+pp124:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy125;
- default: goto yy98;
+ case 't': goto pp125;
+ default: goto pp98;
}
-yy125:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp125:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98558,40 +100931,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy126;
+ case 'z': goto pp97;
+ default: goto pp126;
}
-yy126:
+pp126:
// 271 "scanner.re"
{
token->opcode = PHQL_T_CAST;
return 0;
}
-// 1462 "scanner.c"
-yy127:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1463 "scanner.c"
+pp127:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'G':
- case 'g': goto yy128;
- default: goto yy98;
+ case 'g': goto pp128;
+ default: goto pp98;
}
-yy128:
- yych = *++YYCURSOR;
- switch (yych) {
+pp128:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'H':
- case 'h': goto yy129;
- default: goto yy98;
+ case 'h': goto pp129;
+ default: goto pp98;
}
-yy129:
- yych = *++YYCURSOR;
- switch (yych) {
+pp129:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy130;
- default: goto yy98;
+ case 't': goto pp130;
+ default: goto pp98;
}
-yy130:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp130:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98655,33 +101028,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy131;
+ case 'z': goto pp97;
+ default: goto pp131;
}
-yy131:
+pp131:
// 226 "scanner.re"
{
token->opcode = PHQL_T_RIGHT;
return 0;
}
-// 1559 "scanner.c"
-yy132:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1560 "scanner.c"
+pp132:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy133;
- default: goto yy98;
+ case 'i': goto pp133;
+ default: goto pp98;
}
-yy133:
- yych = *++YYCURSOR;
- switch (yych) {
+pp133:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy134;
- default: goto yy98;
+ case 'n': goto pp134;
+ default: goto pp98;
}
-yy134:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp134:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98745,40 +101118,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy135;
+ case 'z': goto pp97;
+ default: goto pp135;
}
-yy135:
+pp135:
// 211 "scanner.re"
{
token->opcode = PHQL_T_JOIN;
return 0;
}
-// 1649 "scanner.c"
-yy136:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1650 "scanner.c"
+pp136:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy141;
- default: goto yy98;
+ case 't': goto pp141;
+ default: goto pp98;
}
-yy137:
- yych = *++YYCURSOR;
- switch (yych) {
+pp137:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy138;
- default: goto yy98;
+ case 'l': goto pp138;
+ default: goto pp98;
}
-yy138:
- yych = *++YYCURSOR;
- switch (yych) {
+pp138:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy139;
- default: goto yy98;
+ case 'l': goto pp139;
+ default: goto pp98;
}
-yy139:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp139:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98842,19 +101215,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy140;
+ case 'z': goto pp97;
+ default: goto pp140;
}
-yy140:
+pp140:
// 251 "scanner.re"
{
token->opcode = PHQL_T_NULL;
return 0;
}
-// 1746 "scanner.c"
-yy141:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 1747 "scanner.c"
+pp141:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -98918,49 +101291,49 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy142;
+ case 'z': goto pp97;
+ default: goto pp142;
}
-yy142:
+pp142:
// 171 "scanner.re"
{
token->opcode = PHQL_T_NOT;
return 0;
}
-// 1822 "scanner.c"
-yy143:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1823 "scanner.c"
+pp143:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'F':
- case 'f': goto yy152;
- default: goto yy98;
+ case 'f': goto pp152;
+ default: goto pp98;
}
-yy144:
- yych = *++YYCURSOR;
- switch (yych) {
+pp144:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'K':
- case 'k': goto yy146;
+ case 'k': goto pp146;
case 'M':
- case 'm': goto yy145;
- default: goto yy98;
+ case 'm': goto pp145;
+ default: goto pp98;
}
-yy145:
- yych = *++YYCURSOR;
- switch (yych) {
+pp145:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy149;
- default: goto yy98;
+ case 'i': goto pp149;
+ default: goto pp98;
}
-yy146:
- yych = *++YYCURSOR;
- switch (yych) {
+pp146:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy147;
- default: goto yy98;
+ case 'e': goto pp147;
+ default: goto pp98;
}
-yy147:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp147:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99024,26 +101397,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy148;
+ case 'z': goto pp97;
+ default: goto pp148;
}
-yy148:
+pp148:
// 186 "scanner.re"
{
token->opcode = PHQL_T_LIKE;
return 0;
}
-// 1928 "scanner.c"
-yy149:
- yych = *++YYCURSOR;
- switch (yych) {
+// 1929 "scanner.c"
+pp149:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy150;
- default: goto yy98;
+ case 't': goto pp150;
+ default: goto pp98;
}
-yy150:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp150:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99107,26 +101480,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy151;
+ case 'z': goto pp97;
+ default: goto pp151;
}
-yy151:
+pp151:
// 161 "scanner.re"
{
token->opcode = PHQL_T_LIMIT;
return 0;
}
-// 2011 "scanner.c"
-yy152:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2012 "scanner.c"
+pp152:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy153;
- default: goto yy98;
+ case 't': goto pp153;
+ default: goto pp98;
}
-yy153:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp153:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99190,47 +101563,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy154;
+ case 'z': goto pp97;
+ default: goto pp154;
}
-yy154:
+pp154:
// 221 "scanner.re"
{
token->opcode = PHQL_T_LEFT;
return 0;
}
-// 2094 "scanner.c"
-yy155:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2095 "scanner.c"
+pp155:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'V':
- case 'v': goto yy156;
- default: goto yy98;
+ case 'v': goto pp156;
+ default: goto pp98;
}
-yy156:
- yych = *++YYCURSOR;
- switch (yych) {
+pp156:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy157;
- default: goto yy98;
+ case 'i': goto pp157;
+ default: goto pp98;
}
-yy157:
- yych = *++YYCURSOR;
- switch (yych) {
+pp157:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy158;
- default: goto yy98;
+ case 'n': goto pp158;
+ default: goto pp98;
}
-yy158:
- yych = *++YYCURSOR;
- switch (yych) {
+pp158:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'G':
- case 'g': goto yy159;
- default: goto yy98;
+ case 'g': goto pp159;
+ default: goto pp98;
}
-yy159:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp159:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99294,40 +101667,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy160;
+ case 'z': goto pp97;
+ default: goto pp160;
}
-yy160:
+pp160:
// 156 "scanner.re"
{
token->opcode = PHQL_T_HAVING;
return 0;
}
-// 2198 "scanner.c"
-yy161:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2199 "scanner.c"
+pp161:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy162;
- default: goto yy98;
+ case 'o': goto pp162;
+ default: goto pp98;
}
-yy162:
- yych = *++YYCURSOR;
- switch (yych) {
+pp162:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'U':
- case 'u': goto yy163;
- default: goto yy98;
+ case 'u': goto pp163;
+ default: goto pp98;
}
-yy163:
- yych = *++YYCURSOR;
- switch (yych) {
+pp163:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'P':
- case 'p': goto yy164;
- default: goto yy98;
+ case 'p': goto pp164;
+ default: goto pp98;
}
-yy164:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp164:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99391,26 +101764,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy165;
+ case 'z': goto pp97;
+ default: goto pp165;
}
-yy165:
+pp165:
// 151 "scanner.re"
{
token->opcode = PHQL_T_GROUP;
return 0;
}
-// 2295 "scanner.c"
-yy166:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2296 "scanner.c"
+pp166:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy169;
- default: goto yy98;
+ case 't': goto pp169;
+ default: goto pp98;
}
-yy167:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp167:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99474,47 +101847,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy168;
+ case 'z': goto pp97;
+ default: goto pp168;
}
-yy168:
+pp168:
// 136 "scanner.re"
{
token->opcode = PHQL_T_BY;
return 0;
}
-// 2378 "scanner.c"
-yy169:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2379 "scanner.c"
+pp169:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'W':
- case 'w': goto yy170;
- default: goto yy98;
+ case 'w': goto pp170;
+ default: goto pp98;
}
-yy170:
- yych = *++YYCURSOR;
- switch (yych) {
+pp170:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy171;
- default: goto yy98;
+ case 'e': goto pp171;
+ default: goto pp98;
}
-yy171:
- yych = *++YYCURSOR;
- switch (yych) {
+pp171:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy172;
- default: goto yy98;
+ case 'e': goto pp172;
+ default: goto pp98;
}
-yy172:
- yych = *++YYCURSOR;
- switch (yych) {
+pp172:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy173;
- default: goto yy98;
+ case 'n': goto pp173;
+ default: goto pp98;
}
-yy173:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp173:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99578,26 +101951,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy174;
+ case 'z': goto pp97;
+ default: goto pp174;
}
-yy174:
+pp174:
// 266 "scanner.re"
{
token->opcode = PHQL_T_BETWEEN;
return 0;
}
-// 2482 "scanner.c"
-yy175:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2483 "scanner.c"
+pp175:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'F':
- case 'f': goto yy189;
- default: goto yy98;
+ case 'f': goto pp189;
+ default: goto pp98;
}
-yy176:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp176:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99661,19 +102034,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy177;
+ case 'z': goto pp97;
+ default: goto pp177;
}
-yy177:
+pp177:
// 206 "scanner.re"
{
token->opcode = PHQL_T_ON;
return 0;
}
-// 2565 "scanner.c"
-yy178:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 2566 "scanner.c"
+pp178:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99735,42 +102108,42 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
+ case 'z': goto pp97;
case 'D':
- case 'd': goto yy185;
- default: goto yy179;
+ case 'd': goto pp185;
+ default: goto pp179;
}
-yy179:
+pp179:
// 181 "scanner.re"
{
token->opcode = PHQL_T_OR;
return 0;
}
-// 2641 "scanner.c"
-yy180:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2642 "scanner.c"
+pp180:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy181;
- default: goto yy98;
+ case 't': goto pp181;
+ default: goto pp98;
}
-yy181:
- yych = *++YYCURSOR;
- switch (yych) {
+pp181:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy182;
- default: goto yy98;
+ case 'e': goto pp182;
+ default: goto pp98;
}
-yy182:
- yych = *++YYCURSOR;
- switch (yych) {
+pp182:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy183;
- default: goto yy98;
+ case 'r': goto pp183;
+ default: goto pp98;
}
-yy183:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp183:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99834,33 +102207,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy184;
+ case 'z': goto pp97;
+ default: goto pp184;
}
-yy184:
+pp184:
// 236 "scanner.re"
{
token->opcode = PHQL_T_OUTER;
return 0;
}
-// 2738 "scanner.c"
-yy185:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2739 "scanner.c"
+pp185:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy186;
- default: goto yy98;
+ case 'e': goto pp186;
+ default: goto pp98;
}
-yy186:
- yych = *++YYCURSOR;
- switch (yych) {
+pp186:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy187;
- default: goto yy98;
+ case 'r': goto pp187;
+ default: goto pp98;
}
-yy187:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp187:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -99924,40 +102297,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy188;
+ case 'z': goto pp97;
+ default: goto pp188;
}
-yy188:
+pp188:
// 131 "scanner.re"
{
token->opcode = PHQL_T_ORDER;
return 0;
}
-// 2828 "scanner.c"
-yy189:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2829 "scanner.c"
+pp189:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy190;
- default: goto yy98;
+ case 's': goto pp190;
+ default: goto pp98;
}
-yy190:
- yych = *++YYCURSOR;
- switch (yych) {
+pp190:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy191;
- default: goto yy98;
+ case 'e': goto pp191;
+ default: goto pp98;
}
-yy191:
- yych = *++YYCURSOR;
- switch (yych) {
+pp191:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy192;
- default: goto yy98;
+ case 't': goto pp192;
+ default: goto pp98;
}
-yy192:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp192:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100021,40 +102394,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy193;
+ case 'z': goto pp97;
+ default: goto pp193;
}
-yy193:
+pp193:
// 166 "scanner.re"
{
token->opcode = PHQL_T_OFFSET;
return 0;
}
-// 2925 "scanner.c"
-yy194:
- yych = *++YYCURSOR;
- switch (yych) {
+// 2926 "scanner.c"
+pp194:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy195;
- default: goto yy98;
+ case 'e': goto pp195;
+ default: goto pp98;
}
-yy195:
- yych = *++YYCURSOR;
- switch (yych) {
+pp195:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy196;
- default: goto yy98;
+ case 'r': goto pp196;
+ default: goto pp98;
}
-yy196:
- yych = *++YYCURSOR;
- switch (yych) {
+pp196:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy197;
- default: goto yy98;
+ case 'e': goto pp197;
+ default: goto pp98;
}
-yy197:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp197:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100118,47 +102491,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy198;
+ case 'z': goto pp97;
+ default: goto pp198;
}
-yy198:
+pp198:
// 121 "scanner.re"
{
token->opcode = PHQL_T_WHERE;
return 0;
}
-// 3022 "scanner.c"
-yy199:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3023 "scanner.c"
+pp199:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy200;
- default: goto yy98;
+ case 'l': goto pp200;
+ default: goto pp98;
}
-yy200:
- yych = *++YYCURSOR;
- switch (yych) {
+pp200:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'U':
- case 'u': goto yy201;
- default: goto yy98;
+ case 'u': goto pp201;
+ default: goto pp98;
}
-yy201:
- yych = *++YYCURSOR;
- switch (yych) {
+pp201:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy202;
- default: goto yy98;
+ case 'e': goto pp202;
+ default: goto pp98;
}
-yy202:
- yych = *++YYCURSOR;
- switch (yych) {
+pp202:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy203;
- default: goto yy98;
+ case 's': goto pp203;
+ default: goto pp98;
}
-yy203:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp203:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100222,26 +102595,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy204;
+ case 'z': goto pp97;
+ default: goto pp204;
}
-yy204:
+pp204:
// 116 "scanner.re"
{
token->opcode = PHQL_T_VALUES;
return 0;
}
-// 3126 "scanner.c"
-yy205:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3127 "scanner.c"
+pp205:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy222;
- default: goto yy98;
+ case 'i': goto pp222;
+ default: goto pp98;
}
-yy206:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp206:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100299,25 +102672,25 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
+ case 'z': goto pp97;
case 'N':
- case 'n': goto yy212;
+ case 'n': goto pp212;
case 'S':
- case 's': goto yy210;
+ case 's': goto pp210;
case 'T':
- case 't': goto yy211;
- default: goto yy207;
+ case 't': goto pp211;
+ default: goto pp207;
}
-yy207:
+pp207:
// 201 "scanner.re"
{
token->opcode = PHQL_T_IN;
return 0;
}
-// 3209 "scanner.c"
-yy208:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 3210 "scanner.c"
+pp208:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100381,47 +102754,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy209;
+ case 'z': goto pp97;
+ default: goto pp209;
}
-yy209:
+pp209:
// 246 "scanner.re"
{
token->opcode = PHQL_T_IS;
return 0;
}
-// 3285 "scanner.c"
-yy210:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3286 "scanner.c"
+pp210:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy218;
- default: goto yy98;
+ case 'e': goto pp218;
+ default: goto pp98;
}
-yy211:
- yych = *++YYCURSOR;
- switch (yych) {
+pp211:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy216;
- default: goto yy98;
+ case 'o': goto pp216;
+ default: goto pp98;
}
-yy212:
- yych = *++YYCURSOR;
- switch (yych) {
+pp212:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy213;
- default: goto yy98;
+ case 'e': goto pp213;
+ default: goto pp98;
}
-yy213:
- yych = *++YYCURSOR;
- switch (yych) {
+pp213:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy214;
- default: goto yy98;
+ case 'r': goto pp214;
+ default: goto pp98;
}
-yy214:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp214:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100485,19 +102858,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy215;
+ case 'z': goto pp97;
+ default: goto pp215;
}
-yy215:
+pp215:
// 216 "scanner.re"
{
token->opcode = PHQL_T_INNER;
return 0;
}
-// 3389 "scanner.c"
-yy216:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 3390 "scanner.c"
+pp216:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100561,33 +102934,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy217;
+ case 'z': goto pp97;
+ default: goto pp217;
}
-yy217:
+pp217:
// 111 "scanner.re"
{
token->opcode = PHQL_T_INTO;
return 0;
}
-// 3465 "scanner.c"
-yy218:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3466 "scanner.c"
+pp218:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'R':
- case 'r': goto yy219;
- default: goto yy98;
+ case 'r': goto pp219;
+ default: goto pp98;
}
-yy219:
- yych = *++YYCURSOR;
- switch (yych) {
+pp219:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy220;
- default: goto yy98;
+ case 't': goto pp220;
+ default: goto pp98;
}
-yy220:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp220:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100651,33 +103024,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy221;
+ case 'z': goto pp97;
+ default: goto pp221;
}
-yy221:
+pp221:
// 106 "scanner.re"
{
token->opcode = PHQL_T_INSERT;
return 0;
}
-// 3555 "scanner.c"
-yy222:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3556 "scanner.c"
+pp222:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'K':
- case 'k': goto yy223;
- default: goto yy98;
+ case 'k': goto pp223;
+ default: goto pp98;
}
-yy223:
- yych = *++YYCURSOR;
- switch (yych) {
+pp223:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy224;
- default: goto yy98;
+ case 'e': goto pp224;
+ default: goto pp98;
}
-yy224:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp224:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100741,40 +103114,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy225;
+ case 'z': goto pp97;
+ default: goto pp225;
}
-yy225:
+pp225:
// 191 "scanner.re"
{
token->opcode = PHQL_T_ILIKE;
return 0;
}
-// 3645 "scanner.c"
-yy226:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3646 "scanner.c"
+pp226:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy237;
- default: goto yy98;
+ case 'a': goto pp237;
+ default: goto pp98;
}
-yy227:
- yych = *++YYCURSOR;
- switch (yych) {
+pp227:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy235;
- default: goto yy98;
+ case 'l': goto pp235;
+ default: goto pp98;
}
-yy228:
- yych = *++YYCURSOR;
- switch (yych) {
+pp228:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'D':
- case 'd': goto yy233;
- default: goto yy98;
+ case 'd': goto pp233;
+ default: goto pp98;
}
-yy229:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp229:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100836,21 +103209,21 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
+ case 'z': goto pp97;
case 'C':
- case 'c': goto yy231;
- default: goto yy230;
+ case 'c': goto pp231;
+ default: goto pp230;
}
-yy230:
+pp230:
// 101 "scanner.re"
{
token->opcode = PHQL_T_AS;
return 0;
}
-// 3742 "scanner.c"
-yy231:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 3743 "scanner.c"
+pp231:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100914,19 +103287,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy232;
+ case 'z': goto pp97;
+ default: goto pp232;
}
-yy232:
+pp232:
// 141 "scanner.re"
{
token->opcode = PHQL_T_ASC;
return 0;
}
-// 3818 "scanner.c"
-yy233:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 3819 "scanner.c"
+pp233:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -100990,19 +103363,19 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy234;
+ case 'z': goto pp97;
+ default: goto pp234;
}
-yy234:
+pp234:
// 176 "scanner.re"
{
token->opcode = PHQL_T_AND;
return 0;
}
-// 3894 "scanner.c"
-yy235:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+// 3895 "scanner.c"
+pp235:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101066,47 +103439,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy236;
+ case 'z': goto pp97;
+ default: goto pp236;
}
-yy236:
+pp236:
// 261 "scanner.re"
{
token->opcode = PHQL_T_ALL;
return 0;
}
-// 3970 "scanner.c"
-yy237:
- yych = *++YYCURSOR;
- switch (yych) {
+// 3971 "scanner.c"
+pp237:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy238;
- default: goto yy98;
+ case 'i': goto pp238;
+ default: goto pp98;
}
-yy238:
- yych = *++YYCURSOR;
- switch (yych) {
+pp238:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy239;
- default: goto yy98;
+ case 'n': goto pp239;
+ default: goto pp98;
}
-yy239:
- yych = *++YYCURSOR;
- switch (yych) {
+pp239:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy240;
- default: goto yy98;
+ case 's': goto pp240;
+ default: goto pp98;
}
-yy240:
- yych = *++YYCURSOR;
- switch (yych) {
+pp240:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy241;
- default: goto yy98;
+ case 't': goto pp241;
+ default: goto pp98;
}
-yy241:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp241:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101170,47 +103543,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy242;
+ case 'z': goto pp97;
+ default: goto pp242;
}
-yy242:
+pp242:
// 196 "scanner.re"
{
token->opcode = PHQL_T_AGAINST;
return 0;
}
-// 4074 "scanner.c"
-yy243:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4075 "scanner.c"
+pp243:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy252;
- default: goto yy98;
+ case 'l': goto pp252;
+ default: goto pp98;
}
-yy244:
- yych = *++YYCURSOR;
- switch (yych) {
+pp244:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'O':
- case 'o': goto yy249;
- default: goto yy98;
+ case 'o': goto pp249;
+ default: goto pp98;
}
-yy245:
- yych = *++YYCURSOR;
- switch (yych) {
+pp245:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy246;
- default: goto yy98;
+ case 'l': goto pp246;
+ default: goto pp98;
}
-yy246:
- yych = *++YYCURSOR;
- switch (yych) {
+pp246:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy247;
- default: goto yy98;
+ case 'l': goto pp247;
+ default: goto pp98;
}
-yy247:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp247:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101274,26 +103647,26 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy248;
+ case 'z': goto pp97;
+ default: goto pp248;
}
-yy248:
+pp248:
// 241 "scanner.re"
{
token->opcode = PHQL_T_FULL;
return 0;
}
-// 4178 "scanner.c"
-yy249:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4179 "scanner.c"
+pp249:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'M':
- case 'm': goto yy250;
- default: goto yy98;
+ case 'm': goto pp250;
+ default: goto pp98;
}
-yy250:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp250:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101357,33 +103730,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy251;
+ case 'z': goto pp97;
+ default: goto pp251;
}
-yy251:
+pp251:
// 96 "scanner.re"
{
token->opcode = PHQL_T_FROM;
return 0;
}
-// 4261 "scanner.c"
-yy252:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4262 "scanner.c"
+pp252:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy253;
- default: goto yy98;
+ case 's': goto pp253;
+ default: goto pp98;
}
-yy253:
- yych = *++YYCURSOR;
- switch (yych) {
+pp253:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy254;
- default: goto yy98;
+ case 'e': goto pp254;
+ default: goto pp98;
}
-yy254:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp254:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101447,70 +103820,70 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy255;
+ case 'z': goto pp97;
+ default: goto pp255;
}
-yy255:
+pp255:
// 291 "scanner.re"
{
token->opcode = PHQL_T_FALSE;
return 0;
}
-// 4351 "scanner.c"
-yy256:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4352 "scanner.c"
+pp256:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy265;
+ case 'l': goto pp265;
case 'S':
- case 's': goto yy266;
- default: goto yy98;
+ case 's': goto pp266;
+ default: goto pp98;
}
-yy257:
- yych = *++YYCURSOR;
- switch (yych) {
+pp257:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'S':
- case 's': goto yy258;
- default: goto yy98;
+ case 's': goto pp258;
+ default: goto pp98;
}
-yy258:
- yych = *++YYCURSOR;
- switch (yych) {
+pp258:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy259;
- default: goto yy98;
+ case 't': goto pp259;
+ default: goto pp98;
}
-yy259:
- yych = *++YYCURSOR;
- switch (yych) {
+pp259:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy260;
- default: goto yy98;
+ case 'i': goto pp260;
+ default: goto pp98;
}
-yy260:
- yych = *++YYCURSOR;
- switch (yych) {
+pp260:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy261;
- default: goto yy98;
+ case 'n': goto pp261;
+ default: goto pp98;
}
-yy261:
- yych = *++YYCURSOR;
- switch (yych) {
+pp261:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'C':
- case 'c': goto yy262;
- default: goto yy98;
+ case 'c': goto pp262;
+ default: goto pp98;
}
-yy262:
- yych = *++YYCURSOR;
- switch (yych) {
+pp262:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy263;
- default: goto yy98;
+ case 't': goto pp263;
+ default: goto pp98;
}
-yy263:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp263:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101574,33 +103947,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy264;
+ case 'z': goto pp97;
+ default: goto pp264;
}
-yy264:
+pp264:
// 256 "scanner.re"
{
token->opcode = PHQL_T_DISTINCT;
return 0;
}
-// 4478 "scanner.c"
-yy265:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4479 "scanner.c"
+pp265:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy269;
- default: goto yy98;
+ case 'e': goto pp269;
+ default: goto pp98;
}
-yy266:
- yych = *++YYCURSOR;
- switch (yych) {
+pp266:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'C':
- case 'c': goto yy267;
- default: goto yy98;
+ case 'c': goto pp267;
+ default: goto pp98;
}
-yy267:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp267:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101664,33 +104037,33 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy268;
+ case 'z': goto pp97;
+ default: goto pp268;
}
-yy268:
+pp268:
// 146 "scanner.re"
{
token->opcode = PHQL_T_DESC;
return 0;
}
-// 4568 "scanner.c"
-yy269:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4569 "scanner.c"
+pp269:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy270;
- default: goto yy98;
+ case 't': goto pp270;
+ default: goto pp98;
}
-yy270:
- yych = *++YYCURSOR;
- switch (yych) {
+pp270:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy271;
- default: goto yy98;
+ case 'e': goto pp271;
+ default: goto pp98;
}
-yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp271:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101754,28 +104127,28 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy272;
+ case 'z': goto pp97;
+ default: goto pp272;
}
-yy272:
+pp272:
// 91 "scanner.re"
{
token->opcode = PHQL_T_DELETE;
return 0;
}
-// 4658 "scanner.c"
-yy273:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4659 "scanner.c"
+pp273:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'L':
- case 'l': goto yy276;
+ case 'l': goto pp276;
case 'T':
- case 't': goto yy274;
- default: goto yy98;
+ case 't': goto pp274;
+ default: goto pp98;
}
-yy274:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp274:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101839,40 +104212,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy275;
+ case 'z': goto pp97;
+ default: goto pp275;
}
-yy275:
+pp275:
// 86 "scanner.re"
{
token->opcode = PHQL_T_SET;
return 0;
}
-// 4743 "scanner.c"
-yy276:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4744 "scanner.c"
+pp276:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy277;
- default: goto yy98;
+ case 'e': goto pp277;
+ default: goto pp98;
}
-yy277:
- yych = *++YYCURSOR;
- switch (yych) {
+pp277:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'C':
- case 'c': goto yy278;
- default: goto yy98;
+ case 'c': goto pp278;
+ default: goto pp98;
}
-yy278:
- yych = *++YYCURSOR;
- switch (yych) {
+pp278:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy279;
- default: goto yy98;
+ case 't': goto pp279;
+ default: goto pp98;
}
-yy279:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp279:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -101936,47 +104309,47 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy280;
+ case 'z': goto pp97;
+ default: goto pp280;
}
-yy280:
+pp280:
// 126 "scanner.re"
{
token->opcode = PHQL_T_SELECT;
return 0;
}
-// 4840 "scanner.c"
-yy281:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4841 "scanner.c"
+pp281:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'D':
- case 'd': goto yy287;
- default: goto yy98;
+ case 'd': goto pp287;
+ default: goto pp98;
}
-yy282:
- yych = *++YYCURSOR;
- switch (yych) {
+pp282:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'I':
- case 'i': goto yy283;
- default: goto yy98;
+ case 'i': goto pp283;
+ default: goto pp98;
}
-yy283:
- yych = *++YYCURSOR;
- switch (yych) {
+pp283:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'N':
- case 'n': goto yy284;
- default: goto yy98;
+ case 'n': goto pp284;
+ default: goto pp98;
}
-yy284:
- yych = *++YYCURSOR;
- switch (yych) {
+pp284:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'G':
- case 'g': goto yy285;
- default: goto yy98;
+ case 'g': goto pp285;
+ default: goto pp98;
}
-yy285:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp285:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -102040,40 +104413,40 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy286;
+ case 'z': goto pp97;
+ default: goto pp286;
}
-yy286:
+pp286:
// 281 "scanner.re"
{
token->opcode = PHQL_T_USING;
return 0;
}
-// 4944 "scanner.c"
-yy287:
- yych = *++YYCURSOR;
- switch (yych) {
+// 4945 "scanner.c"
+pp287:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'A':
- case 'a': goto yy288;
- default: goto yy98;
+ case 'a': goto pp288;
+ default: goto pp98;
}
-yy288:
- yych = *++YYCURSOR;
- switch (yych) {
+pp288:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'T':
- case 't': goto yy289;
- default: goto yy98;
+ case 't': goto pp289;
+ default: goto pp98;
}
-yy289:
- yych = *++YYCURSOR;
- switch (yych) {
+pp289:
+ ppch = *++PPCURSOR;
+ switch (ppch) {
case 'E':
- case 'e': goto yy290;
- default: goto yy98;
+ case 'e': goto pp290;
+ default: goto pp98;
}
-yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+pp290:
+ ++PPCURSOR;
+ switch ((ppch = *PPCURSOR)) {
case '0':
case '1':
case '2':
@@ -102137,20 +104510,20 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy97;
- default: goto yy291;
+ case 'z': goto pp97;
+ default: goto pp291;
}
-yy291:
+pp291:
// 81 "scanner.re"
{
token->opcode = PHQL_T_UPDATE;
return 0;
}
-// 5041 "scanner.c"
-yy292:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
+// 5042 "scanner.c"
+pp292:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
case '-':
case '0':
case '1':
@@ -102214,25 +104587,25 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case 'w':
case 'x':
case 'y':
- case 'z': goto yy292;
- case ':': goto yy294;
- default: goto yy94;
+ case 'z': goto pp292;
+ case ':': goto pp294;
+ default: goto pp94;
}
-yy294:
- ++YYCURSOR;
+pp294:
+ ++PPCURSOR;
// 73 "scanner.re"
{
token->opcode = PHQL_T_SPLACEHOLDER;
- token->value = estrndup(q, YYCURSOR - q - 1);
- token->len = YYCURSOR - q - 1;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q - 1);
+ token->len = PPCURSOR - q - 1;
+ q = PPCURSOR;
return 0;
}
-// 5123 "scanner.c"
-yy296:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
+// 5124 "scanner.c"
+pp296:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
case '0':
case '1':
case '2':
@@ -102242,23 +104615,23 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy296;
- default: goto yy298;
+ case '9': goto pp296;
+ default: goto pp298;
}
-yy298:
+pp298:
// 64 "scanner.re"
{
token->opcode = PHQL_T_NPLACEHOLDER;
- token->value = estrndup(q, YYCURSOR - q);
- token->len = YYCURSOR - q;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q);
+ token->len = PPCURSOR - q;
+ q = PPCURSOR;
return 0;
}
-// 5149 "scanner.c"
-yy299:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
+// 5150 "scanner.c"
+pp299:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
case '0':
case '1':
case '2':
@@ -102268,23 +104641,23 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy299;
- default: goto yy301;
+ case '9': goto pp299;
+ default: goto pp301;
}
-yy301:
+pp301:
// 55 "scanner.re"
{
token->opcode = PHQL_T_DOUBLE;
- token->value = estrndup(q, YYCURSOR - q);
- token->len = YYCURSOR - q;
- q = YYCURSOR;
+ token->value = estrndup(q, PPCURSOR - q);
+ token->len = PPCURSOR - q;
+ q = PPCURSOR;
return 0;
}
-// 5175 "scanner.c"
-yy302:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
+// 5176 "scanner.c"
+pp302:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
case '0':
case '1':
case '2':
@@ -102294,14 +104667,14 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy302;
- default: goto yy301;
- }
-yy304:
- ++YYCURSOR;
- yych = *YYCURSOR;
- switch (yych) {
- case '.': goto yy302;
+ case '9': goto pp302;
+ default: goto pp301;
+ }
+pp304:
+ ++PPCURSOR;
+ ppch = *PPCURSOR;
+ switch (ppch) {
+ case '.': goto pp302;
case '0':
case '1':
case '2':
@@ -102311,8 +104684,8 @@ static int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {
case '6':
case '7':
case '8':
- case '9': goto yy304;
- default: goto yy3;
+ case '9': goto pp304;
+ default: goto pp3;
}
}
// 488 "scanner.re"
@@ -102483,173 +104856,177 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, __construct) {
}
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, valid) {
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, current) {
- zephir_fcall_cache_entry *_10 = NULL, *_13 = NULL;
- HashTable *_4, *_7;
- HashPosition _3, _6;
- zend_bool _2;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL;
+ zephir_fcall_cache_entry *_13 = NULL, *_16 = NULL;
+ HashTable *_7, *_10;
+ HashPosition _6, _9;
+ zend_bool _5;
int dirtyState, ZEPHIR_LAST_CALL_STATUS;
- zval *result, *rows, *row = NULL, *underscore, *hydrateMode, *alias = NULL, *activeRow = NULL, *type = NULL, *columnTypes, *column = NULL, *columnValue = NULL, *value = NULL, *attribute = NULL, *source = NULL, *attributes = NULL, *columnMap = NULL, *rowModel = NULL, *keepSnapshots = NULL, *sqlAlias = NULL, *isPartial, **_5, **_8, *_9 = NULL, *_11, *_12 = NULL, _14 = zval_used_for_init;
+ zval *result, *row = NULL, *underscore, *hydrateMode, *alias = NULL, *activeRow = NULL, *type = NULL, *columnTypes, *column = NULL, *columnValue = NULL, *value = NULL, *attribute = NULL, *source = NULL, *attributes = NULL, *columnMap = NULL, *rowModel = NULL, *keepSnapshots = NULL, *sqlAlias = NULL, *isPartial, *_0, *_1 = NULL, *_2, *_3, *_4, **_8, **_11, *_12 = NULL, *_14, *_15 = NULL, _17 = zval_used_for_init;
ZEPHIR_MM_GROW();
+ ZEPHIR_OBS_VAR(activeRow);
+ zephir_read_property_this(&activeRow, this_ptr, SL("_activeRow"), PH_NOISY_CC);
+ if (Z_TYPE_P(activeRow) != IS_NULL) {
+ RETURN_CCTOR(activeRow);
+ }
ZEPHIR_OBS_VAR(isPartial);
zephir_read_property_this(&isPartial, this_ptr, SL("_type"), PH_NOISY_CC);
if (zephir_is_true(isPartial)) {
- ZEPHIR_OBS_VAR(result);
- zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
- if (!ZEPHIR_IS_FALSE_IDENTICAL(result)) {
- ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL, result);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(row);
- ZVAL_BOOL(row, 0);
- }
+ ZEPHIR_OBS_VAR(row);
+ zephir_read_property_this(&row, this_ptr, SL("_row"), PH_NOISY_CC);
} else {
- ZEPHIR_OBS_VAR(rows);
- zephir_read_property_this(&rows, this_ptr, SL("_rows"), PH_NOISY_CC);
- if (Z_TYPE_P(rows) == IS_ARRAY) {
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(&row, "current", &_0, rows);
- Z_UNSET_ISREF_P(rows);
- zephir_check_call_status();
- if (Z_TYPE_P(row) == IS_OBJECT) {
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(NULL, "next", &_1, rows);
- Z_UNSET_ISREF_P(rows);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_rows"), PH_NOISY_CC);
+ if (Z_TYPE_P(_0) == IS_NULL) {
+ ZEPHIR_OBS_VAR(result);
+ zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
+ if (Z_TYPE_P(result) == IS_OBJECT) {
+ ZEPHIR_CALL_METHOD(&_1, result, "fetchall", NULL);
zephir_check_call_status();
+ zephir_update_property_this(this_ptr, SL("_rows"), _1 TSRMLS_CC);
+ }
+ }
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property_this(&_2, this_ptr, SL("_rows"), PH_NOISY_CC);
+ if (Z_TYPE_P(_2) == IS_ARRAY) {
+ ZEPHIR_OBS_NVAR(row);
+ _3 = zephir_fetch_nproperty_this(this_ptr, SL("_rows"), PH_NOISY_CC);
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ if (!(zephir_array_isset_fetch(&row, _3, _4, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(row);
+ ZVAL_BOOL(row, 0);
}
} else {
ZEPHIR_INIT_NVAR(row);
ZVAL_BOOL(row, 0);
}
}
- _2 = Z_TYPE_P(row) == IS_OBJECT;
- if (!(_2)) {
- _2 = Z_TYPE_P(row) == IS_ARRAY;
+ _5 = Z_TYPE_P(row) != IS_OBJECT;
+ if (_5) {
+ _5 = Z_TYPE_P(row) != IS_ARRAY;
}
- if (_2) {
- if (zephir_is_true(isPartial)) {
- ZEPHIR_OBS_VAR(hydrateMode);
- zephir_read_property_this(&hydrateMode, this_ptr, SL("_hydrateMode"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(underscore);
- ZVAL_STRING(underscore, "_", 1);
+ if (_5) {
+ zephir_update_property_this(this_ptr, SL("_activeRow"), (0) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ RETURN_MM_BOOL(0);
+ }
+ if (!(zephir_is_true(isPartial))) {
+ zephir_update_property_this(this_ptr, SL("_activeRow"), row TSRMLS_CC);
+ RETURN_CCTOR(row);
+ }
+ ZEPHIR_OBS_VAR(hydrateMode);
+ zephir_read_property_this(&hydrateMode, this_ptr, SL("_hydrateMode"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(underscore);
+ ZVAL_STRING(underscore, "_", 1);
+ do {
+ if (ZEPHIR_IS_LONG(hydrateMode, 0)) {
+ ZEPHIR_INIT_NVAR(activeRow);
+ object_init_ex(activeRow, phalcon_mvc_model_row_ce);
+ if (zephir_has_constructor(activeRow TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, activeRow, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(hydrateMode, 1)) {
+ ZEPHIR_INIT_NVAR(activeRow);
+ array_init(activeRow);
+ break;
+ }
+ ZEPHIR_INIT_NVAR(activeRow);
+ object_init(activeRow);
+ break;
+ } while(0);
+
+ ZEPHIR_OBS_VAR(columnTypes);
+ zephir_read_property_this(&columnTypes, this_ptr, SL("_columnTypes"), PH_NOISY_CC);
+ dirtyState = 0;
+ zephir_is_iterable(columnTypes, &_7, &_6, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 272);
+ for (
+ ; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
+ ; zephir_hash_move_forward_ex(_7, &_6)
+ ) {
+ ZEPHIR_GET_HMKEY(alias, _7, _6);
+ ZEPHIR_GET_HVALUE(column, _8);
+ if (Z_TYPE_P(column) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Column type is corrupt", "phalcon/mvc/model/resultset/complex.zep", 173);
+ return;
+ }
+ ZEPHIR_OBS_NVAR(type);
+ zephir_array_fetch_string(&type, column, SL("type"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 176 TSRMLS_CC);
+ if (ZEPHIR_IS_STRING(type, "object")) {
+ ZEPHIR_OBS_NVAR(source);
+ zephir_array_fetch_string(&source, column, SL("column"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 182 TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(attributes);
+ zephir_array_fetch_string(&attributes, column, SL("attributes"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 183 TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(columnMap);
+ zephir_array_fetch_string(&columnMap, column, SL("columnMap"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 184 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(rowModel);
+ array_init(rowModel);
+ zephir_is_iterable(attributes, &_10, &_9, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 202);
+ for (
+ ; zephir_hash_get_current_data_ex(_10, (void**) &_11, &_9) == SUCCESS
+ ; zephir_hash_move_forward_ex(_10, &_9)
+ ) {
+ ZEPHIR_GET_HVALUE(attribute, _11);
+ ZEPHIR_OBS_NVAR(columnValue);
+ ZEPHIR_INIT_LNVAR(_12);
+ ZEPHIR_CONCAT_VVVV(_12, underscore, source, underscore, attribute);
+ zephir_array_fetch(&columnValue, row, _12, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 195 TSRMLS_CC);
+ zephir_array_update_zval(&rowModel, attribute, &columnValue, PH_COPY | PH_SEPARATE);
+ }
do {
if (ZEPHIR_IS_LONG(hydrateMode, 0)) {
- ZEPHIR_INIT_VAR(activeRow);
- object_init_ex(activeRow, phalcon_mvc_model_row_ce);
- if (zephir_has_constructor(activeRow TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, activeRow, "__construct", NULL);
- zephir_check_call_status();
+ ZEPHIR_OBS_NVAR(keepSnapshots);
+ if (!(zephir_array_isset_string_fetch(&keepSnapshots, column, SS("keepSnapshots"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(keepSnapshots);
+ ZVAL_BOOL(keepSnapshots, 0);
}
+ zephir_array_fetch_string(&_14, column, SL("instance"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 217 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_15);
+ ZVAL_LONG(_15, dirtyState);
+ ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmap", &_13, _14, rowModel, columnMap, _15, keepSnapshots);
+ zephir_check_call_status();
break;
}
- if (ZEPHIR_IS_LONG(hydrateMode, 1)) {
- ZEPHIR_INIT_NVAR(activeRow);
- array_init(activeRow);
- break;
- }
- ZEPHIR_INIT_NVAR(activeRow);
- object_init(activeRow);
+ ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmaphydrate", &_16, rowModel, columnMap, hydrateMode);
+ zephir_check_call_status();
break;
} while(0);
- ZEPHIR_OBS_VAR(columnTypes);
- zephir_read_property_this(&columnTypes, this_ptr, SL("_columnTypes"), PH_NOISY_CC);
- dirtyState = 0;
- zephir_is_iterable(columnTypes, &_4, &_3, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 266);
- for (
- ; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
- ; zephir_hash_move_forward_ex(_4, &_3)
- ) {
- ZEPHIR_GET_HMKEY(alias, _4, _3);
- ZEPHIR_GET_HVALUE(column, _5);
- if (Z_TYPE_P(column) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Column type is corrupt", "phalcon/mvc/model/resultset/complex.zep", 167);
- return;
- }
- ZEPHIR_OBS_NVAR(type);
- zephir_array_fetch_string(&type, column, SL("type"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 170 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(type, "object")) {
- ZEPHIR_OBS_NVAR(source);
- zephir_array_fetch_string(&source, column, SL("column"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 176 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(attributes);
- zephir_array_fetch_string(&attributes, column, SL("attributes"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 177 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(columnMap);
- zephir_array_fetch_string(&columnMap, column, SL("columnMap"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 178 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(rowModel);
- array_init(rowModel);
- zephir_is_iterable(attributes, &_7, &_6, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 196);
- for (
- ; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
- ; zephir_hash_move_forward_ex(_7, &_6)
- ) {
- ZEPHIR_GET_HVALUE(attribute, _8);
- ZEPHIR_OBS_NVAR(columnValue);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_VVVV(_9, underscore, source, underscore, attribute);
- zephir_array_fetch(&columnValue, row, _9, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 189 TSRMLS_CC);
- zephir_array_update_zval(&rowModel, attribute, &columnValue, PH_COPY | PH_SEPARATE);
- }
- do {
- if (ZEPHIR_IS_LONG(hydrateMode, 0)) {
- ZEPHIR_OBS_NVAR(keepSnapshots);
- if (!(zephir_array_isset_string_fetch(&keepSnapshots, column, SS("keepSnapshots"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(keepSnapshots);
- ZVAL_BOOL(keepSnapshots, 0);
- }
- zephir_array_fetch_string(&_11, column, SL("instance"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 211 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_12);
- ZVAL_LONG(_12, dirtyState);
- ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmap", &_10, _11, rowModel, columnMap, _12, keepSnapshots);
- zephir_check_call_status();
- break;
- }
- ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmaphydrate", &_13, rowModel, columnMap, hydrateMode);
- zephir_check_call_status();
- break;
- } while(0);
-
- ZEPHIR_OBS_NVAR(attribute);
- zephir_array_fetch_string(&attribute, column, SL("balias"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 225 TSRMLS_CC);
- } else {
- ZEPHIR_OBS_NVAR(sqlAlias);
- if (zephir_array_isset_string_fetch(&sqlAlias, column, SS("sqlAlias"), 0 TSRMLS_CC)) {
- ZEPHIR_OBS_NVAR(value);
- zephir_array_fetch(&value, row, sqlAlias, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 233 TSRMLS_CC);
- } else {
- ZEPHIR_OBS_NVAR(value);
- zephir_array_isset_fetch(&value, row, alias, 0 TSRMLS_CC);
- }
- if (zephir_array_isset_string(column, SS("balias"))) {
- ZEPHIR_CPY_WRT(attribute, alias);
- } else {
- ZEPHIR_INIT_NVAR(attribute);
- ZEPHIR_SINIT_NVAR(_14);
- ZVAL_STRING(&_14, "", 0);
- zephir_fast_str_replace(&attribute, underscore, &_14, alias TSRMLS_CC);
- }
- }
- do {
- if (ZEPHIR_IS_LONG(hydrateMode, 1)) {
- zephir_array_update_zval(&activeRow, attribute, &value, PH_COPY | PH_SEPARATE);
- break;
- }
- zephir_update_property_zval_zval(activeRow, attribute, value TSRMLS_CC);
- break;
- } while(0);
-
- }
- zephir_update_property_this(this_ptr, SL("_activeRow"), activeRow TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(attribute);
+ zephir_array_fetch_string(&attribute, column, SL("balias"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 231 TSRMLS_CC);
} else {
- zephir_update_property_this(this_ptr, SL("_activeRow"), row TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(sqlAlias);
+ if (zephir_array_isset_string_fetch(&sqlAlias, column, SS("sqlAlias"), 0 TSRMLS_CC)) {
+ ZEPHIR_OBS_NVAR(value);
+ zephir_array_fetch(&value, row, sqlAlias, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 239 TSRMLS_CC);
+ } else {
+ ZEPHIR_OBS_NVAR(value);
+ zephir_array_isset_fetch(&value, row, alias, 0 TSRMLS_CC);
+ }
+ if (zephir_array_isset_string(column, SS("balias"))) {
+ ZEPHIR_CPY_WRT(attribute, alias);
+ } else {
+ ZEPHIR_INIT_NVAR(attribute);
+ ZEPHIR_SINIT_NVAR(_17);
+ ZVAL_STRING(&_17, "", 0);
+ zephir_fast_str_replace(&attribute, underscore, &_17, alias TSRMLS_CC);
+ }
}
- RETURN_MM_BOOL(1);
+ do {
+ if (ZEPHIR_IS_LONG(hydrateMode, 1)) {
+ zephir_array_update_zval(&activeRow, attribute, &value, PH_COPY | PH_SEPARATE);
+ break;
+ }
+ zephir_update_property_zval_zval(activeRow, attribute, value TSRMLS_CC);
+ break;
+ } while(0);
+
}
- zephir_update_property_this(this_ptr, SL("_activeRow"), (0) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- RETURN_MM_BOOL(0);
+ zephir_update_property_this(this_ptr, SL("_activeRow"), activeRow TSRMLS_CC);
+ RETURN_CCTOR(activeRow);
}
@@ -102670,7 +105047,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, toArray) {
_0->funcs->get_current_data(_0, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC);
ZEPHIR_CPY_WRT(current, (*ZEPHIR_TMP_ITERATOR_PTR));
}
- zephir_array_append(&records, current, PH_SEPARATE, "phalcon/mvc/model/resultset/complex.zep", 294);
+ zephir_array_append(&records, current, PH_SEPARATE, "phalcon/mvc/model/resultset/complex.zep", 285);
}
_0->funcs->dtor(_0 TSRMLS_CC);
RETURN_CCTOR(records);
@@ -102713,11 +105090,23 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, unserialize) {
int ZEPHIR_LAST_CALL_STATUS;
zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
- zval *data, *resultset = NULL, *_0, *_2, *_3, *_4, *_5;
+ zval *data_param = NULL, *resultset = NULL, *_0, *_2, *_3, *_4, *_5;
+ zval *data = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &data);
+ zephir_fetch_params(1, 1, 0, &data_param);
+
+ if (unlikely(Z_TYPE_P(data_param) != IS_STRING && Z_TYPE_P(data_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'data' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(data_param) == IS_STRING)) {
+ zephir_get_strval(data, data_param);
+ } else {
+ ZEPHIR_INIT_VAR(data);
+ ZVAL_EMPTY_STRING(data);
+ }
ZEPHIR_INIT_ZVAL_NREF(_0);
@@ -102726,16 +105115,16 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, unserialize) {
ZEPHIR_CALL_FUNCTION(&resultset, "unserialize", &_1, data);
zephir_check_call_status();
if (Z_TYPE_P(resultset) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Invalid serialization data", "phalcon/mvc/model/resultset/complex.zep", 347);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Invalid serialization data", "phalcon/mvc/model/resultset/complex.zep", 339);
return;
}
- zephir_array_fetch_string(&_2, resultset, SL("rows"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 350 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, resultset, SL("rows"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 342 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_rows"), _2 TSRMLS_CC);
- zephir_array_fetch_string(&_3, resultset, SL("cache"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 351 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, resultset, SL("cache"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 343 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_cache"), _3 TSRMLS_CC);
- zephir_array_fetch_string(&_4, resultset, SL("columnTypes"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 352 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, resultset, SL("columnTypes"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 344 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_columnTypes"), _4 TSRMLS_CC);
- zephir_array_fetch_string(&_5, resultset, SL("hydrateMode"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 353 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, resultset, SL("hydrateMode"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 345 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_hydrateMode"), _5 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
@@ -102818,49 +105207,43 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, __construct) {
}
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, valid) {
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, current) {
- zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_3 = NULL, *_4 = NULL, *_8 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_8 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *result = NULL, *row = NULL, *rows = NULL, *hydrateMode, *columnMap, *activeRow = NULL, *_0, *_1 = NULL, *_5, *_6, *_7;
+ zval *result, *row = NULL, *hydrateMode, *columnMap, *activeRow = NULL, *_0, *_1, *_2 = NULL, *_3, *_4, *_5, *_7;
ZEPHIR_MM_GROW();
+ ZEPHIR_OBS_VAR(activeRow);
+ zephir_read_property_this(&activeRow, this_ptr, SL("_activeRow"), PH_NOISY_CC);
+ if (Z_TYPE_P(activeRow) != IS_NULL) {
+ RETURN_CCTOR(activeRow);
+ }
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_type"), PH_NOISY_CC);
if (zephir_is_true(_0)) {
- ZEPHIR_OBS_VAR(result);
- zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
- if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL, result);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(row);
- ZVAL_BOOL(row, 0);
- }
+ ZEPHIR_OBS_VAR(row);
+ zephir_read_property_this(&row, this_ptr, SL("_row"), PH_NOISY_CC);
} else {
- ZEPHIR_OBS_VAR(rows);
- zephir_read_property_this(&rows, this_ptr, SL("_rows"), PH_NOISY_CC);
- if (Z_TYPE_P(rows) != IS_ARRAY) {
- ZEPHIR_OBS_NVAR(result);
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_rows"), PH_NOISY_CC);
+ if (Z_TYPE_P(_1) == IS_NULL) {
+ ZEPHIR_OBS_VAR(result);
zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_CALL_METHOD(&_1, result, "fetchall", NULL);
+ ZEPHIR_CALL_METHOD(&_2, result, "fetchall", NULL);
zephir_check_call_status();
- zephir_update_property_this(this_ptr, SL("_rows"), _1 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(rows);
- zephir_read_property_this(&rows, this_ptr, SL("_rows"), PH_NOISY_CC);
+ zephir_update_property_this(this_ptr, SL("_rows"), _2 TSRMLS_CC);
}
}
- if (Z_TYPE_P(rows) == IS_ARRAY) {
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(&row, "current", &_2, rows);
- Z_UNSET_ISREF_P(rows);
- zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(row)) {
- Z_SET_ISREF_P(rows);
- ZEPHIR_CALL_FUNCTION(NULL, "next", &_3, rows);
- Z_UNSET_ISREF_P(rows);
- zephir_check_call_status();
+ ZEPHIR_OBS_VAR(_3);
+ zephir_read_property_this(&_3, this_ptr, SL("_rows"), PH_NOISY_CC);
+ if (Z_TYPE_P(_3) == IS_ARRAY) {
+ ZEPHIR_OBS_NVAR(row);
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_rows"), PH_NOISY_CC);
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC);
+ if (!(zephir_array_isset_fetch(&row, _4, _5, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(row);
+ ZVAL_BOOL(row, 0);
}
} else {
ZEPHIR_INIT_NVAR(row);
@@ -102877,11 +105260,11 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, valid) {
zephir_read_property_this(&columnMap, this_ptr, SL("_columnMap"), PH_NOISY_CC);
do {
if (ZEPHIR_IS_LONG(hydrateMode, 0)) {
- _5 = zephir_fetch_nproperty_this(this_ptr, SL("_model"), PH_NOISY_CC);
- _6 = zephir_fetch_nproperty_this(this_ptr, SL("_keepSnapshots"), PH_NOISY_CC);
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_model"), PH_NOISY_CC);
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_keepSnapshots"), PH_NOISY_CC);
ZEPHIR_INIT_VAR(_7);
ZVAL_LONG(_7, 0);
- ZEPHIR_CALL_CE_STATIC(&activeRow, phalcon_mvc_model_ce, "cloneresultmap", &_4, _5, row, columnMap, _7, _6);
+ ZEPHIR_CALL_CE_STATIC(&activeRow, phalcon_mvc_model_ce, "cloneresultmap", &_6, _1, row, columnMap, _7, _4);
zephir_check_call_status();
break;
}
@@ -102891,7 +105274,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, valid) {
} while(0);
zephir_update_property_this(this_ptr, SL("_activeRow"), activeRow TSRMLS_CC);
- RETURN_MM_BOOL(1);
+ RETURN_CCTOR(activeRow);
}
@@ -102901,7 +105284,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
HashTable *_3, *_6;
HashPosition _2, _5;
int ZEPHIR_LAST_CALL_STATUS;
- zval *renameColumns_param = NULL, *result = NULL, *activeRow = NULL, *records = NULL, *record = NULL, *renamed = NULL, *renamedKey = NULL, *key = NULL, *value = NULL, *renamedRecords, *columnMap, *_0, *_1, **_4, **_7, *_8 = NULL, *_9 = NULL;
+ zval *renameColumns_param = NULL, *result = NULL, *records = NULL, *record = NULL, *renamed = NULL, *renamedKey = NULL, *key = NULL, *value = NULL, *renamedRecords, *columnMap, *_0, *_1, **_4, **_7, *_8 = NULL, *_9 = NULL;
zend_bool renameColumns;
ZEPHIR_MM_GROW();
@@ -102919,14 +105302,14 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
ZEPHIR_OBS_VAR(result);
zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_OBS_VAR(activeRow);
- zephir_read_property_this(&activeRow, this_ptr, SL("_activeRow"), PH_NOISY_CC);
- if (Z_TYPE_P(activeRow) != IS_NULL) {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC);
+ if (Z_TYPE_P(_1) != IS_NULL) {
ZEPHIR_CALL_METHOD(NULL, result, "execute", NULL);
zephir_check_call_status();
}
ZEPHIR_CALL_METHOD(&records, result, "fetchall", NULL);
zephir_check_call_status();
+ zephir_update_property_this(this_ptr, SL("_row"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
} else {
ZEPHIR_INIT_NVAR(records);
array_init(records);
@@ -102938,18 +105321,9 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
ZEPHIR_OBS_NVAR(result);
zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC);
if (Z_TYPE_P(result) == IS_OBJECT) {
- ZEPHIR_OBS_NVAR(activeRow);
- zephir_read_property_this(&activeRow, this_ptr, SL("_activeRow"), PH_NOISY_CC);
- if (Z_TYPE_P(activeRow) != IS_NULL) {
- ZEPHIR_CALL_METHOD(NULL, result, "execute", NULL);
- zephir_check_call_status();
- }
ZEPHIR_CALL_METHOD(&records, result, "fetchall", NULL);
zephir_check_call_status();
zephir_update_property_this(this_ptr, SL("_rows"), records TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, zephir_fast_count_int(records TSRMLS_CC));
- zephir_update_property_this(this_ptr, SL("_count"), _1 TSRMLS_CC);
} else {
ZEPHIR_INIT_NVAR(records);
array_init(records);
@@ -102965,7 +105339,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
ZEPHIR_INIT_VAR(renamedRecords);
array_init(renamedRecords);
if (Z_TYPE_P(records) == IS_ARRAY) {
- zephir_is_iterable(records, &_3, &_2, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 276);
+ zephir_is_iterable(records, &_3, &_2, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 263);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -102973,7 +105347,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
ZEPHIR_GET_HVALUE(record, _4);
ZEPHIR_INIT_NVAR(renamed);
array_init(renamed);
- zephir_is_iterable(record, &_6, &_5, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 274);
+ zephir_is_iterable(record, &_6, &_5, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 261);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -102988,13 +105362,13 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) {
ZEPHIR_CONCAT_SVS(_9, "Column '", key, "' is not part of the column map");
ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/mvc/model/resultset/simple.zep", 262 TSRMLS_CC);
+ zephir_throw_exception_debug(_8, "phalcon/mvc/model/resultset/simple.zep", 249 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
zephir_array_update_zval(&renamed, renamedKey, &value, PH_COPY | PH_SEPARATE);
}
- zephir_array_append(&renamedRecords, renamed, PH_SEPARATE, "phalcon/mvc/model/resultset/simple.zep", 274);
+ zephir_array_append(&renamedRecords, renamed, PH_SEPARATE, "phalcon/mvc/model/resultset/simple.zep", 261);
}
}
RETURN_CCTOR(renamedRecords);
@@ -103012,7 +105386,6 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, serialize) {
ZEPHIR_MM_GROW();
- zephir_update_property_this(this_ptr, SL("_activeRow"), (0) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
ZEPHIR_INIT_VAR(_0);
zephir_create_array(_0, 5, 0 TSRMLS_CC);
ZEPHIR_OBS_VAR(_1);
@@ -103067,18 +105440,18 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, unserialize) {
ZEPHIR_CALL_FUNCTION(&resultset, "unserialize", &_1, data);
zephir_check_call_status();
if (Z_TYPE_P(resultset) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Invalid serialization data", "phalcon/mvc/model/resultset/simple.zep", 317);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Invalid serialization data", "phalcon/mvc/model/resultset/simple.zep", 302);
return;
}
- zephir_array_fetch_string(&_2, resultset, SL("model"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 320 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, resultset, SL("model"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 305 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_model"), _2 TSRMLS_CC);
- zephir_array_fetch_string(&_3, resultset, SL("rows"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 321 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, resultset, SL("rows"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 306 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_rows"), _3 TSRMLS_CC);
- zephir_array_fetch_string(&_4, resultset, SL("cache"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 322 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, resultset, SL("cache"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 307 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_cache"), _4 TSRMLS_CC);
- zephir_array_fetch_string(&_5, resultset, SL("columnMap"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 323 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, resultset, SL("columnMap"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 308 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_columnMap"), _5 TSRMLS_CC);
- zephir_array_fetch_string(&_6, resultset, SL("hydrateMode"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 324 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, resultset, SL("hydrateMode"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/simple.zep", 309 TSRMLS_CC);
zephir_update_property_this(this_ptr, SL("_hydrateMode"), _6 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
@@ -103698,7 +106071,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Email, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/email.zep", 64);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/email.zep", 63);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -104019,7 +106392,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Numericality, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/numericality.zep", 63);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/numericality.zep", 62);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -104104,7 +106477,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_PresenceOf, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/presenceof.zep", 64);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/presenceof.zep", 63);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -104185,7 +106558,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Regex, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/regex.zep", 64);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/regex.zep", 63);
return;
}
ZEPHIR_INIT_NVAR(_0);
@@ -104194,7 +106567,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Regex, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (!(zephir_is_true(_1))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Validator requires a perl-compatible regex pattern", "phalcon/mvc/model/validator/regex.zep", 71);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Validator requires a perl-compatible regex pattern", "phalcon/mvc/model/validator/regex.zep", 70);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -104222,7 +106595,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Regex, validate) {
ZEPHIR_INIT_NVAR(_0);
zephir_preg_match(_0, pattern, value, matches, 0, 0 , 0 TSRMLS_CC);
if (zephir_is_true(_0)) {
- zephir_array_fetch_long(&_4, matches, 0, PH_NOISY | PH_READONLY, "phalcon/mvc/model/validator/regex.zep", 90 TSRMLS_CC);
+ zephir_array_fetch_long(&_4, matches, 0, PH_NOISY | PH_READONLY, "phalcon/mvc/model/validator/regex.zep", 89 TSRMLS_CC);
failed = !ZEPHIR_IS_EQUAL(_4, value);
} else {
failed = 1;
@@ -104295,7 +106668,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_StringLength, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/stringlength.zep", 68);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/stringlength.zep", 67);
return;
}
ZEPHIR_INIT_NVAR(_0);
@@ -104313,7 +106686,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_StringLength, validate) {
_1 = !zephir_is_true(isSetMax);
}
if (_1) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A minimum or maximum must be set", "phalcon/mvc/model/validator/stringlength.zep", 78);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "A minimum or maximum must be set", "phalcon/mvc/model/validator/stringlength.zep", 77);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -104468,7 +106841,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) == IS_ARRAY) {
- zephir_is_iterable(field, &_2, &_1, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 121);
+ zephir_is_iterable(field, &_2, &_1, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 120);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -104483,7 +106856,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_4, "Column '", composeField, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 98 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 97 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -104498,7 +106871,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_4, "Column '", columnField, "' isn't part of the table columns");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _4);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 108 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 107 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -104506,11 +106879,11 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZVAL_LONG(&_6, number);
ZEPHIR_INIT_LNVAR(_7);
ZEPHIR_CONCAT_SVSV(_7, "[", composeField, "] = ?", &_6);
- zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 114);
+ zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 113);
ZEPHIR_CALL_METHOD(&_8, record, "readattribute", &_9, composeField);
zephir_check_call_status();
- zephir_array_append(&bindParams, _8, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 115);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 116);
+ zephir_array_append(&bindParams, _8, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 114);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 115);
number++;
}
} else {
@@ -104523,7 +106896,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_7, "Column '", field, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 128 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 127 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -104538,17 +106911,17 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_7, "Column '", columnField, "' isn't part of the table columns");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 138 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 137 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
ZEPHIR_INIT_LNVAR(_7);
ZEPHIR_CONCAT_SVS(_7, "[", field, "] = ?0");
- zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 144);
+ zephir_array_append(&conditions, _7, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 143);
ZEPHIR_CALL_METHOD(&_8, record, "readattribute", &_9, field);
zephir_check_call_status();
- zephir_array_append(&bindParams, _8, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 145);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 146);
+ zephir_array_append(&bindParams, _8, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 144);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 145);
number++;
}
ZEPHIR_CALL_METHOD(&_10, record, "getoperationmade", NULL);
@@ -104563,7 +106936,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
}
ZEPHIR_CALL_METHOD(&_8, metaData, "getprimarykeyattributes", NULL, record);
zephir_check_call_status();
- zephir_is_iterable(_8, &_12, &_11, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 191);
+ zephir_is_iterable(_8, &_12, &_11, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 190);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
@@ -104577,7 +106950,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_7, "Column '", primaryField, "' isn't part of the table columns");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _7);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 168 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 167 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -104590,7 +106963,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZEPHIR_CONCAT_SVS(_14, "Column '", primaryField, "' isn't part of the column map");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_5, _14);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 176 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/model/validator/uniqueness.zep", 175 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -104601,11 +106974,11 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) {
ZVAL_LONG(&_6, number);
ZEPHIR_INIT_LNVAR(_4);
ZEPHIR_CONCAT_SVSV(_4, "[", attributeField, "] <> ?", &_6);
- zephir_array_append(&conditions, _4, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 185);
+ zephir_array_append(&conditions, _4, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 184);
ZEPHIR_CALL_METHOD(&_15, record, "readattribute", &_9, primaryField);
zephir_check_call_status();
- zephir_array_append(&bindParams, _15, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 186);
- zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 187);
+ zephir_array_append(&bindParams, _15, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 185);
+ zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 186);
number++;
}
}
@@ -104699,7 +107072,7 @@ static PHP_METHOD(Phalcon_Mvc_Model_Validator_Url, validate) {
zephir_check_temp_parameter(_0);
zephir_check_call_status();
if (Z_TYPE_P(field) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/url.zep", 63);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Field name must be a string", "phalcon/mvc/model/validator/url.zep", 62);
return;
}
ZEPHIR_CALL_METHOD(&value, record, "readattribute", NULL, field);
@@ -108362,26 +110735,31 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt, convertEncoding) {
static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt, slice) {
- zephir_nts_static zephir_fcall_cache_entry *_7 = NULL;
- zend_bool _2;
- zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL, *_5 = NULL, *_8 = NULL;
- int position, ZEPHIR_LAST_CALL_STATUS;
- zval *value, *start, *end = NULL, *length = NULL, *slice, *_0 = NULL, *_3 = NULL, *_6;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
+ zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL, *_7 = NULL;
+ zend_bool _1;
+ int start, position, ZEPHIR_LAST_CALL_STATUS;
+ zval *value, *start_param = NULL, *end = NULL, *length, *slice, *_0 = NULL, *_2 = NULL, _5 = zval_used_for_init;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &value, &start, &end);
+ zephir_fetch_params(1, 1, 2, &value, &start_param, &end);
+ if (!start_param) {
+ start = 0;
+ } else {
+ start = zephir_get_intval(start_param);
+ }
if (!end) {
- end = ZEPHIR_GLOBAL(global_null);
+ ZEPHIR_CPY_WRT(end, ZEPHIR_GLOBAL(global_null));
+ } else {
+ ZEPHIR_SEPARATE_PARAM(end);
}
if (Z_TYPE_P(value) == IS_OBJECT) {
if (Z_TYPE_P(end) == IS_NULL) {
- ZEPHIR_INIT_VAR(length);
- ZVAL_LONG(length, zephir_fast_count_int(value TSRMLS_CC));
- } else {
- ZEPHIR_CPY_WRT(length, end);
+ ZEPHIR_INIT_NVAR(end);
+ ZVAL_LONG(end, (zephir_fast_count_int(value TSRMLS_CC) - 1));
}
position = 0;
ZEPHIR_INIT_VAR(slice);
@@ -108389,54 +110767,62 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt, slice) {
ZEPHIR_CALL_METHOD(NULL, value, "rewind", NULL);
zephir_check_call_status();
while (1) {
- ZEPHIR_CALL_METHOD(&_0, value, "valid", &_1);
+ ZEPHIR_CALL_METHOD(&_0, value, "valid", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
break;
}
- _2 = ZEPHIR_LT_LONG(start, position);
- if (_2) {
- _2 = ZEPHIR_GE_LONG(length, position);
+ _1 = position >= start;
+ if (_1) {
+ _1 = ZEPHIR_GE_LONG(end, position);
}
- if (_2) {
- ZEPHIR_CALL_METHOD(&_3, value, "current", &_4);
+ if (_1) {
+ ZEPHIR_CALL_METHOD(&_2, value, "current", &_3);
zephir_check_call_status();
- zephir_array_append(&slice, _3, PH_SEPARATE, "phalcon/mvc/view/engine/volt.zep", 239);
+ zephir_array_append(&slice, _2, PH_SEPARATE, "phalcon/mvc/view/engine/volt.zep", 233);
}
- ZEPHIR_CALL_METHOD(NULL, value, "next", &_5);
+ ZEPHIR_CALL_METHOD(NULL, value, "next", &_4);
zephir_check_call_status();
position++;
}
RETURN_CCTOR(slice);
}
- ZEPHIR_INIT_NVAR(length);
+ ZEPHIR_INIT_VAR(length);
if (Z_TYPE_P(end) != IS_NULL) {
- ZEPHIR_INIT_VAR(_6);
- sub_function(_6, end, start TSRMLS_CC);
- ZVAL_LONG(length, (zephir_get_numberval(_6) + 1));
+ ZVAL_LONG(length, (((zephir_get_numberval(end) - start)) + 1));
} else {
ZVAL_NULL(length);
}
if (Z_TYPE_P(value) == IS_ARRAY) {
- ZEPHIR_RETURN_CALL_FUNCTION("array_slice", &_7, value, start, length);
+ ZEPHIR_SINIT_VAR(_5);
+ ZVAL_LONG(&_5, start);
+ ZEPHIR_RETURN_CALL_FUNCTION("array_slice", &_6, value, &_5, length);
zephir_check_call_status();
RETURN_MM();
}
if ((zephir_function_exists_ex(SS("mb_substr") TSRMLS_CC) == SUCCESS)) {
if (Z_TYPE_P(length) != IS_NULL) {
- ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_8, value, start, length);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, start);
+ ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_7, value, &_5, length);
zephir_check_call_status();
RETURN_MM();
}
- ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_8, value, start);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, start);
+ ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_7, value, &_5);
zephir_check_call_status();
RETURN_MM();
}
if (Z_TYPE_P(length) != IS_NULL) {
- zephir_substr(return_value, value, zephir_get_intval(start), zephir_get_intval(length), 0);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, start);
+ zephir_substr(return_value, value, zephir_get_intval(&_5), zephir_get_intval(length), 0);
RETURN_MM();
}
- zephir_substr(return_value, value, zephir_get_intval(start), 0, ZEPHIR_SUBSTR_NO_LENGTH);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, start);
+ zephir_substr(return_value, value, zephir_get_intval(&_5), 0, ZEPHIR_SUBSTR_NO_LENGTH);
RETURN_MM();
}
@@ -108673,7 +111059,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, fireExtensionEvent) {
ZEPHIR_OBS_VAR(extensions);
zephir_read_property_this(&extensions, this_ptr, SL("_extensions"), PH_NOISY_CC);
if (Z_TYPE_P(extensions) == IS_ARRAY) {
- zephir_is_iterable(extensions, &_1, &_0, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 191);
+ zephir_is_iterable(extensions, &_1, &_0, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 189);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -108718,7 +111104,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, addExtension) {
if (Z_TYPE_P(extension) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "The extension is not valid", "phalcon/mvc/view/engine/volt/compiler.zep", 203);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "The extension is not valid", "phalcon/mvc/view/engine/volt/compiler.zep", 201);
return;
}
if ((zephir_method_exists_ex(extension, SS("initialize") TSRMLS_CC) == SUCCESS)) {
@@ -108858,7 +111244,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, getUniquePrefix) {
}
}
if (Z_TYPE_P(prefix) != IS_STRING) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "The unique compilation prefix is invalid", "phalcon/mvc/view/engine/volt/compiler.zep", 311);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "The unique compilation prefix is invalid", "phalcon/mvc/view/engine/volt/compiler.zep", 303);
return;
}
RETURN_CCTOR(prefix);
@@ -108867,9 +111253,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, getUniquePrefix) {
static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, attributeReader) {
+ zend_bool _5;
zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *expr_param = NULL, *exprCode, *left, *leftType, *variable, *level, *dependencyInjector, *leftCode = NULL, *right, *_0, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_5, *_6;
+ zval *expr_param = NULL, *exprCode, *left, *leftType, *variable, *level, *dependencyInjector, *leftCode = NULL, *right, *_0, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_6, *_7;
zval *expr = NULL;
ZEPHIR_MM_GROW();
@@ -108882,11 +111269,11 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, attributeReader) {
ZEPHIR_INIT_VAR(exprCode);
ZVAL_NULL(exprCode);
ZEPHIR_OBS_VAR(left);
- zephir_array_fetch_string(&left, expr, SL("left"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 327 TSRMLS_CC);
- zephir_array_fetch_string(&_0, left, SL("type"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 329 TSRMLS_CC);
+ zephir_array_fetch_string(&left, expr, SL("left"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 319 TSRMLS_CC);
+ zephir_array_fetch_string(&_0, left, SL("type"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 321 TSRMLS_CC);
if (ZEPHIR_IS_LONG(_0, 265)) {
ZEPHIR_OBS_VAR(variable);
- zephir_array_fetch_string(&variable, left, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 331 TSRMLS_CC);
+ zephir_array_fetch_string(&variable, left, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 323 TSRMLS_CC);
if (ZEPHIR_IS_STRING(variable, "loop")) {
ZEPHIR_OBS_VAR(level);
zephir_read_property_this(&level, this_ptr, SL("_foreachLevel"), PH_NOISY_CC);
@@ -108921,26 +111308,26 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, attributeReader) {
ZEPHIR_CALL_METHOD(&leftCode, this_ptr, "expression", &_4, left);
zephir_check_call_status();
ZEPHIR_OBS_VAR(leftType);
- zephir_array_fetch_string(&leftType, left, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 358 TSRMLS_CC);
- if (!ZEPHIR_IS_LONG(leftType, '.')) {
- if (!ZEPHIR_IS_LONG(leftType, 350)) {
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SVS(_2, "(", leftCode, ")");
- zephir_concat_self(&exprCode, _2 TSRMLS_CC);
- } else {
- zephir_concat_self(&exprCode, leftCode TSRMLS_CC);
- }
+ zephir_array_fetch_string(&leftType, left, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 350 TSRMLS_CC);
+ _5 = !ZEPHIR_IS_LONG(leftType, '.');
+ if (_5) {
+ _5 = !ZEPHIR_IS_LONG(leftType, 350);
+ }
+ if (_5) {
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SVS(_2, "(", leftCode, ")");
+ zephir_concat_self(&exprCode, _2 TSRMLS_CC);
} else {
zephir_concat_self(&exprCode, leftCode TSRMLS_CC);
}
}
zephir_concat_self_str(&exprCode, SL("->") TSRMLS_CC);
ZEPHIR_OBS_VAR(right);
- zephir_array_fetch_string(&right, expr, SL("right"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 372 TSRMLS_CC);
- zephir_array_fetch_string(&_5, right, SL("type"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 374 TSRMLS_CC);
- if (ZEPHIR_IS_LONG(_5, 265)) {
- zephir_array_fetch_string(&_6, right, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 375 TSRMLS_CC);
- zephir_concat_self(&exprCode, _6 TSRMLS_CC);
+ zephir_array_fetch_string(&right, expr, SL("right"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 360 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, right, SL("type"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 362 TSRMLS_CC);
+ if (ZEPHIR_IS_LONG(_6, 265)) {
+ zephir_array_fetch_string(&_7, right, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 363 TSRMLS_CC);
+ zephir_concat_self(&exprCode, _7 TSRMLS_CC);
} else {
ZEPHIR_CALL_METHOD(&_1, this_ptr, "expression", &_4, right);
zephir_check_call_status();
@@ -108952,9 +111339,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, attributeReader) {
static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_3 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL;
+ zend_bool _8;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_3 = NULL, *_7 = NULL, *_9 = NULL, *_10 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *expr_param = NULL, *code = NULL, *funcArguments = NULL, *arguments = NULL, *nameExpr, *nameType, *name, *extensions, *functions, *definition, *macros, *extendedBlocks, *block, *currentBlock, *exprLevel, *escapedCode = NULL, *method = NULL, *arrayHelpers = NULL, *className, *_2 = NULL, *_4, *_5, *_6 = NULL, *_10 = NULL;
+ zval *expr_param = NULL, *code = NULL, *funcArguments = NULL, *arguments = NULL, *nameExpr, *nameType, *name, *extensions, *functions, *definition, *macros, *extendedBlocks, *block, *currentBlock, *exprLevel, *escapedCode = NULL, *method = NULL, *arrayHelpers = NULL, *className, *_2 = NULL, *_4, *_5, *_6 = NULL, *_11 = NULL;
zval *expr = NULL, *_1 = NULL;
ZEPHIR_MM_GROW();
@@ -108977,12 +111365,12 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
ZVAL_STRING(arguments, "", 1);
}
ZEPHIR_OBS_VAR(nameExpr);
- zephir_array_fetch_string(&nameExpr, expr, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 402 TSRMLS_CC);
+ zephir_array_fetch_string(&nameExpr, expr, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 390 TSRMLS_CC);
ZEPHIR_OBS_VAR(nameType);
- zephir_array_fetch_string(&nameType, nameExpr, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 402 TSRMLS_CC);
+ zephir_array_fetch_string(&nameType, nameExpr, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 390 TSRMLS_CC);
if (ZEPHIR_IS_LONG(nameType, 265)) {
ZEPHIR_OBS_VAR(name);
- zephir_array_fetch_string(&name, nameExpr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 409 TSRMLS_CC);
+ zephir_array_fetch_string(&name, nameExpr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 397 TSRMLS_CC);
ZEPHIR_OBS_VAR(extensions);
zephir_read_property_this(&extensions, this_ptr, SL("_extensions"), PH_NOISY_CC);
if (Z_TYPE_P(extensions) == IS_ARRAY) {
@@ -109022,13 +111410,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
}
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_4, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 450 TSRMLS_CC);
- zephir_array_fetch_string(&_5, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 450 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 438 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 438 TSRMLS_CC);
ZEPHIR_INIT_VAR(_6);
ZEPHIR_CONCAT_SVSVSV(_6, "Invalid definition for user function '", name, "' in ", _4, " on line ", _5);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_7, _6);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/mvc/view/engine/volt/compiler.zep", 450 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/mvc/view/engine/volt/compiler.zep", 438 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -109039,10 +111427,11 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
ZEPHIR_CONCAT_SVSVS(return_value, "vmacro_", name, "(array(", arguments, "))");
RETURN_MM();
}
- if (ZEPHIR_IS_STRING(name, "get_content")) {
- RETURN_MM_STRING("$this->getContent()", 1);
+ _8 = ZEPHIR_IS_STRING(name, "get_content");
+ if (!(_8)) {
+ _8 = ZEPHIR_IS_STRING(name, "content");
}
- if (ZEPHIR_IS_STRING(name, "content")) {
+ if (_8) {
RETURN_MM_STRING("$this->getContent()", 1);
}
if (ZEPHIR_IS_STRING(name, "partial")) {
@@ -109060,7 +111449,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
ZEPHIR_OBS_VAR(exprLevel);
zephir_read_property_this(&exprLevel, this_ptr, SL("_exprLevel"), PH_NOISY_CC);
if (Z_TYPE_P(block) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&code, this_ptr, "_statementlistorextends", &_8, block);
+ ZEPHIR_CALL_METHOD(&code, this_ptr, "_statementlistorextends", &_9, block);
zephir_check_call_status();
if (ZEPHIR_IS_LONG(exprLevel, 1)) {
ZEPHIR_CPY_WRT(escapedCode, code);
@@ -109087,7 +111476,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
}
ZEPHIR_INIT_NVAR(_2);
zephir_camelize(_2, name);
- ZEPHIR_CALL_FUNCTION(&method, "lcfirst", &_9, _2);
+ ZEPHIR_CALL_FUNCTION(&method, "lcfirst", &_10, _2);
zephir_check_call_status();
ZEPHIR_INIT_VAR(className);
ZVAL_STRING(className, "Phalcon\\Tag", 1);
@@ -109153,19 +111542,19 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, functionCall) {
}
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_4, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 602 TSRMLS_CC);
- zephir_array_fetch_string(&_5, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 602 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 583 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 583 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_6);
ZEPHIR_CONCAT_SVSVSV(_6, "Undefined function '", name, "' in ", _4, " on line ", _5);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_7, _6);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/mvc/view/engine/volt/compiler.zep", 602 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/mvc/view/engine/volt/compiler.zep", 583 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
- ZEPHIR_CALL_METHOD(&_10, this_ptr, "expression", &_0, nameExpr);
+ ZEPHIR_CALL_METHOD(&_11, this_ptr, "expression", &_0, nameExpr);
zephir_check_call_status();
- ZEPHIR_CONCAT_VSVS(return_value, _10, "(", arguments, ")");
+ ZEPHIR_CONCAT_VSVS(return_value, _11, "(", arguments, ")");
RETURN_MM();
}
@@ -109187,10 +111576,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveTest) {
ZEPHIR_OBS_VAR(type);
- zephir_array_fetch_string(&type, test, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 615 TSRMLS_CC);
+ zephir_array_fetch_string(&type, test, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 596 TSRMLS_CC);
if (ZEPHIR_IS_LONG(type, 265)) {
ZEPHIR_OBS_VAR(name);
- zephir_array_fetch_string(&name, test, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 622 TSRMLS_CC);
+ zephir_array_fetch_string(&name, test, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 603 TSRMLS_CC);
if (ZEPHIR_IS_STRING(name, "empty")) {
ZEPHIR_CONCAT_SVS(return_value, "empty(", left, ")");
RETURN_MM();
@@ -109218,25 +111607,25 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveTest) {
}
if (ZEPHIR_IS_LONG(type, 350)) {
ZEPHIR_OBS_VAR(testName);
- zephir_array_fetch_string(&testName, test, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 673 TSRMLS_CC);
+ zephir_array_fetch_string(&testName, test, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 654 TSRMLS_CC);
ZEPHIR_OBS_NVAR(name);
if (zephir_array_isset_string_fetch(&name, testName, SS("value"), 0 TSRMLS_CC)) {
if (ZEPHIR_IS_STRING(name, "divisibleby")) {
- zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 677 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 658 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "expression", &_2, _1);
zephir_check_call_status();
ZEPHIR_CONCAT_SVSVS(return_value, "(((", left, ") % (", _0, ")) == 0)");
RETURN_MM();
}
if (ZEPHIR_IS_STRING(name, "sameas")) {
- zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 684 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 665 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "expression", &_2, _1);
zephir_check_call_status();
ZEPHIR_CONCAT_SVSVS(return_value, "(", left, ") === (", _0, ")");
RETURN_MM();
}
if (ZEPHIR_IS_STRING(name, "type")) {
- zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 691 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, test, SL("arguments"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 672 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "expression", &_2, _1);
zephir_check_call_status();
ZEPHIR_CONCAT_SVSVS(return_value, "gettype(", left, ") === (", _0, ")");
@@ -109253,6 +111642,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveTest) {
static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
+ zend_bool _10, _11, _12;
zephir_nts_static zephir_fcall_cache_entry *_4 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
zval *left = NULL;
@@ -109270,28 +111660,28 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
ZEPHIR_INIT_VAR(code);
ZVAL_NULL(code);
ZEPHIR_OBS_VAR(type);
- zephir_array_fetch_string(&type, filter, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 710 TSRMLS_CC);
+ zephir_array_fetch_string(&type, filter, SL("type"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 691 TSRMLS_CC);
if (ZEPHIR_IS_LONG(type, 265)) {
ZEPHIR_OBS_VAR(name);
- zephir_array_fetch_string(&name, filter, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 716 TSRMLS_CC);
+ zephir_array_fetch_string(&name, filter, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 697 TSRMLS_CC);
} else {
if (!ZEPHIR_IS_LONG(type, 350)) {
ZEPHIR_INIT_VAR(_0);
object_init_ex(_0, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 724 TSRMLS_CC);
- zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 724 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 705 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 705 TSRMLS_CC);
ZEPHIR_INIT_VAR(_3);
ZEPHIR_CONCAT_SVSV(_3, "Unknown filter type in ", _1, " on line ", _2);
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_4, _3);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 724 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 705 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
ZEPHIR_OBS_VAR(functionName);
- zephir_array_fetch_string(&functionName, filter, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 727 TSRMLS_CC);
+ zephir_array_fetch_string(&functionName, filter, SL("name"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 708 TSRMLS_CC);
ZEPHIR_OBS_NVAR(name);
- zephir_array_fetch_string(&name, functionName, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 728 TSRMLS_CC);
+ zephir_array_fetch_string(&name, functionName, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 709 TSRMLS_CC);
}
ZEPHIR_INIT_VAR(funcArguments);
ZVAL_NULL(funcArguments);
@@ -109301,9 +111691,9 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
if (zephir_array_isset_string_fetch(&funcArguments, filter, SS("arguments"), 0 TSRMLS_CC)) {
if (!ZEPHIR_IS_STRING(name, "default")) {
ZEPHIR_OBS_VAR(file);
- zephir_array_fetch_string(&file, filter, SL("file"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 743 TSRMLS_CC);
+ zephir_array_fetch_string(&file, filter, SL("file"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 724 TSRMLS_CC);
ZEPHIR_OBS_VAR(line);
- zephir_array_fetch_string(&line, filter, SL("line"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 743 TSRMLS_CC);
+ zephir_array_fetch_string(&line, filter, SL("line"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 724 TSRMLS_CC);
ZEPHIR_INIT_VAR(_5);
zephir_create_array(_5, 3, 0 TSRMLS_CC);
ZEPHIR_INIT_VAR(_6);
@@ -109364,13 +111754,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
}
ZEPHIR_INIT_NVAR(_0);
object_init_ex(_0, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 806 TSRMLS_CC);
- zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 806 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 787 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 787 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_3);
ZEPHIR_CONCAT_SVSVSV(_3, "Invalid definition for user filter '", name, "' in ", _1, " on line ", _2);
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_4, _3);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 806 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 787 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -109379,11 +111769,11 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
ZEPHIR_CONCAT_SVS(return_value, "$this->length(", arguments, ")");
RETURN_MM();
}
- if (ZEPHIR_IS_STRING(name, "e")) {
- ZEPHIR_CONCAT_SVS(return_value, "$this->escaper->escapeHtml(", arguments, ")");
- RETURN_MM();
+ _10 = ZEPHIR_IS_STRING(name, "e");
+ if (!(_10)) {
+ _10 = ZEPHIR_IS_STRING(name, "escape");
}
- if (ZEPHIR_IS_STRING(name, "escape")) {
+ if (_10) {
ZEPHIR_CONCAT_SVS(return_value, "$this->escaper->escapeHtml(", arguments, ")");
RETURN_MM();
}
@@ -109439,19 +111829,19 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
ZEPHIR_CONCAT_SVS(return_value, "join(", arguments, ")");
RETURN_MM();
}
- if (ZEPHIR_IS_STRING(name, "lowercase")) {
- ZEPHIR_CONCAT_SVS(return_value, "Phalcon\\Text::lower(", arguments, ")");
- RETURN_MM();
+ _11 = ZEPHIR_IS_STRING(name, "lower");
+ if (!(_11)) {
+ _11 = ZEPHIR_IS_STRING(name, "lowercase");
}
- if (ZEPHIR_IS_STRING(name, "lower")) {
+ if (_11) {
ZEPHIR_CONCAT_SVS(return_value, "Phalcon\\Text::lower(", arguments, ")");
RETURN_MM();
}
- if (ZEPHIR_IS_STRING(name, "uppercase")) {
- ZEPHIR_CONCAT_SVS(return_value, "Phalcon\\Text::upper(", arguments, ")");
- RETURN_MM();
+ _12 = ZEPHIR_IS_STRING(name, "upper");
+ if (!(_12)) {
+ _12 = ZEPHIR_IS_STRING(name, "uppercase");
}
- if (ZEPHIR_IS_STRING(name, "upper")) {
+ if (_12) {
ZEPHIR_CONCAT_SVS(return_value, "Phalcon\\Text::upper(", arguments, ")");
RETURN_MM();
}
@@ -109493,13 +111883,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) {
}
ZEPHIR_INIT_NVAR(_0);
object_init_ex(_0, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1016 TSRMLS_CC);
- zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1016 TSRMLS_CC);
+ zephir_array_fetch_string(&_1, filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 976 TSRMLS_CC);
+ zephir_array_fetch_string(&_2, filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 976 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_3);
ZEPHIR_CONCAT_SVSVSV(_3, "Unknown filter \"", name, "\" in ", _1, " on line ", _2);
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_4, _3);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 1016 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/mvc/view/engine/volt/compiler.zep", 976 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
@@ -109545,22 +111935,22 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
if (!(zephir_array_isset_string_fetch(&type, expr, SS("type"), 0 TSRMLS_CC))) {
ZEPHIR_INIT_NVAR(items);
array_init(items);
- zephir_is_iterable(expr, &_4, &_3, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1057);
+ zephir_is_iterable(expr, &_4, &_3, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1017);
for (
; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
; zephir_hash_move_forward_ex(_4, &_3)
) {
ZEPHIR_GET_HVALUE(singleExpr, _5);
- zephir_array_fetch_string(&_6, singleExpr, SL("expr"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1050 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, singleExpr, SL("expr"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1010 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&singleExprCode, this_ptr, "expression", &_7, _6);
zephir_check_call_status();
ZEPHIR_OBS_NVAR(name);
if (zephir_array_isset_string_fetch(&name, singleExpr, SS("name"), 0 TSRMLS_CC)) {
ZEPHIR_INIT_LNVAR(_8);
ZEPHIR_CONCAT_SVSV(_8, "'", name, "' => ", singleExprCode);
- zephir_array_append(&items, _8, PH_SEPARATE, "phalcon/mvc/view/engine/volt/compiler.zep", 1052);
+ zephir_array_append(&items, _8, PH_SEPARATE, "phalcon/mvc/view/engine/volt/compiler.zep", 1012);
} else {
- zephir_array_append(&items, singleExprCode, PH_SEPARATE, "phalcon/mvc/view/engine/volt/compiler.zep", 1054);
+ zephir_array_append(&items, singleExprCode, PH_SEPARATE, "phalcon/mvc/view/engine/volt/compiler.zep", 1014);
}
}
ZEPHIR_INIT_NVAR(exprCode);
@@ -109578,13 +111968,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
zephir_check_call_status();
}
if (ZEPHIR_IS_LONG(type, 311)) {
- zephir_array_fetch_string(&_6, expr, SL("right"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1080 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, expr, SL("right"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1040 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&exprCode, this_ptr, "resolvetest", &_10, _6, leftCode);
zephir_check_call_status();
break;
}
if (ZEPHIR_IS_LONG(type, 124)) {
- zephir_array_fetch_string(&_11, expr, SL("right"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1088 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, expr, SL("right"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1048 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&exprCode, this_ptr, "resolvefilter", &_12, _11, leftCode);
zephir_check_call_status();
break;
@@ -109663,17 +112053,17 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
}
if (ZEPHIR_IS_LONG(type, 258)) {
ZEPHIR_OBS_NVAR(exprCode);
- zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1155 TSRMLS_CC);
+ zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1115 TSRMLS_CC);
break;
}
if (ZEPHIR_IS_LONG(type, 259)) {
ZEPHIR_OBS_NVAR(exprCode);
- zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1159 TSRMLS_CC);
+ zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1119 TSRMLS_CC);
break;
}
if (ZEPHIR_IS_LONG(type, 260)) {
ZEPHIR_INIT_NVAR(_1);
- zephir_array_fetch_string(&_6, expr, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1163 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, expr, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1123 TSRMLS_CC);
ZEPHIR_SINIT_NVAR(_13);
ZVAL_STRING(&_13, "'", 0);
ZEPHIR_SINIT_NVAR(_14);
@@ -109699,7 +112089,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
break;
}
if (ZEPHIR_IS_LONG(type, 265)) {
- zephir_array_fetch_string(&_11, expr, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1179 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, expr, SL("value"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1139 TSRMLS_CC);
ZEPHIR_INIT_NVAR(exprCode);
ZEPHIR_CONCAT_SV(exprCode, "$", _11);
break;
@@ -109866,7 +112256,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
break;
}
if (ZEPHIR_IS_LONG(type, 366)) {
- zephir_array_fetch_string(&_6, expr, SL("ternary"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1318 TSRMLS_CC);
+ zephir_array_fetch_string(&_6, expr, SL("ternary"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1278 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_16, this_ptr, "expression", &_7, _6);
zephir_check_call_status();
ZEPHIR_INIT_NVAR(exprCode);
@@ -109885,18 +112275,18 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, expression) {
}
if (ZEPHIR_IS_LONG(type, 364)) {
ZEPHIR_OBS_NVAR(exprCode);
- zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1330 TSRMLS_CC);
+ zephir_array_fetch_string(&exprCode, expr, SL("value"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1290 TSRMLS_CC);
break;
}
ZEPHIR_INIT_NVAR(_1);
object_init_ex(_1, phalcon_mvc_view_exception_ce);
- zephir_array_fetch_string(&_11, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1334 TSRMLS_CC);
- zephir_array_fetch_string(&_17, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1334 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, expr, SL("file"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1294 TSRMLS_CC);
+ zephir_array_fetch_string(&_17, expr, SL("line"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1294 TSRMLS_CC);
ZEPHIR_INIT_LNVAR(_8);
ZEPHIR_CONCAT_SVSVSV(_8, "Unknown expression ", type, " in ", _11, " on line ", _17);
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_18, _8);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/mvc/view/engine/volt/compiler.zep", 1334 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/mvc/view/engine/volt/compiler.zep", 1294 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
} while(0);
@@ -109928,7 +112318,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, _statementListOrExtends
}
isStatementList = 1;
if (!(zephir_array_isset_string(statements, SS("type")))) {
- zephir_is_iterable(statements, &_1, &_0, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1374);
+ zephir_is_iterable(statements, &_1, &_0, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1334);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -109973,7 +112363,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileForeach) {
if (!(zephir_array_isset_string(statement, SS("expr")))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupted statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1402);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupted statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1362);
return;
}
ZEPHIR_INIT_VAR(compilation);
@@ -109988,15 +112378,15 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileForeach) {
ZEPHIR_INIT_VAR(prefixLevel);
ZEPHIR_CONCAT_VV(prefixLevel, prefix, level);
ZEPHIR_OBS_VAR(expr);
- zephir_array_fetch_string(&expr, statement, SL("expr"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1420 TSRMLS_CC);
+ zephir_array_fetch_string(&expr, statement, SL("expr"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1380 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&exprCode, this_ptr, "expression", &_0, expr);
zephir_check_call_status();
ZEPHIR_OBS_VAR(blockStatements);
- zephir_array_fetch_string(&blockStatements, statement, SL("block_statements"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1426 TSRMLS_CC);
+ zephir_array_fetch_string(&blockStatements, statement, SL("block_statements"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1386 TSRMLS_CC);
ZEPHIR_INIT_NVAR(forElse);
ZVAL_BOOL(forElse, 0);
if (Z_TYPE_P(blockStatements) == IS_ARRAY) {
- zephir_is_iterable(blockStatements, &_2, &_1, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1452);
+ zephir_is_iterable(blockStatements, &_2, &_1, 0, 0, "phalcon/mvc/view/engine/volt/compiler.zep", 1412);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -110054,7 +112444,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileForeach) {
ZEPHIR_CPY_WRT(iterator, exprCode);
}
ZEPHIR_OBS_VAR(variable);
- zephir_array_fetch_string(&variable, statement, SL("variable"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1481 TSRMLS_CC);
+ zephir_array_fetch_string(&variable, statement, SL("variable"), PH_NOISY, "phalcon/mvc/view/engine/volt/compiler.zep", 1441 TSRMLS_CC);
ZEPHIR_OBS_VAR(key);
if (zephir_array_isset_string_fetch(&key, statement, SS("key"), 0 TSRMLS_CC)) {
ZEPHIR_INIT_LNVAR(_6);
@@ -110163,12 +112553,12 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileIf) {
ZEPHIR_OBS_VAR(expr);
if (!(zephir_array_isset_string_fetch(&expr, statement, SS("expr"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1573);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1533);
return;
}
ZEPHIR_CALL_METHOD(&_0, this_ptr, "expression", &_1, expr);
zephir_check_call_status();
- zephir_array_fetch_string(&_3, statement, SL("true_statements"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1579 TSRMLS_CC);
+ zephir_array_fetch_string(&_3, statement, SL("true_statements"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1539 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_2, this_ptr, "_statementlist", &_4, _3, (extendsMode ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
ZEPHIR_INIT_VAR(compilation);
@@ -110202,7 +112592,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileElseIf) {
ZEPHIR_OBS_VAR(expr);
if (!(zephir_array_isset_string_fetch(&expr, statement, SS("expr"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1608);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1568);
return;
}
ZEPHIR_CALL_METHOD(&_0, this_ptr, "expression", &_1, expr);
@@ -110234,7 +112624,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileCache) {
ZEPHIR_OBS_VAR(expr);
if (!(zephir_array_isset_string_fetch(&expr, statement, SS("expr"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1628);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupt statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1588);
return;
}
ZEPHIR_CALL_METHOD(&exprCode, this_ptr, "expression", &_0, expr);
@@ -110259,7 +112649,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileCache) {
ZEPHIR_INIT_LNVAR(_2);
ZEPHIR_CONCAT_SVS(_2, "if ($_cacheKey[", exprCode, "] === null) { ?>");
zephir_concat_self(&compilation, _2 TSRMLS_CC);
- zephir_array_fetch_string(&_5, statement, SL("block_statements"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1647 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, statement, SL("block_statements"), PH_NOISY | PH_READONLY, "phalcon/mvc/view/engine/volt/compiler.zep", 1607 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_4, this_ptr, "_statementlist", &_6, _5, (extendsMode ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)));
zephir_check_call_status();
zephir_concat_self(&compilation, _4 TSRMLS_CC);
@@ -110298,22 +112688,22 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compileSet) {
ZEPHIR_OBS_VAR(assignments);
if (!(zephir_array_isset_string_fetch(&assignments, statement, SS("assignments"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupted statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1673);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_exception_ce, "Corrupted statement", "phalcon/mvc/view/engine/volt/compiler.zep", 1633);
return;
}
ZEPHIR_INIT_VAR(compilation);
ZVAL_STRING(compilation, "
+// 42 "parser.lemon"
#ifdef HAVE_CONFIG_H
@@ -111945,6 +114334,7 @@ static zval *phvolt_ret_macro_call_statement(zval *expr, zval *arguments, zval *
}
+// 570 "parser.c"
/* Next is all token values, in a form suitable for use by makeheaders.
** This section will be null unless lemon is run with the -m switch.
*/
@@ -111955,58 +114345,58 @@ static zval *phvolt_ret_macro_call_statement(zval *expr, zval *arguments, zval *
#endif
/* The next thing included is series of defines which control
** various aspects of the generated parser.
-** YYCODETYPE is the data type used for storing terminal
+** VVCODETYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 terminals
** and nonterminals. "int" is used otherwise.
-** YYNOCODE is a number of type YYCODETYPE which corresponds
+** VVNOCODE is a number of type VVCODETYPE which corresponds
** to no legal terminal or nonterminal number. This
** number is used to fill in empty slots of the hash
** table.
-** YYFALLBACK If defined, this indicates that one or more tokens
+** VVFALLBACK If defined, this indicates that one or more tokens
** have fall-back values which should be used if the
** original value of the token will not parse.
-** YYACTIONTYPE is the data type used for storing terminal
+** VVACTIONTYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 rules and
** states combined. "int" is used otherwise.
** phvolt_TOKENTYPE is the data type used for minor tokens given
** directly to the parser from the tokenizer.
-** YYMINORTYPE is the data type used for all minor tokens.
+** VVMINORTYPE is the data type used for all minor tokens.
** This is typically a union of many types, one of
** which is phvolt_TOKENTYPE. The entry in the union
-** for base tokens is called "yy0".
-** YYSTACKDEPTH is the maximum depth of the parser's stack.
+** for base tokens is called "vv0".
+** VVSTACKDEPTH is the maximum depth of the parser's stack.
** phvolt_ARG_SDECL A static variable declaration for the %extra_argument
** phvolt_ARG_PDECL A parameter declaration for the %extra_argument
-** phvolt_ARG_STORE Code to store %extra_argument into yypParser
-** phvolt_ARG_FETCH Code to extract %extra_argument from yypParser
-** YYNSTATE the combined number of states.
-** YYNRULE the number of rules in the grammar
-** YYERRORSYMBOL is the code number of the error symbol. If not
+** phvolt_ARG_STORE Code to store %extra_argument into vvpParser
+** phvolt_ARG_FETCH Code to extract %extra_argument from vvpParser
+** VVNSTATE the combined number of states.
+** VVNRULE the number of rules in the grammar
+** VVERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
*/
-#define YYCODETYPE unsigned char
-#define YYNOCODE 120
-#define YYACTIONTYPE unsigned short int
+#define VVCODETYPE unsigned char
+#define VVNOCODE 120
+#define VVACTIONTYPE unsigned short int
#define phvolt_TOKENTYPE phvolt_parser_token*
typedef union {
- phvolt_TOKENTYPE yy0;
- zval* yy92;
- int yy239;
-} YYMINORTYPE;
-#define YYSTACKDEPTH 100
+ phvolt_TOKENTYPE vv0;
+ zval* vv92;
+ int vv239;
+} VVMINORTYPE;
+#define VVSTACKDEPTH 100
#define phvolt_ARG_SDECL phvolt_parser_status *status;
#define phvolt_ARG_PDECL ,phvolt_parser_status *status
-#define phvolt_ARG_FETCH phvolt_parser_status *status = yypParser->status
-#define phvolt_ARG_STORE yypParser->status = status
-#define YYNSTATE 333
-#define YYNRULE 145
-#define YYERRORSYMBOL 83
-#define YYERRSYMDT yy239
-#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
-#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
-#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
+#define phvolt_ARG_FETCH phvolt_parser_status *status = vvpParser->status
+#define phvolt_ARG_STORE vvpParser->status = status
+#define VVNSTATE 333
+#define VVNRULE 145
+#define VVERRORSYMBOL 83
+#define VVERRSYMDT vv239
+#define VV_NO_ACTION (VVNSTATE+VVNRULE+2)
+#define VV_ACCEPT_ACTION (VVNSTATE+VVNRULE+1)
+#define VV_ERROR_ACTION (VVNSTATE+VVNRULE)
/* Next are that tables used to determine what action to take based on the
** current state and lookahead token. These tables are used to implement
@@ -112016,566 +114406,562 @@ typedef union {
** Suppose the action integer is N. Then the action is determined as
** follows
**
-** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
+** 0 <= N < VVNSTATE Shift N. That is, push the lookahead
** token onto the stack and goto state N.
**
-** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
+** VVNSTATE <= N < VVNSTATE+VVNRULE Reduce by rule N-VVNSTATE.
**
-** N == YYNSTATE+YYNRULE A syntax error has occurred.
+** N == VVNSTATE+VVNRULE A syntax error has occurred.
**
-** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
+** N == VVNSTATE+VVNRULE+1 The parser accepts its input.
**
-** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
-** slots in the yy_action[] table.
+** N == VVNSTATE+VVNRULE+2 No such action. Denotes unused
+** slots in the vv_action[] table.
**
-** The action table is constructed as a single large table named yy_action[].
+** The action table is constructed as a single large table named vv_action[].
** Given state S and lookahead X, the action is computed as
**
-** yy_action[ yy_shift_ofst[S] + X ]
+** vv_action[ vv_shift_ofst[S] + X ]
**
-** If the index value yy_shift_ofst[S]+X is out of range or if the value
-** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
-** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that yy_default[S] should be used instead.
+** If the index value vv_shift_ofst[S]+X is out of range or if the value
+** vv_lookahead[vv_shift_ofst[S]+X] is not equal to X or if vv_shift_ofst[S]
+** is equal to VV_SHIFT_USE_DFLT, it means that the action is not in the table
+** and that vv_default[S] should be used instead.
**
** The formula above is for computing the action when the lookahead is
** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the yy_reduce_ofst[] array is used in place of
-** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
-** YY_SHIFT_USE_DFLT.
+** a reduce action) then the vv_reduce_ofst[] array is used in place of
+** the vv_shift_ofst[] array and VV_REDUCE_USE_DFLT is used in place of
+** VV_SHIFT_USE_DFLT.
**
** The following are the tables generated in this section:
**
-** yy_action[] A single table containing all actions.
-** yy_lookahead[] A table containing the lookahead for each entry in
-** yy_action. Used to detect hash collisions.
-** yy_shift_ofst[] For each state, the offset into yy_action for
+** vv_action[] A single table containing all actions.
+** vv_lookahead[] A table containing the lookahead for each entry in
+** vv_action. Used to detect hash collisions.
+** vv_shift_ofst[] For each state, the offset into vv_action for
** shifting terminals.
-** yy_reduce_ofst[] For each state, the offset into yy_action for
+** vv_reduce_ofst[] For each state, the offset into vv_action for
** shifting non-terminals after a reduce.
-** yy_default[] Default action for each state.
+** vv_default[] Default action for each state.
*/
-static YYACTIONTYPE yy_action[] = {
- /* 0 */ 82, 92, 23, 60, 52, 54, 66, 62, 64, 72,
+static VVACTIONTYPE vv_action[] = {
+ /* 0 */ 82, 92, 181, 60, 52, 54, 66, 62, 64, 72,
/* 10 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 20 */ 56, 89, 58, 84, 87, 88, 96, 80, 299, 173,
- /* 30 */ 82, 92, 108, 60, 52, 54, 66, 62, 64, 72,
+ /* 20 */ 56, 89, 58, 84, 87, 88, 96, 80, 315, 310,
+ /* 30 */ 82, 92, 180, 60, 52, 54, 66, 62, 64, 72,
/* 40 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 50 */ 56, 89, 58, 84, 87, 88, 96, 80, 255, 224,
- /* 60 */ 48, 46, 50, 43, 40, 56, 89, 58, 84, 87,
- /* 70 */ 88, 96, 80, 258, 306, 171, 266, 179, 194, 333,
- /* 80 */ 82, 92, 30, 60, 52, 54, 66, 62, 64, 72,
- /* 90 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 100 */ 56, 89, 58, 84, 87, 88, 96, 80, 32, 234,
- /* 110 */ 82, 92, 112, 60, 52, 54, 66, 62, 64, 72,
- /* 120 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 130 */ 56, 89, 58, 84, 87, 88, 96, 80, 315, 310,
- /* 140 */ 82, 92, 235, 60, 52, 54, 66, 62, 64, 72,
+ /* 50 */ 56, 89, 58, 84, 87, 88, 96, 80, 299, 173,
+ /* 60 */ 82, 92, 108, 60, 52, 54, 66, 62, 64, 72,
+ /* 70 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
+ /* 80 */ 56, 89, 58, 84, 87, 88, 96, 80, 213, 234,
+ /* 90 */ 82, 92, 287, 60, 52, 54, 66, 62, 64, 72,
+ /* 100 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
+ /* 110 */ 56, 89, 58, 84, 87, 88, 96, 80, 246, 224,
+ /* 120 */ 179, 194, 235, 48, 46, 50, 43, 40, 56, 89,
+ /* 130 */ 58, 84, 87, 88, 96, 80, 266, 281, 245, 260,
+ /* 140 */ 82, 92, 112, 60, 52, 54, 66, 62, 64, 72,
/* 150 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 160 */ 56, 89, 58, 84, 87, 88, 96, 80, 181, 26,
- /* 170 */ 82, 92, 36, 60, 52, 54, 66, 62, 64, 72,
+ /* 160 */ 56, 89, 58, 84, 87, 88, 96, 80, 209, 301,
+ /* 170 */ 82, 92, 250, 60, 52, 54, 66, 62, 64, 72,
/* 180 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 190 */ 56, 89, 58, 84, 87, 88, 96, 80, 180, 39,
- /* 200 */ 82, 92, 108, 60, 52, 54, 66, 62, 64, 72,
+ /* 190 */ 56, 89, 58, 84, 87, 88, 96, 80, 252, 243,
+ /* 200 */ 82, 92, 254, 60, 52, 54, 66, 62, 64, 72,
/* 210 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 220 */ 56, 89, 58, 84, 87, 88, 96, 80, 82, 92,
- /* 230 */ 94, 60, 52, 54, 66, 62, 64, 72, 74, 76,
- /* 240 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
- /* 250 */ 58, 84, 87, 88, 96, 80, 27, 259, 4, 5,
- /* 260 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- /* 270 */ 16, 17, 18, 19, 20, 21, 22, 91, 280, 298,
- /* 280 */ 107, 82, 92, 128, 60, 52, 54, 66, 62, 64,
- /* 290 */ 72, 74, 76, 78, 68, 70, 48, 46, 50, 43,
- /* 300 */ 40, 56, 89, 58, 84, 87, 88, 96, 80, 43,
- /* 310 */ 40, 56, 89, 58, 84, 87, 88, 96, 80, 292,
- /* 320 */ 293, 294, 295, 296, 297, 102, 245, 260, 127, 82,
- /* 330 */ 92, 85, 60, 52, 54, 66, 62, 64, 72, 74,
- /* 340 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
- /* 350 */ 89, 58, 84, 87, 88, 96, 80, 115, 237, 82,
- /* 360 */ 92, 136, 60, 52, 54, 66, 62, 64, 72, 74,
- /* 370 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
- /* 380 */ 89, 58, 84, 87, 88, 96, 80, 131, 240, 82,
- /* 390 */ 92, 137, 60, 52, 54, 66, 62, 64, 72, 74,
- /* 400 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
- /* 410 */ 89, 58, 84, 87, 88, 96, 80, 458, 243, 82,
- /* 420 */ 92, 459, 60, 52, 54, 66, 62, 64, 72, 74,
- /* 430 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
- /* 440 */ 89, 58, 84, 87, 88, 96, 80, 92, 143, 60,
+ /* 220 */ 56, 89, 58, 84, 87, 88, 96, 80, 92, 136,
+ /* 230 */ 60, 52, 54, 66, 62, 64, 72, 74, 76, 78,
+ /* 240 */ 68, 70, 48, 46, 50, 43, 40, 56, 89, 58,
+ /* 250 */ 84, 87, 88, 96, 80, 257, 108, 280, 298, 82,
+ /* 260 */ 92, 332, 60, 52, 54, 66, 62, 64, 72, 74,
+ /* 270 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
+ /* 280 */ 89, 58, 84, 87, 88, 96, 80, 82, 92, 261,
+ /* 290 */ 60, 52, 54, 66, 62, 64, 72, 74, 76, 78,
+ /* 300 */ 68, 70, 48, 46, 50, 43, 40, 56, 89, 58,
+ /* 310 */ 84, 87, 88, 96, 80, 131, 26, 43, 40, 56,
+ /* 320 */ 89, 58, 84, 87, 88, 96, 80, 89, 58, 84,
+ /* 330 */ 87, 88, 96, 80, 107, 137, 91, 306, 171, 321,
+ /* 340 */ 82, 92, 458, 60, 52, 54, 66, 62, 64, 72,
+ /* 350 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
+ /* 360 */ 56, 89, 58, 84, 87, 88, 96, 80, 267, 39,
+ /* 370 */ 82, 92, 94, 60, 52, 54, 66, 62, 64, 72,
+ /* 380 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
+ /* 390 */ 56, 89, 58, 84, 87, 88, 96, 80, 82, 92,
+ /* 400 */ 128, 60, 52, 54, 66, 62, 64, 72, 74, 76,
+ /* 410 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
+ /* 420 */ 58, 84, 87, 88, 96, 80, 292, 293, 294, 295,
+ /* 430 */ 296, 297, 184, 186, 188, 190, 192, 84, 87, 88,
+ /* 440 */ 96, 80, 102, 459, 30, 127, 82, 92, 203, 60,
/* 450 */ 52, 54, 66, 62, 64, 72, 74, 76, 78, 68,
/* 460 */ 70, 48, 46, 50, 43, 40, 56, 89, 58, 84,
- /* 470 */ 87, 88, 96, 80, 257, 141, 144, 458, 82, 92,
- /* 480 */ 168, 60, 52, 54, 66, 62, 64, 72, 74, 76,
- /* 490 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
- /* 500 */ 58, 84, 87, 88, 96, 80, 459, 301, 82, 92,
- /* 510 */ 177, 60, 52, 54, 66, 62, 64, 72, 74, 76,
- /* 520 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
- /* 530 */ 58, 84, 87, 88, 96, 80, 170, 317, 82, 92,
- /* 540 */ 183, 60, 52, 54, 66, 62, 64, 72, 74, 76,
- /* 550 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
- /* 560 */ 58, 84, 87, 88, 96, 80, 82, 92, 182, 60,
- /* 570 */ 52, 54, 66, 62, 64, 72, 74, 76, 78, 68,
- /* 580 */ 70, 48, 46, 50, 43, 40, 56, 89, 58, 84,
- /* 590 */ 87, 88, 206, 80, 60, 52, 54, 66, 62, 64,
- /* 600 */ 72, 74, 76, 78, 68, 70, 48, 46, 50, 43,
- /* 610 */ 40, 56, 89, 58, 84, 87, 88, 96, 80, 52,
- /* 620 */ 54, 66, 62, 64, 72, 74, 76, 78, 68, 70,
- /* 630 */ 48, 46, 50, 43, 40, 56, 89, 58, 84, 87,
- /* 640 */ 88, 96, 80, 479, 1, 2, 259, 4, 5, 6,
- /* 650 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- /* 660 */ 17, 18, 19, 20, 21, 22, 66, 62, 64, 72,
- /* 670 */ 74, 76, 78, 68, 70, 48, 46, 50, 43, 40,
- /* 680 */ 56, 89, 58, 84, 87, 88, 96, 80, 33, 259,
- /* 690 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 700 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 174,
- /* 710 */ 259, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- /* 720 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 730 */ 200, 259, 4, 5, 6, 7, 8, 9, 10, 11,
- /* 740 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 750 */ 22, 210, 259, 4, 5, 6, 7, 8, 9, 10,
- /* 760 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- /* 770 */ 21, 22, 218, 259, 4, 5, 6, 7, 8, 9,
- /* 780 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- /* 790 */ 20, 21, 22, 225, 259, 4, 5, 6, 7, 8,
- /* 800 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- /* 810 */ 19, 20, 21, 22, 247, 259, 4, 5, 6, 7,
- /* 820 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- /* 830 */ 18, 19, 20, 21, 22, 262, 259, 4, 5, 6,
- /* 840 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- /* 850 */ 17, 18, 19, 20, 21, 22, 268, 259, 4, 5,
- /* 860 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- /* 870 */ 16, 17, 18, 19, 20, 21, 22, 283, 259, 4,
- /* 880 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- /* 890 */ 15, 16, 17, 18, 19, 20, 21, 22, 302, 259,
- /* 900 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 910 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 311,
- /* 920 */ 259, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- /* 930 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 940 */ 318, 259, 4, 5, 6, 7, 8, 9, 10, 11,
- /* 950 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 960 */ 22, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- /* 970 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 980 */ 22, 44, 41, 196, 103, 90, 98, 25, 197, 100,
- /* 990 */ 216, 44, 41, 140, 103, 117, 98, 117, 118, 100,
- /* 1000 */ 89, 58, 84, 87, 88, 96, 80, 325, 118, 119,
- /* 1010 */ 120, 121, 122, 123, 124, 199, 203, 128, 209, 119,
- /* 1020 */ 120, 121, 122, 123, 124, 84, 87, 88, 96, 80,
- /* 1030 */ 28, 230, 38, 154, 155, 156, 157, 158, 159, 160,
- /* 1040 */ 166, 109, 117, 147, 148, 149, 150, 151, 152, 153,
- /* 1050 */ 117, 109, 24, 214, 29, 31, 37, 167, 169, 334,
- /* 1060 */ 23, 178, 208, 255, 104, 42, 139, 195, 184, 186,
- /* 1070 */ 188, 190, 192, 125, 117, 117, 204, 138, 258, 287,
- /* 1080 */ 215, 289, 222, 213, 229, 232, 255, 238, 241, 244,
- /* 1090 */ 198, 251, 253, 24, 214, 326, 328, 37, 167, 169,
- /* 1100 */ 97, 258, 178, 97, 217, 221, 126, 277, 195, 97,
- /* 1110 */ 117, 134, 228, 117, 129, 207, 255, 204, 231, 117,
- /* 1120 */ 134, 215, 322, 222, 281, 229, 232, 246, 238, 241,
- /* 1130 */ 244, 258, 251, 253, 24, 214, 35, 104, 37, 167,
- /* 1140 */ 169, 104, 34, 178, 106, 139, 113, 117, 111, 195,
- /* 1150 */ 113, 117, 278, 175, 250, 165, 138, 289, 204, 252,
- /* 1160 */ 254, 261, 215, 265, 222, 117, 229, 232, 267, 238,
- /* 1170 */ 241, 244, 201, 251, 253, 24, 214, 271, 255, 37,
- /* 1180 */ 167, 169, 45, 176, 178, 162, 47, 142, 274, 211,
- /* 1190 */ 195, 276, 117, 258, 49, 117, 117, 279, 255, 204,
- /* 1200 */ 282, 286, 288, 215, 117, 222, 291, 229, 232, 255,
- /* 1210 */ 238, 241, 244, 258, 251, 253, 24, 214, 290, 51,
- /* 1220 */ 37, 167, 169, 305, 258, 178, 308, 53, 255, 117,
- /* 1230 */ 272, 195, 300, 202, 307, 219, 314, 117, 321, 324,
- /* 1240 */ 204, 327, 117, 258, 215, 255, 222, 329, 229, 232,
- /* 1250 */ 330, 238, 241, 244, 226, 251, 253, 24, 214, 332,
- /* 1260 */ 258, 37, 167, 169, 55, 248, 178, 266, 331, 266,
- /* 1270 */ 57, 266, 195, 59, 117, 266, 266, 266, 266, 266,
- /* 1280 */ 117, 204, 212, 117, 266, 215, 255, 222, 266, 229,
- /* 1290 */ 232, 255, 238, 241, 244, 263, 251, 253, 24, 214,
- /* 1300 */ 266, 258, 37, 167, 169, 266, 258, 178, 266, 266,
- /* 1310 */ 255, 266, 269, 195, 266, 266, 266, 266, 266, 61,
- /* 1320 */ 266, 255, 204, 266, 266, 258, 215, 220, 222, 117,
- /* 1330 */ 229, 232, 284, 238, 241, 244, 258, 251, 253, 24,
- /* 1340 */ 214, 266, 266, 37, 167, 169, 266, 266, 178, 266,
- /* 1350 */ 309, 255, 63, 303, 195, 266, 266, 266, 266, 266,
- /* 1360 */ 117, 266, 117, 204, 266, 266, 258, 215, 255, 222,
- /* 1370 */ 227, 229, 232, 312, 238, 241, 244, 319, 251, 253,
- /* 1380 */ 24, 214, 65, 258, 37, 167, 169, 266, 255, 178,
- /* 1390 */ 67, 69, 117, 266, 266, 195, 266, 71, 266, 266,
- /* 1400 */ 117, 117, 266, 258, 204, 266, 266, 117, 215, 255,
- /* 1410 */ 222, 266, 229, 232, 266, 238, 241, 244, 249, 251,
- /* 1420 */ 253, 24, 214, 266, 258, 37, 167, 169, 266, 255,
- /* 1430 */ 178, 266, 266, 255, 266, 266, 195, 73, 266, 266,
- /* 1440 */ 75, 266, 77, 266, 258, 204, 266, 117, 258, 215,
- /* 1450 */ 117, 222, 117, 229, 232, 266, 238, 241, 244, 264,
- /* 1460 */ 251, 253, 24, 214, 266, 266, 37, 167, 169, 266,
- /* 1470 */ 79, 178, 266, 266, 81, 83, 266, 195, 86, 266,
- /* 1480 */ 117, 93, 266, 266, 117, 117, 204, 266, 117, 266,
- /* 1490 */ 215, 117, 222, 270, 229, 232, 95, 238, 241, 244,
- /* 1500 */ 99, 251, 253, 24, 214, 101, 117, 37, 167, 169,
- /* 1510 */ 117, 116, 178, 266, 266, 117, 132, 266, 195, 266,
- /* 1520 */ 164, 117, 266, 266, 172, 266, 117, 204, 266, 266,
- /* 1530 */ 117, 215, 273, 222, 117, 229, 232, 185, 238, 241,
- /* 1540 */ 244, 187, 251, 253, 24, 214, 266, 117, 37, 167,
- /* 1550 */ 169, 117, 189, 178, 266, 191, 193, 205, 266, 195,
- /* 1560 */ 223, 285, 117, 266, 266, 117, 117, 117, 204, 266,
- /* 1570 */ 117, 266, 215, 266, 222, 266, 229, 232, 233, 238,
- /* 1580 */ 241, 244, 236, 251, 253, 24, 214, 266, 117, 37,
- /* 1590 */ 167, 169, 117, 304, 178, 266, 239, 266, 242, 266,
- /* 1600 */ 195, 256, 316, 266, 266, 266, 117, 266, 117, 204,
- /* 1610 */ 266, 117, 117, 215, 266, 222, 266, 229, 232, 266,
- /* 1620 */ 238, 241, 244, 266, 251, 253, 24, 214, 266, 266,
- /* 1630 */ 37, 167, 169, 266, 313, 178, 266, 266, 266, 266,
- /* 1640 */ 266, 195, 266, 266, 266, 266, 266, 266, 266, 266,
- /* 1650 */ 204, 266, 266, 266, 215, 266, 222, 266, 229, 232,
- /* 1660 */ 266, 238, 241, 244, 266, 251, 253, 24, 214, 266,
- /* 1670 */ 266, 37, 167, 169, 266, 320, 178, 266, 266, 266,
- /* 1680 */ 266, 266, 195, 266, 266, 266, 266, 266, 266, 266,
- /* 1690 */ 266, 204, 266, 266, 266, 215, 266, 222, 266, 229,
- /* 1700 */ 232, 266, 238, 241, 244, 266, 251, 253, 24, 214,
- /* 1710 */ 323, 266, 37, 167, 169, 266, 266, 178, 266, 266,
- /* 1720 */ 266, 266, 266, 195, 266, 266, 266, 266, 266, 266,
- /* 1730 */ 266, 266, 204, 266, 266, 266, 215, 266, 222, 266,
- /* 1740 */ 229, 232, 266, 238, 241, 244, 266, 251, 253, 24,
- /* 1750 */ 214, 266, 266, 37, 167, 169, 266, 266, 178, 266,
- /* 1760 */ 266, 266, 266, 266, 195, 266, 266, 266, 266, 266,
- /* 1770 */ 266, 266, 266, 204, 266, 266, 266, 215, 266, 222,
- /* 1780 */ 266, 229, 232, 266, 238, 241, 244, 266, 251, 253,
- /* 1790 */ 266, 266, 266, 163, 266, 44, 41, 266, 103, 266,
- /* 1800 */ 98, 266, 266, 100, 266, 266, 266, 266, 266, 266,
- /* 1810 */ 266, 266, 118, 266, 266, 266, 266, 266, 266, 266,
- /* 1820 */ 266, 266, 266, 119, 120, 121, 122, 123, 124, 266,
- /* 1830 */ 266, 161, 266, 266, 44, 41, 266, 103, 266, 98,
- /* 1840 */ 266, 266, 100, 266, 266, 266, 266, 266, 266, 266,
- /* 1850 */ 266, 118, 266, 266, 266, 109, 266, 135, 266, 266,
- /* 1860 */ 266, 266, 119, 120, 121, 122, 123, 124, 266, 266,
- /* 1870 */ 266, 266, 266, 44, 41, 266, 103, 266, 98, 266,
- /* 1880 */ 266, 100, 266, 266, 266, 266, 266, 266, 266, 266,
- /* 1890 */ 146, 266, 266, 266, 109, 266, 266, 266, 266, 266,
- /* 1900 */ 266, 145, 120, 121, 122, 123, 124, 266, 266, 266,
- /* 1910 */ 266, 266, 44, 41, 266, 103, 266, 98, 266, 266,
- /* 1920 */ 100, 266, 266, 266, 266, 266, 266, 266, 266, 118,
- /* 1930 */ 266, 266, 266, 109, 266, 266, 266, 266, 133, 266,
- /* 1940 */ 119, 130, 121, 122, 123, 124, 266, 266, 266, 266,
- /* 1950 */ 266, 44, 41, 266, 103, 266, 98, 266, 266, 100,
- /* 1960 */ 266, 266, 266, 266, 266, 266, 266, 266, 118, 266,
- /* 1970 */ 266, 266, 109, 266, 266, 266, 266, 266, 266, 119,
- /* 1980 */ 114, 121, 122, 123, 124, 266, 266, 266, 266, 266,
- /* 1990 */ 44, 41, 266, 103, 266, 98, 266, 266, 100, 266,
- /* 2000 */ 266, 266, 266, 266, 266, 266, 266, 118, 266, 266,
- /* 2010 */ 105, 109, 266, 266, 266, 266, 266, 266, 119, 114,
- /* 2020 */ 121, 122, 123, 124, 266, 266, 266, 266, 266, 44,
- /* 2030 */ 41, 266, 103, 266, 98, 266, 266, 100, 266, 266,
- /* 2040 */ 266, 266, 266, 266, 266, 266, 118, 266, 266, 266,
- /* 2050 */ 109, 110, 266, 266, 266, 275, 266, 119, 130, 121,
- /* 2060 */ 122, 123, 124, 266, 266, 266, 266, 266, 44, 41,
- /* 2070 */ 266, 103, 266, 98, 266, 266, 100, 266, 266, 266,
- /* 2080 */ 266, 266, 266, 266, 266, 118, 266, 266, 266, 109,
- /* 2090 */ 266, 266, 266, 266, 266, 266, 119, 120, 121, 122,
- /* 2100 */ 123, 124, 266, 266, 266, 266, 266, 44, 41, 266,
- /* 2110 */ 103, 266, 98, 266, 266, 100, 266, 266, 266, 266,
- /* 2120 */ 266, 266, 266, 266, 118, 266, 266, 266, 109, 266,
- /* 2130 */ 266, 266, 266, 266, 266, 119, 114, 121, 122, 123,
- /* 2140 */ 124, 266, 266, 266, 266, 266, 44, 41, 266, 103,
- /* 2150 */ 266, 98, 266, 266, 100, 266, 266, 266, 266, 266,
- /* 2160 */ 266, 266, 266, 118, 266, 266, 266, 109, 266, 266,
- /* 2170 */ 266, 266, 266, 266, 119, 130, 121, 122, 123, 124,
- /* 2180 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
- /* 2190 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
- /* 2200 */ 266, 266, 266, 266, 266, 266, 109,
+ /* 470 */ 87, 88, 96, 80, 265, 317, 82, 92, 199, 60,
+ /* 480 */ 52, 54, 66, 62, 64, 72, 74, 76, 78, 68,
+ /* 490 */ 70, 48, 46, 50, 43, 40, 56, 89, 58, 84,
+ /* 500 */ 87, 88, 96, 80, 271, 237, 82, 92, 274, 60,
+ /* 510 */ 52, 54, 66, 62, 64, 72, 74, 76, 78, 68,
+ /* 520 */ 70, 48, 46, 50, 43, 40, 56, 89, 58, 84,
+ /* 530 */ 87, 88, 96, 80, 183, 240, 82, 92, 36, 60,
+ /* 540 */ 52, 54, 66, 62, 64, 72, 74, 76, 78, 68,
+ /* 550 */ 70, 48, 46, 50, 43, 40, 56, 89, 58, 84,
+ /* 560 */ 87, 88, 96, 80, 82, 92, 276, 60, 52, 54,
+ /* 570 */ 66, 62, 64, 72, 74, 76, 78, 68, 70, 48,
+ /* 580 */ 46, 50, 43, 40, 56, 89, 58, 84, 87, 88,
+ /* 590 */ 206, 80, 60, 52, 54, 66, 62, 64, 72, 74,
+ /* 600 */ 76, 78, 68, 70, 48, 46, 50, 43, 40, 56,
+ /* 610 */ 89, 58, 84, 87, 88, 96, 80, 52, 54, 66,
+ /* 620 */ 62, 64, 72, 74, 76, 78, 68, 70, 48, 46,
+ /* 630 */ 50, 43, 40, 56, 89, 58, 84, 87, 88, 96,
+ /* 640 */ 80, 479, 1, 2, 259, 4, 5, 6, 7, 8,
+ /* 650 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ /* 660 */ 19, 20, 21, 22, 66, 62, 64, 72, 74, 76,
+ /* 670 */ 78, 68, 70, 48, 46, 50, 43, 40, 56, 89,
+ /* 680 */ 58, 84, 87, 88, 96, 80, 247, 259, 4, 5,
+ /* 690 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ /* 700 */ 16, 17, 18, 19, 20, 21, 22, 302, 259, 4,
+ /* 710 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ /* 720 */ 15, 16, 17, 18, 19, 20, 21, 22, 218, 259,
+ /* 730 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ /* 740 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 210,
+ /* 750 */ 259, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ /* 760 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 770 */ 27, 259, 4, 5, 6, 7, 8, 9, 10, 11,
+ /* 780 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ /* 790 */ 22, 225, 259, 4, 5, 6, 7, 8, 9, 10,
+ /* 800 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ /* 810 */ 21, 22, 311, 259, 4, 5, 6, 7, 8, 9,
+ /* 820 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ /* 830 */ 20, 21, 22, 268, 259, 4, 5, 6, 7, 8,
+ /* 840 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ /* 850 */ 19, 20, 21, 22, 262, 259, 4, 5, 6, 7,
+ /* 860 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ /* 870 */ 18, 19, 20, 21, 22, 200, 259, 4, 5, 6,
+ /* 880 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ /* 890 */ 17, 18, 19, 20, 21, 22, 283, 259, 4, 5,
+ /* 900 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ /* 910 */ 16, 17, 18, 19, 20, 21, 22, 318, 259, 4,
+ /* 920 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ /* 930 */ 15, 16, 17, 18, 19, 20, 21, 22, 33, 259,
+ /* 940 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ /* 950 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 174,
+ /* 960 */ 259, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ /* 970 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 980 */ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ /* 990 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 1000 */ 44, 41, 141, 103, 128, 98, 59, 277, 100, 143,
+ /* 1010 */ 44, 41, 104, 103, 97, 98, 117, 118, 100, 111,
+ /* 1020 */ 126, 113, 117, 278, 117, 134, 34, 118, 119, 120,
+ /* 1030 */ 121, 122, 123, 124, 303, 239, 177, 104, 119, 120,
+ /* 1040 */ 121, 122, 123, 124, 106, 117, 113, 117, 144, 208,
+ /* 1050 */ 279, 90, 147, 148, 149, 150, 151, 152, 153, 140,
+ /* 1060 */ 109, 117, 154, 155, 156, 157, 158, 159, 160, 282,
+ /* 1070 */ 109, 24, 214, 326, 328, 37, 167, 169, 334, 23,
+ /* 1080 */ 178, 97, 255, 97, 324, 23, 195, 207, 65, 197,
+ /* 1090 */ 255, 117, 134, 117, 129, 204, 196, 258, 117, 215,
+ /* 1100 */ 458, 222, 286, 229, 232, 258, 238, 241, 244, 23,
+ /* 1110 */ 251, 253, 24, 214, 29, 31, 37, 167, 169, 104,
+ /* 1120 */ 201, 178, 459, 223, 316, 289, 139, 195, 125, 117,
+ /* 1130 */ 289, 288, 139, 117, 117, 255, 204, 138, 290, 198,
+ /* 1140 */ 215, 255, 222, 138, 229, 232, 291, 238, 241, 244,
+ /* 1150 */ 258, 251, 253, 24, 214, 323, 258, 37, 167, 169,
+ /* 1160 */ 45, 269, 178, 242, 168, 255, 327, 312, 195, 300,
+ /* 1170 */ 117, 85, 61, 117, 142, 329, 255, 204, 305, 117,
+ /* 1180 */ 258, 215, 117, 222, 308, 229, 232, 219, 238, 241,
+ /* 1190 */ 244, 258, 251, 253, 24, 214, 172, 170, 37, 167,
+ /* 1200 */ 169, 330, 320, 178, 221, 165, 117, 307, 115, 195,
+ /* 1210 */ 333, 53, 230, 216, 182, 117, 228, 255, 204, 217,
+ /* 1220 */ 266, 117, 215, 255, 222, 231, 229, 232, 32, 238,
+ /* 1230 */ 241, 244, 258, 251, 253, 24, 214, 49, 258, 37,
+ /* 1240 */ 167, 169, 132, 255, 178, 205, 314, 117, 331, 266,
+ /* 1250 */ 195, 73, 117, 266, 266, 117, 67, 266, 258, 204,
+ /* 1260 */ 212, 117, 266, 215, 266, 222, 117, 229, 232, 226,
+ /* 1270 */ 238, 241, 244, 272, 251, 253, 24, 214, 42, 266,
+ /* 1280 */ 37, 167, 169, 266, 176, 178, 266, 81, 117, 38,
+ /* 1290 */ 266, 195, 266, 266, 266, 309, 266, 117, 266, 117,
+ /* 1300 */ 204, 266, 266, 266, 215, 117, 222, 266, 229, 232,
+ /* 1310 */ 319, 238, 241, 244, 211, 251, 253, 24, 214, 35,
+ /* 1320 */ 266, 37, 167, 169, 266, 255, 178, 266, 266, 255,
+ /* 1330 */ 266, 266, 195, 266, 266, 266, 266, 266, 187, 266,
+ /* 1340 */ 258, 204, 266, 266, 258, 215, 322, 222, 117, 229,
+ /* 1350 */ 232, 248, 238, 241, 244, 284, 251, 253, 24, 214,
+ /* 1360 */ 266, 266, 37, 167, 169, 266, 255, 178, 101, 83,
+ /* 1370 */ 255, 266, 266, 195, 193, 266, 266, 266, 117, 117,
+ /* 1380 */ 266, 258, 204, 266, 117, 258, 215, 220, 222, 266,
+ /* 1390 */ 229, 232, 263, 238, 241, 244, 325, 251, 253, 24,
+ /* 1400 */ 214, 266, 255, 37, 167, 169, 266, 255, 178, 266,
+ /* 1410 */ 266, 255, 266, 175, 195, 266, 266, 258, 266, 266,
+ /* 1420 */ 266, 266, 258, 204, 266, 266, 258, 215, 273, 222,
+ /* 1430 */ 266, 229, 232, 28, 238, 241, 244, 191, 251, 253,
+ /* 1440 */ 24, 214, 266, 266, 37, 167, 169, 117, 255, 178,
+ /* 1450 */ 266, 266, 255, 266, 266, 195, 75, 266, 266, 266,
+ /* 1460 */ 266, 266, 266, 258, 204, 266, 117, 258, 215, 255,
+ /* 1470 */ 222, 270, 229, 232, 266, 238, 241, 244, 189, 251,
+ /* 1480 */ 253, 24, 214, 266, 258, 37, 167, 169, 117, 255,
+ /* 1490 */ 178, 266, 166, 185, 266, 266, 195, 266, 266, 266,
+ /* 1500 */ 47, 266, 117, 117, 258, 204, 266, 266, 266, 215,
+ /* 1510 */ 117, 222, 227, 229, 232, 164, 238, 241, 244, 266,
+ /* 1520 */ 251, 253, 24, 214, 266, 117, 37, 167, 169, 266,
+ /* 1530 */ 304, 178, 266, 266, 69, 77, 266, 195, 266, 266,
+ /* 1540 */ 266, 86, 266, 116, 117, 117, 204, 266, 266, 266,
+ /* 1550 */ 215, 117, 222, 117, 229, 232, 95, 238, 241, 244,
+ /* 1560 */ 71, 251, 253, 24, 214, 266, 117, 37, 167, 169,
+ /* 1570 */ 117, 63, 178, 266, 55, 93, 233, 266, 195, 79,
+ /* 1580 */ 285, 117, 266, 266, 117, 117, 117, 204, 266, 117,
+ /* 1590 */ 266, 215, 266, 222, 266, 229, 232, 57, 238, 241,
+ /* 1600 */ 244, 99, 251, 253, 24, 214, 266, 117, 37, 167,
+ /* 1610 */ 169, 117, 256, 178, 266, 266, 266, 236, 266, 195,
+ /* 1620 */ 51, 202, 117, 162, 266, 25, 266, 117, 204, 266,
+ /* 1630 */ 117, 266, 215, 117, 222, 117, 229, 232, 266, 238,
+ /* 1640 */ 241, 244, 266, 251, 253, 24, 214, 266, 266, 37,
+ /* 1650 */ 167, 169, 266, 266, 178, 266, 266, 266, 266, 266,
+ /* 1660 */ 195, 266, 266, 266, 266, 266, 266, 266, 266, 204,
+ /* 1670 */ 266, 266, 266, 215, 266, 222, 266, 229, 232, 266,
+ /* 1680 */ 238, 241, 244, 264, 251, 253, 24, 214, 266, 266,
+ /* 1690 */ 37, 167, 169, 266, 266, 178, 266, 266, 266, 266,
+ /* 1700 */ 266, 195, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 1710 */ 204, 266, 266, 266, 215, 266, 222, 266, 229, 232,
+ /* 1720 */ 266, 238, 241, 244, 249, 251, 253, 24, 214, 266,
+ /* 1730 */ 266, 37, 167, 169, 266, 313, 178, 266, 266, 266,
+ /* 1740 */ 266, 266, 195, 266, 266, 266, 266, 266, 266, 266,
+ /* 1750 */ 266, 204, 266, 266, 266, 215, 266, 222, 266, 229,
+ /* 1760 */ 232, 266, 238, 241, 244, 266, 251, 253, 24, 214,
+ /* 1770 */ 266, 266, 37, 167, 169, 266, 266, 178, 266, 266,
+ /* 1780 */ 266, 266, 266, 195, 266, 44, 41, 266, 103, 266,
+ /* 1790 */ 98, 266, 204, 100, 266, 266, 215, 266, 222, 266,
+ /* 1800 */ 229, 232, 118, 238, 241, 244, 266, 251, 253, 266,
+ /* 1810 */ 266, 266, 266, 119, 114, 121, 122, 123, 124, 266,
+ /* 1820 */ 266, 266, 44, 41, 266, 103, 266, 98, 266, 266,
+ /* 1830 */ 100, 266, 266, 266, 266, 266, 266, 266, 266, 118,
+ /* 1840 */ 266, 266, 266, 266, 266, 109, 110, 266, 133, 266,
+ /* 1850 */ 119, 130, 121, 122, 123, 124, 135, 266, 266, 266,
+ /* 1860 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 1870 */ 266, 266, 44, 41, 266, 103, 266, 98, 266, 266,
+ /* 1880 */ 100, 266, 109, 266, 266, 266, 266, 266, 266, 146,
+ /* 1890 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 1900 */ 145, 120, 121, 122, 123, 124, 266, 266, 161, 266,
+ /* 1910 */ 266, 44, 41, 266, 103, 266, 98, 266, 266, 100,
+ /* 1920 */ 266, 266, 266, 266, 266, 266, 266, 266, 118, 266,
+ /* 1930 */ 44, 41, 109, 103, 266, 98, 266, 266, 100, 119,
+ /* 1940 */ 120, 121, 122, 123, 124, 266, 266, 118, 266, 266,
+ /* 1950 */ 266, 266, 266, 266, 266, 266, 266, 266, 119, 114,
+ /* 1960 */ 121, 122, 123, 124, 266, 44, 41, 266, 103, 266,
+ /* 1970 */ 98, 109, 266, 100, 266, 266, 266, 266, 266, 266,
+ /* 1980 */ 266, 266, 118, 266, 266, 266, 266, 266, 266, 105,
+ /* 1990 */ 109, 275, 266, 119, 130, 121, 122, 123, 124, 266,
+ /* 2000 */ 266, 266, 163, 266, 44, 41, 266, 103, 266, 98,
+ /* 2010 */ 266, 266, 100, 266, 266, 266, 266, 266, 266, 266,
+ /* 2020 */ 266, 118, 266, 266, 266, 109, 266, 266, 266, 266,
+ /* 2030 */ 266, 266, 119, 120, 121, 122, 123, 124, 266, 266,
+ /* 2040 */ 266, 266, 266, 44, 41, 266, 103, 266, 98, 266,
+ /* 2050 */ 266, 100, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 2060 */ 118, 266, 266, 266, 109, 266, 266, 266, 266, 266,
+ /* 2070 */ 266, 119, 114, 121, 122, 123, 124, 266, 266, 266,
+ /* 2080 */ 266, 266, 44, 41, 266, 103, 266, 98, 266, 266,
+ /* 2090 */ 100, 266, 266, 266, 266, 266, 266, 266, 266, 118,
+ /* 2100 */ 266, 266, 266, 109, 266, 266, 266, 266, 266, 266,
+ /* 2110 */ 119, 120, 121, 122, 123, 124, 266, 266, 266, 266,
+ /* 2120 */ 266, 44, 41, 266, 103, 266, 98, 266, 266, 100,
+ /* 2130 */ 266, 266, 266, 266, 266, 266, 266, 266, 118, 266,
+ /* 2140 */ 266, 266, 109, 266, 266, 266, 266, 266, 266, 119,
+ /* 2150 */ 130, 121, 122, 123, 124, 266, 266, 266, 266, 266,
+ /* 2160 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 2170 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ /* 2180 */ 266, 109,
};
-static YYCODETYPE yy_lookahead[] = {
- /* 0 */ 3, 4, 1, 6, 7, 8, 9, 10, 11, 12,
+static VVCODETYPE vv_lookahead[] = {
+ /* 0 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
/* 10 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
/* 20 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- /* 30 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
+ /* 30 */ 3, 4, 32, 6, 7, 8, 9, 10, 11, 12,
/* 40 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 50 */ 23, 24, 25, 26, 27, 28, 29, 30, 57, 32,
- /* 60 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- /* 70 */ 28, 29, 30, 72, 2, 3, 49, 108, 109, 0,
- /* 80 */ 3, 4, 32, 6, 7, 8, 9, 10, 11, 12,
- /* 90 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 100 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
- /* 110 */ 3, 4, 82, 6, 7, 8, 9, 10, 11, 12,
- /* 120 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 130 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- /* 140 */ 3, 4, 65, 6, 7, 8, 9, 10, 11, 12,
+ /* 50 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ /* 60 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
+ /* 70 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 80 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
+ /* 90 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
+ /* 100 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 110 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
+ /* 120 */ 108, 109, 65, 18, 19, 20, 21, 22, 23, 24,
+ /* 130 */ 25, 26, 27, 28, 29, 30, 49, 47, 53, 54,
+ /* 140 */ 3, 4, 82, 6, 7, 8, 9, 10, 11, 12,
/* 150 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 160 */ 23, 24, 25, 26, 27, 28, 29, 30, 2, 32,
+ /* 160 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
/* 170 */ 3, 4, 32, 6, 7, 8, 9, 10, 11, 12,
/* 180 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
/* 190 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
- /* 200 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
+ /* 200 */ 3, 4, 32, 6, 7, 8, 9, 10, 11, 12,
/* 210 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 220 */ 23, 24, 25, 26, 27, 28, 29, 30, 3, 4,
- /* 230 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- /* 240 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- /* 250 */ 25, 26, 27, 28, 29, 30, 86, 87, 88, 89,
- /* 260 */ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- /* 270 */ 100, 101, 102, 103, 104, 105, 106, 80, 110, 111,
- /* 280 */ 80, 3, 4, 2, 6, 7, 8, 9, 10, 11,
- /* 290 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 300 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 21,
- /* 310 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 49,
- /* 320 */ 50, 51, 52, 53, 54, 47, 53, 54, 47, 3,
- /* 330 */ 4, 3, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 340 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- /* 350 */ 24, 25, 26, 27, 28, 29, 30, 5, 32, 3,
- /* 360 */ 4, 115, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 370 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- /* 380 */ 24, 25, 26, 27, 28, 29, 30, 5, 32, 3,
- /* 390 */ 4, 80, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 400 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- /* 410 */ 24, 25, 26, 27, 28, 29, 30, 80, 32, 3,
- /* 420 */ 4, 80, 6, 7, 8, 9, 10, 11, 12, 13,
- /* 430 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- /* 440 */ 24, 25, 26, 27, 28, 29, 30, 4, 115, 6,
+ /* 220 */ 23, 24, 25, 26, 27, 28, 29, 30, 4, 115,
+ /* 230 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ /* 240 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ /* 250 */ 26, 27, 28, 29, 30, 58, 2, 110, 111, 3,
+ /* 260 */ 4, 32, 6, 7, 8, 9, 10, 11, 12, 13,
+ /* 270 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ /* 280 */ 24, 25, 26, 27, 28, 29, 30, 3, 4, 32,
+ /* 290 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ /* 300 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ /* 310 */ 26, 27, 28, 29, 30, 5, 32, 21, 22, 23,
+ /* 320 */ 24, 25, 26, 27, 28, 29, 30, 24, 25, 26,
+ /* 330 */ 27, 28, 29, 30, 80, 80, 80, 2, 3, 32,
+ /* 340 */ 3, 4, 80, 6, 7, 8, 9, 10, 11, 12,
+ /* 350 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 360 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
+ /* 370 */ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ /* 380 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ /* 390 */ 23, 24, 25, 26, 27, 28, 29, 30, 3, 4,
+ /* 400 */ 2, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ /* 410 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ /* 420 */ 25, 26, 27, 28, 29, 30, 49, 50, 51, 52,
+ /* 430 */ 53, 54, 41, 42, 43, 44, 45, 26, 27, 28,
+ /* 440 */ 29, 30, 47, 80, 32, 47, 3, 4, 32, 6,
/* 450 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
/* 460 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- /* 470 */ 27, 28, 29, 30, 58, 5, 80, 5, 3, 4,
- /* 480 */ 32, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- /* 490 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- /* 500 */ 25, 26, 27, 28, 29, 30, 5, 32, 3, 4,
- /* 510 */ 32, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- /* 520 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- /* 530 */ 25, 26, 27, 28, 29, 30, 38, 32, 3, 4,
- /* 540 */ 38, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- /* 550 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- /* 560 */ 25, 26, 27, 28, 29, 30, 3, 4, 109, 6,
- /* 570 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- /* 580 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- /* 590 */ 27, 28, 29, 30, 6, 7, 8, 9, 10, 11,
- /* 600 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- /* 610 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 7,
- /* 620 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- /* 630 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- /* 640 */ 28, 29, 30, 84, 85, 86, 87, 88, 89, 90,
- /* 650 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- /* 660 */ 101, 102, 103, 104, 105, 106, 9, 10, 11, 12,
- /* 670 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- /* 680 */ 23, 24, 25, 26, 27, 28, 29, 30, 86, 87,
- /* 690 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- /* 700 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 86,
- /* 710 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- /* 720 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- /* 730 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- /* 740 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- /* 750 */ 106, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- /* 760 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- /* 770 */ 105, 106, 86, 87, 88, 89, 90, 91, 92, 93,
- /* 780 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
- /* 790 */ 104, 105, 106, 86, 87, 88, 89, 90, 91, 92,
- /* 800 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- /* 810 */ 103, 104, 105, 106, 86, 87, 88, 89, 90, 91,
- /* 820 */ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- /* 830 */ 102, 103, 104, 105, 106, 86, 87, 88, 89, 90,
- /* 840 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- /* 850 */ 101, 102, 103, 104, 105, 106, 86, 87, 88, 89,
- /* 860 */ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- /* 870 */ 100, 101, 102, 103, 104, 105, 106, 86, 87, 88,
- /* 880 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- /* 890 */ 99, 100, 101, 102, 103, 104, 105, 106, 86, 87,
- /* 900 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- /* 910 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 86,
- /* 920 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- /* 930 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- /* 940 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- /* 950 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- /* 960 */ 106, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- /* 970 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- /* 980 */ 106, 21, 22, 38, 24, 107, 26, 107, 29, 29,
- /* 990 */ 38, 21, 22, 115, 24, 117, 26, 117, 38, 29,
- /* 1000 */ 24, 25, 26, 27, 28, 29, 30, 1, 38, 49,
- /* 1010 */ 50, 51, 52, 53, 54, 32, 32, 2, 32, 49,
- /* 1020 */ 50, 51, 52, 53, 54, 26, 27, 28, 29, 30,
- /* 1030 */ 1, 50, 107, 73, 74, 75, 76, 77, 78, 79,
- /* 1040 */ 107, 81, 117, 73, 74, 75, 76, 77, 78, 79,
- /* 1050 */ 117, 81, 31, 32, 33, 34, 35, 36, 37, 0,
- /* 1060 */ 1, 40, 47, 57, 107, 107, 38, 46, 41, 42,
- /* 1070 */ 43, 44, 45, 116, 117, 117, 55, 49, 72, 2,
- /* 1080 */ 59, 38, 61, 32, 63, 64, 57, 66, 67, 68,
- /* 1090 */ 47, 70, 71, 31, 32, 33, 34, 35, 36, 37,
- /* 1100 */ 107, 72, 40, 107, 32, 32, 113, 1, 46, 107,
- /* 1110 */ 117, 118, 32, 117, 118, 113, 57, 55, 32, 117,
- /* 1120 */ 118, 59, 1, 61, 47, 63, 64, 32, 66, 67,
- /* 1130 */ 68, 72, 70, 71, 31, 32, 33, 107, 35, 36,
- /* 1140 */ 37, 107, 1, 40, 114, 38, 116, 117, 114, 46,
- /* 1150 */ 116, 117, 56, 1, 32, 107, 49, 38, 55, 32,
- /* 1160 */ 32, 32, 59, 32, 61, 117, 63, 64, 32, 66,
- /* 1170 */ 67, 68, 1, 70, 71, 31, 32, 32, 57, 35,
- /* 1180 */ 36, 37, 107, 39, 40, 107, 107, 80, 32, 1,
- /* 1190 */ 46, 32, 117, 72, 107, 117, 117, 32, 57, 55,
- /* 1200 */ 32, 32, 111, 59, 117, 61, 112, 63, 64, 57,
- /* 1210 */ 66, 67, 68, 72, 70, 71, 31, 32, 41, 107,
- /* 1220 */ 35, 36, 37, 32, 72, 40, 3, 107, 57, 117,
- /* 1230 */ 1, 46, 107, 48, 38, 1, 32, 117, 32, 32,
- /* 1240 */ 55, 32, 117, 72, 59, 57, 61, 32, 63, 64,
- /* 1250 */ 1, 66, 67, 68, 1, 70, 71, 31, 32, 32,
- /* 1260 */ 72, 35, 36, 37, 107, 1, 40, 119, 33, 119,
- /* 1270 */ 107, 119, 46, 107, 117, 119, 119, 119, 119, 119,
- /* 1280 */ 117, 55, 56, 117, 119, 59, 57, 61, 119, 63,
- /* 1290 */ 64, 57, 66, 67, 68, 1, 70, 71, 31, 32,
- /* 1300 */ 119, 72, 35, 36, 37, 119, 72, 40, 119, 119,
- /* 1310 */ 57, 119, 1, 46, 119, 119, 119, 119, 119, 107,
- /* 1320 */ 119, 57, 55, 119, 119, 72, 59, 60, 61, 117,
- /* 1330 */ 63, 64, 1, 66, 67, 68, 72, 70, 71, 31,
- /* 1340 */ 32, 119, 119, 35, 36, 37, 119, 119, 40, 119,
- /* 1350 */ 107, 57, 107, 1, 46, 119, 119, 119, 119, 119,
- /* 1360 */ 117, 119, 117, 55, 119, 119, 72, 59, 57, 61,
- /* 1370 */ 62, 63, 64, 1, 66, 67, 68, 1, 70, 71,
- /* 1380 */ 31, 32, 107, 72, 35, 36, 37, 119, 57, 40,
- /* 1390 */ 107, 107, 117, 119, 119, 46, 119, 107, 119, 119,
- /* 1400 */ 117, 117, 119, 72, 55, 119, 119, 117, 59, 57,
- /* 1410 */ 61, 119, 63, 64, 119, 66, 67, 68, 69, 70,
- /* 1420 */ 71, 31, 32, 119, 72, 35, 36, 37, 119, 57,
- /* 1430 */ 40, 119, 119, 57, 119, 119, 46, 107, 119, 119,
- /* 1440 */ 107, 119, 107, 119, 72, 55, 119, 117, 72, 59,
- /* 1450 */ 117, 61, 117, 63, 64, 119, 66, 67, 68, 69,
- /* 1460 */ 70, 71, 31, 32, 119, 119, 35, 36, 37, 119,
- /* 1470 */ 107, 40, 119, 119, 107, 107, 119, 46, 107, 119,
- /* 1480 */ 117, 107, 119, 119, 117, 117, 55, 119, 117, 119,
- /* 1490 */ 59, 117, 61, 62, 63, 64, 107, 66, 67, 68,
- /* 1500 */ 107, 70, 71, 31, 32, 107, 117, 35, 36, 37,
- /* 1510 */ 117, 107, 40, 119, 119, 117, 107, 119, 46, 119,
- /* 1520 */ 107, 117, 119, 119, 107, 119, 117, 55, 119, 119,
- /* 1530 */ 117, 59, 60, 61, 117, 63, 64, 107, 66, 67,
- /* 1540 */ 68, 107, 70, 71, 31, 32, 119, 117, 35, 36,
- /* 1550 */ 37, 117, 107, 40, 119, 107, 107, 107, 119, 46,
- /* 1560 */ 107, 48, 117, 119, 119, 117, 117, 117, 55, 119,
- /* 1570 */ 117, 119, 59, 119, 61, 119, 63, 64, 107, 66,
- /* 1580 */ 67, 68, 107, 70, 71, 31, 32, 119, 117, 35,
- /* 1590 */ 36, 37, 117, 39, 40, 119, 107, 119, 107, 119,
- /* 1600 */ 46, 107, 107, 119, 119, 119, 117, 119, 117, 55,
- /* 1610 */ 119, 117, 117, 59, 119, 61, 119, 63, 64, 119,
- /* 1620 */ 66, 67, 68, 119, 70, 71, 31, 32, 119, 119,
- /* 1630 */ 35, 36, 37, 119, 39, 40, 119, 119, 119, 119,
- /* 1640 */ 119, 46, 119, 119, 119, 119, 119, 119, 119, 119,
- /* 1650 */ 55, 119, 119, 119, 59, 119, 61, 119, 63, 64,
- /* 1660 */ 119, 66, 67, 68, 119, 70, 71, 31, 32, 119,
- /* 1670 */ 119, 35, 36, 37, 119, 39, 40, 119, 119, 119,
- /* 1680 */ 119, 119, 46, 119, 119, 119, 119, 119, 119, 119,
- /* 1690 */ 119, 55, 119, 119, 119, 59, 119, 61, 119, 63,
- /* 1700 */ 64, 119, 66, 67, 68, 119, 70, 71, 31, 32,
- /* 1710 */ 33, 119, 35, 36, 37, 119, 119, 40, 119, 119,
- /* 1720 */ 119, 119, 119, 46, 119, 119, 119, 119, 119, 119,
- /* 1730 */ 119, 119, 55, 119, 119, 119, 59, 119, 61, 119,
- /* 1740 */ 63, 64, 119, 66, 67, 68, 119, 70, 71, 31,
- /* 1750 */ 32, 119, 119, 35, 36, 37, 119, 119, 40, 119,
- /* 1760 */ 119, 119, 119, 119, 46, 119, 119, 119, 119, 119,
- /* 1770 */ 119, 119, 119, 55, 119, 119, 119, 59, 119, 61,
- /* 1780 */ 119, 63, 64, 119, 66, 67, 68, 119, 70, 71,
- /* 1790 */ 119, 119, 119, 19, 119, 21, 22, 119, 24, 119,
- /* 1800 */ 26, 119, 119, 29, 119, 119, 119, 119, 119, 119,
- /* 1810 */ 119, 119, 38, 119, 119, 119, 119, 119, 119, 119,
- /* 1820 */ 119, 119, 119, 49, 50, 51, 52, 53, 54, 119,
- /* 1830 */ 119, 18, 119, 119, 21, 22, 119, 24, 119, 26,
- /* 1840 */ 119, 119, 29, 119, 119, 119, 119, 119, 119, 119,
- /* 1850 */ 119, 38, 119, 119, 119, 81, 119, 5, 119, 119,
- /* 1860 */ 119, 119, 49, 50, 51, 52, 53, 54, 119, 119,
- /* 1870 */ 119, 119, 119, 21, 22, 119, 24, 119, 26, 119,
- /* 1880 */ 119, 29, 119, 119, 119, 119, 119, 119, 119, 119,
- /* 1890 */ 38, 119, 119, 119, 81, 119, 119, 119, 119, 119,
- /* 1900 */ 119, 49, 50, 51, 52, 53, 54, 119, 119, 119,
- /* 1910 */ 119, 119, 21, 22, 119, 24, 119, 26, 119, 119,
- /* 1920 */ 29, 119, 119, 119, 119, 119, 119, 119, 119, 38,
- /* 1930 */ 119, 119, 119, 81, 119, 119, 119, 119, 47, 119,
- /* 1940 */ 49, 50, 51, 52, 53, 54, 119, 119, 119, 119,
- /* 1950 */ 119, 21, 22, 119, 24, 119, 26, 119, 119, 29,
- /* 1960 */ 119, 119, 119, 119, 119, 119, 119, 119, 38, 119,
- /* 1970 */ 119, 119, 81, 119, 119, 119, 119, 119, 119, 49,
- /* 1980 */ 50, 51, 52, 53, 54, 119, 119, 119, 119, 119,
- /* 1990 */ 21, 22, 119, 24, 119, 26, 119, 119, 29, 119,
- /* 2000 */ 119, 119, 119, 119, 119, 119, 119, 38, 119, 119,
- /* 2010 */ 80, 81, 119, 119, 119, 119, 119, 119, 49, 50,
- /* 2020 */ 51, 52, 53, 54, 119, 119, 119, 119, 119, 21,
- /* 2030 */ 22, 119, 24, 119, 26, 119, 119, 29, 119, 119,
- /* 2040 */ 119, 119, 119, 119, 119, 119, 38, 119, 119, 119,
- /* 2050 */ 81, 82, 119, 119, 119, 47, 119, 49, 50, 51,
- /* 2060 */ 52, 53, 54, 119, 119, 119, 119, 119, 21, 22,
- /* 2070 */ 119, 24, 119, 26, 119, 119, 29, 119, 119, 119,
- /* 2080 */ 119, 119, 119, 119, 119, 38, 119, 119, 119, 81,
- /* 2090 */ 119, 119, 119, 119, 119, 119, 49, 50, 51, 52,
- /* 2100 */ 53, 54, 119, 119, 119, 119, 119, 21, 22, 119,
- /* 2110 */ 24, 119, 26, 119, 119, 29, 119, 119, 119, 119,
- /* 2120 */ 119, 119, 119, 119, 38, 119, 119, 119, 81, 119,
- /* 2130 */ 119, 119, 119, 119, 119, 49, 50, 51, 52, 53,
- /* 2140 */ 54, 119, 119, 119, 119, 119, 21, 22, 119, 24,
- /* 2150 */ 119, 26, 119, 119, 29, 119, 119, 119, 119, 119,
- /* 2160 */ 119, 119, 119, 38, 119, 119, 119, 81, 119, 119,
- /* 2170 */ 119, 119, 119, 119, 49, 50, 51, 52, 53, 54,
- /* 2180 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- /* 2190 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- /* 2200 */ 119, 119, 119, 119, 119, 119, 81,
+ /* 470 */ 27, 28, 29, 30, 32, 32, 3, 4, 32, 6,
+ /* 480 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ /* 490 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ /* 500 */ 27, 28, 29, 30, 32, 32, 3, 4, 32, 6,
+ /* 510 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ /* 520 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ /* 530 */ 27, 28, 29, 30, 38, 32, 3, 4, 32, 6,
+ /* 540 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ /* 550 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ /* 560 */ 27, 28, 29, 30, 3, 4, 32, 6, 7, 8,
+ /* 570 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ /* 580 */ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ /* 590 */ 29, 30, 6, 7, 8, 9, 10, 11, 12, 13,
+ /* 600 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ /* 610 */ 24, 25, 26, 27, 28, 29, 30, 7, 8, 9,
+ /* 620 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ /* 630 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ /* 640 */ 30, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ /* 650 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ /* 660 */ 103, 104, 105, 106, 9, 10, 11, 12, 13, 14,
+ /* 670 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ /* 680 */ 25, 26, 27, 28, 29, 30, 86, 87, 88, 89,
+ /* 690 */ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ /* 700 */ 100, 101, 102, 103, 104, 105, 106, 86, 87, 88,
+ /* 710 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ /* 720 */ 99, 100, 101, 102, 103, 104, 105, 106, 86, 87,
+ /* 730 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ /* 740 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 86,
+ /* 750 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ /* 760 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ /* 770 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ /* 780 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ /* 790 */ 106, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ /* 800 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ /* 810 */ 105, 106, 86, 87, 88, 89, 90, 91, 92, 93,
+ /* 820 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ /* 830 */ 104, 105, 106, 86, 87, 88, 89, 90, 91, 92,
+ /* 840 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ /* 850 */ 103, 104, 105, 106, 86, 87, 88, 89, 90, 91,
+ /* 860 */ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ /* 870 */ 102, 103, 104, 105, 106, 86, 87, 88, 89, 90,
+ /* 880 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ /* 890 */ 101, 102, 103, 104, 105, 106, 86, 87, 88, 89,
+ /* 900 */ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ /* 910 */ 100, 101, 102, 103, 104, 105, 106, 86, 87, 88,
+ /* 920 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ /* 930 */ 99, 100, 101, 102, 103, 104, 105, 106, 86, 87,
+ /* 940 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ /* 950 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 86,
+ /* 960 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ /* 970 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ /* 980 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ /* 990 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ /* 1000 */ 21, 22, 5, 24, 2, 26, 107, 1, 29, 115,
+ /* 1010 */ 21, 22, 107, 24, 107, 26, 117, 38, 29, 114,
+ /* 1020 */ 113, 116, 117, 56, 117, 118, 1, 38, 49, 50,
+ /* 1030 */ 51, 52, 53, 54, 1, 107, 32, 107, 49, 50,
+ /* 1040 */ 51, 52, 53, 54, 114, 117, 116, 117, 80, 47,
+ /* 1050 */ 32, 107, 73, 74, 75, 76, 77, 78, 79, 115,
+ /* 1060 */ 81, 117, 73, 74, 75, 76, 77, 78, 79, 32,
+ /* 1070 */ 81, 31, 32, 33, 34, 35, 36, 37, 0, 1,
+ /* 1080 */ 40, 107, 57, 107, 32, 1, 46, 113, 107, 29,
+ /* 1090 */ 57, 117, 118, 117, 118, 55, 38, 72, 117, 59,
+ /* 1100 */ 5, 61, 32, 63, 64, 72, 66, 67, 68, 1,
+ /* 1110 */ 70, 71, 31, 32, 33, 34, 35, 36, 37, 107,
+ /* 1120 */ 1, 40, 5, 107, 107, 38, 38, 46, 116, 117,
+ /* 1130 */ 38, 111, 38, 117, 117, 57, 55, 49, 41, 47,
+ /* 1140 */ 59, 57, 61, 49, 63, 64, 112, 66, 67, 68,
+ /* 1150 */ 72, 70, 71, 31, 32, 33, 72, 35, 36, 37,
+ /* 1160 */ 107, 1, 40, 107, 32, 57, 32, 1, 46, 107,
+ /* 1170 */ 117, 3, 107, 117, 80, 32, 57, 55, 32, 117,
+ /* 1180 */ 72, 59, 117, 61, 3, 63, 64, 1, 66, 67,
+ /* 1190 */ 68, 72, 70, 71, 31, 32, 107, 38, 35, 36,
+ /* 1200 */ 37, 1, 39, 40, 32, 107, 117, 38, 5, 46,
+ /* 1210 */ 0, 107, 50, 38, 109, 117, 32, 57, 55, 32,
+ /* 1220 */ 119, 117, 59, 57, 61, 32, 63, 64, 32, 66,
+ /* 1230 */ 67, 68, 72, 70, 71, 31, 32, 107, 72, 35,
+ /* 1240 */ 36, 37, 107, 57, 40, 107, 32, 117, 33, 119,
+ /* 1250 */ 46, 107, 117, 119, 119, 117, 107, 119, 72, 55,
+ /* 1260 */ 56, 117, 119, 59, 119, 61, 117, 63, 64, 1,
+ /* 1270 */ 66, 67, 68, 1, 70, 71, 31, 32, 107, 119,
+ /* 1280 */ 35, 36, 37, 119, 39, 40, 119, 107, 117, 107,
+ /* 1290 */ 119, 46, 119, 119, 119, 107, 119, 117, 119, 117,
+ /* 1300 */ 55, 119, 119, 119, 59, 117, 61, 119, 63, 64,
+ /* 1310 */ 1, 66, 67, 68, 1, 70, 71, 31, 32, 33,
+ /* 1320 */ 119, 35, 36, 37, 119, 57, 40, 119, 119, 57,
+ /* 1330 */ 119, 119, 46, 119, 119, 119, 119, 119, 107, 119,
+ /* 1340 */ 72, 55, 119, 119, 72, 59, 1, 61, 117, 63,
+ /* 1350 */ 64, 1, 66, 67, 68, 1, 70, 71, 31, 32,
+ /* 1360 */ 119, 119, 35, 36, 37, 119, 57, 40, 107, 107,
+ /* 1370 */ 57, 119, 119, 46, 107, 119, 119, 119, 117, 117,
+ /* 1380 */ 119, 72, 55, 119, 117, 72, 59, 60, 61, 119,
+ /* 1390 */ 63, 64, 1, 66, 67, 68, 1, 70, 71, 31,
+ /* 1400 */ 32, 119, 57, 35, 36, 37, 119, 57, 40, 119,
+ /* 1410 */ 119, 57, 119, 1, 46, 119, 119, 72, 119, 119,
+ /* 1420 */ 119, 119, 72, 55, 119, 119, 72, 59, 60, 61,
+ /* 1430 */ 119, 63, 64, 1, 66, 67, 68, 107, 70, 71,
+ /* 1440 */ 31, 32, 119, 119, 35, 36, 37, 117, 57, 40,
+ /* 1450 */ 119, 119, 57, 119, 119, 46, 107, 119, 119, 119,
+ /* 1460 */ 119, 119, 119, 72, 55, 119, 117, 72, 59, 57,
+ /* 1470 */ 61, 62, 63, 64, 119, 66, 67, 68, 107, 70,
+ /* 1480 */ 71, 31, 32, 119, 72, 35, 36, 37, 117, 57,
+ /* 1490 */ 40, 119, 107, 107, 119, 119, 46, 119, 119, 119,
+ /* 1500 */ 107, 119, 117, 117, 72, 55, 119, 119, 119, 59,
+ /* 1510 */ 117, 61, 62, 63, 64, 107, 66, 67, 68, 119,
+ /* 1520 */ 70, 71, 31, 32, 119, 117, 35, 36, 37, 119,
+ /* 1530 */ 39, 40, 119, 119, 107, 107, 119, 46, 119, 119,
+ /* 1540 */ 119, 107, 119, 107, 117, 117, 55, 119, 119, 119,
+ /* 1550 */ 59, 117, 61, 117, 63, 64, 107, 66, 67, 68,
+ /* 1560 */ 107, 70, 71, 31, 32, 119, 117, 35, 36, 37,
+ /* 1570 */ 117, 107, 40, 119, 107, 107, 107, 119, 46, 107,
+ /* 1580 */ 48, 117, 119, 119, 117, 117, 117, 55, 119, 117,
+ /* 1590 */ 119, 59, 119, 61, 119, 63, 64, 107, 66, 67,
+ /* 1600 */ 68, 107, 70, 71, 31, 32, 119, 117, 35, 36,
+ /* 1610 */ 37, 117, 107, 40, 119, 119, 119, 107, 119, 46,
+ /* 1620 */ 107, 48, 117, 107, 119, 107, 119, 117, 55, 119,
+ /* 1630 */ 117, 119, 59, 117, 61, 117, 63, 64, 119, 66,
+ /* 1640 */ 67, 68, 119, 70, 71, 31, 32, 119, 119, 35,
+ /* 1650 */ 36, 37, 119, 119, 40, 119, 119, 119, 119, 119,
+ /* 1660 */ 46, 119, 119, 119, 119, 119, 119, 119, 119, 55,
+ /* 1670 */ 119, 119, 119, 59, 119, 61, 119, 63, 64, 119,
+ /* 1680 */ 66, 67, 68, 69, 70, 71, 31, 32, 119, 119,
+ /* 1690 */ 35, 36, 37, 119, 119, 40, 119, 119, 119, 119,
+ /* 1700 */ 119, 46, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 1710 */ 55, 119, 119, 119, 59, 119, 61, 119, 63, 64,
+ /* 1720 */ 119, 66, 67, 68, 69, 70, 71, 31, 32, 119,
+ /* 1730 */ 119, 35, 36, 37, 119, 39, 40, 119, 119, 119,
+ /* 1740 */ 119, 119, 46, 119, 119, 119, 119, 119, 119, 119,
+ /* 1750 */ 119, 55, 119, 119, 119, 59, 119, 61, 119, 63,
+ /* 1760 */ 64, 119, 66, 67, 68, 119, 70, 71, 31, 32,
+ /* 1770 */ 119, 119, 35, 36, 37, 119, 119, 40, 119, 119,
+ /* 1780 */ 119, 119, 119, 46, 119, 21, 22, 119, 24, 119,
+ /* 1790 */ 26, 119, 55, 29, 119, 119, 59, 119, 61, 119,
+ /* 1800 */ 63, 64, 38, 66, 67, 68, 119, 70, 71, 119,
+ /* 1810 */ 119, 119, 119, 49, 50, 51, 52, 53, 54, 119,
+ /* 1820 */ 119, 119, 21, 22, 119, 24, 119, 26, 119, 119,
+ /* 1830 */ 29, 119, 119, 119, 119, 119, 119, 119, 119, 38,
+ /* 1840 */ 119, 119, 119, 119, 119, 81, 82, 119, 47, 119,
+ /* 1850 */ 49, 50, 51, 52, 53, 54, 5, 119, 119, 119,
+ /* 1860 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 1870 */ 119, 119, 21, 22, 119, 24, 119, 26, 119, 119,
+ /* 1880 */ 29, 119, 81, 119, 119, 119, 119, 119, 119, 38,
+ /* 1890 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 1900 */ 49, 50, 51, 52, 53, 54, 119, 119, 18, 119,
+ /* 1910 */ 119, 21, 22, 119, 24, 119, 26, 119, 119, 29,
+ /* 1920 */ 119, 119, 119, 119, 119, 119, 119, 119, 38, 119,
+ /* 1930 */ 21, 22, 81, 24, 119, 26, 119, 119, 29, 49,
+ /* 1940 */ 50, 51, 52, 53, 54, 119, 119, 38, 119, 119,
+ /* 1950 */ 119, 119, 119, 119, 119, 119, 119, 119, 49, 50,
+ /* 1960 */ 51, 52, 53, 54, 119, 21, 22, 119, 24, 119,
+ /* 1970 */ 26, 81, 119, 29, 119, 119, 119, 119, 119, 119,
+ /* 1980 */ 119, 119, 38, 119, 119, 119, 119, 119, 119, 80,
+ /* 1990 */ 81, 47, 119, 49, 50, 51, 52, 53, 54, 119,
+ /* 2000 */ 119, 119, 19, 119, 21, 22, 119, 24, 119, 26,
+ /* 2010 */ 119, 119, 29, 119, 119, 119, 119, 119, 119, 119,
+ /* 2020 */ 119, 38, 119, 119, 119, 81, 119, 119, 119, 119,
+ /* 2030 */ 119, 119, 49, 50, 51, 52, 53, 54, 119, 119,
+ /* 2040 */ 119, 119, 119, 21, 22, 119, 24, 119, 26, 119,
+ /* 2050 */ 119, 29, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 2060 */ 38, 119, 119, 119, 81, 119, 119, 119, 119, 119,
+ /* 2070 */ 119, 49, 50, 51, 52, 53, 54, 119, 119, 119,
+ /* 2080 */ 119, 119, 21, 22, 119, 24, 119, 26, 119, 119,
+ /* 2090 */ 29, 119, 119, 119, 119, 119, 119, 119, 119, 38,
+ /* 2100 */ 119, 119, 119, 81, 119, 119, 119, 119, 119, 119,
+ /* 2110 */ 49, 50, 51, 52, 53, 54, 119, 119, 119, 119,
+ /* 2120 */ 119, 21, 22, 119, 24, 119, 26, 119, 119, 29,
+ /* 2130 */ 119, 119, 119, 119, 119, 119, 119, 119, 38, 119,
+ /* 2140 */ 119, 119, 81, 119, 119, 119, 119, 119, 119, 49,
+ /* 2150 */ 50, 51, 52, 53, 54, 119, 119, 119, 119, 119,
+ /* 2160 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 2170 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ /* 2180 */ 119, 81,
};
-#define YY_SHIFT_USE_DFLT (-4)
-static short yy_shift_ofst[] = {
- /* 0 */ 1, 79, 1059, -4, -4, -4, -4, -4, -4, -4,
+#define VV_SHIFT_USE_DFLT (-4)
+static short vv_shift_ofst[] = {
+ /* 0 */ 1084, 1210, 1078, -4, -4, -4, -4, -4, -4, -4,
/* 10 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
- /* 20 */ -4, -4, -4, 1718, 2047, 137, 1006, 1029, 1021, 50,
- /* 30 */ -4, 76, 1121, 1141, 1103, 140, -4, 2047, 167, -4,
- /* 40 */ 2047, 2047, 976, 2047, 2047, 976, 1774, 288, 1813, 288,
- /* 50 */ 2047, 288, 2047, 657, 2047, 657, 2047, 976, 2047, 999,
- /* 60 */ 2047, 612, 2047, 42, 960, 42, 970, 42, 2047, 42,
- /* 70 */ 2047, 42, 2047, 42, 2047, 42, 2047, 42, 2047, 42,
- /* 80 */ 2047, -4, 2047, 443, 328, 2047, 999, -4, -4, 1852,
- /* 90 */ 197, -4, 2047, 225, 2047, 588, 1891, 535, 2047, 999,
- /* 100 */ 2047, 278, -4, 1930, 535, -4, 200, -4, 2086, 1969,
- /* 110 */ -4, 30, -4, -4, 352, 2047, 535, -4, -4, -4,
- /* 120 */ -4, -4, -4, -4, -4, -4, 281, -4, 2125, -4,
- /* 130 */ 382, 2047, 535, -4, -4, 1028, 311, -4, 337, 341,
- /* 140 */ 470, 1107, -4, 396, -4, 472, 501, -4, -4, -4,
+ /* 20 */ -4, -4, -4, 1737, 2061, 284, 1395, 1432, 1081, 412,
+ /* 30 */ -4, 1196, 1345, 1025, 1286, 506, -4, 2061, 337, -4,
+ /* 40 */ 2061, 2061, 303, 2061, 2061, 303, 1983, 296, 1890, 296,
+ /* 50 */ 2061, 296, 2061, 655, 2061, 655, 2061, 303, 2061, 411,
+ /* 60 */ 2061, 610, 2061, 105, 989, 105, 979, 105, 2061, 105,
+ /* 70 */ 2061, 105, 2061, 105, 2061, 105, 2061, 105, 2061, 105,
+ /* 80 */ 2061, -4, 2061, 224, 1168, 2061, 411, -4, -4, 1851,
+ /* 90 */ 256, -4, 2061, 367, 2061, 586, 1801, 533, 2061, 411,
+ /* 100 */ 2061, 395, -4, 1909, 533, -4, 254, -4, 2022, 1764,
+ /* 110 */ -4, 60, -4, -4, 1203, 2061, 533, -4, -4, -4,
+ /* 120 */ -4, -4, -4, -4, -4, -4, 398, -4, 2100, -4,
+ /* 130 */ 310, 2061, 533, -4, -4, 1088, 255, -4, 262, 363,
+ /* 140 */ 997, 1094, -4, 968, -4, 1095, 1117, -4, -4, -4,
/* 150 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
- /* 160 */ -4, 2047, 288, 2047, 288, 976, 976, 448, -4, 498,
- /* 170 */ 72, 2047, -3, 1, 1152, 1144, 478, -4, 502, 166,
- /* 180 */ -4, 502, -4, 1027, 2047, 535, 2047, 535, 2047, 535,
- /* 190 */ 2047, 535, 2047, 535, -4, 945, 959, 1043, 983, 1,
- /* 200 */ 1171, 1185, 984, -4, 2047, 563, 2008, 1015, 986, 1,
- /* 210 */ 1188, 1226, 1051, -4, -4, 952, 1072, 1229, 1234, 1267,
- /* 220 */ 1073, -4, 2047, 27, 1, 1253, 1308, 1080, -4, 981,
- /* 230 */ 1086, -4, 2047, 77, -4, 2047, 326, -4, 2047, 356,
- /* 240 */ -4, 2047, 386, -4, 273, 1095, 1, 1264, 1349, 1122,
- /* 250 */ -4, 1127, -4, 1128, -4, 2047, 416, -4, -4, -4,
- /* 260 */ 1129, 1, 1294, 1390, 1131, -4, 1136, 1, 1311, 1431,
- /* 270 */ 1145, -4, 1472, 1156, -4, 1159, 1106, 1096, 1165, -4,
- /* 280 */ 1077, 1168, 1, 1331, 1513, 1169, -4, 1119, -4, 1177,
- /* 290 */ 270, -4, -4, -4, -4, -4, -4, -4, -4, 2047,
- /* 300 */ 475, 1, 1352, 1554, 1191, -4, 1196, 1223, 2047, 107,
- /* 310 */ 1, 1372, 1595, 1204, -4, 2047, 505, 1, 1376, 1636,
- /* 320 */ 1206, -4, 1677, 1207, -4, 1062, 1209, -4, 1215, 1249,
- /* 330 */ 1235, 1227, -4,
+ /* 160 */ -4, 2061, 296, 2061, 296, 303, 303, 1132, -4, 1159,
+ /* 170 */ 335, 2061, 27, 1108, 1412, 1245, 1004, -4, 496, 0,
+ /* 180 */ -4, 496, -4, 391, 2061, 533, 2061, 533, 2061, 533,
+ /* 190 */ 2061, 533, 2061, 533, -4, 1058, 1060, 1092, 446, 1108,
+ /* 200 */ 1119, 1573, 416, -4, 2061, 561, 1944, 1002, 136, 1084,
+ /* 210 */ 1313, 1204, 56, -4, -4, 1175, 1187, 1272, 1186, 1327,
+ /* 220 */ 1172, -4, 2061, 87, 1108, 1268, 1450, 1184, -4, 1162,
+ /* 230 */ 1193, -4, 2061, 57, -4, 2061, 473, -4, 2061, 503,
+ /* 240 */ -4, 2061, 167, -4, 85, 86, 1084, 1350, 1655, 140,
+ /* 250 */ -4, 166, -4, 170, -4, 2061, 197, -4, -4, -4,
+ /* 260 */ 257, 1084, 1391, 1614, 442, -4, 336, 1108, 1160, 1409,
+ /* 270 */ 472, -4, 1368, 476, -4, 534, 1006, 967, 1018, -4,
+ /* 280 */ 90, 1037, 1084, 1354, 1532, 1070, -4, 1087, -4, 1097,
+ /* 290 */ 377, -4, -4, -4, -4, -4, -4, -4, -4, 2061,
+ /* 300 */ 137, 1084, 1033, 1491, 1146, -4, 1169, 1181, 2061, -3,
+ /* 310 */ 1108, 1166, 1696, 1214, -4, 2061, 443, 1084, 1309, 1163,
+ /* 320 */ 307, -4, 1122, 1052, -4, 1040, 1134, -4, 1143, 1200,
+ /* 330 */ 1215, 229, -4,
};
-#define YY_REDUCE_USE_DFLT (-32)
-static short yy_reduce_ofst[] = {
- /* 0 */ 559, -32, 874, -32, -32, -32, -32, -32, -32, -32,
- /* 10 */ -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- /* 20 */ -32, -32, -32, -32, 880, -32, 170, 874, -32, -32,
- /* 30 */ -32, -32, 602, 874, -32, -32, -32, 925, -32, -32,
- /* 40 */ 933, 958, -32, 1048, 1075, -32, 1079, -32, 1087, -32,
- /* 50 */ 1112, -32, 1120, -32, 1157, -32, 1163, -32, 1166, -32,
- /* 60 */ 1212, -32, 1245, -32, 1275, -32, 1283, -32, 1284, -32,
- /* 70 */ 1290, -32, 1330, -32, 1333, -32, 1335, -32, 1363, -32,
- /* 80 */ 1367, -32, 1368, -32, -32, 1371, -32, -32, -32, 878,
- /* 90 */ -32, -32, 1374, -32, 1389, -32, 993, -32, 1393, -32,
- /* 100 */ 1398, -32, -32, 1030, -32, -32, -32, -32, 957, 1034,
- /* 110 */ -32, -32, -32, -32, -32, 1404, -32, -32, -32, -32,
- /* 120 */ -32, -32, -32, -32, -32, -32, -32, -32, 996, -32,
- /* 130 */ -32, 1409, -32, -32, -32, 246, -32, -32, -32, -32,
- /* 140 */ -32, 333, -32, -32, -32, -32, -32, -32, -32, -32,
- /* 150 */ -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- /* 160 */ -32, 1078, -32, 1413, -32, -32, -32, -32, -32, -32,
- /* 170 */ -32, 1417, -32, 623, 874, -32, -32, -32, -31, -32,
- /* 180 */ -32, 459, -32, -32, 1430, -32, 1434, -32, 1445, -32,
- /* 190 */ 1448, -32, 1449, -32, -32, -32, -32, 168, -32, 644,
- /* 200 */ 874, -32, -32, -32, 1450, -32, 1002, -32, -32, 665,
- /* 210 */ 874, -32, -32, -32, -32, -32, -32, 686, 874, -32,
- /* 220 */ -32, -32, 1453, -32, 707, 874, -32, -32, -32, -32,
- /* 230 */ -32, -32, 1471, -32, -32, 1475, -32, -32, 1489, -32,
- /* 240 */ -32, 1491, -32, -32, -32, -32, 728, 874, -32, -32,
- /* 250 */ -32, -32, -32, -32, -32, 1494, -32, -32, -32, -32,
- /* 260 */ -32, 749, 874, -32, -32, -32, -32, 770, 874, -32,
- /* 270 */ -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- /* 280 */ -32, -32, 791, 874, -32, -32, -32, 1091, -32, -32,
- /* 290 */ 1094, -32, -32, -32, -32, -32, -32, -32, -32, 1125,
- /* 300 */ -32, 812, 874, -32, -32, -32, -32, -32, 1243, -32,
- /* 310 */ 833, 874, -32, -32, -32, 1495, -32, 854, 874, -32,
- /* 320 */ -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- /* 330 */ -32, -32, -32,
+#define VV_REDUCE_USE_DFLT (-1)
+static short vv_reduce_ofst[] = {
+ /* 0 */ 557, -1, 893, -1, -1, -1, -1, -1, -1, -1,
+ /* 10 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ /* 20 */ -1, -1, -1, -1, 1518, -1, 684, 893, -1, -1,
+ /* 30 */ -1, -1, 852, 893, -1, -1, -1, 1182, -1, -1,
+ /* 40 */ 1385, 1171, -1, 1098, 1053, -1, 1393, -1, 1130, -1,
+ /* 50 */ 1513, -1, 1104, -1, 1467, -1, 1490, -1, 899, -1,
+ /* 60 */ 1065, -1, 1464, -1, 981, -1, 1149, -1, 1427, -1,
+ /* 70 */ 1453, -1, 1144, -1, 1349, -1, 1428, -1, 1472, -1,
+ /* 80 */ 1180, -1, 1262, -1, -1, 1434, -1, -1, -1, 944,
+ /* 90 */ -1, -1, 1468, -1, 1449, -1, 907, -1, 1494, -1,
+ /* 100 */ 1261, -1, -1, 930, -1, -1, -1, -1, 1012, 905,
+ /* 110 */ -1, -1, -1, -1, -1, 1436, -1, -1, -1, -1,
+ /* 120 */ -1, -1, -1, -1, -1, -1, -1, -1, 976, -1,
+ /* 130 */ -1, 1135, -1, -1, -1, 114, -1, -1, -1, -1,
+ /* 140 */ -1, 894, -1, -1, -1, -1, -1, -1, -1, -1,
+ /* 150 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ /* 160 */ -1, 1516, -1, 1408, -1, -1, -1, -1, -1, -1,
+ /* 170 */ -1, 1089, -1, 873, 893, -1, -1, -1, 12, -1,
+ /* 180 */ -1, 1105, -1, -1, 1386, -1, 1231, -1, 1371, -1,
+ /* 190 */ 1330, -1, 1267, -1, -1, -1, -1, 147, -1, 789,
+ /* 200 */ 893, -1, -1, -1, 1138, -1, 974, -1, -1, 663,
+ /* 210 */ 893, -1, -1, -1, -1, -1, -1, 642, 893, -1,
+ /* 220 */ -1, -1, 1016, -1, 705, 893, -1, -1, -1, -1,
+ /* 230 */ -1, -1, 1469, -1, -1, 1510, -1, -1, 928, -1,
+ /* 240 */ -1, 1056, -1, -1, -1, -1, 600, 893, -1, -1,
+ /* 250 */ -1, -1, -1, -1, -1, 1505, -1, -1, -1, -1,
+ /* 260 */ -1, 768, 893, -1, -1, -1, -1, 747, 893, -1,
+ /* 270 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ /* 280 */ -1, -1, 810, 893, -1, -1, -1, 1020, -1, -1,
+ /* 290 */ 1034, -1, -1, -1, -1, -1, -1, -1, -1, 1062,
+ /* 300 */ -1, 621, 893, -1, -1, -1, -1, -1, 1188, -1,
+ /* 310 */ 726, 893, -1, -1, -1, 1017, -1, 831, 893, -1,
+ /* 320 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ /* 330 */ -1, -1, -1,
};
-static YYACTIONTYPE yy_default[] = {
+static VVACTIONTYPE vv_default[] = {
/* 0 */ 478, 478, 478, 335, 337, 338, 339, 340, 341, 342,
/* 10 */ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
/* 20 */ 353, 354, 355, 478, 478, 478, 478, 478, 478, 478,
@@ -112611,7 +114997,7 @@ static YYACTIONTYPE yy_default[] = {
/* 320 */ 478, 366, 478, 478, 359, 478, 478, 357, 478, 478,
/* 330 */ 478, 478, 360,
};
-#define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0]))
+#define VV_SZ_ACTTAB (sizeof(vv_action)/sizeof(vv_action[0]))
/* The next table maps tokens into fallback tokens. If a construct
** like the following:
@@ -112623,10 +115009,10 @@ static YYACTIONTYPE yy_default[] = {
** but it does not parse, the type of the token is changed to ID and
** the parse is retried before an error is thrown.
*/
-#ifdef YYFALLBACK
-static const YYCODETYPE yyFallback[] = {
+#ifdef VVFALLBACK
+static const VVCODETYPE vvFallback[] = {
};
-#endif /* YYFALLBACK */
+#endif /* VVFALLBACK */
/* The following structure represents a single element of the
** parser's stack. Information stored includes:
@@ -112640,44 +115026,44 @@ static const YYCODETYPE yyFallback[] = {
** the information used by the action routines in the grammar.
** It is sometimes called the "minor" token.
*/
-struct yyStackEntry {
+struct vvStackEntry {
int stateno; /* The state-number */
int major; /* The major token value. This is the code
** number for the token at this stack level */
- YYMINORTYPE minor; /* The user-supplied minor token value. This
+ VVMINORTYPE minor; /* The user-supplied minor token value. This
** is the value of the token */
};
-typedef struct yyStackEntry yyStackEntry;
+typedef struct vvStackEntry vvStackEntry;
/* The state of the parser is completely contained in an instance of
** the following structure */
-struct yyParser {
- int yyidx; /* Index of top element in stack */
- int yyerrcnt; /* Shifts left before out of the error */
+struct vvParser {
+ int vvidx; /* Index of top element in stack */
+ int vverrcnt; /* Shifts left before out of the error */
phvolt_ARG_SDECL /* A place to hold %extra_argument */
- yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
+ vvStackEntry vvstack[VVSTACKDEPTH]; /* The parser's stack */
};
-typedef struct yyParser yyParser;
+typedef struct vvParser vvParser;
#ifndef NDEBUG
#include
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
+static FILE *vvTraceFILE = 0;
+static char *vvTracePrompt = 0;
#endif /* NDEBUG */
#ifndef NDEBUG
static void phvolt_Trace(FILE *TraceFILE, char *zTracePrompt){
- yyTraceFILE = TraceFILE;
- yyTracePrompt = zTracePrompt;
- if( yyTraceFILE==0 ) yyTracePrompt = 0;
- else if( yyTracePrompt==0 ) yyTraceFILE = 0;
+ vvTraceFILE = TraceFILE;
+ vvTracePrompt = zTracePrompt;
+ if( vvTraceFILE==0 ) vvTracePrompt = 0;
+ else if( vvTracePrompt==0 ) vvTraceFILE = 0;
}
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing shifts, the names of all terminals and nonterminals
** are required. The following table supplies these names */
-static const char *yyTokenName[] = {
+static const char *vvTokenName[] = {
"$", "OPEN_DELIMITER", "COMMA", "IN",
"QUESTION", "COLON", "RANGE", "AND",
"OR", "IS", "EQUALS", "NOTEQUALS",
@@ -112714,7 +115100,7 @@ static const char *yyTokenName[] = {
#ifndef NDEBUG
/* For tracing reduce actions, the names of all rules are required.
*/
-static const char *yyRuleName[] = {
+static const char *vvRuleName[] = {
/* 0 */ "program ::= volt_language",
/* 1 */ "volt_language ::= statement_list",
/* 2 */ "statement_list ::= statement_list statement",
@@ -112865,8 +115251,8 @@ static const char *yyRuleName[] = {
const char *phvolt_TokenName(int tokenType){
#ifndef NDEBUG
- if( tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0])) ){
- return yyTokenName[tokenType];
+ if( tokenType>0 && tokenType<(sizeof(vvTokenName)/sizeof(vvTokenName[0])) ){
+ return vvTokenName[tokenType];
}else{
return "Unknown";
}
@@ -112876,21 +115262,21 @@ const char *phvolt_TokenName(int tokenType){
}
void *phvolt_Alloc(void *(*mallocProc)(size_t)){
- yyParser *pParser;
- pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
+ vvParser *pParser;
+ pParser = (vvParser*)(*mallocProc)( (size_t)sizeof(vvParser) );
if( pParser ){
- pParser->yyidx = -1;
+ pParser->vvidx = -1;
}
return pParser;
}
/* The following function deletes the value associated with a
** symbol. The symbol can be either a terminal or nonterminal.
-** "yymajor" is the symbol code, and "yypminor" is a pointer to
+** "vvmajor" is the symbol code, and "vvpminor" is a pointer to
** the value.
*/
-static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
- switch( yymajor ){
+static void vv_destructor(VVCODETYPE vvmajor, VVMINORTYPE *vvpminor){
+ switch( vvmajor ){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
** when the symbol is popped from the stack during a
@@ -112983,14 +115369,16 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 80:
case 81:
case 82:
+// 702 "parser.lemon"
{
- if ((yypminor->yy0)) {
- if ((yypminor->yy0)->free_flag) {
- efree((yypminor->yy0)->token);
+ if ((vvpminor->vv0)) {
+ if ((vvpminor->vv0)->free_flag) {
+ efree((vvpminor->vv0)->token);
}
- efree((yypminor->yy0));
+ efree((vvpminor->vv0));
}
}
+// 1654 "parser.c"
break;
case 86:
case 87:
@@ -113024,132 +115412,134 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 116:
case 117:
case 118:
-{ zval_ptr_dtor(&(yypminor->yy92)); }
+// 719 "parser.lemon"
+{ zval_ptr_dtor(&(vvpminor->vv92)); }
+// 1690 "parser.c"
break;
default: break; /* If no destructor action specified: do nothing */
}
}
-static int yy_pop_parser_stack(yyParser *pParser){
- YYCODETYPE yymajor;
- yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
+static int vv_pop_parser_stack(vvParser *pParser){
+ VVCODETYPE vvmajor;
+ vvStackEntry *vvtos = &pParser->vvstack[pParser->vvidx];
- if( pParser->yyidx<0 ) return 0;
+ if( pParser->vvidx<0 ) return 0;
#ifndef NDEBUG
- if( yyTraceFILE && pParser->yyidx>=0 ){
- fprintf(yyTraceFILE,"%sPopping %s\n",
- yyTracePrompt,
- yyTokenName[yytos->major]);
+ if( vvTraceFILE && pParser->vvidx>=0 ){
+ fprintf(vvTraceFILE,"%sPopping %s\n",
+ vvTracePrompt,
+ vvTokenName[vvtos->major]);
}
#endif
- yymajor = yytos->major;
- yy_destructor( yymajor, &yytos->minor);
- pParser->yyidx--;
- return yymajor;
+ vvmajor = vvtos->major;
+ vv_destructor( vvmajor, &vvtos->minor);
+ pParser->vvidx--;
+ return vvmajor;
}
static void phvolt_Free(
void *p, /* The parser to be deleted */
void (*freeProc)(void*) /* Function used to reclaim memory */
){
- yyParser *pParser = (yyParser*)p;
+ vvParser *pParser = (vvParser*)p;
if( pParser==0 ) return;
- while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
+ while( pParser->vvidx>=0 ) vv_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
-static int yy_find_shift_action(
- yyParser *pParser, /* The parser */
+static int vv_find_shift_action(
+ vvParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
+ int stateno = pParser->vvstack[pParser->vvidx].stateno;
- /* if( pParser->yyidx<0 ) return YY_NO_ACTION; */
- i = yy_shift_ofst[stateno];
- if( i==YY_SHIFT_USE_DFLT ){
- return yy_default[stateno];
+ /* if( pParser->vvidx<0 ) return VV_NO_ACTION; */
+ i = vv_shift_ofst[stateno];
+ if( i==VV_SHIFT_USE_DFLT ){
+ return vv_default[stateno];
}
- if( iLookAhead==YYNOCODE ){
- return YY_NO_ACTION;
+ if( iLookAhead==VVNOCODE ){
+ return VV_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
-#ifdef YYFALLBACK
+ if( i<0 || i>=VV_SZ_ACTTAB || vv_lookahead[i]!=iLookAhead ){
+#ifdef VVFALLBACK
int iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE, "%sFALLBACK %s => %s\n",
+ vvTracePrompt, vvTokenName[iLookAhead], vvTokenName[iFallback]);
}
#endif
- return yy_find_shift_action(pParser, iFallback);
+ return vv_find_shift_action(pParser, iFallback);
}
#endif
- return yy_default[stateno];
+ return vv_default[stateno];
}else{
- return yy_action[i];
+ return vv_action[i];
}
}
-static int yy_find_reduce_action(
- yyParser *pParser, /* The parser */
+static int vv_find_reduce_action(
+ vvParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
+ int stateno = pParser->vvstack[pParser->vvidx].stateno;
- i = yy_reduce_ofst[stateno];
- if( i==YY_REDUCE_USE_DFLT ){
- return yy_default[stateno];
+ i = vv_reduce_ofst[stateno];
+ if( i==VV_REDUCE_USE_DFLT ){
+ return vv_default[stateno];
}
- if( iLookAhead==YYNOCODE ){
- return YY_NO_ACTION;
+ if( iLookAhead==VVNOCODE ){
+ return VV_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
- return yy_default[stateno];
+ if( i<0 || i>=VV_SZ_ACTTAB || vv_lookahead[i]!=iLookAhead ){
+ return vv_default[stateno];
}else{
- return yy_action[i];
+ return vv_action[i];
}
}
-static void yy_shift(
- yyParser *yypParser, /* The parser to be shifted */
- int yyNewState, /* The new state to shift in */
- int yyMajor, /* The major token to shift in */
- YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */
+static void vv_shift(
+ vvParser *vvpParser, /* The parser to be shifted */
+ int vvNewState, /* The new state to shift in */
+ int vvMajor, /* The major token to shift in */
+ VVMINORTYPE *vvpMinor /* Pointer ot the minor token to shift in */
){
- yyStackEntry *yytos;
- yypParser->yyidx++;
- if( yypParser->yyidx>=YYSTACKDEPTH ){
+ vvStackEntry *vvtos;
+ vvpParser->vvidx++;
+ if( vvpParser->vvidx>=VVSTACKDEPTH ){
phvolt_ARG_FETCH;
- yypParser->yyidx--;
+ vvpParser->vvidx--;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sStack Overflow!\n",vvTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( vvpParser->vvidx>=0 ) vv_pop_parser_stack(vvpParser);
/* Here code is inserted which will execute if the parser
** stack every overflows */
phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument var */
return;
}
- yytos = &yypParser->yystack[yypParser->yyidx];
- yytos->stateno = yyNewState;
- yytos->major = yyMajor;
- yytos->minor = *yypMinor;
+ vvtos = &vvpParser->vvstack[vvpParser->vvidx];
+ vvtos->stateno = vvNewState;
+ vvtos->major = vvMajor;
+ vvtos->minor = *vvpMinor;
#ifndef NDEBUG
- if( yyTraceFILE && yypParser->yyidx>0 ){
+ if( vvTraceFILE && vvpParser->vvidx>0 ){
int i;
- fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
- fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
- for(i=1; i<=yypParser->yyidx; i++)
- fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
- fprintf(yyTraceFILE,"\n");
+ fprintf(vvTraceFILE,"%sShift %d\n",vvTracePrompt,vvNewState);
+ fprintf(vvTraceFILE,"%sStack:",vvTracePrompt);
+ for(i=1; i<=vvpParser->vvidx; i++)
+ fprintf(vvTraceFILE," %s",vvTokenName[vvpParser->vvstack[i].major]);
+ fprintf(vvTraceFILE,"\n");
}
#endif
}
@@ -113158,9 +115548,9 @@ static void yy_shift(
** is used during the reduce.
*/
static struct {
- YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
+ VVCODETYPE lhs; /* Symbol on the left-hand side of the rule */
unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} yyRuleInfo[] = {
+} vvRuleInfo[] = {
{ 84, 1 },
{ 85, 1 },
{ 86, 2 },
@@ -113308,40 +115698,42 @@ static struct {
{ 107, 1 },
};
-static void yy_accept(yyParser*); /* Forward Declaration */
+static void vv_accept(vvParser*); /* Forward Declaration */
-static void yy_reduce(
- yyParser *yypParser, /* The parser */
- int yyruleno /* Number of the rule by which to reduce */
+static void vv_reduce(
+ vvParser *vvpParser, /* The parser */
+ int vvruleno /* Number of the rule by which to reduce */
){
- int yygoto; /* The next state */
- int yyact; /* The next action */
- YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
- yyStackEntry *yymsp; /* The top of the parser's stack */
- int yysize; /* Amount to pop the stack */
+ int vvgoto; /* The next state */
+ int vvact; /* The next action */
+ VVMINORTYPE vvgotominor; /* The LHS of the rule reduced */
+ vvStackEntry *vvmsp; /* The top of the parser's stack */
+ int vvsize; /* Amount to pop the stack */
phvolt_ARG_FETCH;
- yymsp = &yypParser->yystack[yypParser->yyidx];
+ vvmsp = &vvpParser->vvstack[vvpParser->vvidx];
#ifndef NDEBUG
- if( yyTraceFILE && yyruleno>=0
- && yyruleno=0
+ && vvruleno
+ ** //
** { ... } // User supplied code
- ** #line
+ ** //
** break;
*/
case 0:
+// 711 "parser.lemon"
{
- status->ret = yymsp[0].minor.yy92;
+ status->ret = vvmsp[0].minor.vv92;
}
+// 2052 "parser.c"
break;
case 1:
case 4:
@@ -113364,865 +115756,1080 @@ static void yy_reduce(
case 21:
case 22:
case 131:
+// 715 "parser.lemon"
{
- yygotominor.yy92 = yymsp[0].minor.yy92;
+ vvgotominor.vv92 = vvmsp[0].minor.vv92;
}
+// 2079 "parser.c"
break;
case 2:
+// 721 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_zval_list(yymsp[-1].minor.yy92, yymsp[0].minor.yy92);
+ vvgotominor.vv92 = phvolt_ret_zval_list(vvmsp[-1].minor.vv92, vvmsp[0].minor.vv92);
}
+// 2086 "parser.c"
break;
case 3:
case 36:
case 45:
case 128:
case 135:
+// 725 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_zval_list(NULL, yymsp[0].minor.yy92);
+ vvgotominor.vv92 = phvolt_ret_zval_list(NULL, vvmsp[0].minor.vv92);
}
+// 2097 "parser.c"
break;
case 23:
+// 809 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_if_statement(yymsp[-5].minor.yy92, yymsp[-3].minor.yy92, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-7].minor);
- yy_destructor(31,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_if_statement(vvmsp[-5].minor.vv92, vvmsp[-3].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-7].minor);
+ vv_destructor(31,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(33,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2110 "parser.c"
break;
case 24:
+// 813 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_if_statement(yymsp[-4].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-6].minor);
- yy_destructor(31,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-3].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_if_statement(vvmsp[-4].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-6].minor);
+ vv_destructor(31,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-3].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(33,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2123 "parser.c"
break;
case 25:
+// 817 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_if_statement(yymsp[-9].minor.yy92, yymsp[-7].minor.yy92, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-11].minor);
- yy_destructor(31,&yymsp[-10].minor);
- yy_destructor(32,&yymsp[-8].minor);
- yy_destructor(1,&yymsp[-6].minor);
- yy_destructor(34,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_if_statement(vvmsp[-9].minor.vv92, vvmsp[-7].minor.vv92, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-11].minor);
+ vv_destructor(31,&vvmsp[-10].minor);
+ vv_destructor(32,&vvmsp[-8].minor);
+ vv_destructor(1,&vvmsp[-6].minor);
+ vv_destructor(34,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(33,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2139 "parser.c"
break;
case 26:
+// 821 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_if_statement(yymsp[-8].minor.yy92, yymsp[-6].minor.yy92, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-10].minor);
- yy_destructor(31,&yymsp[-9].minor);
- yy_destructor(32,&yymsp[-7].minor);
- yy_destructor(1,&yymsp[-5].minor);
- yy_destructor(34,&yymsp[-4].minor);
- yy_destructor(32,&yymsp[-3].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_if_statement(vvmsp[-8].minor.vv92, vvmsp[-6].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-10].minor);
+ vv_destructor(31,&vvmsp[-9].minor);
+ vv_destructor(32,&vvmsp[-7].minor);
+ vv_destructor(1,&vvmsp[-5].minor);
+ vv_destructor(34,&vvmsp[-4].minor);
+ vv_destructor(32,&vvmsp[-3].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(33,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2155 "parser.c"
break;
case 27:
+// 825 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_if_statement(yymsp[-7].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-9].minor);
- yy_destructor(31,&yymsp[-8].minor);
- yy_destructor(32,&yymsp[-6].minor);
- yy_destructor(1,&yymsp[-5].minor);
- yy_destructor(34,&yymsp[-4].minor);
- yy_destructor(32,&yymsp[-3].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(33,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_if_statement(vvmsp[-7].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-9].minor);
+ vv_destructor(31,&vvmsp[-8].minor);
+ vv_destructor(32,&vvmsp[-6].minor);
+ vv_destructor(1,&vvmsp[-5].minor);
+ vv_destructor(34,&vvmsp[-4].minor);
+ vv_destructor(32,&vvmsp[-3].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(33,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2171 "parser.c"
break;
case 28:
+// 831 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_elseif_statement(yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(35,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_elseif_statement(vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(35,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2181 "parser.c"
break;
case 29:
+// 837 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_elsefor_statement(status->scanner_state);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(36,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_elsefor_statement(status->scanner_state);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(36,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2191 "parser.c"
break;
case 30:
+// 843 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_for_statement(yymsp[-7].minor.yy0, NULL, yymsp[-5].minor.yy92, NULL, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-9].minor);
- yy_destructor(37,&yymsp[-8].minor);
- yy_destructor(3,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(39,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_for_statement(vvmsp[-7].minor.vv0, NULL, vvmsp[-5].minor.vv92, NULL, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-9].minor);
+ vv_destructor(37,&vvmsp[-8].minor);
+ vv_destructor(3,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(39,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2205 "parser.c"
break;
case 31:
+// 847 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_for_statement(yymsp[-9].minor.yy0, NULL, yymsp[-7].minor.yy92, yymsp[-5].minor.yy92, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-11].minor);
- yy_destructor(37,&yymsp[-10].minor);
- yy_destructor(3,&yymsp[-8].minor);
- yy_destructor(31,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(39,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_for_statement(vvmsp[-9].minor.vv0, NULL, vvmsp[-7].minor.vv92, vvmsp[-5].minor.vv92, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-11].minor);
+ vv_destructor(37,&vvmsp[-10].minor);
+ vv_destructor(3,&vvmsp[-8].minor);
+ vv_destructor(31,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(39,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2220 "parser.c"
break;
case 32:
+// 851 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_for_statement(yymsp[-7].minor.yy0, yymsp[-9].minor.yy0, yymsp[-5].minor.yy92, NULL, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-11].minor);
- yy_destructor(37,&yymsp[-10].minor);
- yy_destructor(2,&yymsp[-8].minor);
- yy_destructor(3,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(39,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_for_statement(vvmsp[-7].minor.vv0, vvmsp[-9].minor.vv0, vvmsp[-5].minor.vv92, NULL, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-11].minor);
+ vv_destructor(37,&vvmsp[-10].minor);
+ vv_destructor(2,&vvmsp[-8].minor);
+ vv_destructor(3,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(39,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2235 "parser.c"
break;
case 33:
+// 855 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_for_statement(yymsp[-9].minor.yy0, yymsp[-11].minor.yy0, yymsp[-7].minor.yy92, yymsp[-5].minor.yy92, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-13].minor);
- yy_destructor(37,&yymsp[-12].minor);
- yy_destructor(2,&yymsp[-10].minor);
- yy_destructor(3,&yymsp[-8].minor);
- yy_destructor(31,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(39,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_for_statement(vvmsp[-9].minor.vv0, vvmsp[-11].minor.vv0, vvmsp[-7].minor.vv92, vvmsp[-5].minor.vv92, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-13].minor);
+ vv_destructor(37,&vvmsp[-12].minor);
+ vv_destructor(2,&vvmsp[-10].minor);
+ vv_destructor(3,&vvmsp[-8].minor);
+ vv_destructor(31,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(39,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2251 "parser.c"
break;
case 34:
+// 861 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_statement(yymsp[-1].minor.yy92);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(40,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_set_statement(vvmsp[-1].minor.vv92);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(40,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2261 "parser.c"
break;
case 35:
case 44:
case 127:
case 134:
+// 867 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_zval_list(yymsp[-2].minor.yy92, yymsp[0].minor.yy92);
- yy_destructor(2,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_zval_list(vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92);
+ vv_destructor(2,&vvmsp[-1].minor);
}
+// 2272 "parser.c"
break;
case 37:
+// 877 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_assignment(yymsp[-2].minor.yy0, PHVOLT_T_ASSIGN, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(41,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_set_assignment(vvmsp[-2].minor.vv0, PHVOLT_T_ASSIGN, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(41,&vvmsp[-1].minor);
}
+// 2280 "parser.c"
break;
case 38:
+// 881 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_assignment(yymsp[-2].minor.yy0, PHVOLT_T_ADD_ASSIGN, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(42,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_set_assignment(vvmsp[-2].minor.vv0, PHVOLT_T_ADD_ASSIGN, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(42,&vvmsp[-1].minor);
}
+// 2288 "parser.c"
break;
case 39:
+// 885 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_assignment(yymsp[-2].minor.yy0, PHVOLT_T_SUB_ASSIGN, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(43,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_set_assignment(vvmsp[-2].minor.vv0, PHVOLT_T_SUB_ASSIGN, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(43,&vvmsp[-1].minor);
}
+// 2296 "parser.c"
break;
case 40:
+// 889 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_assignment(yymsp[-2].minor.yy0, PHVOLT_T_MUL_ASSIGN, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(44,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_set_assignment(vvmsp[-2].minor.vv0, PHVOLT_T_MUL_ASSIGN, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(44,&vvmsp[-1].minor);
}
+// 2304 "parser.c"
break;
case 41:
+// 893 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_set_assignment(yymsp[-2].minor.yy0, PHVOLT_T_DIV_ASSIGN, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(45,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_set_assignment(vvmsp[-2].minor.vv0, PHVOLT_T_DIV_ASSIGN, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(45,&vvmsp[-1].minor);
}
+// 2312 "parser.c"
break;
case 42:
+// 899 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_statement(yymsp[-7].minor.yy0, NULL, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-9].minor);
- yy_destructor(46,&yymsp[-8].minor);
- yy_destructor(29,&yymsp[-6].minor);
- yy_destructor(47,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(48,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_macro_statement(vvmsp[-7].minor.vv0, NULL, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-9].minor);
+ vv_destructor(46,&vvmsp[-8].minor);
+ vv_destructor(29,&vvmsp[-6].minor);
+ vv_destructor(47,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(48,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2327 "parser.c"
break;
case 43:
+// 903 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_statement(yymsp[-8].minor.yy0, yymsp[-6].minor.yy92, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-10].minor);
- yy_destructor(46,&yymsp[-9].minor);
- yy_destructor(29,&yymsp[-7].minor);
- yy_destructor(47,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(48,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_macro_statement(vvmsp[-8].minor.vv0, vvmsp[-6].minor.vv92, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-10].minor);
+ vv_destructor(46,&vvmsp[-9].minor);
+ vv_destructor(29,&vvmsp[-7].minor);
+ vv_destructor(47,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(48,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2342 "parser.c"
break;
case 46:
+// 919 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_parameter(yymsp[0].minor.yy0, NULL, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_macro_parameter(vvmsp[0].minor.vv0, NULL, status->scanner_state);
}
+// 2349 "parser.c"
break;
case 47:
+// 923 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_parameter(yymsp[-2].minor.yy0, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(41,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_macro_parameter(vvmsp[-2].minor.vv0, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(41,&vvmsp[-1].minor);
}
+// 2357 "parser.c"
break;
case 48:
case 125:
case 139:
+// 927 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_INTEGER, yymsp[0].minor.yy0, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_INTEGER, vvmsp[0].minor.vv0, status->scanner_state);
}
+// 2366 "parser.c"
break;
case 49:
case 140:
+// 931 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_STRING, yymsp[0].minor.yy0, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_STRING, vvmsp[0].minor.vv0, status->scanner_state);
}
+// 2374 "parser.c"
break;
case 50:
case 141:
+// 935 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_DOUBLE, yymsp[0].minor.yy0, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_DOUBLE, vvmsp[0].minor.vv0, status->scanner_state);
}
+// 2382 "parser.c"
break;
case 51:
case 142:
+// 939 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_NULL, NULL, status->scanner_state);
- yy_destructor(52,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_NULL, NULL, status->scanner_state);
+ vv_destructor(52,&vvmsp[0].minor);
}
+// 2391 "parser.c"
break;
case 52:
case 143:
+// 943 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_FALSE, NULL, status->scanner_state);
- yy_destructor(53,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_FALSE, NULL, status->scanner_state);
+ vv_destructor(53,&vvmsp[0].minor);
}
+// 2400 "parser.c"
break;
case 53:
case 144:
+// 947 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_TRUE, NULL, status->scanner_state);
- yy_destructor(54,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_TRUE, NULL, status->scanner_state);
+ vv_destructor(54,&vvmsp[0].minor);
}
+// 2409 "parser.c"
break;
case 54:
+// 953 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_call_statement(yymsp[-8].minor.yy92, yymsp[-6].minor.yy92, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-10].minor);
- yy_destructor(55,&yymsp[-9].minor);
- yy_destructor(29,&yymsp[-7].minor);
- yy_destructor(47,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(56,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_macro_call_statement(vvmsp[-8].minor.vv92, vvmsp[-6].minor.vv92, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-10].minor);
+ vv_destructor(55,&vvmsp[-9].minor);
+ vv_destructor(29,&vvmsp[-7].minor);
+ vv_destructor(47,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(56,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2424 "parser.c"
break;
case 55:
+// 957 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_macro_call_statement(yymsp[-6].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-8].minor);
- yy_destructor(55,&yymsp[-7].minor);
- yy_destructor(29,&yymsp[-5].minor);
- yy_destructor(47,&yymsp[-4].minor);
- yy_destructor(32,&yymsp[-3].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(56,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_macro_call_statement(vvmsp[-6].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-8].minor);
+ vv_destructor(55,&vvmsp[-7].minor);
+ vv_destructor(29,&vvmsp[-5].minor);
+ vv_destructor(47,&vvmsp[-4].minor);
+ vv_destructor(32,&vvmsp[-3].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(56,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2439 "parser.c"
break;
case 56:
+// 963 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_empty_statement(status->scanner_state);
- yy_destructor(1,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_empty_statement(status->scanner_state);
+ vv_destructor(1,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2448 "parser.c"
break;
case 57:
+// 969 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_echo_statement(yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(57,&yymsp[-2].minor);
- yy_destructor(58,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_echo_statement(vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(57,&vvmsp[-2].minor);
+ vv_destructor(58,&vvmsp[0].minor);
}
+// 2457 "parser.c"
break;
case 58:
+// 975 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_block_statement(yymsp[-5].minor.yy0, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-7].minor);
- yy_destructor(59,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(60,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_block_statement(vvmsp[-5].minor.vv0, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-7].minor);
+ vv_destructor(59,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(60,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2470 "parser.c"
break;
case 59:
+// 979 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_block_statement(yymsp[-4].minor.yy0, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-6].minor);
- yy_destructor(59,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-3].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(60,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_block_statement(vvmsp[-4].minor.vv0, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-6].minor);
+ vv_destructor(59,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-3].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(60,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2483 "parser.c"
break;
case 60:
+// 985 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_cache_statement(yymsp[-5].minor.yy92, NULL, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-7].minor);
- yy_destructor(61,&yymsp[-6].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(62,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_cache_statement(vvmsp[-5].minor.vv92, NULL, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-7].minor);
+ vv_destructor(61,&vvmsp[-6].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(62,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2496 "parser.c"
break;
case 61:
+// 989 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_cache_statement(yymsp[-6].minor.yy92, yymsp[-5].minor.yy0, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-8].minor);
- yy_destructor(61,&yymsp[-7].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(62,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_cache_statement(vvmsp[-6].minor.vv92, vvmsp[-5].minor.vv0, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-8].minor);
+ vv_destructor(61,&vvmsp[-7].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(62,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2509 "parser.c"
break;
case 62:
+// 995 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_extends_statement(yymsp[-1].minor.yy0, status->scanner_state);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(63,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_extends_statement(vvmsp[-1].minor.vv0, status->scanner_state);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(63,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2519 "parser.c"
break;
case 63:
+// 1001 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_include_statement(yymsp[-1].minor.yy92, NULL, status->scanner_state);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(64,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_include_statement(vvmsp[-1].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(64,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2529 "parser.c"
break;
case 64:
+// 1005 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_include_statement(yymsp[-3].minor.yy92, yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-5].minor);
- yy_destructor(64,&yymsp[-4].minor);
- yy_destructor(65,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_include_statement(vvmsp[-3].minor.vv92, vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-5].minor);
+ vv_destructor(64,&vvmsp[-4].minor);
+ vv_destructor(65,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2540 "parser.c"
break;
case 65:
+// 1011 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_do_statement(yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(66,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_do_statement(vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(66,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2550 "parser.c"
break;
case 66:
+// 1017 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_return_statement(yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-3].minor);
- yy_destructor(67,&yymsp[-2].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_return_statement(vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-3].minor);
+ vv_destructor(67,&vvmsp[-2].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2560 "parser.c"
break;
case 67:
+// 1023 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_autoescape_statement(0, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-7].minor);
- yy_destructor(68,&yymsp[-6].minor);
- yy_destructor(53,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(69,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_autoescape_statement(0, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-7].minor);
+ vv_destructor(68,&vvmsp[-6].minor);
+ vv_destructor(53,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(69,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2574 "parser.c"
break;
case 68:
+// 1027 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_autoescape_statement(1, yymsp[-3].minor.yy92, status->scanner_state);
- yy_destructor(1,&yymsp[-7].minor);
- yy_destructor(68,&yymsp[-6].minor);
- yy_destructor(54,&yymsp[-5].minor);
- yy_destructor(32,&yymsp[-4].minor);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(69,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
-}
+ vvgotominor.vv92 = phvolt_ret_autoescape_statement(1, vvmsp[-3].minor.vv92, status->scanner_state);
+ vv_destructor(1,&vvmsp[-7].minor);
+ vv_destructor(68,&vvmsp[-6].minor);
+ vv_destructor(54,&vvmsp[-5].minor);
+ vv_destructor(32,&vvmsp[-4].minor);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(69,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
+}
+// 2588 "parser.c"
break;
case 69:
+// 1033 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_break_statement(status->scanner_state);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(70,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_break_statement(status->scanner_state);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(70,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2598 "parser.c"
break;
case 70:
+// 1039 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_continue_statement(status->scanner_state);
- yy_destructor(1,&yymsp[-2].minor);
- yy_destructor(71,&yymsp[-1].minor);
- yy_destructor(32,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_continue_statement(status->scanner_state);
+ vv_destructor(1,&vvmsp[-2].minor);
+ vv_destructor(71,&vvmsp[-1].minor);
+ vv_destructor(32,&vvmsp[0].minor);
}
+// 2608 "parser.c"
break;
case 71:
+// 1045 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_RAW_FRAGMENT, yymsp[0].minor.yy0, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_RAW_FRAGMENT, vvmsp[0].minor.vv0, status->scanner_state);
}
+// 2615 "parser.c"
break;
case 72:
+// 1051 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_MINUS, NULL, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(22,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_MINUS, NULL, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(22,&vvmsp[-1].minor);
}
+// 2623 "parser.c"
break;
case 73:
+// 1055 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_PLUS, NULL, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(21,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_PLUS, NULL, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(21,&vvmsp[-1].minor);
}
+// 2631 "parser.c"
break;
case 74:
+// 1059 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_SUB, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(22,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_SUB, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(22,&vvmsp[-1].minor);
}
+// 2639 "parser.c"
break;
case 75:
+// 1063 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ADD, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(21,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ADD, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(21,&vvmsp[-1].minor);
}
+// 2647 "parser.c"
break;
case 76:
+// 1067 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_MUL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(19,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_MUL, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(19,&vvmsp[-1].minor);
}
+// 2655 "parser.c"
break;
case 77:
+// 1071 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_POW, yymsp[-3].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(19,&yymsp[-2].minor);
- yy_destructor(19,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_POW, vvmsp[-3].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(19,&vvmsp[-2].minor);
+ vv_destructor(19,&vvmsp[-1].minor);
}
+// 2664 "parser.c"
break;
case 78:
+// 1075 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_DIV, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(18,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_DIV, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(18,&vvmsp[-1].minor);
}
+// 2672 "parser.c"
break;
case 79:
+// 1079 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_MOD, yymsp[-3].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(18,&yymsp[-2].minor);
- yy_destructor(18,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_MOD, vvmsp[-3].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(18,&vvmsp[-2].minor);
+ vv_destructor(18,&vvmsp[-1].minor);
}
+// 2681 "parser.c"
break;
case 80:
+// 1083 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_MOD, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(20,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_MOD, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(20,&vvmsp[-1].minor);
}
+// 2689 "parser.c"
break;
case 81:
+// 1087 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_AND, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(7,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_AND, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(7,&vvmsp[-1].minor);
}
+// 2697 "parser.c"
break;
case 82:
+// 1091 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_OR, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(8,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_OR, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(8,&vvmsp[-1].minor);
}
+// 2705 "parser.c"
break;
case 83:
+// 1095 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_CONCAT, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(23,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_CONCAT, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(23,&vvmsp[-1].minor);
}
+// 2713 "parser.c"
break;
case 84:
+// 1099 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_PIPE, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(25,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_PIPE, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(25,&vvmsp[-1].minor);
}
+// 2721 "parser.c"
break;
case 85:
+// 1103 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_RANGE, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(6,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_RANGE, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(6,&vvmsp[-1].minor);
}
+// 2729 "parser.c"
break;
case 86:
+// 1107 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_EQUALS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(10,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_EQUALS, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(10,&vvmsp[-1].minor);
}
+// 2737 "parser.c"
break;
case 87:
+// 1111 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISSET, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(73,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISSET, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(73,&vvmsp[0].minor);
}
+// 2746 "parser.c"
break;
case 88:
+// 1115 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISSET, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(73,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISSET, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(73,&vvmsp[0].minor);
}
+// 2755 "parser.c"
break;
case 89:
+// 1119 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISEMPTY, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(74,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISEMPTY, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(74,&vvmsp[0].minor);
}
+// 2764 "parser.c"
break;
case 90:
+// 1123 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISEMPTY, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(74,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISEMPTY, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(74,&vvmsp[0].minor);
}
+// 2773 "parser.c"
break;
case 91:
+// 1127 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISEVEN, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(75,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISEVEN, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(75,&vvmsp[0].minor);
}
+// 2782 "parser.c"
break;
case 92:
+// 1131 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISEVEN, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(75,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISEVEN, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(75,&vvmsp[0].minor);
}
+// 2791 "parser.c"
break;
case 93:
+// 1135 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISODD, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(76,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISODD, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(76,&vvmsp[0].minor);
}
+// 2800 "parser.c"
break;
case 94:
+// 1139 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISODD, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(76,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISODD, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(76,&vvmsp[0].minor);
}
+// 2809 "parser.c"
break;
case 95:
+// 1143 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISNUMERIC, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(77,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISNUMERIC, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(77,&vvmsp[0].minor);
}
+// 2818 "parser.c"
break;
case 96:
+// 1147 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISNUMERIC, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(77,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISNUMERIC, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(77,&vvmsp[0].minor);
}
+// 2827 "parser.c"
break;
case 97:
+// 1151 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISSCALAR, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(78,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISSCALAR, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(78,&vvmsp[0].minor);
}
+// 2836 "parser.c"
break;
case 98:
+// 1155 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISSCALAR, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(78,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISSCALAR, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(78,&vvmsp[0].minor);
}
+// 2845 "parser.c"
break;
case 99:
+// 1159 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_ISITERABLE, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
- yy_destructor(79,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_ISITERABLE, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
+ vv_destructor(79,&vvmsp[0].minor);
}
+// 2854 "parser.c"
break;
case 100:
+// 1163 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ISITERABLE, yymsp[-2].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
- yy_destructor(79,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ISITERABLE, vvmsp[-2].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
+ vv_destructor(79,&vvmsp[0].minor);
}
+// 2863 "parser.c"
break;
case 101:
+// 1167 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_IS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(9,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_IS, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(9,&vvmsp[-1].minor);
}
+// 2871 "parser.c"
break;
case 102:
+// 1171 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOTEQUALS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(11,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOTEQUALS, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(11,&vvmsp[-1].minor);
}
+// 2879 "parser.c"
break;
case 103:
+// 1175 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_IDENTICAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(16,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_IDENTICAL, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(16,&vvmsp[-1].minor);
}
+// 2887 "parser.c"
break;
case 104:
+// 1179 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOTIDENTICAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(17,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOTIDENTICAL, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(17,&vvmsp[-1].minor);
}
+// 2895 "parser.c"
break;
case 105:
+// 1183 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_LESS, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(12,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_LESS, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(12,&vvmsp[-1].minor);
}
+// 2903 "parser.c"
break;
case 106:
+// 1187 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_GREATER, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(13,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_GREATER, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(13,&vvmsp[-1].minor);
}
+// 2911 "parser.c"
break;
case 107:
+// 1191 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_GREATEREQUAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(14,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_GREATEREQUAL, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(14,&vvmsp[-1].minor);
}
+// 2919 "parser.c"
break;
case 108:
+// 1195 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_LESSEQUAL, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(15,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_LESSEQUAL, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(15,&vvmsp[-1].minor);
}
+// 2927 "parser.c"
break;
case 109:
+// 1199 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_DOT, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(30,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_DOT, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(30,&vvmsp[-1].minor);
}
+// 2935 "parser.c"
break;
case 110:
+// 1203 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_IN, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(3,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_IN, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(3,&vvmsp[-1].minor);
}
+// 2943 "parser.c"
break;
case 111:
+// 1207 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT_IN, yymsp[-3].minor.yy92, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(26,&yymsp[-2].minor);
- yy_destructor(3,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT_IN, vvmsp[-3].minor.vv92, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(26,&vvmsp[-2].minor);
+ vv_destructor(3,&vvmsp[-1].minor);
}
+// 2952 "parser.c"
break;
case 112:
+// 1211 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_NOT, NULL, yymsp[0].minor.yy92, NULL, status->scanner_state);
- yy_destructor(26,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_NOT, NULL, vvmsp[0].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(26,&vvmsp[-1].minor);
}
+// 2960 "parser.c"
break;
case 113:
+// 1215 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_INCR, yymsp[-1].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(27,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_INCR, vvmsp[-1].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(27,&vvmsp[0].minor);
}
+// 2968 "parser.c"
break;
case 114:
+// 1219 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_DECR, yymsp[-1].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(28,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_DECR, vvmsp[-1].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(28,&vvmsp[0].minor);
}
+// 2976 "parser.c"
break;
case 115:
+// 1223 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ENCLOSED, yymsp[-1].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(29,&yymsp[-2].minor);
- yy_destructor(47,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ENCLOSED, vvmsp[-1].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(29,&vvmsp[-2].minor);
+ vv_destructor(47,&vvmsp[0].minor);
}
+// 2985 "parser.c"
break;
case 116:
+// 1227 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
- yy_destructor(24,&yymsp[-1].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
+ vv_destructor(24,&vvmsp[-1].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 2994 "parser.c"
break;
case 117:
+// 1231 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ARRAY, yymsp[-1].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(24,&yymsp[-2].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ARRAY, vvmsp[-1].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(24,&vvmsp[-2].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 3003 "parser.c"
break;
case 118:
+// 1235 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
- yy_destructor(81,&yymsp[-1].minor);
- yy_destructor(82,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
+ vv_destructor(81,&vvmsp[-1].minor);
+ vv_destructor(82,&vvmsp[0].minor);
}
+// 3012 "parser.c"
break;
case 119:
+// 1239 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ARRAY, yymsp[-1].minor.yy92, NULL, NULL, status->scanner_state);
- yy_destructor(81,&yymsp[-2].minor);
- yy_destructor(82,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ARRAY, vvmsp[-1].minor.vv92, NULL, NULL, status->scanner_state);
+ vv_destructor(81,&vvmsp[-2].minor);
+ vv_destructor(82,&vvmsp[0].minor);
}
+// 3021 "parser.c"
break;
case 120:
+// 1243 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_ARRAYACCESS, yymsp[-3].minor.yy92, yymsp[-1].minor.yy92, NULL, status->scanner_state);
- yy_destructor(24,&yymsp[-2].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_ARRAYACCESS, vvmsp[-3].minor.vv92, vvmsp[-1].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(24,&vvmsp[-2].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 3030 "parser.c"
break;
case 121:
+// 1247 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_expr(PHVOLT_T_TERNARY, yymsp[-2].minor.yy92, yymsp[0].minor.yy92, yymsp[-4].minor.yy92, status->scanner_state);
- yy_destructor(4,&yymsp[-3].minor);
- yy_destructor(5,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_expr(PHVOLT_T_TERNARY, vvmsp[-2].minor.vv92, vvmsp[0].minor.vv92, vvmsp[-4].minor.vv92, status->scanner_state);
+ vv_destructor(4,&vvmsp[-3].minor);
+ vv_destructor(5,&vvmsp[-1].minor);
}
+// 3039 "parser.c"
break;
case 122:
+// 1251 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_slice(yymsp[-4].minor.yy92, NULL, yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(24,&yymsp[-3].minor);
- yy_destructor(5,&yymsp[-2].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_slice(vvmsp[-4].minor.vv92, NULL, vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(24,&vvmsp[-3].minor);
+ vv_destructor(5,&vvmsp[-2].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 3049 "parser.c"
break;
case 123:
+// 1255 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_slice(yymsp[-4].minor.yy92, yymsp[-2].minor.yy92, NULL, status->scanner_state);
- yy_destructor(24,&yymsp[-3].minor);
- yy_destructor(5,&yymsp[-1].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_slice(vvmsp[-4].minor.vv92, vvmsp[-2].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(24,&vvmsp[-3].minor);
+ vv_destructor(5,&vvmsp[-1].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 3059 "parser.c"
break;
case 124:
+// 1259 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_slice(yymsp[-5].minor.yy92, yymsp[-3].minor.yy92, yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(24,&yymsp[-4].minor);
- yy_destructor(5,&yymsp[-2].minor);
- yy_destructor(80,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_slice(vvmsp[-5].minor.vv92, vvmsp[-3].minor.vv92, vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(24,&vvmsp[-4].minor);
+ vv_destructor(5,&vvmsp[-2].minor);
+ vv_destructor(80,&vvmsp[0].minor);
}
+// 3069 "parser.c"
break;
case 126:
case 138:
+// 1269 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_literal_zval(PHVOLT_T_IDENTIFIER, yymsp[0].minor.yy0, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_literal_zval(PHVOLT_T_IDENTIFIER, vvmsp[0].minor.vv0, status->scanner_state);
}
+// 3077 "parser.c"
break;
case 129:
case 137:
+// 1285 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_named_item(yymsp[-2].minor.yy0, yymsp[0].minor.yy92, status->scanner_state);
- yy_destructor(5,&yymsp[-1].minor);
+ vvgotominor.vv92 = phvolt_ret_named_item(vvmsp[-2].minor.vv0, vvmsp[0].minor.vv92, status->scanner_state);
+ vv_destructor(5,&vvmsp[-1].minor);
}
+// 3086 "parser.c"
break;
case 130:
case 136:
+// 1289 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_named_item(NULL, yymsp[0].minor.yy92, status->scanner_state);
+ vvgotominor.vv92 = phvolt_ret_named_item(NULL, vvmsp[0].minor.vv92, status->scanner_state);
}
+// 3094 "parser.c"
break;
case 132:
+// 1299 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_func_call(yymsp[-3].minor.yy92, yymsp[-1].minor.yy92, status->scanner_state);
- yy_destructor(29,&yymsp[-2].minor);
- yy_destructor(47,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_func_call(vvmsp[-3].minor.vv92, vvmsp[-1].minor.vv92, status->scanner_state);
+ vv_destructor(29,&vvmsp[-2].minor);
+ vv_destructor(47,&vvmsp[0].minor);
}
+// 3103 "parser.c"
break;
case 133:
+// 1303 "parser.lemon"
{
- yygotominor.yy92 = phvolt_ret_func_call(yymsp[-2].minor.yy92, NULL, status->scanner_state);
- yy_destructor(29,&yymsp[-1].minor);
- yy_destructor(47,&yymsp[0].minor);
+ vvgotominor.vv92 = phvolt_ret_func_call(vvmsp[-2].minor.vv92, NULL, status->scanner_state);
+ vv_destructor(29,&vvmsp[-1].minor);
+ vv_destructor(47,&vvmsp[0].minor);
}
+// 3112 "parser.c"
break;
};
- yygoto = yyRuleInfo[yyruleno].lhs;
- yysize = yyRuleInfo[yyruleno].nrhs;
- yypParser->yyidx -= yysize;
- yyact = yy_find_reduce_action(yypParser,yygoto);
- if( yyact < YYNSTATE ){
- yy_shift(yypParser,yyact,yygoto,&yygotominor);
- }else if( yyact == YYNSTATE + YYNRULE + 1 ){
- yy_accept(yypParser);
+ vvgoto = vvRuleInfo[vvruleno].lhs;
+ vvsize = vvRuleInfo[vvruleno].nrhs;
+ vvpParser->vvidx -= vvsize;
+ vvact = vv_find_reduce_action(vvpParser,vvgoto);
+ if( vvact < VVNSTATE ){
+ vv_shift(vvpParser,vvact,vvgoto,&vvgotominor);
+ }else if( vvact == VVNSTATE + VVNRULE + 1 ){
+ vv_accept(vvpParser);
}
}
-static void yy_parse_failed(
- yyParser *yypParser /* The parser */
+static void vv_parse_failed(
+ vvParser *vvpParser /* The parser */
){
phvolt_ARG_FETCH;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sFail!\n",vvTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( vvpParser->vvidx>=0 ) vv_pop_parser_stack(vvpParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void yy_syntax_error(
- yyParser *yypParser, /* The parser */
- int yymajor, /* The major type of the error token */
- YYMINORTYPE yyminor /* The minor type of the error token */
+static void vv_syntax_error(
+ vvParser *vvpParser, /* The parser */
+ int vvmajor, /* The major type of the error token */
+ VVMINORTYPE vvminor /* The minor type of the error token */
){
phvolt_ARG_FETCH;
-#define TOKEN (yyminor.yy0)
+#define TOKEN (vvminor.vv0)
+// 604 "parser.lemon"
{
@@ -114320,19 +116927,20 @@ static void yy_syntax_error(
status->status = PHVOLT_PARSING_FAILED;
+// 3252 "parser.c"
phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void yy_accept(
- yyParser *yypParser /* The parser */
+static void vv_accept(
+ vvParser *vvpParser /* The parser */
){
phvolt_ARG_FETCH;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sAccept!\n",vvTracePrompt);
}
#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ while( vvpParser->vvidx>=0 ) vv_pop_parser_stack(vvpParser);
/* Here code is inserted which will be executed whenever the
** parser accepts */
phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
@@ -114358,56 +116966,56 @@ static void yy_accept(
** None.
*/
static void phvolt_(
- void *yyp, /* The parser */
- int yymajor, /* The major token code number */
- phvolt_TOKENTYPE yyminor /* The value for the token */
+ void *vvp, /* The parser */
+ int vvmajor, /* The major token code number */
+ phvolt_TOKENTYPE vvminor /* The value for the token */
phvolt_ARG_PDECL /* Optional %extra_argument parameter */
){
- YYMINORTYPE yyminorunion;
- int yyact; /* The parser action. */
- int yyendofinput; /* True if we are at the end of input */
- int yyerrorhit = 0; /* True if yymajor has invoked an error */
- yyParser *yypParser; /* The parser */
+ VVMINORTYPE vvminorunion;
+ int vvact; /* The parser action. */
+ int vvendofinput; /* True if we are at the end of input */
+ int vverrorhit = 0; /* True if vvmajor has invoked an error */
+ vvParser *vvpParser; /* The parser */
/* (re)initialize the parser, if necessary */
- yypParser = (yyParser*)yyp;
- if( yypParser->yyidx<0 ){
- if( yymajor==0 ) return;
- yypParser->yyidx = 0;
- yypParser->yyerrcnt = -1;
- yypParser->yystack[0].stateno = 0;
- yypParser->yystack[0].major = 0;
+ vvpParser = (vvParser*)vvp;
+ if( vvpParser->vvidx<0 ){
+ if( vvmajor==0 ) return;
+ vvpParser->vvidx = 0;
+ vvpParser->vverrcnt = -1;
+ vvpParser->vvstack[0].stateno = 0;
+ vvpParser->vvstack[0].major = 0;
}
- yyminorunion.yy0 = yyminor;
- yyendofinput = (yymajor==0);
+ vvminorunion.vv0 = vvminor;
+ vvendofinput = (vvmajor==0);
phvolt_ARG_STORE;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sInput %s\n",vvTracePrompt,vvTokenName[vvmajor]);
}
#endif
do{
- yyact = yy_find_shift_action(yypParser,yymajor);
- if( yyactyyerrcnt--;
- if( yyendofinput && yypParser->yyidx>=0 ){
- yymajor = 0;
+ vvact = vv_find_shift_action(vvpParser,vvmajor);
+ if( vvactvverrcnt--;
+ if( vvendofinput && vvpParser->vvidx>=0 ){
+ vvmajor = 0;
}else{
- yymajor = YYNOCODE;
+ vvmajor = VVNOCODE;
}
- }else if( yyact < YYNSTATE + YYNRULE ){
- yy_reduce(yypParser,yyact-YYNSTATE);
- }else if( yyact == YY_ERROR_ACTION ){
- int yymx;
+ }else if( vvact < VVNSTATE + VVNRULE ){
+ vv_reduce(vvpParser,vvact-VVNSTATE);
+ }else if( vvact == VV_ERROR_ACTION ){
+ int vvmx;
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sSyntax Error!\n",vvTracePrompt);
}
#endif
-#ifdef YYERRORSYMBOL
+#ifdef VVERRORSYMBOL
/* A syntax error has occurred.
** The response to an error depends upon whether or not the
** grammar defines an error token "ERROR".
@@ -114427,40 +117035,40 @@ static void phvolt_(
** shifted successfully.
**
*/
- if( yypParser->yyerrcnt<0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
+ if( vvpParser->vverrcnt<0 ){
+ vv_syntax_error(vvpParser,vvmajor,vvminorunion);
}
- yymx = yypParser->yystack[yypParser->yyidx].major;
- if( yymx==YYERRORSYMBOL || yyerrorhit ){
+ vvmx = vvpParser->vvstack[vvpParser->vvidx].major;
+ if( vvmx==VVERRORSYMBOL || vverrorhit ){
#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sDiscard input token %s\n",
- yyTracePrompt,yyTokenName[yymajor]);
+ if( vvTraceFILE ){
+ fprintf(vvTraceFILE,"%sDiscard input token %s\n",
+ vvTracePrompt,vvTokenName[vvmajor]);
}
#endif
- yy_destructor(yymajor,&yyminorunion);
- yymajor = YYNOCODE;
+ vv_destructor(vvmajor,&vvminorunion);
+ vvmajor = VVNOCODE;
}else{
while(
- yypParser->yyidx >= 0 &&
- yymx != YYERRORSYMBOL &&
- (yyact = yy_find_shift_action(yypParser,YYERRORSYMBOL)) >= YYNSTATE
+ vvpParser->vvidx >= 0 &&
+ vvmx != VVERRORSYMBOL &&
+ (vvact = vv_find_shift_action(vvpParser,VVERRORSYMBOL)) >= VVNSTATE
){
- yy_pop_parser_stack(yypParser);
+ vv_pop_parser_stack(vvpParser);
}
- if( yypParser->yyidx < 0 || yymajor==0 ){
- yy_destructor(yymajor,&yyminorunion);
- yy_parse_failed(yypParser);
- yymajor = YYNOCODE;
- }else if( yymx!=YYERRORSYMBOL ){
- YYMINORTYPE u2;
- u2.YYERRSYMDT = 0;
- yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
+ if( vvpParser->vvidx < 0 || vvmajor==0 ){
+ vv_destructor(vvmajor,&vvminorunion);
+ vv_parse_failed(vvpParser);
+ vvmajor = VVNOCODE;
+ }else if( vvmx!=VVERRORSYMBOL ){
+ VVMINORTYPE u2;
+ u2.VVERRSYMDT = 0;
+ vv_shift(vvpParser,vvact,VVERRORSYMBOL,&u2);
}
}
- yypParser->yyerrcnt = 3;
- yyerrorhit = 1;
-#else /* YYERRORSYMBOL is not defined */
+ vvpParser->vverrcnt = 3;
+ vverrorhit = 1;
+#else /* VVERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
** * Report an error message, and throw away the input token.
@@ -114470,21 +117078,21 @@ static void phvolt_(
** As before, subsequent error messages are suppressed until
** three input tokens have been successfully shifted.
*/
- if( yypParser->yyerrcnt<=0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
+ if( vvpParser->vverrcnt<=0 ){
+ vv_syntax_error(vvpParser,vvmajor,vvminorunion);
}
- yypParser->yyerrcnt = 3;
- yy_destructor(yymajor,&yyminorunion);
- if( yyendofinput ){
- yy_parse_failed(yypParser);
+ vvpParser->vverrcnt = 3;
+ vv_destructor(vvmajor,&vvminorunion);
+ if( vvendofinput ){
+ vv_parse_failed(vvpParser);
}
- yymajor = YYNOCODE;
+ vvmajor = VVNOCODE;
#endif
}else{
- yy_accept(yypParser);
- yymajor = YYNOCODE;
+ vv_accept(vvpParser);
+ vvmajor = VVNOCODE;
}
- }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
+ }while( vvmajor!=VVNOCODE && vvpParser->vvidx>=0 );
return;
}
@@ -115182,14 +117790,15 @@ static int phvolt_internal_parse_view(zval **result, zval *view_code, zval *temp
}
-/* Generated by re2c 0.13.5 on Wed Apr 29 17:20:28 2015 */
+/* Generated by re2c 0.13.6 on Mon May 4 14:07:41 2015 */
+// 1 "scanner.re"
-#define YYCTYPE unsigned char
-#define YYCURSOR (s->start)
-#define YYLIMIT (s->end)
-#define YYMARKER q
+#define VVCTYPE unsigned char
+#define VVCURSOR (s->start)
+#define VVLIMIT (s->end)
+#define VVMARKER q
static void phvolt_rtrim(phvolt_scanner_token *token) {
@@ -115256,7 +117865,7 @@ static void phvolt_ltrim(phvolt_scanner_token *token) {
static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token) {
unsigned char next, double_next;
- char *q = YYCURSOR, *start = YYCURSOR;
+ char *q = VVCURSOR, *start = VVCURSOR;
int status = PHVOLT_SCANNER_RETCODE_IMPOSSIBLE;
while (PHVOLT_SCANNER_RETCODE_IMPOSSIBLE == status) {
@@ -115266,18 +117875,18 @@ static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token
next = '\0';
double_next = '\0';
- if (*YYCURSOR == '\n') {
+ if (*VVCURSOR == '\n') {
s->active_line++;
}
- if (*YYCURSOR != '\0') {
- next = *(YYCURSOR + 1);
+ if (*VVCURSOR != '\0') {
+ next = *(VVCURSOR + 1);
if (next != '\0') {
- double_next = *(YYCURSOR + 2);
+ double_next = *(VVCURSOR + 2);
}
}
- if (*YYCURSOR == '\0' || (*YYCURSOR == '{' && (next == '%' || next == '{' || next == '#'))) {
+ if (*VVCURSOR == '\0' || (*VVCURSOR == '{' && (next == '%' || next == '{' || next == '#'))) {
if (next != '#') {
@@ -115301,16 +117910,16 @@ static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token
}
s->raw_buffer_cursor = 0;
- q = YYCURSOR;
+ q = VVCURSOR;
} else {
token->opcode = PHVOLT_T_IGNORE;
}
} else {
- while ((next = *(++YYCURSOR))) {
- if (next == '#' && *(YYCURSOR + 1) == '}') {
- YYCURSOR+=2;
+ while ((next = *(++VVCURSOR))) {
+ if (next == '#' && *(VVCURSOR + 1) == '}') {
+ VVCURSOR+=2;
token->opcode = PHVOLT_T_IGNORE;
return 0;
} else {
@@ -115332,72 +117941,4299 @@ static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token
s->raw_buffer = erealloc(s->raw_buffer, s->raw_buffer_size);
}
- memcpy(s->raw_buffer+s->raw_buffer_cursor, YYCURSOR, 1);
+ memcpy(s->raw_buffer+s->raw_buffer_cursor, VVCURSOR, 1);
s->raw_buffer_cursor++;
- ++YYCURSOR;
+ ++VVCURSOR;
+ }
+
+ } else {
+
+
+// 181 "scanner.c"
+ {
+ VVCTYPE vvch;
+ unsigned int vvaccept = 0;
+
+ vvch = *VVCURSOR;
+ switch (vvch) {
+ case 0x00: goto vv71;
+ case '\t':
+ case '\r':
+ case ' ': goto vv67;
+ case '\n': goto vv69;
+ case '!': goto vv59;
+ case '"': goto vv28;
+ case '%': goto vv22;
+ case '\'': goto vv30;
+ case '(': goto vv45;
+ case ')': goto vv47;
+ case '*': goto vv35;
+ case '+': goto vv33;
+ case ',': goto vv43;
+ case '-': goto vv24;
+ case '.': goto vv41;
+ case '/': goto vv37;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto vv2;
+ case ':': goto vv63;
+ case '<': goto vv53;
+ case '=': goto vv55;
+ case '>': goto vv57;
+ case '?': goto vv65;
+ case 'A':
+ case 'a': goto vv12;
+ case 'B':
+ case 'b': goto vv14;
+ case 'C':
+ case 'c': goto vv16;
+ case 'D':
+ case 'd': goto vv19;
+ case 'E':
+ case 'e': goto vv7;
+ case 'F':
+ case 'f': goto vv8;
+ case 'G':
+ case 'H':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'P':
+ case 'Q':
+ case 'U':
+ case 'V':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'g':
+ case 'h':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'p':
+ case 'q':
+ case 'u':
+ case 'v':
+ case 'x':
+ case 'y':
+ case 'z': goto vv32;
+ case 'I': goto vv4;
+ case 'M':
+ case 'm': goto vv15;
+ case 'N':
+ case 'n': goto vv10;
+ case 'O':
+ case 'o': goto vv13;
+ case 'R':
+ case 'r': goto vv18;
+ case 'S':
+ case 's': goto vv9;
+ case 'T':
+ case 't': goto vv11;
+ case 'W':
+ case 'w': goto vv17;
+ case '[': goto vv49;
+ case '\\': goto vv31;
+ case ']': goto vv51;
+ case 'i': goto vv6;
+ case '{': goto vv20;
+ case '|': goto vv61;
+ case '}': goto vv26;
+ case '~': goto vv39;
+ default: goto vv73;
+ }
+vv2:
+ vvaccept = 0;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ goto vv341;
+vv3:
+// 182 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_INTEGER;
+ token->value = estrndup(start, VVCURSOR - start);
+ token->len = VVCURSOR - start;
+ q = VVCURSOR;
+ return 0;
+ }
+// 295 "scanner.c"
+vv4:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case 'F':
+ case 'f': goto vv303;
+ case 'N':
+ case 'n': goto vv305;
+ case 'S':
+ case 's': goto vv307;
+ case 'T':
+ case 't': goto vv309;
+ default: goto vv101;
+ }
+vv5:
+// 495 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_IDENTIFIER;
+ token->value = estrndup(start, VVCURSOR - start);
+ token->len = VVCURSOR - start;
+ q = VVCURSOR;
+ return 0;
+ }
+// 318 "scanner.c"
+vv6:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'F':
+ case 'f': goto vv303;
+ case 'N':
+ case 'n': goto vv305;
+ case 'S': goto vv307;
+ case 'T':
+ case 't': goto vv309;
+ case 's': goto vv310;
+ default: goto vv101;
+ }
+vv7:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv235;
+ case 'M':
+ case 'm': goto vv236;
+ case 'N':
+ case 'n': goto vv237;
+ case 'V':
+ case 'v': goto vv238;
+ case 'X':
+ case 'x': goto vv239;
+ default: goto vv101;
+ }
+vv8:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv227;
+ case 'O':
+ case 'o': goto vv228;
+ default: goto vv101;
+ }
+vv9:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv218;
+ case 'E':
+ case 'e': goto vv219;
+ default: goto vv101;
+ }
+vv10:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv205;
+ case 'U':
+ case 'u': goto vv206;
+ default: goto vv101;
+ }
+vv11:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv201;
+ default: goto vv101;
+ }
+vv12:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv188;
+ case 'U':
+ case 'u': goto vv189;
+ default: goto vv101;
+ }
+vv13:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv183;
+ case 'R':
+ case 'r': goto vv184;
+ default: goto vv101;
+ }
+vv14:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv173;
+ case 'R':
+ case 'r': goto vv174;
+ default: goto vv101;
+ }
+vv15:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv168;
+ default: goto vv101;
+ }
+vv16:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv152;
+ case 'O':
+ case 'o': goto vv153;
+ default: goto vv101;
+ }
+vv17:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'I':
+ case 'i': goto vv148;
+ default: goto vv101;
+ }
+vv18:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv142;
+ default: goto vv101;
+ }
+vv19:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv133;
+ case 'O':
+ case 'o': goto vv134;
+ default: goto vv101;
+ }
+vv20:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '%': goto vv127;
+ case '{': goto vv125;
+ default: goto vv21;
+ }
+vv21:
+// 578 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_CBRACKET_OPEN;
+ return 0;
+ }
+// 460 "scanner.c"
+vv22:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '}': goto vv123;
+ default: goto vv23;
+ }
+vv23:
+// 523 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_MOD;
+ return 0;
+ }
+// 473 "scanner.c"
+vv24:
+ vvaccept = 1;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ switch (vvch) {
+ case '%': goto vv118;
+ case '-': goto vv115;
+ case '=': goto vv113;
+ case '}': goto vv117;
+ default: goto vv25;
+ }
+vv25:
+// 508 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_SUB;
+ return 0;
+ }
+// 490 "scanner.c"
+vv26:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '}': goto vv111;
+ default: goto vv27;
+ }
+vv27:
+// 583 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_CBRACKET_CLOSE;
+ return 0;
+ }
+// 503 "scanner.c"
+vv28:
+ vvaccept = 2;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ if (vvch >= 0x01) goto vv109;
+vv29:
+// 694 "scanner.re"
+ {
+ status = PHVOLT_SCANNER_RETCODE_ERR;
+ break;
+ }
+// 514 "scanner.c"
+vv30:
+ vvaccept = 2;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ if (vvch <= 0x00) goto vv29;
+ goto vv103;
+vv31:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv29;
+ }
+vv32:
+ vvch = *++VVCURSOR;
+ goto vv101;
+vv33:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '+': goto vv98;
+ case '=': goto vv96;
+ default: goto vv34;
+ }
+vv34:
+// 503 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ADD;
+ return 0;
+ }
+// 594 "scanner.c"
+vv35:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv94;
+ default: goto vv36;
+ }
+vv36:
+// 513 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_MUL;
+ return 0;
+ }
+// 607 "scanner.c"
+vv37:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv92;
+ default: goto vv38;
+ }
+vv38:
+// 518 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_DIV;
+ return 0;
+ }
+// 620 "scanner.c"
+vv39:
+ ++VVCURSOR;
+// 538 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_CONCAT;
+ return 0;
+ }
+// 628 "scanner.c"
+vv41:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '.': goto vv90;
+ default: goto vv42;
+ }
+vv42:
+// 548 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_DOT;
+ return 0;
+ }
+// 641 "scanner.c"
+vv43:
+ ++VVCURSOR;
+// 553 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_COMMA;
+ return 0;
+ }
+// 649 "scanner.c"
+vv45:
+ ++VVCURSOR;
+// 558 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_PARENTHESES_OPEN;
+ return 0;
+ }
+// 657 "scanner.c"
+vv47:
+ ++VVCURSOR;
+// 563 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_PARENTHESES_CLOSE;
+ return 0;
+ }
+// 665 "scanner.c"
+vv49:
+ ++VVCURSOR;
+// 568 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_SBRACKET_OPEN;
+ return 0;
+ }
+// 673 "scanner.c"
+vv51:
+ ++VVCURSOR;
+// 573 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_SBRACKET_CLOSE;
+ return 0;
+ }
+// 681 "scanner.c"
+vv53:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv88;
+ case '>': goto vv86;
+ default: goto vv54;
+ }
+vv54:
+// 653 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_LESS;
+ return 0;
+ }
+// 695 "scanner.c"
+vv55:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv82;
+ default: goto vv56;
+ }
+vv56:
+// 593 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ASSIGN;
+ return 0;
+ }
+// 708 "scanner.c"
+vv57:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv80;
+ default: goto vv58;
+ }
+vv58:
+// 658 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_GREATER;
+ return 0;
+ }
+// 721 "scanner.c"
+vv59:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv76;
+ default: goto vv60;
+ }
+vv60:
+// 648 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_NOT;
+ return 0;
+ }
+// 734 "scanner.c"
+vv61:
+ ++VVCURSOR;
+// 663 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_PIPE;
+ return 0;
+ }
+// 742 "scanner.c"
+vv63:
+ ++VVCURSOR;
+// 668 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_COLON;
+ return 0;
+ }
+// 750 "scanner.c"
+vv65:
+ ++VVCURSOR;
+// 673 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_QUESTION;
+ return 0;
+ }
+// 758 "scanner.c"
+vv67:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+ goto vv75;
+vv68:
+// 678 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_IGNORE;
+ return 0;
+ }
+// 769 "scanner.c"
+vv69:
+ ++VVCURSOR;
+// 683 "scanner.re"
+ {
+ s->active_line++;
+ token->opcode = PHVOLT_T_IGNORE;
+ return 0;
+ }
+// 778 "scanner.c"
+vv71:
+ ++VVCURSOR;
+// 689 "scanner.re"
+ {
+ status = PHVOLT_SCANNER_RETCODE_EOF;
+ break;
+ }
+// 786 "scanner.c"
+vv73:
+ vvch = *++VVCURSOR;
+ goto vv29;
+vv74:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv75:
+ switch (vvch) {
+ case '\t':
+ case '\r':
+ case ' ': goto vv74;
+ default: goto vv68;
+ }
+vv76:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv78;
+ default: goto vv77;
+ }
+vv77:
+// 628 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_NOTEQUALS;
+ return 0;
+ }
+// 812 "scanner.c"
+vv78:
+ ++VVCURSOR;
+// 643 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_NOTIDENTICAL;
+ return 0;
+ }
+// 820 "scanner.c"
+vv80:
+ ++VVCURSOR;
+// 618 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_GREATEREQUAL;
+ return 0;
+ }
+// 828 "scanner.c"
+vv82:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '=': goto vv84;
+ default: goto vv83;
+ }
+vv83:
+// 623 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_EQUALS;
+ return 0;
+ }
+// 841 "scanner.c"
+vv84:
+ ++VVCURSOR;
+// 638 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_IDENTICAL;
+ return 0;
+ }
+// 849 "scanner.c"
+vv86:
+ ++VVCURSOR;
+// 633 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_NOTEQUALS;
+ return 0;
+ }
+// 857 "scanner.c"
+vv88:
+ ++VVCURSOR;
+// 588 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_LESSEQUAL;
+ return 0;
+ }
+// 865 "scanner.c"
+vv90:
+ ++VVCURSOR;
+// 543 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_RANGE;
+ return 0;
+ }
+// 873 "scanner.c"
+vv92:
+ ++VVCURSOR;
+// 613 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_DIV_ASSIGN;
+ return 0;
+ }
+// 881 "scanner.c"
+vv94:
+ ++VVCURSOR;
+// 608 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_MUL_ASSIGN;
+ return 0;
+ }
+// 889 "scanner.c"
+vv96:
+ ++VVCURSOR;
+// 598 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ADD_ASSIGN;
+ return 0;
+ }
+// 897 "scanner.c"
+vv98:
+ ++VVCURSOR;
+// 528 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_INCR;
+ return 0;
+ }
+// 905 "scanner.c"
+vv100:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv101:
+ switch (vvch) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv5;
+ }
+vv102:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv103:
+ switch (vvch) {
+ case 0x00: goto vv104;
+ case '\'': goto vv106;
+ case '\\': goto vv105;
+ default: goto vv102;
+ }
+vv104:
+ VVCURSOR = VVMARKER;
+ switch (vvaccept) {
+ case 0: goto vv3;
+ case 1: goto vv25;
+ case 2: goto vv29;
+ default: goto vv308;
+ }
+vv105:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+ switch (vvch) {
+ case '\n': goto vv104;
+ default: goto vv102;
+ }
+vv106:
+ ++VVCURSOR;
+// 486 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_STRING;
+ token->value = estrndup(q, VVCURSOR - q - 1);
+ token->len = VVCURSOR - q - 1;
+ q = VVCURSOR;
+ return 0;
+ }
+// 1012 "scanner.c"
+vv108:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv109:
+ switch (vvch) {
+ case 0x00: goto vv104;
+ case '"': goto vv106;
+ case '\\': goto vv110;
+ default: goto vv108;
+ }
+vv110:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+ switch (vvch) {
+ case '\n': goto vv104;
+ default: goto vv108;
+ }
+vv111:
+ ++VVCURSOR;
+// 465 "scanner.re"
+ {
+ s->mode = PHVOLT_MODE_RAW;
+ token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
+ return 0;
+ }
+// 1038 "scanner.c"
+vv113:
+ ++VVCURSOR;
+// 603 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_SUB_ASSIGN;
+ return 0;
+ }
+// 1046 "scanner.c"
+vv115:
+ ++VVCURSOR;
+// 533 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_DECR;
+ return 0;
+ }
+// 1054 "scanner.c"
+vv117:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case '}': goto vv121;
+ default: goto vv104;
+ }
+vv118:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case '}': goto vv119;
+ default: goto vv104;
+ }
+vv119:
+ ++VVCURSOR;
+// 451 "scanner.re"
+ {
+ s->mode = PHVOLT_MODE_RAW;
+ s->whitespace_control = 1;
+ token->opcode = PHVOLT_T_CLOSE_DELIMITER;
+ return 0;
+ }
+// 1076 "scanner.c"
+vv121:
+ ++VVCURSOR;
+// 478 "scanner.re"
+ {
+ s->mode = PHVOLT_MODE_RAW;
+ s->whitespace_control = 1;
+ token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
+ return 0;
+ }
+// 1086 "scanner.c"
+vv123:
+ ++VVCURSOR;
+// 439 "scanner.re"
+ {
+ s->mode = PHVOLT_MODE_RAW;
+ token->opcode = PHVOLT_T_CLOSE_DELIMITER;
+ return 0;
+ }
+// 1095 "scanner.c"
+vv125:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '-': goto vv131;
+ default: goto vv126;
+ }
+vv126:
+// 458 "scanner.re"
+ {
+ s->whitespace_control = 0;
+ s->statement_position++;
+ token->opcode = PHVOLT_T_OPEN_EDELIMITER;
+ return 0;
+ }
+// 1110 "scanner.c"
+vv127:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '-': goto vv129;
+ default: goto vv128;
+ }
+vv128:
+// 433 "scanner.re"
+ {
+ s->whitespace_control = 0;
+ token->opcode = PHVOLT_T_OPEN_DELIMITER;
+ return 0;
+ }
+// 1124 "scanner.c"
+vv129:
+ ++VVCURSOR;
+// 445 "scanner.re"
+ {
+ s->whitespace_control = 0;
+ token->opcode = PHVOLT_T_OPEN_DELIMITER;
+ return 0;
+ }
+// 1133 "scanner.c"
+vv131:
+ ++VVCURSOR;
+// 471 "scanner.re"
+ {
+ s->whitespace_control = 0;
+ s->statement_position++;
+ token->opcode = PHVOLT_T_OPEN_EDELIMITER;
+ return 0;
+ }
+// 1143 "scanner.c"
+vv133:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'F':
+ case 'f': goto vv136;
+ default: goto vv101;
+ }
+vv134:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv135;
+ }
+vv135:
+// 403 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_DO;
+ return 0;
+ }
+// 1227 "scanner.c"
+vv136:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'I':
+ case 'i': goto vv137;
+ default: goto vv101;
+ }
+vv137:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv138;
+ default: goto vv101;
+ }
+vv138:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv139;
+ default: goto vv101;
+ }
+vv139:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv140;
+ default: goto vv101;
+ }
+vv140:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv141;
+ }
+vv141:
+// 344 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_DEFINED;
+ return 0;
+ }
+// 1332 "scanner.c"
+vv142:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv143;
+ default: goto vv101;
+ }
+vv143:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'U':
+ case 'u': goto vv144;
+ default: goto vv101;
+ }
+vv144:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv145;
+ default: goto vv101;
+ }
+vv145:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv146;
+ default: goto vv101;
+ }
+vv146:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv147;
+ }
+vv147:
+// 309 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_RETURN;
+ return 0;
+ }
+// 1436 "scanner.c"
+vv148:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv149;
+ default: goto vv101;
+ }
+vv149:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'H':
+ case 'h': goto vv150;
+ default: goto vv101;
+ }
+vv150:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv151;
+ }
+vv151:
+// 304 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_WITH;
+ return 0;
+ }
+// 1526 "scanner.c"
+vv152:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv162;
+ case 'L':
+ case 'l': goto vv161;
+ default: goto vv101;
+ }
+vv153:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv154;
+ default: goto vv101;
+ }
+vv154:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv155;
+ default: goto vv101;
+ }
+vv155:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'I':
+ case 'i': goto vv156;
+ default: goto vv101;
+ }
+vv156:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv157;
+ default: goto vv101;
+ }
+vv157:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'U':
+ case 'u': goto vv158;
+ default: goto vv101;
+ }
+vv158:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv159;
+ default: goto vv101;
+ }
+vv159:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv160;
+ }
+vv160:
+// 421 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_CONTINUE;
+ return 0;
+ }
+// 1654 "scanner.c"
+vv161:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv166;
+ default: goto vv101;
+ }
+vv162:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'H':
+ case 'h': goto vv163;
+ default: goto vv101;
+ }
+vv163:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv164;
+ default: goto vv101;
+ }
+vv164:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv165;
+ }
+vv165:
+// 392 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_CACHE;
+ return 0;
+ }
+// 1752 "scanner.c"
+vv166:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv167;
+ }
+vv167:
+// 293 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_CALL;
+ return 0;
+ }
+// 1829 "scanner.c"
+vv168:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv169;
+ default: goto vv101;
+ }
+vv169:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv170;
+ default: goto vv101;
+ }
+vv170:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv171;
+ default: goto vv101;
+ }
+vv171:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv172;
+ }
+vv172:
+// 282 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_MACRO;
+ return 0;
+ }
+// 1927 "scanner.c"
+vv173:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv179;
+ default: goto vv101;
+ }
+vv174:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv175;
+ default: goto vv101;
+ }
+vv175:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv176;
+ default: goto vv101;
+ }
+vv176:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'K':
+ case 'k': goto vv177;
+ default: goto vv101;
+ }
+vv177:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv178;
+ }
+vv178:
+// 427 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_BREAK;
+ return 0;
+ }
+// 2032 "scanner.c"
+vv179:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv180;
+ default: goto vv101;
+ }
+vv180:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'K':
+ case 'k': goto vv181;
+ default: goto vv101;
+ }
+vv181:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv182;
+ }
+vv182:
+// 271 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_BLOCK;
+ return 0;
+ }
+// 2123 "scanner.c"
+vv183:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv186;
+ default: goto vv101;
+ }
+vv184:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv185;
+ }
+vv185:
+// 266 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_OR;
+ return 0;
+ }
+// 2206 "scanner.c"
+vv186:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv187;
+ }
+vv187:
+// 368 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_ODD;
+ return 0;
+ }
+// 2283 "scanner.c"
+vv188:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv199;
+ default: goto vv101;
+ }
+vv189:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv190;
+ default: goto vv101;
+ }
+vv190:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv191;
+ default: goto vv101;
+ }
+vv191:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv192;
+ default: goto vv101;
+ }
+vv192:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'S':
+ case 's': goto vv193;
+ default: goto vv101;
+ }
+vv193:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv194;
+ default: goto vv101;
+ }
+vv194:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv195;
+ default: goto vv101;
+ }
+vv195:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'P':
+ case 'p': goto vv196;
+ default: goto vv101;
+ }
+vv196:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv197;
+ default: goto vv101;
+ }
+vv197:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv198;
+ }
+vv198:
+// 409 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_AUTOESCAPE;
+ return 0;
+ }
+// 2423 "scanner.c"
+vv199:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv200;
+ }
+vv200:
+// 261 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_AND;
+ return 0;
+ }
+// 2499 "scanner.c"
+vv201:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'U':
+ case 'u': goto vv202;
+ default: goto vv101;
+ }
+vv202:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv203;
+ default: goto vv101;
+ }
+vv203:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv204;
+ }
+vv204:
+// 256 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_TRUE;
+ return 0;
+ }
+// 2589 "scanner.c"
+vv205:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv216;
+ default: goto vv101;
+ }
+vv206:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv207;
+ case 'M':
+ case 'm': goto vv208;
+ default: goto vv101;
+ }
+vv207:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv214;
+ default: goto vv101;
+ }
+vv208:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv209;
+ default: goto vv101;
+ }
+vv209:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv210;
+ default: goto vv101;
+ }
+vv210:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'I':
+ case 'i': goto vv211;
+ default: goto vv101;
+ }
+vv211:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv212;
+ default: goto vv101;
+ }
+vv212:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv213;
+ }
+vv213:
+// 374 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_NUMERIC;
+ return 0;
+ }
+// 2717 "scanner.c"
+vv214:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv215;
+ }
+vv215:
+// 246 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_NULL;
+ return 0;
+ }
+// 2793 "scanner.c"
+vv216:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv217;
+ }
+vv217:
+// 338 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_NOT;
+ return 0;
+ }
+// 2870 "scanner.c"
+vv218:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv222;
+ default: goto vv101;
+ }
+vv219:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv220;
+ default: goto vv101;
+ }
+vv220:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv221;
+ }
+vv221:
+// 241 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_SET;
+ return 0;
+ }
+// 2960 "scanner.c"
+vv222:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv223;
+ default: goto vv101;
+ }
+vv223:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv224;
+ default: goto vv101;
+ }
+vv224:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv225;
+ default: goto vv101;
+ }
+vv225:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv226;
+ }
+vv226:
+// 380 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_SCALAR;
+ return 0;
+ }
+// 3058 "scanner.c"
+vv227:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv231;
+ default: goto vv101;
+ }
+vv228:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv229;
+ default: goto vv101;
+ }
+vv229:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv230;
+ }
+vv230:
+// 225 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_FOR;
+ return 0;
+ }
+// 3149 "scanner.c"
+vv231:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'S':
+ case 's': goto vv232;
+ default: goto vv101;
+ }
+vv232:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv233;
+ default: goto vv101;
+ }
+vv233:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv234;
+ }
+vv234:
+// 251 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_FALSE;
+ return 0;
+ }
+// 3239 "scanner.c"
+vv235:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'S':
+ case 's': goto vv293;
+ default: goto vv101;
+ }
+vv236:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'P':
+ case 'p': goto vv289;
+ default: goto vv101;
+ }
+vv237:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv249;
+ default: goto vv101;
+ }
+vv238:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv246;
+ default: goto vv101;
+ }
+vv239:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv240;
+ default: goto vv101;
+ }
+vv240:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv241;
+ default: goto vv101;
+ }
+vv241:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv242;
+ default: goto vv101;
+ }
+vv242:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv243;
+ default: goto vv101;
+ }
+vv243:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'S':
+ case 's': goto vv244;
+ default: goto vv101;
+ }
+vv244:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv245;
+ }
+vv245:
+// 314 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_EXTENDS;
+ return 0;
+ }
+// 3379 "scanner.c"
+vv246:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv247;
+ default: goto vv101;
+ }
+vv247:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv248;
+ }
+vv248:
+// 362 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_EVEN;
+ return 0;
+ }
+// 3463 "scanner.c"
+vv249:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv250;
+ case 'B':
+ case 'b': goto vv251;
+ case 'C':
+ case 'c': goto vv252;
+ case 'F':
+ case 'f': goto vv253;
+ case 'I':
+ case 'i': goto vv254;
+ case 'M':
+ case 'm': goto vv255;
+ default: goto vv101;
+ }
+vv250:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'U':
+ case 'u': goto vv279;
+ default: goto vv101;
+ }
+vv251:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv274;
+ default: goto vv101;
+ }
+vv252:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv266;
+ default: goto vv101;
+ }
+vv253:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv263;
+ default: goto vv101;
+ }
+vv254:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'F':
+ case 'f': goto vv261;
+ default: goto vv101;
+ }
+vv255:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv256;
+ default: goto vv101;
+ }
+vv256:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv257;
+ default: goto vv101;
+ }
+vv257:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv258;
+ default: goto vv101;
+ }
+vv258:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv259;
+ default: goto vv101;
+ }
+vv259:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv260;
+ }
+vv260:
+// 288 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDMACRO;
+ return 0;
+ }
+// 3619 "scanner.c"
+vv261:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv262;
+ }
+vv262:
+// 220 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDIF;
+ return 0;
+ }
+// 3695 "scanner.c"
+vv263:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv264;
+ default: goto vv101;
+ }
+vv264:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv265;
+ }
+vv265:
+// 231 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDFOR;
+ return 0;
+ }
+// 3778 "scanner.c"
+vv266:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv267;
+ case 'L':
+ case 'l': goto vv268;
+ default: goto vv101;
+ }
+vv267:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'H':
+ case 'h': goto vv271;
+ default: goto vv101;
+ }
+vv268:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv269;
+ default: goto vv101;
+ }
+vv269:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv270;
+ }
+vv270:
+// 299 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDCALL;
+ return 0;
+ }
+// 3877 "scanner.c"
+vv271:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv272;
+ default: goto vv101;
+ }
+vv272:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv273;
+ }
+vv273:
+// 398 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDCACHE;
+ return 0;
+ }
+// 3960 "scanner.c"
+vv274:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv275;
+ default: goto vv101;
+ }
+vv275:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv276;
+ default: goto vv101;
+ }
+vv276:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'K':
+ case 'k': goto vv277;
+ default: goto vv101;
+ }
+vv277:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv278;
+ }
+vv278:
+// 277 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ENDBLOCK;
+ return 0;
+ }
+// 4057 "scanner.c"
+vv279:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv280;
+ default: goto vv101;
+ }
+vv280:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv281;
+ default: goto vv101;
+ }
+vv281:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv282;
+ default: goto vv101;
+ }
+vv282:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'S':
+ case 's': goto vv283;
+ default: goto vv101;
+ }
+vv283:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'C':
+ case 'c': goto vv284;
+ default: goto vv101;
+ }
+vv284:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv285;
+ default: goto vv101;
+ }
+vv285:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'P':
+ case 'p': goto vv286;
+ default: goto vv101;
+ }
+vv286:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv287;
+ default: goto vv101;
+ }
+vv287:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv288;
+ }
+vv288:
+// 415 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_ENDAUTOESCAPE;
+ return 0;
+ }
+// 4190 "scanner.c"
+vv289:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv290;
+ default: goto vv101;
+ }
+vv290:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'Y':
+ case 'y': goto vv291;
+ default: goto vv101;
+ }
+vv291:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv292;
+ }
+vv292:
+// 356 "scanner.re"
+ {
+ s->statement_position++;
+ token->opcode = PHVOLT_T_EMPTY;
+ return 0;
+ }
+// 4281 "scanner.c"
+vv293:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv294;
+ default: goto vv101;
+ }
+vv294:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'G':
+ case 'H':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'g':
+ case 'h':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ case 'F':
+ case 'f': goto vv296;
+ case 'I':
+ case 'i': goto vv297;
+ default: goto vv295;
+ }
+vv295:
+// 205 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ELSE;
+ return 0;
+ }
+// 4364 "scanner.c"
+vv296:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv300;
+ default: goto vv101;
+ }
+vv297:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'F':
+ case 'f': goto vv298;
+ default: goto vv101;
+ }
+vv298:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv299;
}
-
- } else {
-
-
- {
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 48, 48, 48, 48, 48, 48, 48,
- 48, 52, 48, 48, 48, 52, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 116, 48, 16, 48, 48, 48, 48, 32,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 48, 48, 48, 48, 48, 48,
- 48, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 48, 8, 48, 48, 56,
- 48, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48,
- };
-
- yych = *YYCURSOR;
- switch (yych) {
- case 0x00: goto yy71;
- case '\t':
- case '\r':
- case ' ': goto yy67;
- case '\n': goto yy69;
- case '!': goto yy59;
- case '"': goto yy28;
- case '%': goto yy22;
- case '\'': goto yy30;
- case '(': goto yy45;
- case ')': goto yy47;
- case '*': goto yy35;
- case '+': goto yy33;
- case ',': goto yy43;
- case '-': goto yy24;
- case '.': goto yy41;
- case '/': goto yy37;
+vv299:
+// 215 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ELSEIF;
+ return 0;
+ }
+// 4454 "scanner.c"
+vv300:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv301;
+ default: goto vv101;
+ }
+vv301:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
case '0':
case '1':
case '2':
@@ -115407,1761 +122243,744 @@ static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token
case '6':
case '7':
case '8':
- case '9': goto yy2;
- case ':': goto yy63;
- case '<': goto yy53;
- case '=': goto yy55;
- case '>': goto yy57;
- case '?': goto yy65;
+ case '9':
case 'A':
- case 'a': goto yy12;
case 'B':
- case 'b': goto yy14;
case 'C':
- case 'c': goto yy16;
case 'D':
- case 'd': goto yy19;
case 'E':
- case 'e': goto yy7;
case 'F':
- case 'f': goto yy8;
case 'G':
case 'H':
+ case 'I':
case 'J':
case 'K':
case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
case 'P':
case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
case 'U':
case 'V':
+ case 'W':
case 'X':
case 'Y':
case 'Z':
+ case '\\':
case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
case 'g':
case 'h':
+ case 'i':
case 'j':
case 'k':
case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
case 'p':
case 'q':
+ case 'r':
+ case 's':
+ case 't':
case 'u':
case 'v':
+ case 'w':
case 'x':
case 'y':
- case 'z': goto yy32;
- case 'I': goto yy4;
+ case 'z': goto vv100;
+ default: goto vv302;
+ }
+vv302:
+// 210 "scanner.re"
+ {
+ token->opcode = PHVOLT_T_ELSEFOR;
+ return 0;
+ }
+// 4537 "scanner.c"
+vv303:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
case 'M':
- case 'm': goto yy15;
case 'N':
- case 'n': goto yy10;
case 'O':
- case 'o': goto yy13;
+ case 'P':
+ case 'Q':
case 'R':
- case 'r': goto yy18;
case 'S':
- case 's': goto yy9;
case 'T':
- case 't': goto yy11;
+ case 'U':
+ case 'V':
case 'W':
- case 'w': goto yy17;
- case '[': goto yy49;
- case '\\': goto yy31;
- case ']': goto yy51;
- case 'i': goto yy6;
- case '{': goto yy20;
- case '|': goto yy61;
- case '}': goto yy26;
- case '~': goto yy39;
- default: goto yy73;
- }
-yy2:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy341;
-yy3:
- {
- token->opcode = PHVOLT_T_INTEGER;
- token->value = estrndup(start, YYCURSOR - start);
- token->len = YYCURSOR - start;
- q = YYCURSOR;
- return 0;
- }
-yy4:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'T') {
- if (yych <= 'M') {
- if (yych == 'F') goto yy303;
- goto yy101;
- } else {
- if (yych <= 'N') goto yy305;
- if (yych <= 'R') goto yy101;
- if (yych <= 'S') goto yy307;
- goto yy309;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'f') goto yy303;
- if (yych <= 'm') goto yy101;
- goto yy305;
- } else {
- if (yych <= 'r') goto yy101;
- if (yych <= 's') goto yy307;
- if (yych <= 't') goto yy309;
- goto yy101;
- }
- }
-yy5:
- {
- token->opcode = PHVOLT_T_IDENTIFIER;
- token->value = estrndup(start, YYCURSOR - start);
- token->len = YYCURSOR - start;
- q = YYCURSOR;
- return 0;
- }
-yy6:
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych <= 'M') {
- if (yych == 'F') goto yy303;
- goto yy101;
- } else {
- if (yych <= 'N') goto yy305;
- if (yych <= 'R') goto yy101;
- if (yych <= 'S') goto yy307;
- goto yy309;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'f') goto yy303;
- if (yych <= 'm') goto yy101;
- goto yy305;
- } else {
- if (yych <= 'r') goto yy101;
- if (yych <= 's') goto yy310;
- if (yych <= 't') goto yy309;
- goto yy101;
- }
- }
-yy7:
- yych = *++YYCURSOR;
- if (yych <= 'X') {
- if (yych <= 'N') {
- if (yych <= 'K') goto yy101;
- if (yych <= 'L') goto yy235;
- if (yych <= 'M') goto yy236;
- goto yy237;
- } else {
- if (yych == 'V') goto yy238;
- if (yych <= 'W') goto yy101;
- goto yy239;
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'k') goto yy101;
- if (yych <= 'l') goto yy235;
- if (yych <= 'm') goto yy236;
- goto yy237;
- } else {
- if (yych <= 'v') {
- if (yych <= 'u') goto yy101;
- goto yy238;
- } else {
- if (yych == 'x') goto yy239;
- goto yy101;
- }
- }
- }
-yy8:
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'A') goto yy227;
- if (yych <= 'N') goto yy101;
- goto yy228;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy101;
- goto yy227;
- } else {
- if (yych == 'o') goto yy228;
- goto yy101;
- }
- }
-yy9:
- yych = *++YYCURSOR;
- if (yych <= 'E') {
- if (yych == 'C') goto yy218;
- if (yych <= 'D') goto yy101;
- goto yy219;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy101;
- goto yy218;
- } else {
- if (yych == 'e') goto yy219;
- goto yy101;
- }
- }
-yy10:
- yych = *++YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'O') goto yy205;
- if (yych <= 'T') goto yy101;
- goto yy206;
- } else {
- if (yych <= 'o') {
- if (yych <= 'n') goto yy101;
- goto yy205;
- } else {
- if (yych == 'u') goto yy206;
- goto yy101;
- }
- }
-yy11:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy201;
- if (yych == 'r') goto yy201;
- goto yy101;
-yy12:
- yych = *++YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'N') goto yy188;
- if (yych <= 'T') goto yy101;
- goto yy189;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy101;
- goto yy188;
- } else {
- if (yych == 'u') goto yy189;
- goto yy101;
- }
- }
-yy13:
- yych = *++YYCURSOR;
- if (yych <= 'R') {
- if (yych == 'D') goto yy183;
- if (yych <= 'Q') goto yy101;
- goto yy184;
- } else {
- if (yych <= 'd') {
- if (yych <= 'c') goto yy101;
- goto yy183;
- } else {
- if (yych == 'r') goto yy184;
- goto yy101;
- }
- }
-yy14:
- yych = *++YYCURSOR;
- if (yych <= 'R') {
- if (yych == 'L') goto yy173;
- if (yych <= 'Q') goto yy101;
- goto yy174;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy101;
- goto yy173;
- } else {
- if (yych == 'r') goto yy174;
- goto yy101;
- }
- }
-yy15:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy168;
- if (yych == 'a') goto yy168;
- goto yy101;
-yy16:
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'A') goto yy152;
- if (yych <= 'N') goto yy101;
- goto yy153;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy101;
- goto yy152;
- } else {
- if (yych == 'o') goto yy153;
- goto yy101;
- }
- }
-yy17:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy148;
- if (yych == 'i') goto yy148;
- goto yy101;
-yy18:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy142;
- if (yych == 'e') goto yy142;
- goto yy101;
-yy19:
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'E') goto yy133;
- if (yych <= 'N') goto yy101;
- goto yy134;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy101;
- goto yy133;
- } else {
- if (yych == 'o') goto yy134;
- goto yy101;
- }
- }
-yy20:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '%') goto yy127;
- if (yych == '{') goto yy125;
- {
- token->opcode = PHVOLT_T_CBRACKET_OPEN;
- return 0;
- }
-yy22:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '}') goto yy123;
- {
- token->opcode = PHVOLT_T_MOD;
- return 0;
- }
-yy24:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '-') {
- if (yych == '%') goto yy118;
- if (yych >= '-') goto yy115;
- } else {
- if (yych <= '=') {
- if (yych >= '=') goto yy113;
- } else {
- if (yych == '}') goto yy117;
- }
- }
-yy25:
- {
- token->opcode = PHVOLT_T_SUB;
- return 0;
- }
-yy26:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '}') goto yy111;
- {
- token->opcode = PHVOLT_T_CBRACKET_CLOSE;
- return 0;
- }
-yy28:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych >= 0x01) goto yy109;
-yy29:
- {
- status = PHVOLT_SCANNER_RETCODE_ERR;
- break;
- }
-yy30:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x00) goto yy29;
- goto yy103;
-yy31:
- yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '@') goto yy29;
- if (yych <= 'Z') goto yy100;
- goto yy29;
- } else {
- if (yych == '`') goto yy29;
- if (yych <= 'z') goto yy100;
- goto yy29;
- }
-yy32:
- yych = *++YYCURSOR;
- goto yy101;
-yy33:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '+') goto yy98;
- if (yych == '=') goto yy96;
- {
- token->opcode = PHVOLT_T_ADD;
- return 0;
- }
-yy35:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy94;
- {
- token->opcode = PHVOLT_T_MUL;
- return 0;
- }
-yy37:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy92;
- {
- token->opcode = PHVOLT_T_DIV;
- return 0;
- }
-yy39:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_CONCAT;
- return 0;
- }
-yy41:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '.') goto yy90;
- {
- token->opcode = PHVOLT_T_DOT;
- return 0;
- }
-yy43:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_COMMA;
- return 0;
- }
-yy45:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_PARENTHESES_OPEN;
- return 0;
- }
-yy47:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_PARENTHESES_CLOSE;
- return 0;
- }
-yy49:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_SBRACKET_OPEN;
- return 0;
- }
-yy51:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_SBRACKET_CLOSE;
- return 0;
- }
-yy53:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '<') goto yy54;
- if (yych <= '=') goto yy88;
- if (yych <= '>') goto yy86;
-yy54:
- {
- token->opcode = PHVOLT_T_LESS;
- return 0;
- }
-yy55:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy82;
- {
- token->opcode = PHVOLT_T_ASSIGN;
- return 0;
- }
-yy57:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy80;
- {
- token->opcode = PHVOLT_T_GREATER;
- return 0;
- }
-yy59:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy76;
- {
- token->opcode = PHVOLT_T_NOT;
- return 0;
- }
-yy61:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_PIPE;
- return 0;
- }
-yy63:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_COLON;
- return 0;
- }
-yy65:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_QUESTION;
- return 0;
- }
-yy67:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy75;
-yy68:
- {
- token->opcode = PHVOLT_T_IGNORE;
- return 0;
- }
-yy69:
- ++YYCURSOR;
- {
- s->active_line++;
- token->opcode = PHVOLT_T_IGNORE;
- return 0;
- }
-yy71:
- ++YYCURSOR;
- {
- status = PHVOLT_SCANNER_RETCODE_EOF;
- break;
- }
-yy73:
- yych = *++YYCURSOR;
- goto yy29;
-yy74:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy75:
- if (yybm[0+yych] & 4) {
- goto yy74;
- }
- goto yy68;
-yy76:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy78;
- {
- token->opcode = PHVOLT_T_NOTEQUALS;
- return 0;
- }
-yy78:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_NOTIDENTICAL;
- return 0;
- }
-yy80:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_GREATEREQUAL;
- return 0;
- }
-yy82:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy84;
- {
- token->opcode = PHVOLT_T_EQUALS;
- return 0;
- }
-yy84:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_IDENTICAL;
- return 0;
- }
-yy86:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_NOTEQUALS;
- return 0;
- }
-yy88:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_LESSEQUAL;
- return 0;
- }
-yy90:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_RANGE;
- return 0;
- }
-yy92:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_DIV_ASSIGN;
- return 0;
- }
-yy94:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_MUL_ASSIGN;
- return 0;
- }
-yy96:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_ADD_ASSIGN;
- return 0;
- }
-yy98:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_INCR;
- return 0;
- }
-yy100:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy101:
- if (yybm[0+yych] & 8) {
- goto yy100;
- }
- goto yy5;
-yy102:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy103:
- if (yybm[0+yych] & 16) {
- goto yy102;
- }
- if (yych <= 0x00) goto yy104;
- if (yych <= '[') goto yy106;
- goto yy105;
-yy104:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy3;
- } else {
- goto yy25;
- }
- } else {
- if (yyaccept <= 2) {
- goto yy29;
- } else {
- goto yy308;
- }
- }
-yy105:
- ++YYCURSOR;
- yych = *YYCURSOR;
- if (yych == '\n') goto yy104;
- goto yy102;
-yy106:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_STRING;
- token->value = estrndup(q, YYCURSOR - q - 1);
- token->len = YYCURSOR - q - 1;
- q = YYCURSOR;
- return 0;
- }
-yy108:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy109:
- if (yybm[0+yych] & 32) {
- goto yy108;
- }
- if (yych <= 0x00) goto yy104;
- if (yych <= '[') goto yy106;
- ++YYCURSOR;
- yych = *YYCURSOR;
- if (yych == '\n') goto yy104;
- goto yy108;
-yy111:
- ++YYCURSOR;
- {
- s->mode = PHVOLT_MODE_RAW;
- token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
- return 0;
- }
-yy113:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_SUB_ASSIGN;
- return 0;
- }
-yy115:
- ++YYCURSOR;
- {
- token->opcode = PHVOLT_T_DECR;
- return 0;
- }
-yy117:
- yych = *++YYCURSOR;
- if (yych == '}') goto yy121;
- goto yy104;
-yy118:
- yych = *++YYCURSOR;
- if (yych != '}') goto yy104;
- ++YYCURSOR;
- {
- s->mode = PHVOLT_MODE_RAW;
- s->whitespace_control = 1;
- token->opcode = PHVOLT_T_CLOSE_DELIMITER;
- return 0;
- }
-yy121:
- ++YYCURSOR;
- {
- s->mode = PHVOLT_MODE_RAW;
- s->whitespace_control = 1;
- token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
- return 0;
- }
-yy123:
- ++YYCURSOR;
- {
- s->mode = PHVOLT_MODE_RAW;
- token->opcode = PHVOLT_T_CLOSE_DELIMITER;
- return 0;
- }
-yy125:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '-') goto yy131;
- {
- s->whitespace_control = 0;
- s->statement_position++;
- token->opcode = PHVOLT_T_OPEN_EDELIMITER;
- return 0;
- }
-yy127:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '-') goto yy129;
- {
- s->whitespace_control = 0;
- token->opcode = PHVOLT_T_OPEN_DELIMITER;
- return 0;
- }
-yy129:
- ++YYCURSOR;
- {
- s->whitespace_control = 0;
- token->opcode = PHVOLT_T_OPEN_DELIMITER;
- return 0;
- }
-yy131:
- ++YYCURSOR;
- {
- s->whitespace_control = 0;
- s->statement_position++;
- token->opcode = PHVOLT_T_OPEN_EDELIMITER;
- return 0;
- }
-yy133:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy136;
- if (yych == 'f') goto yy136;
- goto yy101;
-yy134:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_DO;
- return 0;
- }
-yy136:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy137;
- if (yych != 'i') goto yy101;
-yy137:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy138;
- if (yych != 'n') goto yy101;
-yy138:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy139;
- if (yych != 'e') goto yy101;
-yy139:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy140;
- if (yych != 'd') goto yy101;
-yy140:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_DEFINED;
- return 0;
- }
-yy142:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy143;
- if (yych != 't') goto yy101;
-yy143:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy144;
- if (yych != 'u') goto yy101;
-yy144:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy145;
- if (yych != 'r') goto yy101;
-yy145:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy146;
- if (yych != 'n') goto yy101;
-yy146:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_RETURN;
- return 0;
- }
-yy148:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy149;
- if (yych != 't') goto yy101;
-yy149:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy150;
- if (yych != 'h') goto yy101;
-yy150:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_WITH;
- return 0;
- }
-yy152:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == 'C') goto yy162;
- if (yych <= 'K') goto yy101;
- goto yy161;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy101;
- goto yy162;
- } else {
- if (yych == 'l') goto yy161;
- goto yy101;
- }
- }
-yy153:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy154;
- if (yych != 'n') goto yy101;
-yy154:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy155;
- if (yych != 't') goto yy101;
-yy155:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy156;
- if (yych != 'i') goto yy101;
-yy156:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy157;
- if (yych != 'n') goto yy101;
-yy157:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy158;
- if (yych != 'u') goto yy101;
-yy158:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy159;
- if (yych != 'e') goto yy101;
-yy159:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_CONTINUE;
- return 0;
- }
-yy161:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy166;
- if (yych == 'l') goto yy166;
- goto yy101;
-yy162:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy163;
- if (yych != 'h') goto yy101;
-yy163:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy164;
- if (yych != 'e') goto yy101;
-yy164:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_CACHE;
- return 0;
- }
-yy166:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_CALL;
- return 0;
- }
-yy168:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy169;
- if (yych != 'c') goto yy101;
-yy169:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy170;
- if (yych != 'r') goto yy101;
-yy170:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy171;
- if (yych != 'o') goto yy101;
-yy171:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_MACRO;
- return 0;
- }
-yy173:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy179;
- if (yych == 'o') goto yy179;
- goto yy101;
-yy174:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy175;
- if (yych != 'e') goto yy101;
-yy175:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy176;
- if (yych != 'a') goto yy101;
-yy176:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy177;
- if (yych != 'k') goto yy101;
-yy177:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_BREAK;
- return 0;
- }
-yy179:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy180;
- if (yych != 'c') goto yy101;
-yy180:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy181;
- if (yych != 'k') goto yy101;
-yy181:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_BLOCK;
- return 0;
- }
-yy183:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy186;
- if (yych == 'd') goto yy186;
- goto yy101;
-yy184:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_OR;
- return 0;
- }
-yy186:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_ODD;
- return 0;
- }
-yy188:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy199;
- if (yych == 'd') goto yy199;
- goto yy101;
-yy189:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy190;
- if (yych != 't') goto yy101;
-yy190:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy191;
- if (yych != 'o') goto yy101;
-yy191:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy192;
- if (yych != 'e') goto yy101;
-yy192:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy193;
- if (yych != 's') goto yy101;
-yy193:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy194;
- if (yych != 'c') goto yy101;
-yy194:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy195;
- if (yych != 'a') goto yy101;
-yy195:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy196;
- if (yych != 'p') goto yy101;
-yy196:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy197;
- if (yych != 'e') goto yy101;
-yy197:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv304;
}
+vv304:
+// 199 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_AUTOESCAPE;
- return 0;
- }
-yy199:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_AND;
+ token->opcode = PHVOLT_T_IF;
return 0;
}
-yy201:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy202;
- if (yych != 'u') goto yy101;
-yy202:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy203;
- if (yych != 'e') goto yy101;
-yy203:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+// 4614 "scanner.c"
+vv305:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ case 'C':
+ case 'c': goto vv333;
+ default: goto vv306;
}
+vv306:
+// 236 "scanner.re"
{
- token->opcode = PHVOLT_T_TRUE;
+ token->opcode = PHVOLT_T_IN;
return 0;
}
-yy205:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy216;
- if (yych == 't') goto yy216;
- goto yy101;
-yy206:
- yych = *++YYCURSOR;
- if (yych <= 'M') {
- if (yych <= 'K') goto yy101;
- if (yych >= 'M') goto yy208;
- } else {
- if (yych <= 'k') goto yy101;
- if (yych <= 'l') goto yy207;
- if (yych <= 'm') goto yy208;
- goto yy101;
- }
-yy207:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy214;
- if (yych == 'l') goto yy214;
- goto yy101;
-yy208:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy209;
- if (yych != 'e') goto yy101;
-yy209:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy210;
- if (yych != 'r') goto yy101;
-yy210:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy211;
- if (yych != 'i') goto yy101;
-yy211:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy212;
- if (yych != 'c') goto yy101;
-yy212:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+// 4690 "scanner.c"
+vv307:
+ vvaccept = 3;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ switch (vvch) {
+ case ' ': goto vv332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv308;
}
+vv308:
+// 332 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_NUMERIC;
+ token->opcode = PHVOLT_T_IS;
return 0;
}
-yy214:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+// 4769 "scanner.c"
+vv309:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv325;
+ default: goto vv101;
+ }
+vv310:
+ vvaccept = 3;
+ vvch = *(VVMARKER = ++VVCURSOR);
+ switch (vvch) {
+ case ' ': goto vv311;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv308;
+ }
+vv311:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N': goto vv315;
+ case 'n': goto vv312;
+ default: goto vv314;
+ }
+vv312:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O': goto vv316;
+ case 'o': goto vv323;
+ default: goto vv104;
+ }
+vv313:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv314:
+ switch (vvch) {
+ case ' ': goto vv313;
+ case 'n': goto vv319;
+ default: goto vv104;
+ }
+vv315:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'O':
+ case 'o': goto vv316;
+ default: goto vv104;
}
- {
- token->opcode = PHVOLT_T_NULL;
- return 0;
- }
-yy216:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv316:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T':
+ case 't': goto vv317;
+ default: goto vv104;
}
+vv317:
+ ++VVCURSOR;
+vv318:
+// 320 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_NOT;
- return 0;
- }
-yy218:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy222;
- if (yych == 'a') goto yy222;
- goto yy101;
-yy219:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy220;
- if (yych != 't') goto yy101;
-yy220:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_SET;
+ token->opcode = PHVOLT_T_NOTEQUALS;
return 0;
}
-yy222:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy223;
- if (yych != 'l') goto yy101;
-yy223:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy224;
- if (yych != 'a') goto yy101;
-yy224:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy225;
- if (yych != 'r') goto yy101;
-yy225:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
+// 4894 "scanner.c"
+vv319:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'o': goto vv320;
+ default: goto vv104;
+ }
+vv320:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 't': goto vv321;
+ default: goto vv104;
+ }
+vv321:
+ ++VVCURSOR;
+// 326 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_SCALAR;
+ token->opcode = PHVOLT_T_NOTEQUALS;
return 0;
}
-yy227:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy231;
- if (yych == 'l') goto yy231;
- goto yy101;
-yy228:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy229;
- if (yych != 'r') goto yy101;
-yy229:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+// 4915 "scanner.c"
+vv323:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'T': goto vv317;
+ case 't': goto vv324;
+ default: goto vv104;
+ }
+vv324:
+ vvch = *++VVCURSOR;
+ goto vv318;
+vv325:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'R':
+ case 'r': goto vv326;
+ default: goto vv101;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_FOR;
- return 0;
- }
-yy231:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy232;
- if (yych != 's') goto yy101;
-yy232:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy233;
- if (yych != 'e') goto yy101;
-yy233:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv326:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'A':
+ case 'a': goto vv327;
+ default: goto vv101;
}
- {
- token->opcode = PHVOLT_T_FALSE;
- return 0;
- }
-yy235:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy293;
- if (yych == 's') goto yy293;
- goto yy101;
-yy236:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy289;
- if (yych == 'p') goto yy289;
- goto yy101;
-yy237:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy249;
- if (yych == 'd') goto yy249;
- goto yy101;
-yy238:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy246;
- if (yych == 'e') goto yy246;
- goto yy101;
-yy239:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy240;
- if (yych != 't') goto yy101;
-yy240:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy241;
- if (yych != 'e') goto yy101;
-yy241:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy242;
- if (yych != 'n') goto yy101;
-yy242:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy243;
- if (yych != 'd') goto yy101;
-yy243:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy244;
- if (yych != 's') goto yy101;
-yy244:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv327:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'B':
+ case 'b': goto vv328;
+ default: goto vv101;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_EXTENDS;
- return 0;
- }
-yy246:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy247;
- if (yych != 'n') goto yy101;
-yy247:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv328:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv329;
+ default: goto vv101;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_EVEN;
- return 0;
- }
-yy249:
- yych = *++YYCURSOR;
- switch (yych) {
+vv329:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv330;
+ default: goto vv101;
+ }
+vv330:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
case 'A':
- case 'a': goto yy250;
case 'B':
- case 'b': goto yy251;
case 'C':
- case 'c': goto yy252;
+ case 'D':
+ case 'E':
case 'F':
- case 'f': goto yy253;
+ case 'G':
+ case 'H':
case 'I':
- case 'i': goto yy254;
+ case 'J':
+ case 'K':
+ case 'L':
case 'M':
- case 'm': goto yy255;
- default: goto yy101;
- }
-yy250:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy279;
- if (yych == 'u') goto yy279;
- goto yy101;
-yy251:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy274;
- if (yych == 'l') goto yy274;
- goto yy101;
-yy252:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy266;
- if (yych == 'a') goto yy266;
- goto yy101;
-yy253:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy263;
- if (yych == 'o') goto yy263;
- goto yy101;
-yy254:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy261;
- if (yych == 'f') goto yy261;
- goto yy101;
-yy255:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy256;
- if (yych != 'a') goto yy101;
-yy256:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy257;
- if (yych != 'c') goto yy101;
-yy257:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy258;
- if (yych != 'r') goto yy101;
-yy258:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy259;
- if (yych != 'o') goto yy101;
-yy259:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDMACRO;
- return 0;
- }
-yy261:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDIF;
- return 0;
- }
-yy263:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy264;
- if (yych != 'r') goto yy101;
-yy264:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDFOR;
- return 0;
- }
-yy266:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == 'C') goto yy267;
- if (yych <= 'K') goto yy101;
- goto yy268;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy101;
- } else {
- if (yych == 'l') goto yy268;
- goto yy101;
- }
- }
-yy267:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy271;
- if (yych == 'h') goto yy271;
- goto yy101;
-yy268:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy269;
- if (yych != 'l') goto yy101;
-yy269:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDCALL;
- return 0;
- }
-yy271:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy272;
- if (yych != 'e') goto yy101;
-yy272:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDCACHE;
- return 0;
- }
-yy274:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy275;
- if (yych != 'o') goto yy101;
-yy275:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy276;
- if (yych != 'c') goto yy101;
-yy276:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy277;
- if (yych != 'k') goto yy101;
-yy277:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- token->opcode = PHVOLT_T_ENDBLOCK;
- return 0;
- }
-yy279:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy280;
- if (yych != 't') goto yy101;
-yy280:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy281;
- if (yych != 'o') goto yy101;
-yy281:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy282;
- if (yych != 'e') goto yy101;
-yy282:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy283;
- if (yych != 's') goto yy101;
-yy283:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy284;
- if (yych != 'c') goto yy101;
-yy284:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy285;
- if (yych != 'a') goto yy101;
-yy285:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy286;
- if (yych != 'p') goto yy101;
-yy286:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy287;
- if (yych != 'e') goto yy101;
-yy287:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
- }
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_ENDAUTOESCAPE;
- return 0;
- }
-yy289:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy290;
- if (yych != 't') goto yy101;
-yy290:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy291;
- if (yych != 'y') goto yy101;
-yy291:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv331;
}
+vv331:
+// 386 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_EMPTY;
+ token->opcode = PHVOLT_T_ITERABLE;
return 0;
}
-yy293:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy294;
- if (yych != 'e') goto yy101;
-yy294:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '[') {
- if (yych <= 'E') {
- if (yych <= '/') goto yy295;
- if (yych <= '9') goto yy100;
- if (yych >= 'A') goto yy100;
- } else {
- if (yych <= 'H') {
- if (yych <= 'F') goto yy296;
- goto yy100;
- } else {
- if (yych <= 'I') goto yy297;
- if (yych <= 'Z') goto yy100;
- }
- }
- } else {
- if (yych <= 'e') {
- if (yych <= '^') {
- if (yych <= '\\') goto yy100;
- } else {
- if (yych != '`') goto yy100;
- }
- } else {
- if (yych <= 'h') {
- if (yych <= 'f') goto yy296;
- goto yy100;
- } else {
- if (yych <= 'i') goto yy297;
- if (yych <= 'z') goto yy100;
- }
- }
+// 5037 "scanner.c"
+vv332:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'N':
+ case 'n': goto vv315;
+ default: goto vv104;
}
-yy295:
- {
- token->opcode = PHVOLT_T_ELSE;
- return 0;
- }
-yy296:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy300;
- if (yych == 'o') goto yy300;
- goto yy101;
-yy297:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy298;
- if (yych != 'f') goto yy101;
-yy298:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv333:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'L':
+ case 'l': goto vv334;
+ default: goto vv101;
}
- {
- token->opcode = PHVOLT_T_ELSEIF;
- return 0;
- }
-yy300:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy301;
- if (yych != 'r') goto yy101;
-yy301:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv334:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'U':
+ case 'u': goto vv335;
+ default: goto vv101;
}
- {
- token->opcode = PHVOLT_T_ELSEFOR;
- return 0;
- }
-yy303:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv335:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'D':
+ case 'd': goto vv336;
+ default: goto vv101;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_IF;
- return 0;
- }
-yy305:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '[') {
- if (yych <= '@') {
- if (yych <= '/') goto yy306;
- if (yych <= '9') goto yy100;
- } else {
- if (yych == 'C') goto yy333;
- if (yych <= 'Z') goto yy100;
- }
- } else {
- if (yych <= '`') {
- if (yych <= '\\') goto yy100;
- if (yych == '_') goto yy100;
- } else {
- if (yych == 'c') goto yy333;
- if (yych <= 'z') goto yy100;
- }
+vv336:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case 'E':
+ case 'e': goto vv337;
+ default: goto vv101;
}
-yy306:
- {
- token->opcode = PHVOLT_T_IN;
- return 0;
- }
-yy307:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 8) {
- goto yy100;
+vv337:
+ ++VVCURSOR;
+ switch ((vvch = *VVCURSOR)) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '\\':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto vv100;
+ default: goto vv338;
}
- if (yych == ' ') goto yy332;
-yy308:
+vv338:
+// 350 "scanner.re"
{
s->statement_position++;
- token->opcode = PHVOLT_T_IS;
- return 0;
- }
-yy309:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy325;
- if (yych == 'e') goto yy325;
- goto yy101;
-yy310:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 8) {
- goto yy100;
- }
- if (yych != ' ') goto yy308;
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy315;
- if (yych != 'n') goto yy314;
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy316;
- if (yych == 'o') goto yy323;
- goto yy104;
-yy313:
- ++YYCURSOR;
- yych = *YYCURSOR;
-yy314:
- if (yybm[0+yych] & 64) {
- goto yy313;
- }
- if (yych == 'n') goto yy319;
- goto yy104;
-yy315:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy316;
- if (yych != 'o') goto yy104;
-yy316:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy317;
- if (yych != 't') goto yy104;
-yy317:
- ++YYCURSOR;
-yy318:
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_NOTEQUALS;
- return 0;
- }
-yy319:
- yych = *++YYCURSOR;
- if (yych != 'o') goto yy104;
- yych = *++YYCURSOR;
- if (yych != 't') goto yy104;
- ++YYCURSOR;
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_NOTEQUALS;
+ token->opcode = PHVOLT_T_INCLUDE;
return 0;
}
-yy323:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy317;
- if (yych != 't') goto yy104;
- yych = *++YYCURSOR;
- goto yy318;
-yy325:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy326;
- if (yych != 'r') goto yy101;
-yy326:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy327;
- if (yych != 'a') goto yy101;
-yy327:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy328;
- if (yych != 'b') goto yy101;
-yy328:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy329;
- if (yych != 'l') goto yy101;
-yy329:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy330;
- if (yych != 'e') goto yy101;
-yy330:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+// 5149 "scanner.c"
+vv339:
+ vvch = *++VVCURSOR;
+ switch (vvch) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto vv342;
+ default: goto vv104;
+ }
+vv340:
+ vvaccept = 0;
+ VVMARKER = ++VVCURSOR;
+ vvch = *VVCURSOR;
+vv341:
+ switch (vvch) {
+ case '.': goto vv339;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto vv340;
+ default: goto vv3;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_ITERABLE;
- return 0;
- }
-yy332:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy315;
- if (yych == 'n') goto yy315;
- goto yy104;
-yy333:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy334;
- if (yych != 'l') goto yy101;
-yy334:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy335;
- if (yych != 'u') goto yy101;
-yy335:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy336;
- if (yych != 'd') goto yy101;
-yy336:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy337;
- if (yych != 'e') goto yy101;
-yy337:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy100;
+vv342:
+ ++VVCURSOR;
+ vvch = *VVCURSOR;
+ switch (vvch) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto vv342;
+ default: goto vv344;
}
- {
- s->statement_position++;
- token->opcode = PHVOLT_T_INCLUDE;
- return 0;
- }
-yy339:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy104;
- if (yych <= '9') goto yy342;
- goto yy104;
-yy340:
- yyaccept = 0;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
-yy341:
- if (yybm[0+yych] & 128) {
- goto yy340;
- }
- if (yych == '.') goto yy339;
- goto yy3;
-yy342:
- ++YYCURSOR;
- yych = *YYCURSOR;
- if (yych <= '/') goto yy344;
- if (yych <= '9') goto yy342;
-yy344:
+vv344:
+// 191 "scanner.re"
{
token->opcode = PHVOLT_T_DOUBLE;
- token->value = estrndup(start, YYCURSOR - start);
- token->len = YYCURSOR - start;
- q = YYCURSOR;
+ token->value = estrndup(start, VVCURSOR - start);
+ token->len = VVCURSOR - start;
+ q = VVCURSOR;
return 0;
}
+// 5209 "scanner.c"
}
+// 699 "scanner.re"
}
@@ -117172,58 +122991,6 @@ static int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Paginator_AdapterInterface) {
-
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Paginator, AdapterInterface, phalcon, paginator_adapterinterface, phalcon_paginator_adapterinterface_method_entry);
-
- return SUCCESS;
-
-}
-
-ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, __construct);
-
-ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, setCurrentPage);
-
-ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, getPaginate);
-
-ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, setLimit);
-
-ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, getLimit);
-
-
-
-
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Paginator_Exception) {
-
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Paginator, Exception, phalcon, paginator_exception, phalcon_exception_ce, NULL, 0);
-
- return SUCCESS;
-
-}
-
-
-
-
#ifdef HAVE_CONFIG_H
#endif
@@ -117235,43 +123002,19 @@ ZEPHIR_INIT_CLASS(Phalcon_Paginator_Exception) {
-ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_Model) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Paginator\\Adapter, Model, phalcon, paginator_adapter_model, phalcon_paginator_adapter_model_method_entry, 0);
+ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter) {
- zend_declare_property_null(phalcon_paginator_adapter_model_ce, SL("_limitRows"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Paginator, Adapter, phalcon, paginator_adapter, phalcon_paginator_adapter_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
- zend_declare_property_null(phalcon_paginator_adapter_model_ce, SL("_config"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_paginator_adapter_ce, SL("_limitRows"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_paginator_adapter_model_ce, SL("_page"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_paginator_adapter_ce, SL("_page"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_paginator_adapter_model_ce TSRMLS_CC, 1, phalcon_paginator_adapterinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, __construct) {
-
- zval *config_param = NULL, *page, *limit;
- zval *config = NULL;
-
- zephir_fetch_params(0, 1, 0, &config_param);
-
- config = config_param;
-
-
-
- zephir_update_property_this(this_ptr, SL("_config"), config TSRMLS_CC);
- if (zephir_array_isset_string_fetch(&limit, config, SS("limit"), 1 TSRMLS_CC)) {
- zephir_update_property_this(this_ptr, SL("_limitRows"), limit TSRMLS_CC);
- }
- if (zephir_array_isset_string_fetch(&page, config, SS("page"), 1 TSRMLS_CC)) {
- zephir_update_property_this(this_ptr, SL("_page"), page TSRMLS_CC);
- }
-
-}
-
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setCurrentPage) {
+static PHP_METHOD(Phalcon_Paginator_Adapter, setCurrentPage) {
zval *page_param = NULL, *_0;
int page;
@@ -117288,7 +123031,7 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setCurrentPage) {
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setLimit) {
+static PHP_METHOD(Phalcon_Paginator_Adapter, setLimit) {
zval *limitRows_param = NULL, *_0;
int limitRows;
@@ -117305,18 +123048,116 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setLimit) {
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getLimit) {
+static PHP_METHOD(Phalcon_Paginator_Adapter, getLimit) {
RETURN_MEMBER(this_ptr, "_limitRows");
}
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Paginator_AdapterInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Paginator, AdapterInterface, phalcon, paginator_adapterinterface, phalcon_paginator_adapterinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, __construct);
+
+ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, setCurrentPage);
+
+ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, getPaginate);
+
+ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, setLimit);
+
+ZEPHIR_DOC_METHOD(Phalcon_Paginator_AdapterInterface, getLimit);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Paginator_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Paginator, Exception, phalcon, paginator_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_Model) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Paginator\\Adapter, Model, phalcon, paginator_adapter_model, phalcon_paginator_adapter_ce, phalcon_paginator_adapter_model_method_entry, 0);
+
+ zend_declare_property_null(phalcon_paginator_adapter_model_ce, SL("_config"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_paginator_adapter_model_ce TSRMLS_CC, 1, phalcon_paginator_adapterinterface_ce);
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Paginator_Adapter_Model, __construct) {
+
+ zval *config_param = NULL, *page, *limit;
+ zval *config = NULL;
+
+ zephir_fetch_params(0, 1, 0, &config_param);
+
+ config = config_param;
+
+
+
+ zephir_update_property_this(this_ptr, SL("_config"), config TSRMLS_CC);
+ if (zephir_array_isset_string_fetch(&limit, config, SS("limit"), 1 TSRMLS_CC)) {
+ zephir_update_property_this(this_ptr, SL("_limitRows"), limit TSRMLS_CC);
+ }
+ if (zephir_array_isset_string_fetch(&page, config, SS("page"), 1 TSRMLS_CC)) {
+ zephir_update_property_this(this_ptr, SL("_page"), page TSRMLS_CC);
+ }
+
+}
+
static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
- zephir_fcall_cache_entry *_3 = NULL, *_5 = NULL;
- int pageNumber, show, n, start, lastShowPage, i, next, pagesTotal, before, ZEPHIR_LAST_CALL_STATUS;
- zval *config, *items, *pageItems, *page, *valid = NULL, *_0, *_1, *_2 = NULL, *_4 = NULL, *_6;
+ zephir_fcall_cache_entry *_5 = NULL, *_6 = NULL;
+ int pageNumber, show, n, start, lastShowPage, i, next, totalPages, before, ZEPHIR_LAST_CALL_STATUS;
+ zval *config, *items, *pageItems, *page, *_0, *_1, *_2 = NULL, *_3 = NULL, *_4 = NULL, *_7;
ZEPHIR_MM_GROW();
@@ -117326,19 +123167,19 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
ZEPHIR_OBS_VAR(config);
zephir_read_property_this(&config, this_ptr, SL("_config"), PH_NOISY_CC);
ZEPHIR_OBS_VAR(items);
- zephir_array_fetch_string(&items, config, SL("data"), PH_NOISY, "phalcon/paginator/adapter/model.zep", 115 TSRMLS_CC);
+ zephir_array_fetch_string(&items, config, SL("data"), PH_NOISY, "phalcon/paginator/adapter/model.zep", 80 TSRMLS_CC);
ZEPHIR_OBS_VAR(_1);
zephir_read_property_this(&_1, this_ptr, SL("_page"), PH_NOISY_CC);
pageNumber = zephir_get_intval(_1);
if (Z_TYPE_P(items) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Invalid data for paginator", "phalcon/paginator/adapter/model.zep", 119);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Invalid data for paginator", "phalcon/paginator/adapter/model.zep", 84);
return;
}
if (pageNumber <= 0) {
pageNumber = 1;
}
if (show <= 0) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "The start page number is zero or less", "phalcon/paginator/adapter/model.zep", 129);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "The start page number is zero or less", "phalcon/paginator/adapter/model.zep", 94);
return;
}
n = zephir_fast_count_int(items TSRMLS_CC);
@@ -117347,9 +123188,9 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
ZEPHIR_INIT_VAR(pageItems);
array_init(pageItems);
if (zephir_safe_mod_long_long(n, show TSRMLS_CC) != 0) {
- pagesTotal = (int) ((zephir_safe_div_long_long(n, show TSRMLS_CC) + (double) (1)));
+ totalPages = (int) ((zephir_safe_div_long_long(n, show TSRMLS_CC) + (double) (1)));
} else {
- pagesTotal = (int) (zephir_safe_div_long_long(n, show TSRMLS_CC));
+ totalPages = (int) (zephir_safe_div_long_long(n, show TSRMLS_CC));
}
if (n > 0) {
if (start <= n) {
@@ -117366,23 +123207,25 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
}
i = 1;
while (1) {
- ZEPHIR_CALL_METHOD(&valid, items, "valid", &_3);
+ ZEPHIR_CALL_METHOD(&_3, items, "valid", NULL);
zephir_check_call_status();
- if (ZEPHIR_IS_FALSE(valid)) {
+ if (!(zephir_is_true(_3))) {
break;
}
ZEPHIR_CALL_METHOD(&_4, items, "current", &_5);
zephir_check_call_status();
- zephir_array_append(&pageItems, _4, PH_SEPARATE, "phalcon/paginator/adapter/model.zep", 162);
+ zephir_array_append(&pageItems, _4, PH_SEPARATE, "phalcon/paginator/adapter/model.zep", 121);
if (i >= show) {
break;
}
i++;
+ ZEPHIR_CALL_METHOD(NULL, items, "next", &_6);
+ zephir_check_call_status();
}
}
next = (pageNumber + 1);
- if (next > pagesTotal) {
- next = pagesTotal;
+ if (next > totalPages) {
+ next = totalPages;
}
if (pageNumber > 1) {
before = (pageNumber - 1);
@@ -117392,29 +123235,29 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
ZEPHIR_INIT_VAR(page);
object_init(page);
zephir_update_property_zval(page, SL("items"), pageItems TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, 1);
- zephir_update_property_zval(page, SL("first"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, before);
- zephir_update_property_zval(page, SL("before"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, pageNumber);
- zephir_update_property_zval(page, SL("current"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, pagesTotal);
- zephir_update_property_zval(page, SL("last"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, next);
- zephir_update_property_zval(page, SL("next"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, pagesTotal);
- zephir_update_property_zval(page, SL("total_pages"), _6 TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_6);
- ZVAL_LONG(_6, n);
- zephir_update_property_zval(page, SL("total_items"), _6 TSRMLS_CC);
- _6 = zephir_fetch_nproperty_this(this_ptr, SL("_limitRows"), PH_NOISY_CC);
- zephir_update_property_zval(page, SL("limit"), _6 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, 1);
+ zephir_update_property_zval(page, SL("first"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, before);
+ zephir_update_property_zval(page, SL("before"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, pageNumber);
+ zephir_update_property_zval(page, SL("current"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, totalPages);
+ zephir_update_property_zval(page, SL("last"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, next);
+ zephir_update_property_zval(page, SL("next"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, totalPages);
+ zephir_update_property_zval(page, SL("total_pages"), _7 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_7);
+ ZVAL_LONG(_7, n);
+ zephir_update_property_zval(page, SL("total_items"), _7 TSRMLS_CC);
+ _7 = zephir_fetch_nproperty_this(this_ptr, SL("_limitRows"), PH_NOISY_CC);
+ zephir_update_property_zval(page, SL("limit"), _7 TSRMLS_CC);
RETURN_CCTOR(page);
}
@@ -117435,14 +123278,10 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate) {
ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_NativeArray) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Paginator\\Adapter, NativeArray, phalcon, paginator_adapter_nativearray, phalcon_paginator_adapter_nativearray_method_entry, 0);
-
- zend_declare_property_null(phalcon_paginator_adapter_nativearray_ce, SL("_limitRows"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Paginator\\Adapter, NativeArray, phalcon, paginator_adapter_nativearray, phalcon_paginator_adapter_ce, phalcon_paginator_adapter_nativearray_method_entry, 0);
zend_declare_property_null(phalcon_paginator_adapter_nativearray_ce, SL("_config"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_paginator_adapter_nativearray_ce, SL("_page"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
zend_class_implements(phalcon_paginator_adapter_nativearray_ce TSRMLS_CC, 1, phalcon_paginator_adapterinterface_ce);
return SUCCESS;
@@ -117470,61 +123309,21 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, __construct) {
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, setCurrentPage) {
-
- zval *page_param = NULL, *_0;
- int page;
-
- zephir_fetch_params(0, 1, 0, &page_param);
-
- page = zephir_get_intval(page_param);
-
-
- ZEPHIR_INIT_ZVAL_NREF(_0);
- ZVAL_LONG(_0, page);
- zephir_update_property_this(this_ptr, SL("_page"), _0 TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, setLimit) {
-
- zval *limitRows_param = NULL, *_0;
- int limitRows;
-
- zephir_fetch_params(0, 1, 0, &limitRows_param);
-
- limitRows = zephir_get_intval(limitRows_param);
-
-
- ZEPHIR_INIT_ZVAL_NREF(_0);
- ZVAL_LONG(_0, limitRows);
- zephir_update_property_this(this_ptr, SL("_limitRows"), _0 TSRMLS_CC);
- RETURN_THISW();
-
-}
-
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getLimit) {
-
-
- RETURN_MEMBER(this_ptr, "_limitRows");
-
-}
-
static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate) {
zephir_nts_static zephir_fcall_cache_entry *_4 = NULL, *_7 = NULL;
double roundedTotal;
int show, pageNumber, totalPages, number, before, next, ZEPHIR_LAST_CALL_STATUS;
- zval *config, *items, *page, *_0, *_1, _2 = zval_used_for_init, *_3 = NULL, _5, *_6 = NULL, *_8;
+ zval *config, *items = NULL, *page, *_0, *_1, _2 = zval_used_for_init, *_3 = NULL, _5, *_6 = NULL, *_8;
ZEPHIR_MM_GROW();
ZEPHIR_OBS_VAR(config);
zephir_read_property_this(&config, this_ptr, SL("_config"), PH_NOISY_CC);
ZEPHIR_OBS_VAR(items);
- zephir_array_fetch_string(&items, config, SL("data"), PH_NOISY, "phalcon/paginator/adapter/nativearray.zep", 120 TSRMLS_CC);
+ zephir_array_fetch_string(&items, config, SL("data"), PH_NOISY, "phalcon/paginator/adapter/nativearray.zep", 87 TSRMLS_CC);
if (Z_TYPE_P(items) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Invalid data for paginator", "phalcon/paginator/adapter/nativearray.zep", 123);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Invalid data for paginator", "phalcon/paginator/adapter/nativearray.zep", 90);
return;
}
ZEPHIR_OBS_VAR(_0);
@@ -117536,8 +123335,6 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate) {
if (pageNumber <= 0) {
pageNumber = 1;
}
- ZEPHIR_INIT_VAR(page);
- object_init(page);
number = zephir_fast_count_int(items TSRMLS_CC);
ZEPHIR_SINIT_VAR(_2);
ZVAL_LONG(&_2, show);
@@ -117554,20 +123351,20 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate) {
ZVAL_LONG(&_5, show);
ZEPHIR_CALL_FUNCTION(&_6, "array_slice", &_7, items, &_2, &_5);
zephir_check_call_status();
- zephir_update_property_zval(page, SL("items"), _6 TSRMLS_CC);
+ ZEPHIR_CPY_WRT(items, _6);
if (pageNumber < totalPages) {
next = (pageNumber + 1);
} else {
next = totalPages;
}
- ZEPHIR_INIT_ZVAL_NREF(_8);
- ZVAL_LONG(_8, next);
- zephir_update_property_zval(page, SL("next"), _8 TSRMLS_CC);
if (pageNumber > 1) {
before = (pageNumber - 1);
} else {
before = 1;
}
+ ZEPHIR_INIT_VAR(page);
+ object_init(page);
+ zephir_update_property_zval(page, SL("items"), items TSRMLS_CC);
ZEPHIR_INIT_ZVAL_NREF(_8);
ZVAL_LONG(_8, 1);
zephir_update_property_zval(page, SL("first"), _8 TSRMLS_CC);
@@ -117581,6 +123378,9 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate) {
ZVAL_LONG(_8, totalPages);
zephir_update_property_zval(page, SL("last"), _8 TSRMLS_CC);
ZEPHIR_INIT_ZVAL_NREF(_8);
+ ZVAL_LONG(_8, next);
+ zephir_update_property_zval(page, SL("next"), _8 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_8);
ZVAL_LONG(_8, totalPages);
zephir_update_property_zval(page, SL("total_pages"), _8 TSRMLS_CC);
ZEPHIR_INIT_ZVAL_NREF(_8);
@@ -117608,16 +123408,12 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate) {
ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_QueryBuilder) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Paginator\\Adapter, QueryBuilder, phalcon, paginator_adapter_querybuilder, phalcon_paginator_adapter_querybuilder_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Paginator\\Adapter, QueryBuilder, phalcon, paginator_adapter_querybuilder, phalcon_paginator_adapter_ce, phalcon_paginator_adapter_querybuilder_method_entry, 0);
zend_declare_property_null(phalcon_paginator_adapter_querybuilder_ce, SL("_config"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_null(phalcon_paginator_adapter_querybuilder_ce, SL("_builder"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_paginator_adapter_querybuilder_ce, SL("_limitRows"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_long(phalcon_paginator_adapter_querybuilder_ce, SL("_page"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
-
zend_class_implements(phalcon_paginator_adapter_querybuilder_ce TSRMLS_CC, 1, phalcon_paginator_adapterinterface_ce);
return SUCCESS;
@@ -117638,20 +123434,18 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, __construct) {
zephir_update_property_this(this_ptr, SL("_config"), config TSRMLS_CC);
ZEPHIR_OBS_VAR(builder);
if (!(zephir_array_isset_string_fetch(&builder, config, SS("builder"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Parameter 'builder' is required", "phalcon/paginator/adapter/querybuilder.zep", 76);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Parameter 'builder' is required", "phalcon/paginator/adapter/querybuilder.zep", 67);
return;
- } else {
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "setquerybuilder", NULL, builder);
- zephir_check_call_status();
}
ZEPHIR_OBS_VAR(limit);
if (!(zephir_array_isset_string_fetch(&limit, config, SS("limit"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Parameter 'limit' is required", "phalcon/paginator/adapter/querybuilder.zep", 82);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_paginator_exception_ce, "Parameter 'limit' is required", "phalcon/paginator/adapter/querybuilder.zep", 71);
return;
- } else {
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "setlimit", NULL, limit);
- zephir_check_call_status();
}
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "setquerybuilder", NULL, builder);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "setlimit", NULL, limit);
+ zephir_check_call_status();
ZEPHIR_OBS_VAR(page);
if (zephir_array_isset_string_fetch(&page, config, SS("page"), 0 TSRMLS_CC)) {
ZEPHIR_CALL_METHOD(NULL, this_ptr, "setcurrentpage", NULL, page);
@@ -117661,23 +123455,6 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, __construct) {
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setCurrentPage) {
-
- zval *currentPage_param = NULL, *_0;
- int currentPage;
-
- zephir_fetch_params(0, 1, 0, ¤tPage_param);
-
- currentPage = zephir_get_intval(currentPage_param);
-
-
- ZEPHIR_INIT_ZVAL_NREF(_0);
- ZVAL_LONG(_0, currentPage);
- zephir_update_property_this(this_ptr, SL("_page"), _0 TSRMLS_CC);
- RETURN_THISW();
-
-}
-
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getCurrentPage) {
@@ -117685,30 +123462,6 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getCurrentPage) {
}
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setLimit) {
-
- zval *limitRows_param = NULL, *_0;
- int limitRows;
-
- zephir_fetch_params(0, 1, 0, &limitRows_param);
-
- limitRows = zephir_get_intval(limitRows_param);
-
-
- ZEPHIR_INIT_ZVAL_NREF(_0);
- ZVAL_LONG(_0, limitRows);
- zephir_update_property_this(this_ptr, SL("_limitRows"), _0 TSRMLS_CC);
- RETURN_THISW();
-
-}
-
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getLimit) {
-
-
- RETURN_MEMBER(this_ptr, "_limitRows");
-
-}
-
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setQueryBuilder) {
zval *builder;
@@ -117732,7 +123485,7 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getQueryBuilder) {
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getPaginate) {
int numberPage, before, ZEPHIR_LAST_CALL_STATUS;
- zval *originalBuilder, *builder, *totalBuilder, *totalPages, *limit, *number, *query = NULL, *page, *items = NULL, *totalQuery = NULL, *result = NULL, *row = NULL, *rowcount, *next = NULL, *_0, *_1, *_2 = NULL, *_3, _4, _5;
+ zval *originalBuilder, *builder, *totalBuilder, *totalPages, *limit, *number, *query = NULL, *page, *items = NULL, *totalQuery = NULL, *result = NULL, *row = NULL, *rowcount, *next = NULL, *_0, *_1 = NULL, *_2, _3, _4, *_5;
ZEPHIR_MM_GROW();
@@ -117765,30 +123518,21 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getPaginate) {
}
ZEPHIR_CALL_METHOD(&query, builder, "getquery", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_VAR(page);
- object_init(page);
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 1);
- zephir_update_property_zval(page, SL("first"), _1 TSRMLS_CC);
if (numberPage == 1) {
before = 1;
} else {
before = (numberPage - 1);
}
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, before);
- zephir_update_property_zval(page, SL("before"), _1 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&items, query, "execute", NULL);
zephir_check_call_status();
- zephir_update_property_zval(page, SL("items"), items TSRMLS_CC);
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "COUNT(*) [rowcount]", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, totalBuilder, "columns", NULL, _2);
- zephir_check_temp_parameter(_2);
+ ZEPHIR_INIT_VAR(_1);
+ ZVAL_STRING(_1, "COUNT(*) [rowcount]", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, totalBuilder, "columns", NULL, _1);
+ zephir_check_temp_parameter(_1);
zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_2);
- ZVAL_NULL(_2);
- ZEPHIR_CALL_METHOD(NULL, totalBuilder, "orderby", NULL, _2);
+ ZEPHIR_INIT_NVAR(_1);
+ ZVAL_NULL(_1);
+ ZEPHIR_CALL_METHOD(NULL, totalBuilder, "orderby", NULL, _1);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&totalQuery, totalBuilder, "getquery", NULL);
zephir_check_call_status();
@@ -117796,31 +123540,40 @@ static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getPaginate) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&row, result, "getfirst", NULL);
zephir_check_call_status();
- ZEPHIR_OBS_VAR(_3);
- zephir_read_property(&_3, row, SL("rowcount"), PH_NOISY_CC);
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property(&_2, row, SL("rowcount"), PH_NOISY_CC);
ZEPHIR_INIT_VAR(rowcount);
- ZVAL_LONG(rowcount, zephir_get_intval(_3));
+ ZVAL_LONG(rowcount, zephir_get_intval(_2));
+ ZEPHIR_SINIT_VAR(_3);
+ div_function(&_3, rowcount, limit TSRMLS_CC);
ZEPHIR_SINIT_VAR(_4);
- div_function(&_4, rowcount, limit TSRMLS_CC);
- ZEPHIR_SINIT_VAR(_5);
- ZVAL_DOUBLE(&_5, zephir_ceil(&_4 TSRMLS_CC));
+ ZVAL_DOUBLE(&_4, zephir_ceil(&_3 TSRMLS_CC));
ZEPHIR_INIT_VAR(totalPages);
- ZVAL_LONG(totalPages, zephir_get_intval(&_5));
+ ZVAL_LONG(totalPages, zephir_get_intval(&_4));
if (ZEPHIR_GT_LONG(totalPages, numberPage)) {
ZEPHIR_INIT_VAR(next);
ZVAL_LONG(next, (numberPage + 1));
} else {
ZEPHIR_CPY_WRT(next, totalPages);
}
- zephir_update_property_zval(page, SL("next"), next TSRMLS_CC);
+ ZEPHIR_INIT_VAR(page);
+ object_init(page);
+ zephir_update_property_zval(page, SL("items"), items TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_5);
+ ZVAL_LONG(_5, 1);
+ zephir_update_property_zval(page, SL("first"), _5 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_5);
+ ZVAL_LONG(_5, before);
+ zephir_update_property_zval(page, SL("before"), _5 TSRMLS_CC);
+ ZEPHIR_INIT_ZVAL_NREF(_5);
+ ZVAL_LONG(_5, numberPage);
+ zephir_update_property_zval(page, SL("current"), _5 TSRMLS_CC);
zephir_update_property_zval(page, SL("last"), totalPages TSRMLS_CC);
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, numberPage);
- zephir_update_property_zval(page, SL("current"), _1 TSRMLS_CC);
+ zephir_update_property_zval(page, SL("next"), next TSRMLS_CC);
zephir_update_property_zval(page, SL("total_pages"), totalPages TSRMLS_CC);
zephir_update_property_zval(page, SL("total_items"), rowcount TSRMLS_CC);
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_limitRows"), PH_NOISY_CC);
- zephir_update_property_zval(page, SL("limit"), _1 TSRMLS_CC);
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_limitRows"), PH_NOISY_CC);
+ zephir_update_property_zval(page, SL("limit"), _5 TSRMLS_CC);
RETURN_CCTOR(page);
}
@@ -117925,10 +123678,11 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, connect) {
static PHP_METHOD(Phalcon_Queue_Beanstalk, put) {
+ zend_bool _4;
zephir_fcall_cache_entry *_2 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_3 = NULL;
- zval *data, *options = NULL, *priority = NULL, *delay = NULL, *ttr = NULL, *serialized = NULL, *response = NULL, *status, *length, *_1, *_4;
+ zval *data, *options = NULL, *priority = NULL, *delay = NULL, *ttr = NULL, *serialized = NULL, *response = NULL, *status, *length, *_1, *_5;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 1, &data, &options);
@@ -117966,15 +123720,15 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, put) {
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_3);
zephir_check_call_status();
zephir_array_fetch_long(&status, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 128 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(status, "INSERTED")) {
- zephir_array_fetch_long(&_4, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 131 TSRMLS_CC);
- RETURN_CTOR(_4);
+ _4 = !ZEPHIR_IS_STRING(status, "INSERTED");
+ if (_4) {
+ _4 = !ZEPHIR_IS_STRING(status, "BURIED");
}
- if (ZEPHIR_IS_STRING(status, "BURIED")) {
- zephir_array_fetch_long(&_4, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 135 TSRMLS_CC);
- RETURN_CTOR(_4);
+ if (_4) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ zephir_array_fetch_long(&_5, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 134 TSRMLS_CC);
+ RETURN_CTOR(_5);
}
@@ -118002,20 +123756,20 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, reserve) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_0);
zephir_check_call_status();
- zephir_array_fetch_long(&_1, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 157 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_1, "RESERVED")) {
- object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
- zephir_array_fetch_long(&_2, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 165 TSRMLS_CC);
- zephir_array_fetch_long(&_4, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 165 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "read", NULL, _4);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_5, "unserialize", &_6, _3);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_7, this_ptr, _2, _5);
- zephir_check_call_status();
- RETURN_MM();
+ zephir_array_fetch_long(&_1, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 153 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(_1, "RESERVED")) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
+ zephir_array_fetch_long(&_2, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 163 TSRMLS_CC);
+ zephir_array_fetch_long(&_4, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 163 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "read", NULL, _4);
+ zephir_check_call_status();
+ ZEPHIR_CALL_FUNCTION(&_5, "unserialize", &_6, _3);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_7, this_ptr, _2, _5);
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -118048,12 +123802,12 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, choose) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_1);
zephir_check_call_status();
- zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 181 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_2, "USING")) {
- zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 182 TSRMLS_CC);
- RETURN_CTOR(_3);
+ zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 176 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(_2, "USING")) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 180 TSRMLS_CC);
+ RETURN_CTOR(_3);
}
@@ -118086,12 +123840,12 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, watch) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_1);
zephir_check_call_status();
- zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 198 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_2, "WATCHING")) {
- zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 199 TSRMLS_CC);
- RETURN_CTOR(_3);
+ zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 193 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(_2, "WATCHING")) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 197 TSRMLS_CC);
+ RETURN_CTOR(_3);
}
@@ -118110,20 +123864,20 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, peekReady) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_1);
zephir_check_call_status();
- zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 215 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_2, "FOUND")) {
- object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
- zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 216 TSRMLS_CC);
- zephir_array_fetch_long(&_5, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 216 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&_4, this_ptr, "read", NULL, _5);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_6, "unserialize", &_7, _4);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_8, this_ptr, _3, _6);
- zephir_check_call_status();
- RETURN_MM();
+ zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 210 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(_2, "FOUND")) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
+ zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 214 TSRMLS_CC);
+ zephir_array_fetch_long(&_5, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 214 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "read", NULL, _5);
+ zephir_check_call_status();
+ ZEPHIR_CALL_FUNCTION(&_6, "unserialize", &_7, _4);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_8, this_ptr, _3, _6);
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -118142,20 +123896,20 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, peekBuried) {
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&response, this_ptr, "readstatus", &_1);
zephir_check_call_status();
- zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 232 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_2, "FOUND")) {
- object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
- zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 233 TSRMLS_CC);
- zephir_array_fetch_long(&_5, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 233 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&_4, this_ptr, "read", NULL, _5);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_6, "unserialize", &_7, _4);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_8, this_ptr, _3, _6);
- zephir_check_call_status();
- RETURN_MM();
+ zephir_array_fetch_long(&_2, response, 0, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 227 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(_2, "FOUND")) {
+ RETURN_MM_BOOL(0);
}
- RETURN_MM_BOOL(0);
+ object_init_ex(return_value, phalcon_queue_beanstalk_job_ce);
+ zephir_array_fetch_long(&_3, response, 1, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 231 TSRMLS_CC);
+ zephir_array_fetch_long(&_5, response, 2, PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 231 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "read", NULL, _5);
+ zephir_check_call_status();
+ ZEPHIR_CALL_FUNCTION(&_6, "unserialize", &_7, _4);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_8, this_ptr, _3, _6);
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -118208,9 +123962,9 @@ static PHP_METHOD(Phalcon_Queue_Beanstalk, read) {
zephir_check_call_status();
ZEPHIR_CALL_FUNCTION(&_2, "stream_get_meta_data", &_3, connection);
zephir_check_call_status();
- zephir_array_fetch_string(&_4, _2, SL("timed_out"), PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 273 TSRMLS_CC);
+ zephir_array_fetch_string(&_4, _2, SL("timed_out"), PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 268 TSRMLS_CC);
if (zephir_is_true(_4)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_exception_ce, "Connection timed out", "phalcon/queue/beanstalk.zep", 274);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_exception_ce, "Connection timed out", "phalcon/queue/beanstalk.zep", 269);
return;
}
ZEPHIR_SINIT_NVAR(_0);
@@ -118636,12 +124390,10 @@ static PHP_METHOD(Phalcon_Session_Adapter, get) {
ZEPHIR_OBS_VAR(value);
zephir_get_global(&_SESSION, SS("_SESSION") TSRMLS_CC);
if (zephir_array_isset_fetch(&value, _SESSION, key, 0 TSRMLS_CC)) {
- if (!(ZEPHIR_IS_EMPTY(value))) {
- if (remove) {
- zephir_array_unset(&_SESSION, key, PH_SEPARATE);
- }
- RETURN_CCTOR(value);
+ if (remove) {
+ zephir_array_unset(&_SESSION, key, PH_SEPARATE);
}
+ RETURN_CCTOR(value);
}
RETVAL_ZVAL(defaultValue, 1, 0);
RETURN_MM();
@@ -124345,6 +130097,7 @@ zend_class_entry *phalcon_validation_validatorinterface_ce;
zend_class_entry *phalcon_mvc_model_validatorinterface_ce;
zend_class_entry *phalcon_cache_backendinterface_ce;
zend_class_entry *phalcon_cache_frontendinterface_ce;
+zend_class_entry *phalcon_db_dialectinterface_ce;
zend_class_entry *phalcon_dispatcherinterface_ce;
zend_class_entry *phalcon_mvc_model_metadatainterface_ce;
zend_class_entry *phalcon_annotations_adapterinterface_ce;
@@ -124353,7 +130106,6 @@ zend_class_entry *phalcon_logger_adapterinterface_ce;
zend_class_entry *phalcon_logger_formatterinterface_ce;
zend_class_entry *phalcon_mvc_model_resultsetinterface_ce;
zend_class_entry *phalcon_assets_filterinterface_ce;
-zend_class_entry *phalcon_db_dialectinterface_ce;
zend_class_entry *phalcon_diinterface_ce;
zend_class_entry *phalcon_mvc_viewbaseinterface_ce;
zend_class_entry *phalcon_paginator_adapterinterface_ce;
@@ -124423,6 +130175,7 @@ zend_class_entry *phalcon_db_dialect_ce;
zend_class_entry *phalcon_logger_adapter_ce;
zend_class_entry *phalcon_logger_formatter_ce;
zend_class_entry *phalcon_mvc_model_exception_ce;
+zend_class_entry *phalcon_paginator_adapter_ce;
zend_class_entry *phalcon_session_adapter_ce;
zend_class_entry *phalcon_translate_adapter_ce;
zend_class_entry *phalcon_assets_inline_ce;
@@ -124705,6 +130458,7 @@ static PHP_MINIT_FUNCTION(phalcon)
ZEPHIR_INIT(Phalcon_Mvc_Model_ValidatorInterface);
ZEPHIR_INIT(Phalcon_Cache_BackendInterface);
ZEPHIR_INIT(Phalcon_Cache_FrontendInterface);
+ ZEPHIR_INIT(Phalcon_Db_DialectInterface);
ZEPHIR_INIT(Phalcon_DispatcherInterface);
ZEPHIR_INIT(Phalcon_Mvc_Model_MetaDataInterface);
ZEPHIR_INIT(Phalcon_Annotations_AdapterInterface);
@@ -124713,7 +130467,6 @@ static PHP_MINIT_FUNCTION(phalcon)
ZEPHIR_INIT(Phalcon_Logger_FormatterInterface);
ZEPHIR_INIT(Phalcon_Mvc_Model_ResultsetInterface);
ZEPHIR_INIT(Phalcon_Assets_FilterInterface);
- ZEPHIR_INIT(Phalcon_Db_DialectInterface);
ZEPHIR_INIT(Phalcon_DiInterface);
ZEPHIR_INIT(Phalcon_Mvc_ViewBaseInterface);
ZEPHIR_INIT(Phalcon_Paginator_AdapterInterface);
@@ -124783,6 +130536,7 @@ static PHP_MINIT_FUNCTION(phalcon)
ZEPHIR_INIT(Phalcon_Logger_Adapter);
ZEPHIR_INIT(Phalcon_Logger_Formatter);
ZEPHIR_INIT(Phalcon_Mvc_Model_Exception);
+ ZEPHIR_INIT(Phalcon_Paginator_Adapter);
ZEPHIR_INIT(Phalcon_Session_Adapter);
ZEPHIR_INIT(Phalcon_Translate_Adapter);
ZEPHIR_INIT(Phalcon_Assets_Inline);
diff --git a/build/32bits/phalcon.zep.h b/build/32bits/phalcon.zep.h
index fb0c8902e23..6fe9fcc6d17 100644
--- a/build/32bits/phalcon.zep.h
+++ b/build/32bits/phalcon.zep.h
@@ -1604,6 +1604,8 @@ static PHP_METHOD(Phalcon_Cache_Backend_Memory, exists);
static PHP_METHOD(Phalcon_Cache_Backend_Memory, increment);
static PHP_METHOD(Phalcon_Cache_Backend_Memory, decrement);
static PHP_METHOD(Phalcon_Cache_Backend_Memory, flush);
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, serialize);
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, unserialize);
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cache_backend_memory_get, 0, 0, 1)
ZEND_ARG_INFO(0, keyName)
@@ -1640,6 +1642,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cache_backend_memory_decrement, 0, 0, 0)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cache_backend_memory_unserialize, 0, 0, 1)
+ ZEND_ARG_INFO(0, data)
+ZEND_END_ARG_INFO()
+
ZEPHIR_INIT_FUNCS(phalcon_cache_backend_memory_method_entry) {
PHP_ME(Phalcon_Cache_Backend_Memory, get, arginfo_phalcon_cache_backend_memory_get, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Cache_Backend_Memory, save, arginfo_phalcon_cache_backend_memory_save, ZEND_ACC_PUBLIC)
@@ -1649,6 +1655,8 @@ ZEPHIR_INIT_FUNCS(phalcon_cache_backend_memory_method_entry) {
PHP_ME(Phalcon_Cache_Backend_Memory, increment, arginfo_phalcon_cache_backend_memory_increment, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Cache_Backend_Memory, decrement, arginfo_phalcon_cache_backend_memory_decrement, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Cache_Backend_Memory, flush, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Cache_Backend_Memory, serialize, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Cache_Backend_Memory, unserialize, arginfo_phalcon_cache_backend_memory_unserialize, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@@ -2255,7 +2263,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cli_console_addmodules, 0, 0, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cli_console_handle, 0, 0, 0)
- ZEND_ARG_INFO(0, arguments)
+ ZEND_ARG_ARRAY_INFO(0, arguments, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_cli_console_setargument, 0, 0, 0)
@@ -3211,13 +3219,13 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_adapter_pdo_query, 0, 0, 1)
ZEND_ARG_INFO(0, sqlStatement)
- ZEND_ARG_INFO(0, bindParams)
+ ZEND_ARG_ARRAY_INFO(0, bindParams, 1)
ZEND_ARG_INFO(0, bindTypes)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_adapter_pdo_execute, 0, 0, 1)
ZEND_ARG_INFO(0, sqlStatement)
- ZEND_ARG_INFO(0, bindParams)
+ ZEND_ARG_ARRAY_INFO(0, bindParams, 1)
ZEND_ARG_INFO(0, bindTypes)
ZEND_END_ARG_INFO()
@@ -3559,13 +3567,13 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_adapterinterface_query, 0, 0, 1)
ZEND_ARG_INFO(0, sqlStatement)
- ZEND_ARG_INFO(0, placeholders)
+ ZEND_ARG_ARRAY_INFO(0, placeholders, 1)
ZEND_ARG_INFO(0, dataTypes)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_adapterinterface_execute, 0, 0, 1)
ZEND_ARG_INFO(0, sqlStatement)
- ZEND_ARG_INFO(0, placeholders)
+ ZEND_ARG_ARRAY_INFO(0, placeholders, 1)
ZEND_ARG_INFO(0, dataTypes)
ZEND_END_ARG_INFO()
@@ -3789,10 +3797,12 @@ zend_class_entry *phalcon_db_dialect_ce;
ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect);
+static PHP_METHOD(Phalcon_Db_Dialect, escape);
static PHP_METHOD(Phalcon_Db_Dialect, limit);
static PHP_METHOD(Phalcon_Db_Dialect, forUpdate);
static PHP_METHOD(Phalcon_Db_Dialect, sharedLock);
static PHP_METHOD(Phalcon_Db_Dialect, getColumnList);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlColumn);
static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression);
static PHP_METHOD(Phalcon_Db_Dialect, getSqlTable);
static PHP_METHOD(Phalcon_Db_Dialect, select);
@@ -3801,6 +3811,31 @@ static PHP_METHOD(Phalcon_Db_Dialect, supportsReleaseSavepoints);
static PHP_METHOD(Phalcon_Db_Dialect, createSavepoint);
static PHP_METHOD(Phalcon_Db_Dialect, releaseSavepoint);
static PHP_METHOD(Phalcon_Db_Dialect, rollbackSavepoint);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionScalar);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionObject);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionQualified);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionBinaryOperations);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionUnaryOperations);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFunctionCall);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionList);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionAll);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionCastValue);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionConvertValue);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFrom);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionJoins);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionWhere);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionGroupBy);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionHaving);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionOrderBy);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionLimit);
+static PHP_METHOD(Phalcon_Db_Dialect, prepareColumnAlias);
+static PHP_METHOD(Phalcon_Db_Dialect, prepareTable);
+static PHP_METHOD(Phalcon_Db_Dialect, prepareQualified);
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_escape, 0, 0, 1)
+ ZEND_ARG_INFO(0, str)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_limit, 0, 0, 2)
ZEND_ARG_INFO(0, sqlQuery)
@@ -3819,6 +3854,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getcolumnlist, 0, 0, 1)
ZEND_ARG_ARRAY_INFO(0, columnList, 0)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlcolumn, 0, 0, 1)
+ ZEND_ARG_INFO(0, column)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpression, 0, 0, 1)
ZEND_ARG_ARRAY_INFO(0, expression, 0)
ZEND_ARG_INFO(0, escapeChar)
@@ -3845,11 +3884,116 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_rollbacksavepoint, 0, 0, 1)
ZEND_ARG_INFO(0, name)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionscalar, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionobject, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionqualified, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionbinaryoperations, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionunaryoperations, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionfunctioncall, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionlist, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionall, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressioncastvalue, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionconvertvalue, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, expression, 0)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionfrom, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionjoins, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionwhere, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressiongroupby, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionhaving, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionorderby, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_getsqlexpressionlimit, 0, 0, 1)
+ ZEND_ARG_INFO(0, expression)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_preparecolumnalias, 0, 0, 1)
+ ZEND_ARG_INFO(0, qualified)
+ ZEND_ARG_INFO(0, alias)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_preparetable, 0, 0, 1)
+ ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, schema)
+ ZEND_ARG_INFO(0, alias)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_preparequalified, 0, 0, 1)
+ ZEND_ARG_INFO(0, column)
+ ZEND_ARG_INFO(0, domain)
+ ZEND_ARG_INFO(0, escapeChar)
+ZEND_END_ARG_INFO()
+
ZEPHIR_INIT_FUNCS(phalcon_db_dialect_method_entry) {
+ PHP_ME(Phalcon_Db_Dialect, escape, arginfo_phalcon_db_dialect_escape, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Db_Dialect, limit, arginfo_phalcon_db_dialect_limit, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, forUpdate, arginfo_phalcon_db_dialect_forupdate, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, sharedLock, arginfo_phalcon_db_dialect_sharedlock, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, getColumnList, arginfo_phalcon_db_dialect_getcolumnlist, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlColumn, arginfo_phalcon_db_dialect_getsqlcolumn, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Db_Dialect, getSqlExpression, arginfo_phalcon_db_dialect_getsqlexpression, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, getSqlTable, arginfo_phalcon_db_dialect_getsqltable, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Db_Dialect, select, arginfo_phalcon_db_dialect_select, ZEND_ACC_PUBLIC)
@@ -3858,6 +4002,26 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialect_method_entry) {
PHP_ME(Phalcon_Db_Dialect, createSavepoint, arginfo_phalcon_db_dialect_createsavepoint, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, releaseSavepoint, arginfo_phalcon_db_dialect_releasesavepoint, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect, rollbackSavepoint, arginfo_phalcon_db_dialect_rollbacksavepoint, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionScalar, arginfo_phalcon_db_dialect_getsqlexpressionscalar, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionObject, arginfo_phalcon_db_dialect_getsqlexpressionobject, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionQualified, arginfo_phalcon_db_dialect_getsqlexpressionqualified, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionBinaryOperations, arginfo_phalcon_db_dialect_getsqlexpressionbinaryoperations, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionUnaryOperations, arginfo_phalcon_db_dialect_getsqlexpressionunaryoperations, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionFunctionCall, arginfo_phalcon_db_dialect_getsqlexpressionfunctioncall, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionList, arginfo_phalcon_db_dialect_getsqlexpressionlist, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionAll, arginfo_phalcon_db_dialect_getsqlexpressionall, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionCastValue, arginfo_phalcon_db_dialect_getsqlexpressioncastvalue, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionConvertValue, arginfo_phalcon_db_dialect_getsqlexpressionconvertvalue, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionFrom, arginfo_phalcon_db_dialect_getsqlexpressionfrom, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionJoins, arginfo_phalcon_db_dialect_getsqlexpressionjoins, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionWhere, arginfo_phalcon_db_dialect_getsqlexpressionwhere, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionGroupBy, arginfo_phalcon_db_dialect_getsqlexpressiongroupby, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionHaving, arginfo_phalcon_db_dialect_getsqlexpressionhaving, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionOrderBy, arginfo_phalcon_db_dialect_getsqlexpressionorderby, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, getSqlExpressionLimit, arginfo_phalcon_db_dialect_getsqlexpressionlimit, ZEND_ACC_PROTECTED|ZEND_ACC_FINAL)
+ PHP_ME(Phalcon_Db_Dialect, prepareColumnAlias, arginfo_phalcon_db_dialect_preparecolumnalias, ZEND_ACC_PROTECTED)
+ PHP_ME(Phalcon_Db_Dialect, prepareTable, arginfo_phalcon_db_dialect_preparetable, ZEND_ACC_PROTECTED)
+ PHP_ME(Phalcon_Db_Dialect, prepareQualified, arginfo_phalcon_db_dialect_preparequalified, ZEND_ACC_PROTECTED)
PHP_FE_END
};
@@ -3875,7 +4039,6 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addForeignKey);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey);
-static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createView);
@@ -3888,6 +4051,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, listViews);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences);
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions);
+static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions);
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_getcolumndefinition, 0, 0, 1)
ZEND_ARG_OBJ_INFO(0, column, Phalcon\\Db\\ColumnInterface, 0)
@@ -3946,29 +4110,25 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_dropforeignkey, 0, 0, 3)
ZEND_ARG_INFO(0, referenceName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql__gettableoptions, 0, 0, 1)
- ZEND_ARG_INFO(0, definition)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_createtable, 0, 0, 3)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_droptable, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_droptable, 0, 0, 1)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_createview, 0, 0, 3)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_createview, 0, 0, 2)
ZEND_ARG_INFO(0, viewName)
- ZEND_ARG_INFO(0, definition)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_ARG_INFO(0, schemaName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_dropview, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_dropview, 0, 0, 1)
ZEND_ARG_INFO(0, viewName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
@@ -4012,6 +4172,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql_tableoptions, 0, 0, 1)
ZEND_ARG_INFO(0, schema)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_mysql__gettableoptions, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
+ZEND_END_ARG_INFO()
+
ZEPHIR_INIT_FUNCS(phalcon_db_dialect_mysql_method_entry) {
PHP_ME(Phalcon_Db_Dialect_MySQL, getColumnDefinition, arginfo_phalcon_db_dialect_mysql_getcolumndefinition, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, addColumn, arginfo_phalcon_db_dialect_mysql_addcolumn, ZEND_ACC_PUBLIC)
@@ -4023,7 +4187,6 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialect_mysql_method_entry) {
PHP_ME(Phalcon_Db_Dialect_MySQL, dropPrimaryKey, arginfo_phalcon_db_dialect_mysql_dropprimarykey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, addForeignKey, arginfo_phalcon_db_dialect_mysql_addforeignkey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, dropForeignKey, arginfo_phalcon_db_dialect_mysql_dropforeignkey, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Db_Dialect_MySQL, _getTableOptions, arginfo_phalcon_db_dialect_mysql__gettableoptions, ZEND_ACC_PROTECTED)
PHP_ME(Phalcon_Db_Dialect_MySQL, createTable, arginfo_phalcon_db_dialect_mysql_createtable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, dropTable, arginfo_phalcon_db_dialect_mysql_droptable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, createView, arginfo_phalcon_db_dialect_mysql_createview, ZEND_ACC_PUBLIC)
@@ -4036,6 +4199,7 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialect_mysql_method_entry) {
PHP_ME(Phalcon_Db_Dialect_MySQL, describeIndexes, arginfo_phalcon_db_dialect_mysql_describeindexes, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, describeReferences, arginfo_phalcon_db_dialect_mysql_describereferences, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_MySQL, tableOptions, arginfo_phalcon_db_dialect_mysql_tableoptions, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_MySQL, _getTableOptions, arginfo_phalcon_db_dialect_mysql__gettableoptions, ZEND_ACC_PROTECTED)
PHP_FE_END
};
@@ -4043,6 +4207,184 @@ zend_class_entry *phalcon_db_dialect_oracle_ce;
ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Oracle);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, limit);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, getColumnDefinition);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addColumn);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, modifyColumn);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropColumn);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addIndex);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropIndex);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addPrimaryKey);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropPrimaryKey);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addForeignKey);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropForeignKey);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createTable);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropTable);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createView);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropView);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, viewExists);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listViews);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableExists);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeColumns);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listTables);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeIndexes);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeReferences);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableOptions);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsSavepoints);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsReleaseSavepoints);
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_limit, 0, 0, 2)
+ ZEND_ARG_INFO(0, sqlQuery)
+ ZEND_ARG_INFO(0, number)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_getcolumndefinition, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, column, Phalcon\\Db\\ColumnInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_addcolumn, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_OBJ_INFO(0, column, Phalcon\\Db\\ColumnInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_modifycolumn, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_OBJ_INFO(0, column, Phalcon\\Db\\ColumnInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_dropcolumn, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, columnName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_addindex, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_OBJ_INFO(0, index, Phalcon\\Db\\IndexInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_dropindex, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, indexName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_addprimarykey, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_OBJ_INFO(0, index, Phalcon\\Db\\IndexInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_dropprimarykey, 0, 0, 2)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_addforeignkey, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_OBJ_INFO(0, reference, Phalcon\\Db\\ReferenceInterface, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_dropforeignkey, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, referenceName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_createtable, 0, 0, 3)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_droptable, 0, 0, 2)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, ifExists)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_createview, 0, 0, 2)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_dropview, 0, 0, 1)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, ifExists)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_viewexists, 0, 0, 1)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_listviews, 0, 0, 0)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_tableexists, 0, 0, 1)
+ ZEND_ARG_INFO(0, tableName)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_describecolumns, 0, 0, 1)
+ ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, schema)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_listtables, 0, 0, 0)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_describeindexes, 0, 0, 1)
+ ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, schema)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_describereferences, 0, 0, 1)
+ ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, schema)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_oracle_tableoptions, 0, 0, 1)
+ ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, schema)
+ZEND_END_ARG_INFO()
+
+ZEPHIR_INIT_FUNCS(phalcon_db_dialect_oracle_method_entry) {
+ PHP_ME(Phalcon_Db_Dialect_Oracle, limit, arginfo_phalcon_db_dialect_oracle_limit, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, getColumnDefinition, arginfo_phalcon_db_dialect_oracle_getcolumndefinition, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, addColumn, arginfo_phalcon_db_dialect_oracle_addcolumn, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, modifyColumn, arginfo_phalcon_db_dialect_oracle_modifycolumn, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropColumn, arginfo_phalcon_db_dialect_oracle_dropcolumn, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, addIndex, arginfo_phalcon_db_dialect_oracle_addindex, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropIndex, arginfo_phalcon_db_dialect_oracle_dropindex, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, addPrimaryKey, arginfo_phalcon_db_dialect_oracle_addprimarykey, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropPrimaryKey, arginfo_phalcon_db_dialect_oracle_dropprimarykey, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, addForeignKey, arginfo_phalcon_db_dialect_oracle_addforeignkey, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropForeignKey, arginfo_phalcon_db_dialect_oracle_dropforeignkey, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, createTable, arginfo_phalcon_db_dialect_oracle_createtable, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropTable, arginfo_phalcon_db_dialect_oracle_droptable, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, createView, arginfo_phalcon_db_dialect_oracle_createview, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, dropView, arginfo_phalcon_db_dialect_oracle_dropview, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, viewExists, arginfo_phalcon_db_dialect_oracle_viewexists, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, listViews, arginfo_phalcon_db_dialect_oracle_listviews, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, tableExists, arginfo_phalcon_db_dialect_oracle_tableexists, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, describeColumns, arginfo_phalcon_db_dialect_oracle_describecolumns, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, listTables, arginfo_phalcon_db_dialect_oracle_listtables, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, describeIndexes, arginfo_phalcon_db_dialect_oracle_describeindexes, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, describeReferences, arginfo_phalcon_db_dialect_oracle_describereferences, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, tableOptions, arginfo_phalcon_db_dialect_oracle_tableoptions, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, supportsSavepoints, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Db_Dialect_Oracle, supportsReleaseSavepoints, NULL, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+};
zend_class_entry *phalcon_db_dialect_postgresql_ce;
@@ -4058,7 +4400,6 @@ static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addForeignKey);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropForeignKey);
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, _getTableOptions);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createTable);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropTable);
static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createView);
@@ -4129,29 +4470,25 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_dropforeignkey, 0,
ZEND_ARG_INFO(0, referenceName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql__gettableoptions, 0, 0, 1)
- ZEND_ARG_INFO(0, definition)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_createtable, 0, 0, 3)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_droptable, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_droptable, 0, 0, 1)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_createview, 0, 0, 3)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_createview, 0, 0, 2)
ZEND_ARG_INFO(0, viewName)
- ZEND_ARG_INFO(0, definition)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_ARG_INFO(0, schemaName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_dropview, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_postgresql_dropview, 0, 0, 1)
ZEND_ARG_INFO(0, viewName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
@@ -4206,7 +4543,6 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialect_postgresql_method_entry) {
PHP_ME(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey, arginfo_phalcon_db_dialect_postgresql_dropprimarykey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Postgresql, addForeignKey, arginfo_phalcon_db_dialect_postgresql_addforeignkey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Postgresql, dropForeignKey, arginfo_phalcon_db_dialect_postgresql_dropforeignkey, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Db_Dialect_Postgresql, _getTableOptions, arginfo_phalcon_db_dialect_postgresql__gettableoptions, ZEND_ACC_PROTECTED)
PHP_ME(Phalcon_Db_Dialect_Postgresql, createTable, arginfo_phalcon_db_dialect_postgresql_createtable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Postgresql, dropTable, arginfo_phalcon_db_dialect_postgresql_droptable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Postgresql, createView, arginfo_phalcon_db_dialect_postgresql_createview, ZEND_ACC_PUBLIC)
@@ -4236,7 +4572,6 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey);
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, _getTableOptions);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable);
static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView);
@@ -4308,29 +4643,25 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_dropforeignkey, 0, 0, 3
ZEND_ARG_INFO(0, referenceName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite__gettableoptions, 0, 0, 1)
- ZEND_ARG_INFO(0, definition)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_createtable, 0, 0, 3)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_droptable, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_droptable, 0, 0, 1)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_createview, 0, 0, 3)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_createview, 0, 0, 2)
ZEND_ARG_INFO(0, viewName)
- ZEND_ARG_INFO(0, definition)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_ARG_INFO(0, schemaName)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_dropview, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialect_sqlite_dropview, 0, 0, 1)
ZEND_ARG_INFO(0, viewName)
ZEND_ARG_INFO(0, schemaName)
ZEND_ARG_INFO(0, ifExists)
@@ -4389,7 +4720,6 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialect_sqlite_method_entry) {
PHP_ME(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey, arginfo_phalcon_db_dialect_sqlite_dropprimarykey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Sqlite, addForeignKey, arginfo_phalcon_db_dialect_sqlite_addforeignkey, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Sqlite, dropForeignKey, arginfo_phalcon_db_dialect_sqlite_dropforeignkey, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Db_Dialect_Sqlite, _getTableOptions, arginfo_phalcon_db_dialect_sqlite__gettableoptions, ZEND_ACC_PROTECTED)
PHP_ME(Phalcon_Db_Dialect_Sqlite, createTable, arginfo_phalcon_db_dialect_sqlite_createtable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Sqlite, dropTable, arginfo_phalcon_db_dialect_sqlite_droptable, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Db_Dialect_Sqlite, createView, arginfo_phalcon_db_dialect_sqlite_createview, ZEND_ACC_PUBLIC)
@@ -4494,16 +4824,33 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_createtable, 0, 0, 3)
ZEND_ARG_ARRAY_INFO(0, definition, 0)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_createview, 0, 0, 2)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_ARRAY_INFO(0, definition, 0)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_droptable, 0, 0, 2)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_dropview, 0, 0, 1)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_INFO(0, schemaName)
+ ZEND_ARG_INFO(0, ifExists)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_tableexists, 0, 0, 1)
ZEND_ARG_INFO(0, tableName)
ZEND_ARG_INFO(0, schemaName)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_viewexists, 0, 0, 1)
+ ZEND_ARG_INFO(0, viewName)
+ ZEND_ARG_INFO(0, schemaName)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_db_dialectinterface_describecolumns, 0, 0, 1)
ZEND_ARG_INFO(0, table)
ZEND_ARG_INFO(0, schema)
@@ -4557,8 +4904,11 @@ ZEPHIR_INIT_FUNCS(phalcon_db_dialectinterface_method_entry) {
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, addForeignKey, arginfo_phalcon_db_dialectinterface_addforeignkey)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, dropForeignKey, arginfo_phalcon_db_dialectinterface_dropforeignkey)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, createTable, arginfo_phalcon_db_dialectinterface_createtable)
+ PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, createView, arginfo_phalcon_db_dialectinterface_createview)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, dropTable, arginfo_phalcon_db_dialectinterface_droptable)
+ PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, dropView, arginfo_phalcon_db_dialectinterface_dropview)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, tableExists, arginfo_phalcon_db_dialectinterface_tableexists)
+ PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, viewExists, arginfo_phalcon_db_dialectinterface_viewexists)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, describeColumns, arginfo_phalcon_db_dialectinterface_describecolumns)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, listTables, arginfo_phalcon_db_dialectinterface_listtables)
PHP_ABSTRACT_ME(Phalcon_Db_DialectInterface, describeIndexes, arginfo_phalcon_db_dialectinterface_describeindexes)
@@ -4985,8 +5335,8 @@ static PHP_METHOD(Phalcon_Debug_Dump, getStyle);
static PHP_METHOD(Phalcon_Debug_Dump, setStyles);
static PHP_METHOD(Phalcon_Debug_Dump, one);
static PHP_METHOD(Phalcon_Debug_Dump, output);
-static PHP_METHOD(Phalcon_Debug_Dump, var);
-static PHP_METHOD(Phalcon_Debug_Dump, vars);
+static PHP_METHOD(Phalcon_Debug_Dump, variable);
+static PHP_METHOD(Phalcon_Debug_Dump, variables);
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_debug_dump_setdetailed, 0, 0, 1)
ZEND_ARG_INFO(0, detailed)
@@ -5016,7 +5366,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_debug_dump_output, 0, 0, 1)
ZEND_ARG_INFO(0, tab)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_debug_dump_var, 0, 0, 1)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_debug_dump_variable, 0, 0, 1)
ZEND_ARG_INFO(0, variable)
ZEND_ARG_INFO(0, name)
ZEND_END_ARG_INFO()
@@ -5030,8 +5380,8 @@ ZEPHIR_INIT_FUNCS(phalcon_debug_dump_method_entry) {
PHP_ME(Phalcon_Debug_Dump, setStyles, arginfo_phalcon_debug_dump_setstyles, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Debug_Dump, one, arginfo_phalcon_debug_dump_one, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Debug_Dump, output, arginfo_phalcon_debug_dump_output, ZEND_ACC_PROTECTED)
- PHP_ME(Phalcon_Debug_Dump, var, arginfo_phalcon_debug_dump_var, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Debug_Dump, vars, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Debug_Dump, variable, arginfo_phalcon_debug_dump_variable, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Debug_Dump, variables, NULL, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@@ -6987,6 +7337,7 @@ static PHP_METHOD(Phalcon_Http_Request, get);
static PHP_METHOD(Phalcon_Http_Request, getPost);
static PHP_METHOD(Phalcon_Http_Request, getPut);
static PHP_METHOD(Phalcon_Http_Request, getQuery);
+static PHP_METHOD(Phalcon_Http_Request, getHelper);
static PHP_METHOD(Phalcon_Http_Request, getServer);
static PHP_METHOD(Phalcon_Http_Request, has);
static PHP_METHOD(Phalcon_Http_Request, hasPost);
@@ -7068,6 +7419,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_getquery, 0, 0, 0)
ZEND_ARG_INFO(0, noRecursive)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_gethelper, 0, 0, 1)
+ ZEND_ARG_ARRAY_INFO(0, source, 0)
+ ZEND_ARG_INFO(0, name)
+ ZEND_ARG_INFO(0, filters)
+ ZEND_ARG_INFO(0, defaultValue)
+ ZEND_ARG_INFO(0, notAllowEmpty)
+ ZEND_ARG_INFO(0, noRecursive)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_getserver, 0, 0, 1)
ZEND_ARG_INFO(0, name)
ZEND_END_ARG_INFO()
@@ -7114,7 +7474,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_hasfilehelper, 0, 0, 2)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_getuploadedfiles, 0, 0, 0)
- ZEND_ARG_INFO(0, notErrored)
+ ZEND_ARG_INFO(0, onlySuccessful)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_request_smoothfiles, 0, 0, 6)
@@ -7143,6 +7503,7 @@ ZEPHIR_INIT_FUNCS(phalcon_http_request_method_entry) {
PHP_ME(Phalcon_Http_Request, getPost, arginfo_phalcon_http_request_getpost, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Http_Request, getPut, arginfo_phalcon_http_request_getput, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Http_Request, getQuery, arginfo_phalcon_http_request_getquery, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Http_Request, getHelper, arginfo_phalcon_http_request_gethelper, ZEND_ACC_PROTECTED)
PHP_ME(Phalcon_Http_Request, getServer, arginfo_phalcon_http_request_getserver, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Http_Request, has, arginfo_phalcon_http_request_has, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Http_Request, hasPost, arginfo_phalcon_http_request_haspost, ZEND_ACC_PUBLIC)
@@ -7314,11 +7675,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_requestinterface_ismethod, 0, 0, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_requestinterface_hasfiles, 0, 0, 0)
- ZEND_ARG_INFO(0, notErrored)
+ ZEND_ARG_INFO(0, onlySuccessful)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_requestinterface_getuploadedfiles, 0, 0, 0)
- ZEND_ARG_INFO(0, notErrored)
+ ZEND_ARG_INFO(0, onlySuccessful)
ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_http_requestinterface_method_entry) {
@@ -7631,7 +7992,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_response_headers_remove, 0, 0, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_response_headers___set_state, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
+ ZEND_ARG_ARRAY_INFO(0, data, 0)
ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_http_response_headers_method_entry) {
@@ -7664,7 +8025,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_response_headersinterface_setraw, 0,
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_response_headersinterface___set_state, 0, 0, 1)
- ZEND_ARG_INFO(0, data)
+ ZEND_ARG_ARRAY_INFO(0, data, 0)
ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_http_response_headersinterface_method_entry) {
@@ -7681,7 +8042,7 @@ zend_class_entry *phalcon_http_responseinterface_ce;
ZEPHIR_INIT_CLASS(Phalcon_Http_ResponseInterface);
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_responseinterface_setstatuscode, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_responseinterface_setstatuscode, 0, 0, 1)
ZEND_ARG_INFO(0, code)
ZEND_ARG_INFO(0, message)
ZEND_END_ARG_INFO()
@@ -9106,19 +9467,19 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_findbyid, 0, 0, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_findfirst, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_find, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_count, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_aggregate, 0, 0, 1)
- ZEND_ARG_INFO(0, parameters)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_aggregate, 0, 0, 0)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collection_summatory, 0, 0, 1)
@@ -9414,15 +9775,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collectioninterface_findbyid, 0, 0, 1
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collectioninterface_findfirst, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collectioninterface_find, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_collectioninterface_count, 0, 0, 0)
- ZEND_ARG_INFO(0, parameters)
+ ZEND_ARG_ARRAY_INFO(0, parameters, 1)
ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_mvc_collectioninterface_method_entry) {
@@ -12851,6 +13212,7 @@ zend_class_entry *phalcon_mvc_model_resultset_ce;
ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, next);
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset, valid);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, key);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, rewind);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, seek);
@@ -12867,7 +13229,6 @@ static PHP_METHOD(Phalcon_Mvc_Model_Resultset, isFresh);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, setHydrateMode);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getHydrateMode);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getCache);
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset, current);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, getMessages);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, update);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset, delete);
@@ -12917,6 +13278,7 @@ ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_mvc_model_resultset_method_entry) {
PHP_ME(Phalcon_Mvc_Model_Resultset, next, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Mvc_Model_Resultset, valid, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, key, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, rewind, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Mvc_Model_Resultset, seek, arginfo_phalcon_mvc_model_resultset_seek, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
@@ -12933,7 +13295,6 @@ ZEPHIR_INIT_FUNCS(phalcon_mvc_model_resultset_method_entry) {
PHP_ME(Phalcon_Mvc_Model_Resultset, setHydrateMode, arginfo_phalcon_mvc_model_resultset_sethydratemode, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, getHydrateMode, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, getCache, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Mvc_Model_Resultset, current, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Mvc_Model_Resultset, getMessages, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, update, arginfo_phalcon_mvc_model_resultset_update, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset, delete, arginfo_phalcon_mvc_model_resultset_delete, ZEND_ACC_PUBLIC)
@@ -12946,7 +13307,7 @@ zend_class_entry *phalcon_mvc_model_resultset_complex_ce;
ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset_Complex);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, __construct);
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, valid);
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, current);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, toArray);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, serialize);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, unserialize);
@@ -12963,7 +13324,7 @@ ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_mvc_model_resultset_complex_method_entry) {
PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, __construct, arginfo_phalcon_mvc_model_resultset_complex___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
- PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, valid, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, current, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, toArray, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, serialize, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset_Complex, unserialize, arginfo_phalcon_mvc_model_resultset_complex_unserialize, ZEND_ACC_PUBLIC)
@@ -12975,7 +13336,7 @@ zend_class_entry *phalcon_mvc_model_resultset_simple_ce;
ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_Resultset_Simple);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, __construct);
-static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, valid);
+static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, current);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, serialize);
static PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, unserialize);
@@ -12998,7 +13359,7 @@ ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_mvc_model_resultset_simple_method_entry) {
PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, __construct, arginfo_phalcon_mvc_model_resultset_simple___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
- PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, valid, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, current, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, toArray, arginfo_phalcon_mvc_model_resultset_simple_toarray, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, serialize, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Mvc_Model_Resultset_Simple, unserialize, arginfo_phalcon_mvc_model_resultset_simple_unserialize, ZEND_ACC_PUBLIC)
@@ -13315,6 +13676,21 @@ zend_class_entry *phalcon_mvc_model_validationfailed_ce;
ZEPHIR_INIT_CLASS(Phalcon_Mvc_Model_ValidationFailed);
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, __construct);
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, getModel);
+static PHP_METHOD(Phalcon_Mvc_Model_ValidationFailed, getMessages);
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_model_validationfailed___construct, 0, 0, 2)
+ ZEND_ARG_OBJ_INFO(0, model, Phalcon\\Mvc\\Model, 0)
+ ZEND_ARG_ARRAY_INFO(0, validationMessages, 0)
+ZEND_END_ARG_INFO()
+
+ZEPHIR_INIT_FUNCS(phalcon_mvc_model_validationfailed_method_entry) {
+ PHP_ME(Phalcon_Mvc_Model_ValidationFailed, __construct, arginfo_phalcon_mvc_model_validationfailed___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
+ PHP_ME(Phalcon_Mvc_Model_ValidationFailed, getModel, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Mvc_Model_ValidationFailed, getMessages, NULL, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+};
zend_class_entry *phalcon_mvc_model_validator_ce;
@@ -14841,7 +15217,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_convertencoding, 0,
ZEND_ARG_INFO(0, to)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_slice, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_slice, 0, 0, 1)
ZEND_ARG_INFO(0, value)
ZEND_ARG_INFO(0, start)
ZEND_ARG_INFO(0, end)
@@ -15032,12 +15408,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_compiler_compilemacr
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_compiler_compilecall, 0, 0, 2)
- ZEND_ARG_INFO(0, statement)
+ ZEND_ARG_ARRAY_INFO(0, statement, 0)
ZEND_ARG_INFO(0, extendsMode)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_mvc_view_engine_volt_compiler__statementlist, 0, 0, 1)
- ZEND_ARG_INFO(0, statements)
+ ZEND_ARG_ARRAY_INFO(0, statements, 0)
ZEND_ARG_INFO(0, extendsMode)
ZEND_END_ARG_INFO()
@@ -15394,33 +15770,42 @@ ZEPHIR_INIT_FUNCS(phalcon_mvc_viewinterface_method_entry) {
PHP_FE_END
};
+zend_class_entry *phalcon_paginator_adapter_ce;
+
+ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter);
+
+static PHP_METHOD(Phalcon_Paginator_Adapter, setCurrentPage);
+static PHP_METHOD(Phalcon_Paginator_Adapter, setLimit);
+static PHP_METHOD(Phalcon_Paginator_Adapter, getLimit);
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_setcurrentpage, 0, 0, 1)
+ ZEND_ARG_INFO(0, page)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_setlimit, 0, 0, 1)
+ ZEND_ARG_INFO(0, limitRows)
+ZEND_END_ARG_INFO()
+
+ZEPHIR_INIT_FUNCS(phalcon_paginator_adapter_method_entry) {
+ PHP_ME(Phalcon_Paginator_Adapter, setCurrentPage, arginfo_phalcon_paginator_adapter_setcurrentpage, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Paginator_Adapter, setLimit, arginfo_phalcon_paginator_adapter_setlimit, ZEND_ACC_PUBLIC)
+ PHP_ME(Phalcon_Paginator_Adapter, getLimit, NULL, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+};
+
zend_class_entry *phalcon_paginator_adapter_model_ce;
ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_Model);
static PHP_METHOD(Phalcon_Paginator_Adapter_Model, __construct);
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setCurrentPage);
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, setLimit);
-static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getLimit);
static PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate);
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_model___construct, 0, 0, 1)
ZEND_ARG_ARRAY_INFO(0, config, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_model_setcurrentpage, 0, 0, 1)
- ZEND_ARG_INFO(0, page)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_model_setlimit, 0, 0, 1)
- ZEND_ARG_INFO(0, limitRows)
-ZEND_END_ARG_INFO()
-
ZEPHIR_INIT_FUNCS(phalcon_paginator_adapter_model_method_entry) {
PHP_ME(Phalcon_Paginator_Adapter_Model, __construct, arginfo_phalcon_paginator_adapter_model___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
- PHP_ME(Phalcon_Paginator_Adapter_Model, setCurrentPage, arginfo_phalcon_paginator_adapter_model_setcurrentpage, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_Model, setLimit, arginfo_phalcon_paginator_adapter_model_setlimit, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_Model, getLimit, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_Model, getPaginate, NULL, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@@ -15430,28 +15815,14 @@ zend_class_entry *phalcon_paginator_adapter_nativearray_ce;
ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_NativeArray);
static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, __construct);
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, setCurrentPage);
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, setLimit);
-static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getLimit);
static PHP_METHOD(Phalcon_Paginator_Adapter_NativeArray, getPaginate);
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_nativearray___construct, 0, 0, 1)
ZEND_ARG_ARRAY_INFO(0, config, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_nativearray_setcurrentpage, 0, 0, 1)
- ZEND_ARG_INFO(0, page)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_nativearray_setlimit, 0, 0, 1)
- ZEND_ARG_INFO(0, limitRows)
-ZEND_END_ARG_INFO()
-
ZEPHIR_INIT_FUNCS(phalcon_paginator_adapter_nativearray_method_entry) {
PHP_ME(Phalcon_Paginator_Adapter_NativeArray, __construct, arginfo_phalcon_paginator_adapter_nativearray___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
- PHP_ME(Phalcon_Paginator_Adapter_NativeArray, setCurrentPage, arginfo_phalcon_paginator_adapter_nativearray_setcurrentpage, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_NativeArray, setLimit, arginfo_phalcon_paginator_adapter_nativearray_setlimit, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_NativeArray, getLimit, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_NativeArray, getPaginate, NULL, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@@ -15461,10 +15832,7 @@ zend_class_entry *phalcon_paginator_adapter_querybuilder_ce;
ZEPHIR_INIT_CLASS(Phalcon_Paginator_Adapter_QueryBuilder);
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, __construct);
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setCurrentPage);
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getCurrentPage);
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setLimit);
-static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getLimit);
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, setQueryBuilder);
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getQueryBuilder);
static PHP_METHOD(Phalcon_Paginator_Adapter_QueryBuilder, getPaginate);
@@ -15473,24 +15841,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_querybuilder___construc
ZEND_ARG_ARRAY_INFO(0, config, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_querybuilder_setcurrentpage, 0, 0, 1)
- ZEND_ARG_INFO(0, currentPage)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_querybuilder_setlimit, 0, 0, 1)
- ZEND_ARG_INFO(0, limitRows)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_paginator_adapter_querybuilder_setquerybuilder, 0, 0, 1)
ZEND_ARG_OBJ_INFO(0, builder, Phalcon\\Mvc\\Model\\Query\\Builder, 0)
ZEND_END_ARG_INFO()
ZEPHIR_INIT_FUNCS(phalcon_paginator_adapter_querybuilder_method_entry) {
PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, __construct, arginfo_phalcon_paginator_adapter_querybuilder___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
- PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, setCurrentPage, arginfo_phalcon_paginator_adapter_querybuilder_setcurrentpage, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, getCurrentPage, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, setLimit, arginfo_phalcon_paginator_adapter_querybuilder_setlimit, ZEND_ACC_PUBLIC)
- PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, getLimit, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, setQueryBuilder, arginfo_phalcon_paginator_adapter_querybuilder_setquerybuilder, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, getQueryBuilder, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Phalcon_Paginator_Adapter_QueryBuilder, getPaginate, NULL, ZEND_ACC_PUBLIC)
diff --git a/build/64bits/phalcon.zep.c b/build/64bits/phalcon.zep.c
index 6282f3b7c17..a6a8e9246b7 100644
--- a/build/64bits/phalcon.zep.c
+++ b/build/64bits/phalcon.zep.c
@@ -3435,11 +3435,6 @@ static void zephir_pow(zval *return_value, zval *op1, zval *op2 TSRMLS_DC);
#define ZEPHIR_SCONCAT_VSVV(result, op1, op2, op3, op4) \
zephir_concat_vsvv(&result, op1, op2, sizeof(op2)-1, op3, op4, 1 TSRMLS_CC);
-#define ZEPHIR_CONCAT_VSVVV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vsvvv(&result, op1, op2, sizeof(op2)-1, op3, op4, op5, 0 TSRMLS_CC);
-#define ZEPHIR_SCONCAT_VSVVV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vsvvv(&result, op1, op2, sizeof(op2)-1, op3, op4, op5, 1 TSRMLS_CC);
-
#define ZEPHIR_CONCAT_VV(result, op1, op2) \
zephir_concat_vv(&result, op1, op2, 0 TSRMLS_CC);
#define ZEPHIR_SCONCAT_VV(result, op1, op2) \
@@ -3460,11 +3455,6 @@ static void zephir_pow(zval *return_value, zval *op1, zval *op2 TSRMLS_DC);
#define ZEPHIR_SCONCAT_VVV(result, op1, op2, op3) \
zephir_concat_vvv(&result, op1, op2, op3, 1 TSRMLS_CC);
-#define ZEPHIR_CONCAT_VVVSV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vvvsv(&result, op1, op2, op3, op4, sizeof(op4)-1, op5, 0 TSRMLS_CC);
-#define ZEPHIR_SCONCAT_VVVSV(result, op1, op2, op3, op4, op5) \
- zephir_concat_vvvsv(&result, op1, op2, op3, op4, sizeof(op4)-1, op5, 1 TSRMLS_CC);
-
#define ZEPHIR_CONCAT_VVVV(result, op1, op2, op3, op4) \
zephir_concat_vvvv(&result, op1, op2, op3, op4, 0 TSRMLS_CC);
#define ZEPHIR_SCONCAT_VVVV(result, op1, op2, op3, op4) \
@@ -3501,12 +3491,10 @@ static void zephir_concat_vsvsv(zval **result, zval *op1, const char *op2, zend_
static void zephir_concat_vsvsvs(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, const char *op4, zend_uint op4_len, zval *op5, const char *op6, zend_uint op6_len, int self_var TSRMLS_DC);
static void zephir_concat_vsvsvsv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, const char *op4, zend_uint op4_len, zval *op5, const char *op6, zend_uint op6_len, zval *op7, int self_var TSRMLS_DC);
static void zephir_concat_vsvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, int self_var TSRMLS_DC);
-static void zephir_concat_vsvvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC);
static void zephir_concat_vv(zval **result, zval *op1, zval *op2, int self_var TSRMLS_DC);
static void zephir_concat_vvs(zval **result, zval *op1, zval *op2, const char *op3, zend_uint op3_len, int self_var TSRMLS_DC);
static void zephir_concat_vvsv(zval **result, zval *op1, zval *op2, const char *op3, zend_uint op3_len, zval *op4, int self_var TSRMLS_DC);
static void zephir_concat_vvv(zval **result, zval *op1, zval *op2, zval *op3, int self_var TSRMLS_DC);
-static void zephir_concat_vvvsv(zval **result, zval *op1, zval *op2, zval *op3, const char *op4, zend_uint op4_len, zval *op5, int self_var TSRMLS_DC);
static void zephir_concat_vvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, int self_var TSRMLS_DC);
static void zephir_concat_vvvvsvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, const char *op5, zend_uint op5_len, zval *op6, zval *op7, int self_var TSRMLS_DC);
static void zephir_concat_vvvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC);
@@ -14991,89 +14979,6 @@ static void zephir_concat_vsvv(zval **result, zval *op1, const char *op2, zend_u
}
-static void zephir_concat_vsvvv(zval **result, zval *op1, const char *op2, zend_uint op2_len, zval *op3, zval *op4, zval *op5, int self_var TSRMLS_DC){
-
- zval result_copy, op1_copy, op3_copy, op4_copy, op5_copy;
- int use_copy = 0, use_copy1 = 0, use_copy3 = 0, use_copy4 = 0, use_copy5 = 0;
- uint offset = 0, length;
-
- if (Z_TYPE_P(op1) != IS_STRING) {
- zend_make_printable_zval(op1, &op1_copy, &use_copy1);
- if (use_copy1) {
- op1 = &op1_copy;
- }
- }
-
- if (Z_TYPE_P(op3) != IS_STRING) {
- zend_make_printable_zval(op3, &op3_copy, &use_copy3);
- if (use_copy3) {
- op3 = &op3_copy;
- }
- }
-
- if (Z_TYPE_P(op4) != IS_STRING) {
- zend_make_printable_zval(op4, &op4_copy, &use_copy4);
- if (use_copy4) {
- op4 = &op4_copy;
- }
- }
-
- if (Z_TYPE_P(op5) != IS_STRING) {
- zend_make_printable_zval(op5, &op5_copy, &use_copy5);
- if (use_copy5) {
- op5 = &op5_copy;
- }
- }
-
- length = Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3) + Z_STRLEN_P(op4) + Z_STRLEN_P(op5);
- if (self_var) {
-
- if (Z_TYPE_PP(result) != IS_STRING) {
- zend_make_printable_zval(*result, &result_copy, &use_copy);
- if (use_copy) {
- ZEPHIR_CPY_WRT_CTOR(*result, (&result_copy));
- }
- }
-
- offset = Z_STRLEN_PP(result);
- length += offset;
- Z_STRVAL_PP(result) = (char *) str_erealloc(Z_STRVAL_PP(result), length + 1);
-
- } else {
- Z_STRVAL_PP(result) = (char *) emalloc(length + 1);
- }
-
- memcpy(Z_STRVAL_PP(result) + offset, Z_STRVAL_P(op1), Z_STRLEN_P(op1));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1), op2, op2_len);
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len, Z_STRVAL_P(op3), Z_STRLEN_P(op3));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3), Z_STRVAL_P(op4), Z_STRLEN_P(op4));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + op2_len + Z_STRLEN_P(op3) + Z_STRLEN_P(op4), Z_STRVAL_P(op5), Z_STRLEN_P(op5));
- Z_STRVAL_PP(result)[length] = 0;
- Z_TYPE_PP(result) = IS_STRING;
- Z_STRLEN_PP(result) = length;
-
- if (use_copy1) {
- zval_dtor(op1);
- }
-
- if (use_copy3) {
- zval_dtor(op3);
- }
-
- if (use_copy4) {
- zval_dtor(op4);
- }
-
- if (use_copy5) {
- zval_dtor(op5);
- }
-
- if (use_copy) {
- zval_dtor(&result_copy);
- }
-
-}
-
static void zephir_concat_vv(zval **result, zval *op1, zval *op2, int self_var TSRMLS_DC){
zval result_copy, op1_copy, op2_copy;
@@ -15332,89 +15237,6 @@ static void zephir_concat_vvv(zval **result, zval *op1, zval *op2, zval *op3, in
}
-static void zephir_concat_vvvsv(zval **result, zval *op1, zval *op2, zval *op3, const char *op4, zend_uint op4_len, zval *op5, int self_var TSRMLS_DC){
-
- zval result_copy, op1_copy, op2_copy, op3_copy, op5_copy;
- int use_copy = 0, use_copy1 = 0, use_copy2 = 0, use_copy3 = 0, use_copy5 = 0;
- uint offset = 0, length;
-
- if (Z_TYPE_P(op1) != IS_STRING) {
- zend_make_printable_zval(op1, &op1_copy, &use_copy1);
- if (use_copy1) {
- op1 = &op1_copy;
- }
- }
-
- if (Z_TYPE_P(op2) != IS_STRING) {
- zend_make_printable_zval(op2, &op2_copy, &use_copy2);
- if (use_copy2) {
- op2 = &op2_copy;
- }
- }
-
- if (Z_TYPE_P(op3) != IS_STRING) {
- zend_make_printable_zval(op3, &op3_copy, &use_copy3);
- if (use_copy3) {
- op3 = &op3_copy;
- }
- }
-
- if (Z_TYPE_P(op5) != IS_STRING) {
- zend_make_printable_zval(op5, &op5_copy, &use_copy5);
- if (use_copy5) {
- op5 = &op5_copy;
- }
- }
-
- length = Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5);
- if (self_var) {
-
- if (Z_TYPE_PP(result) != IS_STRING) {
- zend_make_printable_zval(*result, &result_copy, &use_copy);
- if (use_copy) {
- ZEPHIR_CPY_WRT_CTOR(*result, (&result_copy));
- }
- }
-
- offset = Z_STRLEN_PP(result);
- length += offset;
- Z_STRVAL_PP(result) = (char *) str_erealloc(Z_STRVAL_PP(result), length + 1);
-
- } else {
- Z_STRVAL_PP(result) = (char *) emalloc(length + 1);
- }
-
- memcpy(Z_STRVAL_PP(result) + offset, Z_STRVAL_P(op1), Z_STRLEN_P(op1));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op2));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2), Z_STRVAL_P(op3), Z_STRLEN_P(op3));
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3), op4, op4_len);
- memcpy(Z_STRVAL_PP(result) + offset + Z_STRLEN_P(op1) + Z_STRLEN_P(op2) + Z_STRLEN_P(op3) + op4_len, Z_STRVAL_P(op5), Z_STRLEN_P(op5));
- Z_STRVAL_PP(result)[length] = 0;
- Z_TYPE_PP(result) = IS_STRING;
- Z_STRLEN_PP(result) = length;
-
- if (use_copy1) {
- zval_dtor(op1);
- }
-
- if (use_copy2) {
- zval_dtor(op2);
- }
-
- if (use_copy3) {
- zval_dtor(op3);
- }
-
- if (use_copy5) {
- zval_dtor(op5);
- }
-
- if (use_copy) {
- zval_dtor(&result_copy);
- }
-
-}
-
static void zephir_concat_vvvv(zval **result, zval *op1, zval *op2, zval *op3, zval *op4, int self_var TSRMLS_DC){
zval result_copy, op1_copy, op2_copy, op3_copy, op4_copy;
@@ -16983,11 +16805,11 @@ ZEPHIR_INIT_CLASS(Phalcon_Config) {
static PHP_METHOD(Phalcon_Config, __construct) {
+ zephir_fcall_cache_entry *_3 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL, *_6 = NULL;
HashTable *_1;
HashPosition _0;
- zval *arrayConfig_param = NULL, *key = NULL, *value = NULL, **_2, *_3 = NULL, *_5 = NULL;
+ zval *arrayConfig_param = NULL, *key = NULL, *value = NULL, **_2;
zval *arrayConfig = NULL;
ZEPHIR_MM_GROW();
@@ -17002,25 +16824,15 @@ static PHP_METHOD(Phalcon_Config, __construct) {
}
- zephir_is_iterable(arrayConfig, &_1, &_0, 0, 0, "phalcon/config.zep", 68);
+ zephir_is_iterable(arrayConfig, &_1, &_0, 0, 0, "phalcon/config.zep", 62);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
ZEPHIR_GET_HMKEY(key, _1, _0);
ZEPHIR_GET_HVALUE(value, _2);
- ZEPHIR_CALL_FUNCTION(&_3, "strval", &_4, key);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "offsetset", &_3, key, value);
zephir_check_call_status();
- ZEPHIR_CPY_WRT(key, _3);
- if (Z_TYPE_P(value) == IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_5);
- object_init_ex(_5, phalcon_config_ce);
- ZEPHIR_CALL_METHOD(NULL, _5, "__construct", &_6, value);
- zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, key, _5 TSRMLS_CC);
- } else {
- zephir_update_property_zval_zval(this_ptr, key, value TSRMLS_CC);
- }
}
ZEPHIR_MM_RESTORE();
@@ -17028,57 +16840,45 @@ static PHP_METHOD(Phalcon_Config, __construct) {
static PHP_METHOD(Phalcon_Config, offsetExists) {
- zval *index_param = NULL;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
RETURN_MM_BOOL(zephir_isset_property_zval(this_ptr, index TSRMLS_CC));
}
static PHP_METHOD(Phalcon_Config, get) {
- zval *index_param = NULL, *defaultValue = NULL, *_0;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *defaultValue = NULL, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &index_param, &defaultValue);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 1, &index, &defaultValue);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
if (!defaultValue) {
defaultValue = ZEPHIR_GLOBAL(global_null);
}
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
if (zephir_isset_property_zval(this_ptr, index TSRMLS_CC)) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_zval(&_0, this_ptr, index, PH_NOISY_CC);
- RETURN_CCTOR(_0);
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property_zval(&_2, this_ptr, index, PH_NOISY_CC);
+ RETURN_CCTOR(_2);
}
RETVAL_ZVAL(defaultValue, 1, 0);
RETURN_MM();
@@ -17087,60 +16887,46 @@ static PHP_METHOD(Phalcon_Config, get) {
static PHP_METHOD(Phalcon_Config, offsetGet) {
- zval *index_param = NULL, *_0;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_zval(&_0, this_ptr, index, PH_NOISY_CC);
- RETURN_CCTOR(_0);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
+ ZEPHIR_OBS_VAR(_2);
+ zephir_read_property_zval(&_2, this_ptr, index, PH_NOISY_CC);
+ RETURN_CCTOR(_2);
}
static PHP_METHOD(Phalcon_Config, offsetSet) {
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *index_param = NULL, *value, *_0;
- zval *index = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL;
+ zval *index = NULL, *value, *_0 = NULL, *_2;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &index_param, &value);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 2, 0, &index, &value);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
if (Z_TYPE_P(value) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(_0);
- object_init_ex(_0, phalcon_config_ce);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_1, value);
+ ZEPHIR_INIT_VAR(_2);
+ object_init_ex(_2, phalcon_config_ce);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_3, value);
zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, index, _0 TSRMLS_CC);
+ zephir_update_property_zval_zval(this_ptr, index, _2 TSRMLS_CC);
} else {
zephir_update_property_zval_zval(this_ptr, index, value TSRMLS_CC);
}
@@ -17150,25 +16936,19 @@ static PHP_METHOD(Phalcon_Config, offsetSet) {
static PHP_METHOD(Phalcon_Config, offsetUnset) {
- zval *index_param = NULL;
- zval *index = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *index = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 0, &index);
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
- } else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
- }
+ ZEPHIR_SEPARATE_PARAM(index);
+ ZEPHIR_CALL_FUNCTION(&_0, "strval", &_1, index);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(index, _0);
zephir_update_property_zval_zval(this_ptr, index, ZEPHIR_GLOBAL(global_null) TSRMLS_CC);
ZEPHIR_MM_RESTORE();
@@ -17205,7 +16985,7 @@ static PHP_METHOD(Phalcon_Config, toArray) {
array_init(arrayConfig);
ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", &_1, this_ptr);
zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 179);
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 180);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -17289,7 +17069,7 @@ static PHP_METHOD(Phalcon_Config, _merge) {
zephir_check_call_status();
ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", &_1, config);
zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 238);
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/config.zep", 239);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -18853,7 +18633,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_CPY_WRT(html, _1);
if (zephir_array_isset_string(trace, SS("class"))) {
ZEPHIR_OBS_VAR(className);
- zephir_array_fetch_string(&className, trace, SL("class"), PH_NOISY, "phalcon/debug.zep", 356 TSRMLS_CC);
+ zephir_array_fetch_string(&className, trace, SL("class"), PH_NOISY, "phalcon/debug.zep", 355 TSRMLS_CC);
ZEPHIR_INIT_VAR(_2);
ZEPHIR_INIT_VAR(_3);
ZEPHIR_SINIT_VAR(_4);
@@ -18888,11 +18668,11 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
zephir_concat_self(&html, _10 TSRMLS_CC);
}
}
- zephir_array_fetch_string(&_11, trace, SL("type"), PH_NOISY | PH_READONLY, "phalcon/debug.zep", 397 TSRMLS_CC);
+ zephir_array_fetch_string(&_11, trace, SL("type"), PH_NOISY | PH_READONLY, "phalcon/debug.zep", 396 TSRMLS_CC);
zephir_concat_self(&html, _11 TSRMLS_CC);
}
ZEPHIR_OBS_VAR(functionName);
- zephir_array_fetch_string(&functionName, trace, SL("function"), PH_NOISY, "phalcon/debug.zep", 403 TSRMLS_CC);
+ zephir_array_fetch_string(&functionName, trace, SL("function"), PH_NOISY, "phalcon/debug.zep", 402 TSRMLS_CC);
if (zephir_array_isset_string(trace, SS("class"))) {
ZEPHIR_INIT_LNVAR(_5);
ZEPHIR_CONCAT_SVS(_5, "", functionName, "");
@@ -18924,11 +18704,11 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
}
if (zephir_array_isset_string(trace, SS("args"))) {
ZEPHIR_OBS_VAR(traceArgs);
- zephir_array_fetch_string(&traceArgs, trace, SL("args"), PH_NOISY, "phalcon/debug.zep", 437 TSRMLS_CC);
+ zephir_array_fetch_string(&traceArgs, trace, SL("args"), PH_NOISY, "phalcon/debug.zep", 436 TSRMLS_CC);
if (zephir_fast_count_int(traceArgs TSRMLS_CC)) {
ZEPHIR_INIT_VAR(arguments);
array_init(arguments);
- zephir_is_iterable(traceArgs, &_15, &_14, 0, 0, "phalcon/debug.zep", 452);
+ zephir_is_iterable(traceArgs, &_15, &_14, 0, 0, "phalcon/debug.zep", 451);
for (
; zephir_hash_get_current_data_ex(_15, (void**) &_16, &_14) == SUCCESS
; zephir_hash_move_forward_ex(_15, &_14)
@@ -18938,7 +18718,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_5);
ZEPHIR_CONCAT_SVS(_5, "", _7, "");
- zephir_array_append(&arguments, _5, PH_SEPARATE, "phalcon/debug.zep", 446);
+ zephir_array_append(&arguments, _5, PH_SEPARATE, "phalcon/debug.zep", 445);
}
ZEPHIR_INIT_NVAR(_3);
zephir_fast_join_str(_3, SL(", "), arguments TSRMLS_CC);
@@ -18952,7 +18732,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_OBS_VAR(filez);
if (zephir_array_isset_string_fetch(&filez, trace, SS("file"), 0 TSRMLS_CC)) {
ZEPHIR_OBS_VAR(_18);
- zephir_array_fetch_string(&_18, trace, SL("line"), PH_NOISY, "phalcon/debug.zep", 463 TSRMLS_CC);
+ zephir_array_fetch_string(&_18, trace, SL("line"), PH_NOISY, "phalcon/debug.zep", 462 TSRMLS_CC);
zephir_get_strval(_19, _18);
ZEPHIR_CPY_WRT(line, _19);
ZEPHIR_INIT_LNVAR(_5);
@@ -19016,7 +18796,7 @@ static PHP_METHOD(Phalcon_Debug, showTraceItem) {
ZEPHIR_SINIT_NVAR(linePosition);
ZVAL_LONG(&linePosition, (i - 1));
ZEPHIR_OBS_NVAR(currentLine);
- zephir_array_fetch(¤tLine, lines, &linePosition, PH_NOISY, "phalcon/debug.zep", 551 TSRMLS_CC);
+ zephir_array_fetch(¤tLine, lines, &linePosition, PH_NOISY, "phalcon/debug.zep", 550 TSRMLS_CC);
if (zephir_is_true(showFileFragment)) {
if (i == firstLine) {
ZEPHIR_INIT_NVAR(_23);
@@ -19076,7 +18856,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtLowSeverity) {
ZVAL_LONG(_4, 0);
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_5, message, _4, severity, file, line);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "phalcon/debug.zep", 594 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "phalcon/debug.zep", 593 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -19158,7 +18938,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_11, exception, "gettrace", NULL);
zephir_check_call_status();
- zephir_is_iterable(_11, &_13, &_12, 0, 0, "phalcon/debug.zep", 688);
+ zephir_is_iterable(_11, &_13, &_12, 0, 0, "phalcon/debug.zep", 687);
for (
; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
; zephir_hash_move_forward_ex(_13, &_12)
@@ -19173,7 +18953,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
zephir_get_global(&_REQUEST, SS("_REQUEST") TSRMLS_CC);
- zephir_is_iterable(_REQUEST, &_18, &_17, 0, 0, "phalcon/debug.zep", 698);
+ zephir_is_iterable(_REQUEST, &_18, &_17, 0, 0, "phalcon/debug.zep", 697);
for (
; zephir_hash_get_current_data_ex(_18, (void**) &_19, &_17) == SUCCESS
; zephir_hash_move_forward_ex(_18, &_17)
@@ -19188,7 +18968,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
zephir_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC);
- zephir_is_iterable(_SERVER, &_22, &_21, 0, 0, "phalcon/debug.zep", 708);
+ zephir_is_iterable(_SERVER, &_22, &_21, 0, 0, "phalcon/debug.zep", 707);
for (
; zephir_hash_get_current_data_ex(_22, (void**) &_23, &_21) == SUCCESS
; zephir_hash_move_forward_ex(_22, &_21)
@@ -19204,7 +18984,7 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
zephir_concat_self_str(&html, SL("# | Path |
") TSRMLS_CC);
ZEPHIR_CALL_FUNCTION(&_15, "get_included_files", &_24);
zephir_check_call_status();
- zephir_is_iterable(_15, &_26, &_25, 0, 0, "phalcon/debug.zep", 719);
+ zephir_is_iterable(_15, &_26, &_25, 0, 0, "phalcon/debug.zep", 718);
for (
; zephir_hash_get_current_data_ex(_26, (void**) &_27, &_25) == SUCCESS
; zephir_hash_move_forward_ex(_26, &_25)
@@ -19226,14 +19006,14 @@ static PHP_METHOD(Phalcon_Debug, onUncaughtException) {
if (Z_TYPE_P(dataVars) == IS_ARRAY) {
zephir_concat_self_str(&html, SL("") TSRMLS_CC);
zephir_concat_self_str(&html, SL("Key | Value |
") TSRMLS_CC);
- zephir_is_iterable(dataVars, &_30, &_29, 0, 0, "phalcon/debug.zep", 737);
+ zephir_is_iterable(dataVars, &_30, &_29, 0, 0, "phalcon/debug.zep", 736);
for (
; zephir_hash_get_current_data_ex(_30, (void**) &_31, &_29) == SUCCESS
; zephir_hash_move_forward_ex(_30, &_29)
) {
ZEPHIR_GET_HMKEY(keyVar, _30, _29);
ZEPHIR_GET_HVALUE(dataVar, _31);
- zephir_array_fetch_long(&_33, dataVar, 0, PH_NOISY | PH_READONLY, "phalcon/debug.zep", 735 TSRMLS_CC);
+ zephir_array_fetch_long(&_33, dataVar, 0, PH_NOISY | PH_READONLY, "phalcon/debug.zep", 734 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&_32, this_ptr, "_getvardump", &_34, _33);
zephir_check_call_status();
ZEPHIR_INIT_LNVAR(_35);
@@ -27197,9 +26977,11 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addRole) {
static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
- zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ HashTable *_7;
+ HashPosition _6;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_9 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *roleName_param = NULL, *roleToInherit, *roleInheritName = NULL, *rolesNames, *_0 = NULL, *_3, *_4;
+ zval *roleName_param = NULL, *roleToInherit, *roleInheritName = NULL, *rolesNames, *deepInheritName = NULL, *_0 = NULL, *_3, *_4, *_5, **_8, *_10;
zval *roleName = NULL, *_1;
ZEPHIR_MM_GROW();
@@ -27217,7 +26999,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
ZEPHIR_CONCAT_SVS(_1, "Role '", roleName, "' does not exist in the role list");
ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _1);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 193 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 192 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27227,14 +27009,28 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addInherit) {
} else {
ZEPHIR_CPY_WRT(roleInheritName, roleToInherit);
}
+ _3 = zephir_fetch_nproperty_this(this_ptr, SL("_roleInherits"), PH_NOISY_CC);
+ if (zephir_array_isset(_3, roleInheritName)) {
+ _4 = zephir_fetch_nproperty_this(this_ptr, SL("_roleInherits"), PH_NOISY_CC);
+ zephir_array_fetch(&_5, _4, roleInheritName, PH_NOISY | PH_READONLY, "phalcon/acl/adapter/memory.zep", 205 TSRMLS_CC);
+ zephir_is_iterable(_5, &_7, &_6, 0, 0, "phalcon/acl/adapter/memory.zep", 208);
+ for (
+ ; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS
+ ; zephir_hash_move_forward_ex(_7, &_6)
+ ) {
+ ZEPHIR_GET_HVALUE(deepInheritName, _8);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "addinherit", &_9, roleName, deepInheritName);
+ zephir_check_call_status();
+ }
+ }
if (!(zephir_array_isset(rolesNames, roleInheritName))) {
ZEPHIR_INIT_NVAR(_0);
object_init_ex(_0, phalcon_acl_exception_ce);
- ZEPHIR_INIT_VAR(_3);
- ZEPHIR_CONCAT_SVS(_3, "Role '", roleInheritName, "' (to inherit) does not exist in the role list");
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _3);
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "Role '", roleInheritName, "' (to inherit) does not exist in the role list");
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _10);
zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 206 TSRMLS_CC);
+ zephir_throw_exception_debug(_0, "phalcon/acl/adapter/memory.zep", 214 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27339,7 +27135,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addResourceAccess) {
ZEPHIR_CONCAT_SVS(_2, "Resource '", resourceName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 288 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 296 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27348,12 +27144,12 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, addResourceAccess) {
_4 = Z_TYPE_P(accessList) != IS_STRING;
}
if (_4) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_acl_exception_ce, "Invalid value for accessList", "phalcon/acl/adapter/memory.zep", 292);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_acl_exception_ce, "Invalid value for accessList", "phalcon/acl/adapter/memory.zep", 300);
return;
}
exists = 1;
if (Z_TYPE_P(accessList) == IS_ARRAY) {
- zephir_is_iterable(accessList, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 303);
+ zephir_is_iterable(accessList, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 311);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -27394,7 +27190,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, dropResourceAccess) {
if (Z_TYPE_P(accessList) == IS_ARRAY) {
- zephir_is_iterable(accessList, &_1, &_0, 0, 0, "phalcon/acl/adapter/memory.zep", 329);
+ zephir_is_iterable(accessList, &_1, &_0, 0, 0, "phalcon/acl/adapter/memory.zep", 337);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -27445,7 +27241,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVS(_2, "Role '", roleName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 347 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 355 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27457,7 +27253,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVS(_2, "Resource '", resourceName, "' does not exist in ACL");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _2);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 351 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 359 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27468,7 +27264,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_OBS_VAR(internalAccess);
zephir_read_property_this(&internalAccess, this_ptr, SL("_access"), PH_NOISY_CC);
if (Z_TYPE_P(access) == IS_ARRAY) {
- zephir_is_iterable(access, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 367);
+ zephir_is_iterable(access, &_6, &_5, 0, 0, "phalcon/acl/adapter/memory.zep", 375);
for (
; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
; zephir_hash_move_forward_ex(_6, &_5)
@@ -27483,12 +27279,12 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVSVS(_8, "Access '", accessName, "' does not exist in resource '", resourceName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _8);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 363 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 371 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
}
- zephir_is_iterable(access, &_10, &_9, 0, 0, "phalcon/acl/adapter/memory.zep", 380);
+ zephir_is_iterable(access, &_10, &_9, 0, 0, "phalcon/acl/adapter/memory.zep", 388);
for (
; zephir_hash_get_current_data_ex(_10, (void**) &_11, &_9) == SUCCESS
; zephir_hash_move_forward_ex(_10, &_9)
@@ -27517,7 +27313,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, _allowOrDeny) {
ZEPHIR_CONCAT_SVSVS(_8, "Access '", access, "' does not exist in resource '", resourceName, "'");
ZEPHIR_CALL_METHOD(NULL, _1, "__construct", &_3, _8);
zephir_check_call_status();
- zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 385 TSRMLS_CC);
+ zephir_throw_exception_debug(_1, "phalcon/acl/adapter/memory.zep", 393 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -27564,7 +27360,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, allow) {
} else {
_2 = zephir_fetch_nproperty_this(this_ptr, SL("_rolesNames"), PH_NOISY_CC);
ZEPHIR_INIT_NVAR(_0);
- zephir_is_iterable(_2, &_4, &_3, 0, 0, "phalcon/acl/adapter/memory.zep", 441);
+ zephir_is_iterable(_2, &_4, &_3, 0, 0, "phalcon/acl/adapter/memory.zep", 449);
for (
; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
; zephir_hash_move_forward_ex(_4, &_3)
@@ -27606,7 +27402,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, deny) {
} else {
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_rolesNames"), PH_NOISY_CC);
ZEPHIR_INIT_NVAR(_0);
- zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/acl/adapter/memory.zep", 474);
+ zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/acl/adapter/memory.zep", 482);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -27669,7 +27465,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 520 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 528 TSRMLS_CC);
}
if (Z_TYPE_P(haveAccess) == IS_NULL) {
ZEPHIR_OBS_VAR(roleInherits);
@@ -27677,7 +27473,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_OBS_VAR(inheritedRoles);
if (zephir_array_isset_fetch(&inheritedRoles, roleInherits, roleName, 0 TSRMLS_CC)) {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_5, &_4, 0, 0, "phalcon/acl/adapter/memory.zep", 541);
+ zephir_is_iterable(inheritedRoles, &_5, &_4, 0, 0, "phalcon/acl/adapter/memory.zep", 549);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -27687,7 +27483,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VSVSV(accessKey, inheritedRole, "!", resourceName, "!", access);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 538 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 546 TSRMLS_CC);
}
}
}
@@ -27699,10 +27495,10 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 556 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 564 TSRMLS_CC);
} else {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_8, &_7, 0, 0, "phalcon/acl/adapter/memory.zep", 570);
+ zephir_is_iterable(inheritedRoles, &_8, &_7, 0, 0, "phalcon/acl/adapter/memory.zep", 578);
for (
; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
; zephir_hash_move_forward_ex(_8, &_7)
@@ -27712,7 +27508,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VSVS(accessKey, inheritedRole, "!", resourceName, "!*");
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 566 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 574 TSRMLS_CC);
break;
}
}
@@ -27725,10 +27521,10 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CPY_WRT(accessKey, _3);
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 585 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 593 TSRMLS_CC);
} else {
if (Z_TYPE_P(inheritedRoles) == IS_ARRAY) {
- zephir_is_iterable(inheritedRoles, &_11, &_10, 0, 0, "phalcon/acl/adapter/memory.zep", 599);
+ zephir_is_iterable(inheritedRoles, &_11, &_10, 0, 0, "phalcon/acl/adapter/memory.zep", 607);
for (
; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS
; zephir_hash_move_forward_ex(_11, &_10)
@@ -27738,7 +27534,7 @@ static PHP_METHOD(Phalcon_Acl_Adapter_Memory, isAllowed) {
ZEPHIR_CONCAT_VS(accessKey, inheritedRole, "!*!*");
if (zephir_array_isset(accessList, accessKey)) {
ZEPHIR_OBS_NVAR(haveAccess);
- zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 595 TSRMLS_CC);
+ zephir_array_fetch(&haveAccess, accessList, accessKey, PH_NOISY, "phalcon/acl/adapter/memory.zep", 603 TSRMLS_CC);
break;
}
}
@@ -28715,155 +28511,153 @@ static zval *phannot_ret_annotation(phannot_parser_token *name, zval *arguments,
#endif
/* The next thing included is series of defines which control
** various aspects of the generated parser.
-** JJCODETYPE is the data type used for storing terminal
+** AACODETYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 terminals
** and nonterminals. "int" is used otherwise.
-** JJNOCODE is a number of type JJCODETYPE which corresponds
+** AANOCODE is a number of type AACODETYPE which corresponds
** to no legal terminal or nonterminal number. This
-** number is used to fill in empty slots of the hash
+** number is used to fill in empty slots of the hash
** table.
-** JJFALLBACK If defined, this indicates that one or more tokens
+** AAFALLBACK If defined, this indicates that one or more tokens
** have fall-back values which should be used if the
** original value of the token will not parse.
-** JJACTIONTYPE is the data type used for storing terminal
+** AAACTIONTYPE is the data type used for storing terminal
** and nonterminal numbers. "unsigned char" is
** used if there are fewer than 250 rules and
** states combined. "int" is used otherwise.
-** phannot_JTOKENTYPE is the data type used for minor tokens given
+** phannot_TOKENTYPE is the data type used for minor tokens given
** directly to the parser from the tokenizer.
-** JJMINORTYPE is the data type used for all minor tokens.
+** AAMINORTYPE is the data type used for all minor tokens.
** This is typically a union of many types, one of
-** which is phannot_JTOKENTYPE. The entry in the union
-** for base tokens is called "jj0".
-** JJSTACKDEPTH is the maximum depth of the parser's stack.
+** which is phannot_TOKENTYPE. The entry in the union
+** for base tokens is called "aa0".
+** AASTACKDEPTH is the maximum depth of the parser's stack.
** phannot_ARG_SDECL A static variable declaration for the %extra_argument
** phannot_ARG_PDECL A parameter declaration for the %extra_argument
-** phannot_ARG_STORE Code to store %extra_argument into jjpParser
-** phannot_ARG_FETCH Code to extract %extra_argument from jjpParser
-** JJNSTATE the combined number of states.
-** JJNRULE the number of rules in the grammar
-** JJERRORSYMBOL is the code number of the error symbol. If not
+** phannot_ARG_STORE Code to store %extra_argument into aapParser
+** phannot_ARG_FETCH Code to extract %extra_argument from aapParser
+** AANSTATE the combined number of states.
+** AANRULE the number of rules in the grammar
+** AAERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
*/
-#define JJCODETYPE unsigned char
-#define JJNOCODE 28
-#define JJACTIONTYPE unsigned char
-#define phannot_JTOKENTYPE phannot_parser_token*
+#define AACODETYPE unsigned char
+#define AANOCODE 28
+#define AAACTIONTYPE unsigned char
+#define phannot_TOKENTYPE phannot_parser_token*
typedef union {
- phannot_JTOKENTYPE jj0;
- zval* jj36;
- int jj55;
-} JJMINORTYPE;
-#define JJSTACKDEPTH 100
+ phannot_TOKENTYPE aa0;
+ zval* aa36;
+ int aa55;
+} AAMINORTYPE;
+#define AASTACKDEPTH 100
#define phannot_ARG_SDECL phannot_parser_status *status;
#define phannot_ARG_PDECL ,phannot_parser_status *status
-#define phannot_ARG_FETCH phannot_parser_status *status = jjpParser->status
-#define phannot_ARG_STORE jjpParser->status = status
-#define JJNSTATE 40
-#define JJNRULE 25
-#define JJERRORSYMBOL 18
-#define JJERRSYMDT jj55
-#define JJ_NO_ACTION (JJNSTATE+JJNRULE+2)
-#define JJ_ACCEPT_ACTION (JJNSTATE+JJNRULE+1)
-#define JJ_ERROR_ACTION (JJNSTATE+JJNRULE)
+#define phannot_ARG_FETCH phannot_parser_status *status = aapParser->status
+#define phannot_ARG_STORE aapParser->status = status
+#define AANSTATE 40
+#define AANRULE 25
+#define AAERRORSYMBOL 18
+#define AAERRSYMDT aa55
+#define AA_NO_ACTION (AANSTATE+AANRULE+2)
+#define AA_ACCEPT_ACTION (AANSTATE+AANRULE+1)
+#define AA_ERROR_ACTION (AANSTATE+AANRULE)
/* Next are that tables used to determine what action to take based on the
** current state and lookahead token. These tables are used to implement
** functions that take a state number and lookahead value and return an
-** action integer.
+** action integer.
**
** Suppose the action integer is N. Then the action is determined as
** follows
**
-** 0 <= N < JJNSTATE Shift N. That is, push the lookahead
+** 0 <= N < AANSTATE Shift N. That is, push the lookahead
** token onto the stack and goto state N.
**
-** JJNSTATE <= N < JJNSTATE+JJNRULE Reduce by rule N-JJNSTATE.
+** AANSTATE <= N < AANSTATE+AANRULE Reduce by rule N-AANSTATE.
**
-** N == JJNSTATE+JJNRULE A syntax error has occurred.
+** N == AANSTATE+AANRULE A syntax error has occurred.
**
-** N == JJNSTATE+JJNRULE+1 The parser accepts its input.
+** N == AANSTATE+AANRULE+1 The parser accepts its input.
**
-** N == JJNSTATE+JJNRULE+2 No such action. Denotes unused
-** slots in the jj_action[] table.
+** N == AANSTATE+AANRULE+2 No such action. Denotes unused
+** slots in the aa_action[] table.
**
-** The action table is constructed as a single large table named jj_action[].
+** The action table is constructed as a single large table named aa_action[].
** Given state S and lookahead X, the action is computed as
**
-** jj_action[ jj_shift_ofst[S] + X ]
+** aa_action[ aa_shift_ofst[S] + X ]
**
-** If the index value jj_shift_ofst[S]+X is out of range or if the value
-** jj_lookahead[jj_shift_ofst[S]+X] is not equal to X or if jj_shift_ofst[S]
-** is equal to JJ_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that jj_default[S] should be used instead.
+** If the index value aa_shift_ofst[S]+X is out of range or if the value
+** aa_lookahead[aa_shift_ofst[S]+X] is not equal to X or if aa_shift_ofst[S]
+** is equal to AA_SHIFT_USE_DFLT, it means that the action is not in the table
+** and that aa_default[S] should be used instead.
**
** The formula above is for computing the action when the lookahead is
** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the jj_reduce_ofst[] array is used in place of
-** the jj_shift_ofst[] array and JJ_REDUCE_USE_DFLT is used in place of
-** JJ_SHIFT_USE_DFLT.
+** a reduce action) then the aa_reduce_ofst[] array is used in place of
+** the aa_shift_ofst[] array and AA_REDUCE_USE_DFLT is used in place of
+** AA_SHIFT_USE_DFLT.
**
** The following are the tables generated in this section:
**
-** jj_action[] A single table containing all actions.
-** jj_lookahead[] A table containing the lookahead for each entry in
-** jj_action. Used to detect hash collisions.
-** jj_shift_ofst[] For each state, the offset into jj_action for
+** aa_action[] A single table containing all actions.
+** aa_lookahead[] A table containing the lookahead for each entry in
+** aa_action. Used to detect hash collisions.
+** aa_shift_ofst[] For each state, the offset into aa_action for
** shifting terminals.
-** jj_reduce_ofst[] For each state, the offset into jj_action for
+** aa_reduce_ofst[] For each state, the offset into aa_action for
** shifting non-terminals after a reduce.
-** jj_default[] Default action for each state.
+** aa_default[] Default action for each state.
*/
-static JJACTIONTYPE jj_action[] = {
- /* 0 */ 4, 28, 15, 38, 12, 14, 16, 18, 20, 21,
- /* 10 */ 22, 23, 24, 4, 31, 4, 28, 15, 40, 12,
- /* 20 */ 30, 16, 18, 20, 21, 22, 23, 24, 3, 31,
- /* 30 */ 4, 17, 15, 6, 19, 35, 16, 18, 20, 21,
- /* 40 */ 22, 23, 24, 5, 31, 15, 7, 27, 11, 16,
- /* 50 */ 54, 54, 15, 25, 27, 11, 16, 15, 32, 27,
- /* 60 */ 11, 16, 66, 1, 2, 39, 41, 15, 4, 10,
- /* 70 */ 11, 16, 15, 9, 9, 37, 16, 8, 13, 36,
- /* 80 */ 9, 29, 34, 54, 54, 54, 54, 54, 26, 54,
- /* 90 */ 54, 54, 54, 54, 54, 54, 33,
+static AAACTIONTYPE aa_action[] = {
+ /* 0 */ 4, 28, 15, 38, 12, 37, 16, 18, 20, 21,
+ /* 10 */ 22, 23, 24, 4, 31, 4, 17, 15, 40, 19,
+ /* 20 */ 35, 16, 18, 20, 21, 22, 23, 24, 3, 31,
+ /* 30 */ 4, 28, 15, 6, 12, 30, 16, 18, 20, 21,
+ /* 40 */ 22, 23, 24, 54, 31, 15, 25, 27, 11, 16,
+ /* 50 */ 13, 36, 15, 7, 27, 11, 16, 15, 32, 27,
+ /* 60 */ 11, 16, 15, 9, 10, 11, 16, 66, 1, 2,
+ /* 70 */ 39, 15, 9, 5, 14, 16, 41, 26, 4, 9,
+ /* 80 */ 29, 34, 54, 8, 54, 54, 54, 54, 33,
};
-static JJCODETYPE jj_lookahead[] = {
+static AACODETYPE aa_lookahead[] = {
/* 0 */ 2, 3, 22, 5, 6, 25, 26, 9, 10, 11,
/* 10 */ 12, 13, 14, 2, 16, 2, 3, 22, 0, 6,
/* 20 */ 25, 26, 9, 10, 11, 12, 13, 14, 22, 16,
/* 30 */ 2, 3, 22, 4, 6, 25, 26, 9, 10, 11,
- /* 40 */ 12, 13, 14, 3, 16, 22, 23, 24, 25, 26,
- /* 50 */ 27, 27, 22, 23, 24, 25, 26, 22, 23, 24,
- /* 60 */ 25, 26, 19, 20, 21, 22, 0, 22, 2, 24,
- /* 70 */ 25, 26, 22, 1, 1, 25, 26, 5, 7, 8,
- /* 80 */ 1, 7, 8, 27, 27, 27, 27, 27, 15, 27,
- /* 90 */ 27, 27, 27, 27, 27, 27, 17,
+ /* 40 */ 12, 13, 14, 27, 16, 22, 23, 24, 25, 26,
+ /* 50 */ 7, 8, 22, 23, 24, 25, 26, 22, 23, 24,
+ /* 60 */ 25, 26, 22, 1, 24, 25, 26, 19, 20, 21,
+ /* 70 */ 22, 22, 1, 3, 25, 26, 0, 15, 2, 1,
+ /* 80 */ 7, 8, 27, 5, 27, 27, 27, 27, 17,
};
-#define JJ_SHIFT_USE_DFLT (-3)
-static signed char jj_shift_ofst[] = {
- /* 0 */ 11, 18, 66, -3, 40, 29, -2, 72, -3, 13,
- /* 10 */ -3, -3, 71, 28, -3, -3, -3, -3, -3, -3,
- /* 20 */ -3, -3, -3, -3, 13, 73, -3, -3, 74, 28,
- /* 30 */ -3, 13, 79, -3, 28, -3, 28, -3, -3, -3,
+#define AA_SHIFT_USE_DFLT (-3)
+static signed char aa_shift_ofst[] = {
+ /* 0 */ 11, 18, 76, -3, 70, 29, -2, 78, -3, 28,
+ /* 10 */ -3, -3, 43, 13, -3, -3, -3, -3, -3, -3,
+ /* 20 */ -3, -3, -3, -3, 28, 62, -3, -3, 73, 13,
+ /* 30 */ -3, 28, 71, -3, 13, -3, 13, -3, -3, -3,
};
-#define JJ_REDUCE_USE_DFLT (-21)
-static signed char jj_reduce_ofst[] = {
- /* 0 */ 43, -21, 6, -21, -21, -21, 23, -21, -21, 45,
- /* 10 */ -21, -21, -21, -20, -21, -21, -21, -21, -21, -21,
- /* 20 */ -21, -21, -21, -21, 30, -21, -21, -21, -21, -5,
- /* 30 */ -21, 35, -21, -21, 10, -21, 50, -21, -21, -21,
+#define AA_REDUCE_USE_DFLT (-21)
+static signed char aa_reduce_ofst[] = {
+ /* 0 */ 48, -21, 6, -21, -21, -21, 30, -21, -21, 40,
+ /* 10 */ -21, -21, -21, 49, -21, -21, -21, -21, -21, -21,
+ /* 20 */ -21, -21, -21, -21, 23, -21, -21, -21, -21, 10,
+ /* 30 */ -21, 35, -21, -21, -5, -21, -20, -21, -21, -21,
};
-static JJACTIONTYPE jj_default[] = {
+static AAACTIONTYPE aa_default[] = {
/* 0 */ 65, 65, 65, 42, 65, 46, 65, 65, 44, 65,
/* 10 */ 47, 49, 58, 65, 50, 54, 55, 56, 57, 58,
/* 20 */ 59, 60, 61, 62, 65, 65, 63, 48, 56, 65,
/* 30 */ 52, 65, 65, 64, 65, 53, 65, 51, 45, 43,
};
-#define JJ_SZ_ACTTAB (sizeof(jj_action)/sizeof(jj_action[0]))
+#define AA_SZ_ACTTAB (sizeof(aa_action)/sizeof(aa_action[0]))
/* The next table maps tokens into fallback tokens. If a construct
** like the following:
-**
+**
** %fallback ID X Y Z.
**
** appears in the grammer, then ID becomes a fallback token for X, Y,
@@ -28871,10 +28665,10 @@ static JJACTIONTYPE jj_default[] = {
** but it does not parse, the type of the token is changed to ID and
** the parse is retried before an error is thrown.
*/
-#ifdef JJFALLBACK
-static const JJCODETYPE jjFallback[] = {
+#ifdef AAFALLBACK
+static const AACODETYPE aaFallback[] = {
};
-#endif /* JJFALLBACK */
+#endif /* AAFALLBACK */
/* The following structure represents a single element of the
** parser's stack. Information stored includes:
@@ -28888,58 +28682,58 @@ static const JJCODETYPE jjFallback[] = {
** the information used by the action routines in the grammar.
** It is sometimes called the "minor" token.
*/
-struct jjStackEntry {
+struct aaStackEntry {
int stateno; /* The state-number */
int major; /* The major token value. This is the code
** number for the token at this stack level */
- JJMINORTYPE minor; /* The user-supplied minor token value. This
+ AAMINORTYPE minor; /* The user-supplied minor token value. This
** is the value of the token */
};
-typedef struct jjStackEntry jjStackEntry;
+typedef struct aaStackEntry aaStackEntry;
/* The state of the parser is completely contained in an instance of
** the following structure */
-struct jjParser {
- int jjidx; /* Index of top element in stack */
- int jjerrcnt; /* Shifts left before out of the error */
+struct aaParser {
+ int aaidx; /* Index of top element in stack */
+ int aaerrcnt; /* Shifts left before out of the error */
phannot_ARG_SDECL /* A place to hold %extra_argument */
- jjStackEntry jjstack[JJSTACKDEPTH]; /* The parser's stack */
+ aaStackEntry aastack[AASTACKDEPTH]; /* The parser's stack */
};
-typedef struct jjParser jjParser;
+typedef struct aaParser aaParser;
#ifndef NDEBUG
#include
-static FILE *jjTraceFILE = 0;
-static char *jjTracePrompt = 0;
+static FILE *aaTraceFILE = 0;
+static char *aaTracePrompt = 0;
#endif /* NDEBUG */
#ifndef NDEBUG
static void phannot_Trace(FILE *TraceFILE, char *zTracePrompt){
- jjTraceFILE = TraceFILE;
- jjTracePrompt = zTracePrompt;
- if( jjTraceFILE==0 ) jjTracePrompt = 0;
- else if( jjTracePrompt==0 ) jjTraceFILE = 0;
+ aaTraceFILE = TraceFILE;
+ aaTracePrompt = zTracePrompt;
+ if( aaTraceFILE==0 ) aaTracePrompt = 0;
+ else if( aaTracePrompt==0 ) aaTraceFILE = 0;
}
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing shifts, the names of all terminals and nonterminals
** are required. The following table supplies these names */
-static const char *jjTokenName[] = {
- "$", "COMMA", "AT", "IDENTIFIER",
- "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "STRING", "EQUALS",
- "COLON", "INTEGER", "DOUBLE", "NULL",
+static const char *aaTokenName[] = {
+ "$", "COMMA", "AT", "IDENTIFIER",
+ "PARENTHESES_OPEN", "PARENTHESES_CLOSE", "STRING", "EQUALS",
+ "COLON", "INTEGER", "DOUBLE", "NULL",
"FALSE", "TRUE", "BRACKET_OPEN", "BRACKET_CLOSE",
- "SBRACKET_OPEN", "SBRACKET_CLOSE", "error", "program",
+ "SBRACKET_OPEN", "SBRACKET_CLOSE", "error", "program",
"annotation_language", "annotation_list", "annotation", "argument_list",
- "argument_item", "expr", "array",
+ "argument_item", "expr", "array",
};
#endif /* NDEBUG */
#ifndef NDEBUG
/* For tracing reduce actions, the names of all rules are required.
*/
-static const char *jjRuleName[] = {
+static const char *aaRuleName[] = {
/* 0 */ "program ::= annotation_language",
/* 1 */ "annotation_language ::= annotation_list",
/* 2 */ "annotation_list ::= annotation_list annotation",
@@ -28970,8 +28764,8 @@ static const char *jjRuleName[] = {
const char *phannot_TokenName(int tokenType){
#ifndef NDEBUG
- if( tokenType>0 && tokenType<(sizeof(jjTokenName)/sizeof(jjTokenName[0])) ){
- return jjTokenName[tokenType];
+ if( tokenType>0 && tokenType<(sizeof(aaTokenName)/sizeof(aaTokenName[0])) ){
+ return aaTokenName[tokenType];
}else{
return "Unknown";
}
@@ -28981,25 +28775,25 @@ const char *phannot_TokenName(int tokenType){
}
void *phannot_Alloc(void *(*mallocProc)(size_t)){
- jjParser *pParser;
- pParser = (jjParser*)(*mallocProc)( (size_t)sizeof(jjParser) );
+ aaParser *pParser;
+ pParser = (aaParser*)(*mallocProc)( (size_t)sizeof(aaParser) );
if( pParser ){
- pParser->jjidx = -1;
+ pParser->aaidx = -1;
}
return pParser;
}
/* The following function deletes the value associated with a
** symbol. The symbol can be either a terminal or nonterminal.
-** "jjmajor" is the symbol code, and "jjpminor" is a pointer to
+** "aamajor" is the symbol code, and "aapminor" is a pointer to
** the value.
*/
-static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
- switch( jjmajor ){
+static void aa_destructor(AACODETYPE aamajor, AAMINORTYPE *aapminor){
+ switch( aamajor ){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
** when the symbol is popped from the stack during a
- ** reduce or during error processing or when a parser is
+ ** reduce or during error processing or when a parser is
** being destroyed before it is finished parsing.
**
** Note: during a reduce, the only symbols destroyed are those
@@ -29025,14 +28819,14 @@ static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
case 17:
// 222 "parser.lemon"
{
- if ((jjpminor->jj0)) {
- if ((jjpminor->jj0)->free_flag) {
- efree((jjpminor->jj0)->token);
+ if ((aapminor->aa0)) {
+ if ((aapminor->aa0)->free_flag) {
+ efree((aapminor->aa0)->token);
}
- efree((jjpminor->jj0));
+ efree((aapminor->aa0));
}
}
-// 507 "parser.c"
+// 505 "parser.c"
break;
case 20:
case 21:
@@ -29041,133 +28835,133 @@ static void jj_destructor(JJCODETYPE jjmajor, JJMINORTYPE *jjpminor){
case 24:
case 25:
// 235 "parser.lemon"
-{ zval_ptr_dtor(&(jjpminor->jj36)); }
-// 517 "parser.c"
+{ zval_ptr_dtor(&(aapminor->aa36)); }
+// 515 "parser.c"
break;
default: break; /* If no destructor action specified: do nothing */
}
}
-static int jj_pop_parser_stack(jjParser *pParser){
- JJCODETYPE jjmajor;
- jjStackEntry *jjtos = &pParser->jjstack[pParser->jjidx];
+static int aa_pop_parser_stack(aaParser *pParser){
+ AACODETYPE aamajor;
+ aaStackEntry *aatos = &pParser->aastack[pParser->aaidx];
- if( pParser->jjidx<0 ) return 0;
+ if( pParser->aaidx<0 ) return 0;
#ifndef NDEBUG
- if( jjTraceFILE && pParser->jjidx>=0 ){
- fprintf(jjTraceFILE,"%sPopping %s\n",
- jjTracePrompt,
- jjTokenName[jjtos->major]);
+ if( aaTraceFILE && pParser->aaidx>=0 ){
+ fprintf(aaTraceFILE,"%sPopping %s\n",
+ aaTracePrompt,
+ aaTokenName[aatos->major]);
}
#endif
- jjmajor = jjtos->major;
- jj_destructor( jjmajor, &jjtos->minor);
- pParser->jjidx--;
- return jjmajor;
+ aamajor = aatos->major;
+ aa_destructor( aamajor, &aatos->minor);
+ pParser->aaidx--;
+ return aamajor;
}
static void phannot_Free(
void *p, /* The parser to be deleted */
void (*freeProc)(void*) /* Function used to reclaim memory */
){
- jjParser *pParser = (jjParser*)p;
+ aaParser *pParser = (aaParser*)p;
if( pParser==0 ) return;
- while( pParser->jjidx>=0 ) jj_pop_parser_stack(pParser);
+ while( pParser->aaidx>=0 ) aa_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
-static int jj_find_shift_action(
- jjParser *pParser, /* The parser */
+static int aa_find_shift_action(
+ aaParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->jjstack[pParser->jjidx].stateno;
-
- /* if( pParser->jjidx<0 ) return JJ_NO_ACTION; */
- i = jj_shift_ofst[stateno];
- if( i==JJ_SHIFT_USE_DFLT ){
- return jj_default[stateno];
+ int stateno = pParser->aastack[pParser->aaidx].stateno;
+
+ /* if( pParser->aaidx<0 ) return AA_NO_ACTION; */
+ i = aa_shift_ofst[stateno];
+ if( i==AA_SHIFT_USE_DFLT ){
+ return aa_default[stateno];
}
- if( iLookAhead==JJNOCODE ){
- return JJ_NO_ACTION;
+ if( iLookAhead==AANOCODE ){
+ return AA_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=JJ_SZ_ACTTAB || jj_lookahead[i]!=iLookAhead ){
-#ifdef JJFALLBACK
+ if( i<0 || i>=AA_SZ_ACTTAB || aa_lookahead[i]!=iLookAhead ){
+#ifdef AAFALLBACK
int iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- jjTracePrompt, jjTokenName[iLookAhead], jjTokenName[iFallback]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE, "%sFALLBACK %s => %s\n",
+ aaTracePrompt, aaTokenName[iLookAhead], aaTokenName[iFallback]);
}
#endif
- return jj_find_shift_action(pParser, iFallback);
+ return aa_find_shift_action(pParser, iFallback);
}
#endif
- return jj_default[stateno];
+ return aa_default[stateno];
}else{
- return jj_action[i];
+ return aa_action[i];
}
}
-static int jj_find_reduce_action(
- jjParser *pParser, /* The parser */
+static int aa_find_reduce_action(
+ aaParser *pParser, /* The parser */
int iLookAhead /* The look-ahead token */
){
int i;
- int stateno = pParser->jjstack[pParser->jjidx].stateno;
-
- i = jj_reduce_ofst[stateno];
- if( i==JJ_REDUCE_USE_DFLT ){
- return jj_default[stateno];
+ int stateno = pParser->aastack[pParser->aaidx].stateno;
+
+ i = aa_reduce_ofst[stateno];
+ if( i==AA_REDUCE_USE_DFLT ){
+ return aa_default[stateno];
}
- if( iLookAhead==JJNOCODE ){
- return JJ_NO_ACTION;
+ if( iLookAhead==AANOCODE ){
+ return AA_NO_ACTION;
}
i += iLookAhead;
- if( i<0 || i>=JJ_SZ_ACTTAB || jj_lookahead[i]!=iLookAhead ){
- return jj_default[stateno];
+ if( i<0 || i>=AA_SZ_ACTTAB || aa_lookahead[i]!=iLookAhead ){
+ return aa_default[stateno];
}else{
- return jj_action[i];
+ return aa_action[i];
}
}
-static void jj_shift(
- jjParser *jjpParser, /* The parser to be shifted */
- int jjNewState, /* The new state to shift in */
- int jjMajor, /* The major token to shift in */
- JJMINORTYPE *jjpMinor /* Pointer ot the minor token to shift in */
+static void aa_shift(
+ aaParser *aapParser, /* The parser to be shifted */
+ int aaNewState, /* The new state to shift in */
+ int aaMajor, /* The major token to shift in */
+ AAMINORTYPE *aapMinor /* Pointer ot the minor token to shift in */
){
- jjStackEntry *jjtos;
- jjpParser->jjidx++;
- if( jjpParser->jjidx>=JJSTACKDEPTH ){
+ aaStackEntry *aatos;
+ aapParser->aaidx++;
+ if( aapParser->aaidx>=AASTACKDEPTH ){
phannot_ARG_FETCH;
- jjpParser->jjidx--;
+ aapParser->aaidx--;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sStack Overflow!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sStack Overflow!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will execute if the parser
** stack every overflows */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument var */
return;
}
- jjtos = &jjpParser->jjstack[jjpParser->jjidx];
- jjtos->stateno = jjNewState;
- jjtos->major = jjMajor;
- jjtos->minor = *jjpMinor;
+ aatos = &aapParser->aastack[aapParser->aaidx];
+ aatos->stateno = aaNewState;
+ aatos->major = aaMajor;
+ aatos->minor = *aapMinor;
#ifndef NDEBUG
- if( jjTraceFILE && jjpParser->jjidx>0 ){
+ if( aaTraceFILE && aapParser->aaidx>0 ){
int i;
- fprintf(jjTraceFILE,"%sShift %d\n",jjTracePrompt,jjNewState);
- fprintf(jjTraceFILE,"%sStack:",jjTracePrompt);
- for(i=1; i<=jjpParser->jjidx; i++)
- fprintf(jjTraceFILE," %s",jjTokenName[jjpParser->jjstack[i].major]);
- fprintf(jjTraceFILE,"\n");
+ fprintf(aaTraceFILE,"%sShift %d\n",aaTracePrompt,aaNewState);
+ fprintf(aaTraceFILE,"%sStack:",aaTracePrompt);
+ for(i=1; i<=aapParser->aaidx; i++)
+ fprintf(aaTraceFILE," %s",aaTokenName[aapParser->aastack[i].major]);
+ fprintf(aaTraceFILE,"\n");
}
#endif
}
@@ -29176,9 +28970,9 @@ static void jj_shift(
** is used during the reduce.
*/
static struct {
- JJCODETYPE lhs; /* Symbol on the left-hand side of the rule */
+ AACODETYPE lhs; /* Symbol on the left-hand side of the rule */
unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} jjRuleInfo[] = {
+} aaRuleInfo[] = {
{ 19, 1 },
{ 20, 1 },
{ 21, 2 },
@@ -29206,28 +29000,28 @@ static struct {
{ 26, 3 },
};
-static void jj_accept(jjParser*); /* Forward Declaration */
+static void aa_accept(aaParser*); /* Forward Declaration */
-static void jj_reduce(
- jjParser *jjpParser, /* The parser */
- int jjruleno /* Number of the rule by which to reduce */
+static void aa_reduce(
+ aaParser *aapParser, /* The parser */
+ int aaruleno /* Number of the rule by which to reduce */
){
- int jjgoto; /* The next state */
- int jjact; /* The next action */
- JJMINORTYPE jjgotominor; /* The LHS of the rule reduced */
- jjStackEntry *jjmsp; /* The top of the parser's stack */
- int jjsize; /* Amount to pop the stack */
+ int aagoto; /* The next state */
+ int aaact; /* The next action */
+ AAMINORTYPE aagotominor; /* The LHS of the rule reduced */
+ aaStackEntry *aamsp; /* The top of the parser's stack */
+ int aasize; /* Amount to pop the stack */
phannot_ARG_FETCH;
- jjmsp = &jjpParser->jjstack[jjpParser->jjidx];
+ aamsp = &aapParser->aastack[aapParser->aaidx];
#ifndef NDEBUG
- if( jjTraceFILE && jjruleno>=0
- && jjruleno=0
+ && aarulenoret = jjmsp[0].minor.jj36;
+ status->ret = aamsp[0].minor.aa36;
}
-// 759 "parser.c"
+// 757 "parser.c"
break;
case 1:
case 14:
case 15:
// 237 "parser.lemon"
{
- jjgotominor.jj36 = jjmsp[0].minor.jj36;
+ aagotominor.aa36 = aamsp[0].minor.aa36;
}
-// 768 "parser.c"
+// 766 "parser.c"
break;
case 2:
// 243 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(jjmsp[-1].minor.jj36, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_zval_list(aamsp[-1].minor.aa36, aamsp[0].minor.aa36);
}
-// 775 "parser.c"
+// 773 "parser.c"
break;
case 3:
case 8:
// 247 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(NULL, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_zval_list(NULL, aamsp[0].minor.aa36);
}
-// 783 "parser.c"
+// 781 "parser.c"
break;
case 4:
// 254 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[-3].minor.jj0, jjmsp[-1].minor.jj36, status->scanner_state);
- jj_destructor(2,&jjmsp[-4].minor);
- jj_destructor(4,&jjmsp[-2].minor);
- jj_destructor(5,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[-3].minor.aa0, aamsp[-1].minor.aa36, status->scanner_state);
+ aa_destructor(2,&aamsp[-4].minor);
+ aa_destructor(4,&aamsp[-2].minor);
+ aa_destructor(5,&aamsp[0].minor);
}
-// 793 "parser.c"
+// 791 "parser.c"
break;
case 5:
// 258 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[-2].minor.jj0, NULL, status->scanner_state);
- jj_destructor(2,&jjmsp[-3].minor);
- jj_destructor(4,&jjmsp[-1].minor);
- jj_destructor(5,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[-2].minor.aa0, NULL, status->scanner_state);
+ aa_destructor(2,&aamsp[-3].minor);
+ aa_destructor(4,&aamsp[-1].minor);
+ aa_destructor(5,&aamsp[0].minor);
}
-// 803 "parser.c"
+// 801 "parser.c"
break;
case 6:
// 262 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_annotation(jjmsp[0].minor.jj0, NULL, status->scanner_state);
- jj_destructor(2,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_annotation(aamsp[0].minor.aa0, NULL, status->scanner_state);
+ aa_destructor(2,&aamsp[-1].minor);
}
-// 811 "parser.c"
+// 809 "parser.c"
break;
case 7:
// 268 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_zval_list(jjmsp[-2].minor.jj36, jjmsp[0].minor.jj36);
- jj_destructor(1,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_zval_list(aamsp[-2].minor.aa36, aamsp[0].minor.aa36);
+ aa_destructor(1,&aamsp[-1].minor);
}
-// 819 "parser.c"
+// 817 "parser.c"
break;
case 9:
// 278 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(NULL, jjmsp[0].minor.jj36);
+ aagotominor.aa36 = phannot_ret_named_item(NULL, aamsp[0].minor.aa36);
}
-// 826 "parser.c"
+// 824 "parser.c"
break;
case 10:
case 12:
// 282 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(jjmsp[-2].minor.jj0, jjmsp[0].minor.jj36);
- jj_destructor(7,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_named_item(aamsp[-2].minor.aa0, aamsp[0].minor.aa36);
+ aa_destructor(7,&aamsp[-1].minor);
}
-// 835 "parser.c"
+// 833 "parser.c"
break;
case 11:
case 13:
// 286 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_named_item(jjmsp[-2].minor.jj0, jjmsp[0].minor.jj36);
- jj_destructor(8,&jjmsp[-1].minor);
+ aagotominor.aa36 = phannot_ret_named_item(aamsp[-2].minor.aa0, aamsp[0].minor.aa36);
+ aa_destructor(8,&aamsp[-1].minor);
}
-// 844 "parser.c"
+// 842 "parser.c"
break;
case 16:
// 308 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_IDENTIFIER, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_IDENTIFIER, aamsp[0].minor.aa0);
}
-// 851 "parser.c"
+// 849 "parser.c"
break;
case 17:
// 312 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_INTEGER, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_INTEGER, aamsp[0].minor.aa0);
}
-// 858 "parser.c"
+// 856 "parser.c"
break;
case 18:
// 316 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_STRING, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_STRING, aamsp[0].minor.aa0);
}
-// 865 "parser.c"
+// 863 "parser.c"
break;
case 19:
// 320 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_DOUBLE, jjmsp[0].minor.jj0);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_DOUBLE, aamsp[0].minor.aa0);
}
-// 872 "parser.c"
+// 870 "parser.c"
break;
case 20:
// 324 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_NULL, NULL);
- jj_destructor(11,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_NULL, NULL);
+ aa_destructor(11,&aamsp[0].minor);
}
-// 880 "parser.c"
+// 878 "parser.c"
break;
case 21:
// 328 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_FALSE, NULL);
- jj_destructor(12,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_FALSE, NULL);
+ aa_destructor(12,&aamsp[0].minor);
}
-// 888 "parser.c"
+// 886 "parser.c"
break;
case 22:
// 332 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_literal_zval(PHANNOT_T_TRUE, NULL);
- jj_destructor(13,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_literal_zval(PHANNOT_T_TRUE, NULL);
+ aa_destructor(13,&aamsp[0].minor);
}
-// 896 "parser.c"
+// 894 "parser.c"
break;
case 23:
// 336 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_array(jjmsp[-1].minor.jj36);
- jj_destructor(14,&jjmsp[-2].minor);
- jj_destructor(15,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_array(aamsp[-1].minor.aa36);
+ aa_destructor(14,&aamsp[-2].minor);
+ aa_destructor(15,&aamsp[0].minor);
}
-// 905 "parser.c"
+// 903 "parser.c"
break;
case 24:
// 340 "parser.lemon"
{
- jjgotominor.jj36 = phannot_ret_array(jjmsp[-1].minor.jj36);
- jj_destructor(16,&jjmsp[-2].minor);
- jj_destructor(17,&jjmsp[0].minor);
+ aagotominor.aa36 = phannot_ret_array(aamsp[-1].minor.aa36);
+ aa_destructor(16,&aamsp[-2].minor);
+ aa_destructor(17,&aamsp[0].minor);
}
-// 914 "parser.c"
+// 912 "parser.c"
break;
};
- jjgoto = jjRuleInfo[jjruleno].lhs;
- jjsize = jjRuleInfo[jjruleno].nrhs;
- jjpParser->jjidx -= jjsize;
- jjact = jj_find_reduce_action(jjpParser,jjgoto);
- if( jjact < JJNSTATE ){
- jj_shift(jjpParser,jjact,jjgoto,&jjgotominor);
- }else if( jjact == JJNSTATE + JJNRULE + 1 ){
- jj_accept(jjpParser);
+ aagoto = aaRuleInfo[aaruleno].lhs;
+ aasize = aaRuleInfo[aaruleno].nrhs;
+ aapParser->aaidx -= aasize;
+ aaact = aa_find_reduce_action(aapParser,aagoto);
+ if( aaact < AANSTATE ){
+ aa_shift(aapParser,aaact,aagoto,&aagotominor);
+ }else if( aaact == AANSTATE + AANRULE + 1 ){
+ aa_accept(aapParser);
}
}
-static void jj_parse_failed(
- jjParser *jjpParser /* The parser */
+static void aa_parse_failed(
+ aaParser *aapParser /* The parser */
){
phannot_ARG_FETCH;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sFail!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sFail!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void jj_syntax_error(
- jjParser *jjpParser, /* The parser */
- int jjmajor, /* The major type of the error token */
- JJMINORTYPE jjminor /* The minor type of the error token */
+static void aa_syntax_error(
+ aaParser *aapParser, /* The parser */
+ int aamajor, /* The major type of the error token */
+ AAMINORTYPE aaminor /* The minor type of the error token */
){
phannot_ARG_FETCH;
-#define JTOKEN (jjminor.jj0)
+#define TOKEN (aaminor.aa0)
// 159 "parser.lemon"
if (status->scanner_state->start_length) {
@@ -29495,20 +29289,20 @@ static void jj_syntax_error(
status->status = PHANNOT_PARSING_FAILED;
-// 1019 "parser.c"
+// 1017 "parser.c"
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
}
-static void jj_accept(
- jjParser *jjpParser /* The parser */
+static void aa_accept(
+ aaParser *aapParser /* The parser */
){
phannot_ARG_FETCH;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sAccept!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sAccept!\n",aaTracePrompt);
}
#endif
- while( jjpParser->jjidx>=0 ) jj_pop_parser_stack(jjpParser);
+ while( aapParser->aaidx>=0 ) aa_pop_parser_stack(aapParser);
/* Here code is inserted which will be executed whenever the
** parser accepts */
phannot_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
@@ -29534,59 +29328,59 @@ static void jj_accept(
** None.
*/
static void phannot_(
- void *jjp, /* The parser */
- int jjmajor, /* The major token code number */
- phannot_JTOKENTYPE jjminor /* The value for the token */
+ void *aap, /* The parser */
+ int aamajor, /* The major token code number */
+ phannot_TOKENTYPE aaminor /* The value for the token */
phannot_ARG_PDECL /* Optional %extra_argument parameter */
){
- JJMINORTYPE jjminorunion;
- int jjact; /* The parser action. */
- int jjendofinput; /* True if we are at the end of input */
- int jjerrorhit = 0; /* True if jjmajor has invoked an error */
- jjParser *jjpParser; /* The parser */
+ AAMINORTYPE aaminorunion;
+ int aaact; /* The parser action. */
+ int aaendofinput; /* True if we are at the end of input */
+ int aaerrorhit = 0; /* True if aamajor has invoked an error */
+ aaParser *aapParser; /* The parser */
/* (re)initialize the parser, if necessary */
- jjpParser = (jjParser*)jjp;
- if( jjpParser->jjidx<0 ){
- if( jjmajor==0 ) return;
- jjpParser->jjidx = 0;
- jjpParser->jjerrcnt = -1;
- jjpParser->jjstack[0].stateno = 0;
- jjpParser->jjstack[0].major = 0;
+ aapParser = (aaParser*)aap;
+ if( aapParser->aaidx<0 ){
+ if( aamajor==0 ) return;
+ aapParser->aaidx = 0;
+ aapParser->aaerrcnt = -1;
+ aapParser->aastack[0].stateno = 0;
+ aapParser->aastack[0].major = 0;
}
- jjminorunion.jj0 = jjminor;
- jjendofinput = (jjmajor==0);
+ aaminorunion.aa0 = aaminor;
+ aaendofinput = (aamajor==0);
phannot_ARG_STORE;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sInput %s\n",jjTracePrompt,jjTokenName[jjmajor]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sInput %s\n",aaTracePrompt,aaTokenName[aamajor]);
}
#endif
do{
- jjact = jj_find_shift_action(jjpParser,jjmajor);
- if( jjactjjerrcnt--;
- if( jjendofinput && jjpParser->jjidx>=0 ){
- jjmajor = 0;
+ aaact = aa_find_shift_action(aapParser,aamajor);
+ if( aaactaaerrcnt--;
+ if( aaendofinput && aapParser->aaidx>=0 ){
+ aamajor = 0;
}else{
- jjmajor = JJNOCODE;
+ aamajor = AANOCODE;
}
- }else if( jjact < JJNSTATE + JJNRULE ){
- jj_reduce(jjpParser,jjact-JJNSTATE);
- }else if( jjact == JJ_ERROR_ACTION ){
- int jjmx;
+ }else if( aaact < AANSTATE + AANRULE ){
+ aa_reduce(aapParser,aaact-AANSTATE);
+ }else if( aaact == AA_ERROR_ACTION ){
+ int aamx;
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sSyntax Error!\n",jjTracePrompt);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sSyntax Error!\n",aaTracePrompt);
}
#endif
-#ifdef JJERRORSYMBOL
+#ifdef AAERRORSYMBOL
/* A syntax error has occurred.
** The response to an error depends upon whether or not the
- ** grammar defines an error token "ERROR".
+ ** grammar defines an error token "ERROR".
**
** This is what we do if the grammar does define ERROR:
**
@@ -29603,40 +29397,40 @@ static void phannot_(
** shifted successfully.
**
*/
- if( jjpParser->jjerrcnt<0 ){
- jj_syntax_error(jjpParser,jjmajor,jjminorunion);
+ if( aapParser->aaerrcnt<0 ){
+ aa_syntax_error(aapParser,aamajor,aaminorunion);
}
- jjmx = jjpParser->jjstack[jjpParser->jjidx].major;
- if( jjmx==JJERRORSYMBOL || jjerrorhit ){
+ aamx = aapParser->aastack[aapParser->aaidx].major;
+ if( aamx==AAERRORSYMBOL || aaerrorhit ){
#ifndef NDEBUG
- if( jjTraceFILE ){
- fprintf(jjTraceFILE,"%sDiscard input token %s\n",
- jjTracePrompt,jjTokenName[jjmajor]);
+ if( aaTraceFILE ){
+ fprintf(aaTraceFILE,"%sDiscard input token %s\n",
+ aaTracePrompt,aaTokenName[aamajor]);
}
#endif
- jj_destructor(jjmajor,&jjminorunion);
- jjmajor = JJNOCODE;
+ aa_destructor(aamajor,&aaminorunion);
+ aamajor = AANOCODE;
}else{
while(
- jjpParser->jjidx >= 0 &&
- jjmx != JJERRORSYMBOL &&
- (jjact = jj_find_shift_action(jjpParser,JJERRORSYMBOL)) >= JJNSTATE
+ aapParser->aaidx >= 0 &&
+ aamx != AAERRORSYMBOL &&
+ (aaact = aa_find_shift_action(aapParser,AAERRORSYMBOL)) >= AANSTATE
){
- jj_pop_parser_stack(jjpParser);
+ aa_pop_parser_stack(aapParser);
}
- if( jjpParser->jjidx < 0 || jjmajor==0 ){
- jj_destructor(jjmajor,&jjminorunion);
- jj_parse_failed(jjpParser);
- jjmajor = JJNOCODE;
- }else if( jjmx!=JJERRORSYMBOL ){
- JJMINORTYPE u2;
- u2.JJERRSYMDT = 0;
- jj_shift(jjpParser,jjact,JJERRORSYMBOL,&u2);
+ if( aapParser->aaidx < 0 || aamajor==0 ){
+ aa_destructor(aamajor,&aaminorunion);
+ aa_parse_failed(aapParser);
+ aamajor = AANOCODE;
+ }else if( aamx!=AAERRORSYMBOL ){
+ AAMINORTYPE u2;
+ u2.AAERRSYMDT = 0;
+ aa_shift(aapParser,aaact,AAERRORSYMBOL,&u2);
}
}
- jjpParser->jjerrcnt = 3;
- jjerrorhit = 1;
-#else /* JJERRORSYMBOL is not defined */
+ aapParser->aaerrcnt = 3;
+ aaerrorhit = 1;
+#else /* AAERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
** * Report an error message, and throw away the input token.
@@ -29646,21 +29440,21 @@ static void phannot_(
** As before, subsequent error messages are suppressed until
** three input tokens have been successfully shifted.
*/
- if( jjpParser->jjerrcnt<=0 ){
- jj_syntax_error(jjpParser,jjmajor,jjminorunion);
+ if( aapParser->aaerrcnt<=0 ){
+ aa_syntax_error(aapParser,aamajor,aaminorunion);
}
- jjpParser->jjerrcnt = 3;
- jj_destructor(jjmajor,&jjminorunion);
- if( jjendofinput ){
- jj_parse_failed(jjpParser);
+ aapParser->aaerrcnt = 3;
+ aa_destructor(aamajor,&aaminorunion);
+ if( aaendofinput ){
+ aa_parse_failed(aapParser);
}
- jjmajor = JJNOCODE;
+ aamajor = AANOCODE;
#endif
}else{
- jj_accept(jjpParser);
- jjmajor = JJNOCODE;
+ aa_accept(aapParser);
+ aamajor = AANOCODE;
}
- }while( jjmajor!=JJNOCODE && jjpParser->jjidx>=0 );
+ }while( aamajor!=AANOCODE && aapParser->aaidx>=0 );
return;
}
@@ -29873,7 +29667,7 @@ static int phannot_internal_parse_annotations(zval **result, zval *comment, zval
if (Z_STRLEN(processed_comment) < 2) {
ZVAL_BOOL(*result, 0);
- str_efree(Z_STRVAL(processed_comment));
+ efree(Z_STRVAL(processed_comment));
return SUCCESS;
}
@@ -30422,67 +30216,64 @@ static PHP_METHOD(Phalcon_Annotations_Reflection, __set_state) {
-/* Generated by re2c 0.13.5 on Fri Jun 28 19:00:52 2013 */
+/* Generated by re2c 0.13.6 on Mon May 4 14:38:13 2015 */
// 1 "scanner.re"
-#ifdef HAVE_CONFIG_H
-#endif
-
-#define JJCTYPE unsigned char
-#define JJCURSOR (s->start)
-#define JJLIMIT (s->end)
-#define JJMARKER q
+#define AACTYPE unsigned char
+#define AACURSOR (s->start)
+#define AALIMIT (s->end)
+#define AAMARKER q
static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *token) {
- char next, *q = JJCURSOR, *start = JJCURSOR;
+ char next, *q = AACURSOR, *start = AACURSOR;
int status = PHANNOT_SCANNER_RETCODE_IMPOSSIBLE;
while (PHANNOT_SCANNER_RETCODE_IMPOSSIBLE == status) {
if (s->mode == PHANNOT_MODE_RAW) {
- if (*JJCURSOR == '\n') {
+ if (*AACURSOR == '\n') {
s->active_line++;
}
- next = *(JJCURSOR+1);
+ next = *(AACURSOR+1);
- if (*JJCURSOR == '\0' || *JJCURSOR == '@') {
+ if (*AACURSOR == '\0' || *AACURSOR == '@') {
if ((next >= 'A' && next <= 'Z') || (next >= 'a' && next <= 'z')) {
s->mode = PHANNOT_MODE_ANNOTATION;
continue;
}
}
- ++JJCURSOR;
+ ++AACURSOR;
token->opcode = PHANNOT_T_IGNORE;
return 0;
} else {
-
-// 66 "scanner.c"
+
+// 61 "scanner.c"
{
- JJCTYPE jjch;
- unsigned int jjaccept = 0;
+ AACTYPE aach;
+ unsigned int aaaccept = 0;
- jjch = *JJCURSOR;
- switch (jjch) {
- case 0x00: goto jj38;
+ aach = *AACURSOR;
+ switch (aach) {
+ case 0x00: goto aa38;
case '\t':
case '\r':
- case ' ': goto jj34;
- case '\n': goto jj36;
- case '"': goto jj10;
- case '\'': goto jj11;
- case '(': goto jj14;
- case ')': goto jj16;
- case ',': goto jj32;
- case '-': goto jj2;
+ case ' ': goto aa34;
+ case '\n': goto aa36;
+ case '"': goto aa10;
+ case '\'': goto aa11;
+ case '(': goto aa14;
+ case ')': goto aa16;
+ case ',': goto aa32;
+ case '-': goto aa2;
case '0':
case '1':
case '2':
@@ -30492,10 +30283,10 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj4;
- case ':': goto jj30;
- case '=': goto jj28;
- case '@': goto jj26;
+ case '9': goto aa4;
+ case ':': goto aa30;
+ case '=': goto aa28;
+ case '@': goto aa26;
case 'A':
case 'B':
case 'C':
@@ -30542,23 +30333,23 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj13;
+ case 'z': goto aa13;
case 'F':
- case 'f': goto jj8;
+ case 'f': goto aa8;
case 'N':
- case 'n': goto jj6;
+ case 'n': goto aa6;
case 'T':
- case 't': goto jj9;
- case '[': goto jj22;
- case '\\': goto jj12;
- case ']': goto jj24;
- case '{': goto jj18;
- case '}': goto jj20;
- default: goto jj40;
- }
-jj2:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+ case 't': goto aa9;
+ case '[': goto aa22;
+ case '\\': goto aa12;
+ case ']': goto aa24;
+ case '{': goto aa18;
+ case '}': goto aa20;
+ default: goto aa40;
+ }
+aa2:
+ ++AACURSOR;
+ switch ((aach = *AACURSOR)) {
case '0':
case '1':
case '2':
@@ -30568,203 +30359,263 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj68;
- default: goto jj3;
+ case '9': goto aa71;
+ default: goto aa3;
}
-jj3:
-// 183 "scanner.re"
+aa3:
+// 178 "scanner.re"
{
status = PHANNOT_SCANNER_RETCODE_ERR;
break;
}
-// 178 "scanner.c"
-jj4:
- jjaccept = 0;
- jjch = *(JJMARKER = ++JJCURSOR);
- goto jj69;
-jj5:
-// 67 "scanner.re"
+// 173 "scanner.c"
+aa4:
+ aaaccept = 0;
+ aach = *(AAMARKER = ++AACURSOR);
+ goto aa72;
+aa5:
+// 62 "scanner.re"
{
token->opcode = PHANNOT_T_INTEGER;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 192 "scanner.c"
-jj6:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+// 187 "scanner.c"
+aa6:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'U':
- case 'u': goto jj63;
- default: goto jj44;
+ case 'u': goto aa66;
+ default: goto aa44;
}
-jj7:
-// 109 "scanner.re"
+aa7:
+// 104 "scanner.re"
{
token->opcode = PHANNOT_T_IDENTIFIER;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 209 "scanner.c"
-jj8:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 205 "scanner.c"
+aa8:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'A':
- case 'a': goto jj58;
- default: goto jj44;
+ case 'a': goto aa61;
+ default: goto aa44;
}
-jj9:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa9:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'R':
- case 'r': goto jj54;
- default: goto jj44;
- }
-jj10:
- jjaccept = 1;
- jjch = *(JJMARKER = ++JJCURSOR);
- if (jjch <= 0x00) goto jj3;
- goto jj52;
-jj11:
- jjaccept = 1;
- jjch = *(JJMARKER = ++JJCURSOR);
- if (jjch <= 0x00) goto jj3;
- goto jj46;
-jj12:
- jjch = *++JJCURSOR;
- goto jj44;
-jj13:
- jjch = *++JJCURSOR;
- goto jj44;
-jj14:
- ++JJCURSOR;
-// 117 "scanner.re"
+ case 'r': goto aa57;
+ default: goto aa44;
+ }
+aa10:
+ aaaccept = 2;
+ aach = *(AAMARKER = ++AACURSOR);
+ if (aach <= 0x00) goto aa3;
+ goto aa55;
+aa11:
+ aaaccept = 2;
+ aach = *(AAMARKER = ++AACURSOR);
+ if (aach <= 0x00) goto aa3;
+ goto aa50;
+aa12:
+ aach = *++AACURSOR;
+ switch (aach) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa43;
+ default: goto aa3;
+ }
+aa13:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ goto aa44;
+aa14:
+ ++AACURSOR;
+// 112 "scanner.re"
{
token->opcode = PHANNOT_T_PARENTHESES_OPEN;
return 0;
}
-// 247 "scanner.c"
-jj16:
- ++JJCURSOR;
-// 122 "scanner.re"
+// 301 "scanner.c"
+aa16:
+ ++AACURSOR;
+// 117 "scanner.re"
{
token->opcode = PHANNOT_T_PARENTHESES_CLOSE;
return 0;
}
-// 255 "scanner.c"
-jj18:
- ++JJCURSOR;
-// 127 "scanner.re"
+// 309 "scanner.c"
+aa18:
+ ++AACURSOR;
+// 122 "scanner.re"
{
token->opcode = PHANNOT_T_BRACKET_OPEN;
return 0;
}
-// 263 "scanner.c"
-jj20:
- ++JJCURSOR;
-// 132 "scanner.re"
+// 317 "scanner.c"
+aa20:
+ ++AACURSOR;
+// 127 "scanner.re"
{
token->opcode = PHANNOT_T_BRACKET_CLOSE;
return 0;
}
-// 271 "scanner.c"
-jj22:
- ++JJCURSOR;
-// 137 "scanner.re"
+// 325 "scanner.c"
+aa22:
+ ++AACURSOR;
+// 132 "scanner.re"
{
token->opcode = PHANNOT_T_SBRACKET_OPEN;
return 0;
}
-// 279 "scanner.c"
-jj24:
- ++JJCURSOR;
-// 142 "scanner.re"
+// 333 "scanner.c"
+aa24:
+ ++AACURSOR;
+// 137 "scanner.re"
{
token->opcode = PHANNOT_T_SBRACKET_CLOSE;
return 0;
}
-// 287 "scanner.c"
-jj26:
- ++JJCURSOR;
-// 147 "scanner.re"
+// 341 "scanner.c"
+aa26:
+ ++AACURSOR;
+// 142 "scanner.re"
{
token->opcode = PHANNOT_T_AT;
return 0;
}
-// 295 "scanner.c"
-jj28:
- ++JJCURSOR;
-// 152 "scanner.re"
+// 349 "scanner.c"
+aa28:
+ ++AACURSOR;
+// 147 "scanner.re"
{
token->opcode = PHANNOT_T_EQUALS;
return 0;
}
-// 303 "scanner.c"
-jj30:
- ++JJCURSOR;
-// 157 "scanner.re"
+// 357 "scanner.c"
+aa30:
+ ++AACURSOR;
+// 152 "scanner.re"
{
token->opcode = PHANNOT_T_COLON;
return 0;
}
-// 311 "scanner.c"
-jj32:
- ++JJCURSOR;
-// 162 "scanner.re"
+// 365 "scanner.c"
+aa32:
+ ++AACURSOR;
+// 157 "scanner.re"
{
token->opcode = PHANNOT_T_COMMA;
return 0;
}
-// 319 "scanner.c"
-jj34:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- goto jj42;
-jj35:
-// 167 "scanner.re"
+// 373 "scanner.c"
+aa34:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ goto aa42;
+aa35:
+// 162 "scanner.re"
{
token->opcode = PHANNOT_T_IGNORE;
return 0;
}
-// 330 "scanner.c"
-jj36:
- ++JJCURSOR;
-// 172 "scanner.re"
+// 384 "scanner.c"
+aa36:
+ ++AACURSOR;
+// 167 "scanner.re"
{
s->active_line++;
token->opcode = PHANNOT_T_IGNORE;
return 0;
}
-// 339 "scanner.c"
-jj38:
- ++JJCURSOR;
-// 178 "scanner.re"
+// 393 "scanner.c"
+aa38:
+ ++AACURSOR;
+// 173 "scanner.re"
{
status = PHANNOT_SCANNER_RETCODE_EOF;
break;
}
-// 347 "scanner.c"
-jj40:
- jjch = *++JJCURSOR;
- goto jj3;
-jj41:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj42:
- switch (jjch) {
+// 401 "scanner.c"
+aa40:
+ aach = *++AACURSOR;
+ goto aa3;
+aa41:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa42:
+ switch (aach) {
case '\t':
case '\r':
- case ' ': goto jj41;
- default: goto jj35;
- }
-jj43:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj44:
- switch (jjch) {
+ case ' ': goto aa41;
+ default: goto aa35;
+ }
+aa43:
+ aaaccept = 1;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+aa44:
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -30801,7 +30652,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -30828,77 +30678,215 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj7;
- }
-jj45:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj46:
- switch (jjch) {
- case 0x00: goto jj47;
- case '\'': goto jj49;
- case '\\': goto jj48;
- default: goto jj45;
- }
-jj47:
- JJCURSOR = JJMARKER;
- switch (jjaccept) {
- case 0: goto jj5;
- case 1: goto jj3;
- }
-jj48:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
- case '\n': goto jj47;
- default: goto jj45;
- }
-jj49:
- ++JJCURSOR;
-// 100 "scanner.re"
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa7;
+ }
+aa45:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa47;
+ default: goto aa46;
+ }
+aa46:
+ AACURSOR = AAMARKER;
+ switch (aaaccept) {
+ case 0: goto aa5;
+ case 1: goto aa7;
+ case 2: goto aa3;
+ case 3: goto aa60;
+ case 4: goto aa65;
+ default: goto aa69;
+ }
+aa47:
+ aaaccept = 1;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto aa47;
+ case '\\': goto aa45;
+ default: goto aa7;
+ }
+aa49:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa50:
+ switch (aach) {
+ case 0x00: goto aa46;
+ case '\'': goto aa52;
+ case '\\': goto aa51;
+ default: goto aa49;
+ }
+aa51:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '\n': goto aa46;
+ default: goto aa49;
+ }
+aa52:
+ ++AACURSOR;
+// 95 "scanner.re"
{
token->opcode = PHANNOT_T_STRING;
- token->value = estrndup(q, JJCURSOR - q - 1);
- token->len = JJCURSOR - q - 1;
- q = JJCURSOR;
+ token->value = estrndup(q, AACURSOR - q - 1);
+ token->len = AACURSOR - q - 1;
+ q = AACURSOR;
return 0;
}
-// 465 "scanner.c"
-jj51:
- ++JJCURSOR;
- jjch = *JJCURSOR;
-jj52:
- switch (jjch) {
- case 0x00: goto jj47;
- case '"': goto jj49;
- case '\\': goto jj53;
- default: goto jj51;
- }
-jj53:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
- case '\n': goto jj47;
- default: goto jj51;
- }
-jj54:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 654 "scanner.c"
+aa54:
+ ++AACURSOR;
+ aach = *AACURSOR;
+aa55:
+ switch (aach) {
+ case 0x00: goto aa46;
+ case '"': goto aa52;
+ case '\\': goto aa56;
+ default: goto aa54;
+ }
+aa56:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
+ case '\n': goto aa46;
+ default: goto aa54;
+ }
+aa57:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'U':
- case 'u': goto jj55;
- default: goto jj44;
+ case 'u': goto aa58;
+ default: goto aa44;
}
-jj55:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa58:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'E':
- case 'e': goto jj56;
- default: goto jj44;
+ case 'e': goto aa59;
+ default: goto aa44;
}
-jj56:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa59:
+ aaaccept = 3;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -30935,7 +30923,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -30962,40 +30949,45 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj57;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa60;
}
-jj57:
-// 94 "scanner.re"
+aa60:
+// 89 "scanner.re"
{
token->opcode = PHANNOT_T_TRUE;
return 0;
}
-// 572 "scanner.c"
-jj58:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 764 "scanner.c"
+aa61:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj59;
- default: goto jj44;
+ case 'l': goto aa62;
+ default: goto aa44;
}
-jj59:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa62:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'S':
- case 's': goto jj60;
- default: goto jj44;
+ case 's': goto aa63;
+ default: goto aa44;
}
-jj60:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa63:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'E':
- case 'e': goto jj61;
- default: goto jj44;
+ case 'e': goto aa64;
+ default: goto aa44;
}
-jj61:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa64:
+ aaaccept = 4;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31032,7 +31024,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -31059,33 +31050,37 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj62;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa65;
}
-jj62:
-// 89 "scanner.re"
+aa65:
+// 84 "scanner.re"
{
token->opcode = PHANNOT_T_FALSE;
return 0;
}
-// 669 "scanner.c"
-jj63:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 865 "scanner.c"
+aa66:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj64;
- default: goto jj44;
+ case 'l': goto aa67;
+ default: goto aa44;
}
-jj64:
- jjch = *++JJCURSOR;
- switch (jjch) {
+aa67:
+ aaaccept = 1;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case 'L':
- case 'l': goto jj65;
- default: goto jj44;
+ case 'l': goto aa68;
+ default: goto aa44;
}
-jj65:
- ++JJCURSOR;
- switch ((jjch = *JJCURSOR)) {
+aa68:
+ aaaccept = 5;
+ aach = *(AAMARKER = ++AACURSOR);
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31122,7 +31117,6 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'X':
case 'Y':
case 'Z':
- case '\\':
case '_':
case 'a':
case 'b':
@@ -31149,19 +31143,20 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case 'w':
case 'x':
case 'y':
- case 'z': goto jj43;
- default: goto jj66;
+ case 'z': goto aa43;
+ case '\\': goto aa45;
+ default: goto aa69;
}
-jj66:
-// 84 "scanner.re"
+aa69:
+// 79 "scanner.re"
{
token->opcode = PHANNOT_T_NULL;
return 0;
}
-// 759 "scanner.c"
-jj67:
- jjch = *++JJCURSOR;
- switch (jjch) {
+// 958 "scanner.c"
+aa70:
+ aach = *++AACURSOR;
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31171,16 +31166,16 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj70;
- default: goto jj47;
- }
-jj68:
- jjaccept = 0;
- JJMARKER = ++JJCURSOR;
- jjch = *JJCURSOR;
-jj69:
- switch (jjch) {
- case '.': goto jj67;
+ case '9': goto aa73;
+ default: goto aa46;
+ }
+aa71:
+ aaaccept = 0;
+ AAMARKER = ++AACURSOR;
+ aach = *AACURSOR;
+aa72:
+ switch (aach) {
+ case '.': goto aa70;
case '0':
case '1':
case '2':
@@ -31190,13 +31185,13 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj68;
- default: goto jj5;
+ case '9': goto aa71;
+ default: goto aa5;
}
-jj70:
- ++JJCURSOR;
- jjch = *JJCURSOR;
- switch (jjch) {
+aa73:
+ ++AACURSOR;
+ aach = *AACURSOR;
+ switch (aach) {
case '0':
case '1':
case '2':
@@ -31206,21 +31201,21 @@ static int phannot_get_token(phannot_scanner_state *s, phannot_scanner_token *to
case '6':
case '7':
case '8':
- case '9': goto jj70;
- default: goto jj72;
+ case '9': goto aa73;
+ default: goto aa75;
}
-jj72:
-// 76 "scanner.re"
+aa75:
+// 71 "scanner.re"
{
token->opcode = PHANNOT_T_DOUBLE;
- token->value = estrndup(start, JJCURSOR - start);
- token->len = JJCURSOR - start;
- q = JJCURSOR;
+ token->value = estrndup(start, AACURSOR - start);
+ token->len = AACURSOR - start;
+ q = AACURSOR;
return 0;
}
-// 819 "scanner.c"
+// 1018 "scanner.c"
}
-// 188 "scanner.re"
+// 183 "scanner.re"
}
@@ -33066,7 +33061,7 @@ static PHP_METHOD(Phalcon_Assets_Manager, output) {
zephir_check_call_status();
if (zephir_fast_count_int(filters TSRMLS_CC)) {
if (zephir_is_true(local)) {
- ZEPHIR_CALL_METHOD(&sourcePath, resource, "getrealsourcepath", NULL);
+ ZEPHIR_CALL_METHOD(&sourcePath, resource, "getrealsourcepath", NULL, completeSourcePath);
zephir_check_call_status();
if (!(zephir_is_true(sourcePath))) {
ZEPHIR_CALL_METHOD(&sourcePath, resource, "getpath", NULL);
@@ -36953,6 +36948,7 @@ ZEPHIR_INIT_CLASS(Phalcon_Cache_Backend_Memory) {
zend_declare_property_null(phalcon_cache_backend_memory_ce, SL("_data"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_class_implements(phalcon_cache_backend_memory_ce TSRMLS_CC, 1, phalcon_cache_backendinterface_ce);
+ zend_class_implements(phalcon_cache_backend_memory_ce TSRMLS_CC, 1, zend_ce_serializable);
return SUCCESS;
}
@@ -37249,6 +37245,49 @@ static PHP_METHOD(Phalcon_Cache_Backend_Memory, flush) {
}
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, serialize) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL;
+ zval *_1;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 1, 0 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(_1);
+ zephir_read_property_this(&_1, this_ptr, SL("_frontend"), PH_NOISY_CC);
+ zephir_array_update_string(&_0, SL("frontend"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_RETURN_CALL_FUNCTION("serialize", &_2, _0);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Cache_Backend_Memory, unserialize) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zval *data, *unserialized = NULL, *_1;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &data);
+
+
+
+ ZEPHIR_CALL_FUNCTION(&unserialized, "unserialize", &_0, data);
+ zephir_check_call_status();
+ if (Z_TYPE_P(unserialized) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "Unserialized data must be an array", "phalcon/cache/backend/memory.zep", 295);
+ return;
+ }
+ zephir_array_fetch_string(&_1, unserialized, SL("frontend"), PH_NOISY | PH_READONLY, "phalcon/cache/backend/memory.zep", 298 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_frontend"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
@@ -38150,7 +38189,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, save) {
static PHP_METHOD(Phalcon_Cache_Backend_Redis, delete) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *keyName, *redis = NULL, *prefix, *prefixedKey, *lastKey, *options, *specialKey, *_0 = NULL;
+ zval *keyName, *redis = NULL, *prefix, *prefixedKey, *lastKey, *options, *specialKey;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &keyName);
@@ -38181,12 +38220,9 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, delete) {
zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 296 TSRMLS_CC);
ZEPHIR_CALL_METHOD(NULL, redis, "srem", NULL, specialKey, prefixedKey);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_0, redis, "delete", NULL, lastKey);
+ ZEPHIR_RETURN_CALL_METHOD(redis, "delete", NULL, lastKey);
zephir_check_call_status();
- if (!ZEPHIR_IS_LONG(_0, 1)) {
- RETURN_MM_BOOL(0);
- }
- RETURN_MM_BOOL(1);
+ RETURN_MM();
}
@@ -38196,7 +38232,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, queryKeys) {
HashTable *_1;
HashPosition _0;
int ZEPHIR_LAST_CALL_STATUS;
- zval *prefix = NULL, *redis = NULL, *options, *keys = NULL, *specialKey, *key = NULL, **_2;
+ zval *prefix = NULL, *redis = NULL, *options, *keys = NULL, *specialKey, *key = NULL, *value = NULL, **_2;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 1, &prefix);
@@ -38217,23 +38253,24 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, queryKeys) {
ZEPHIR_OBS_VAR(options);
zephir_read_property_this(&options, this_ptr, SL("_options"), PH_NOISY_CC);
if (!(zephir_array_isset_string(options, SS("statsKey")))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 329);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 326);
return;
}
ZEPHIR_OBS_VAR(specialKey);
- zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 332 TSRMLS_CC);
+ zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 329 TSRMLS_CC);
ZEPHIR_CALL_METHOD(&keys, redis, "smembers", NULL, specialKey);
zephir_check_call_status();
if (Z_TYPE_P(keys) == IS_ARRAY) {
- zephir_is_iterable(keys, &_1, &_0, 1, 0, "phalcon/cache/backend/redis.zep", 344);
+ zephir_is_iterable(keys, &_1, &_0, 1, 0, "phalcon/cache/backend/redis.zep", 341);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
- ZEPHIR_GET_HVALUE(key, _2);
+ ZEPHIR_GET_HMKEY(key, _1, _0);
+ ZEPHIR_GET_HVALUE(value, _2);
_3 = zephir_is_true(prefix);
if (_3) {
- _3 = !(zephir_start_with(key, prefix, NULL));
+ _3 = !(zephir_start_with(value, prefix, NULL));
}
if (_3) {
zephir_array_unset(&keys, key, PH_SEPARATE);
@@ -38394,11 +38431,11 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, flush) {
ZEPHIR_OBS_VAR(options);
zephir_read_property_this(&options, this_ptr, SL("_options"), PH_NOISY_CC);
if (!(zephir_array_isset_string(options, SS("statsKey")))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 459);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cache_exception_ce, "Unexpected inconsistency in options", "phalcon/cache/backend/redis.zep", 456);
return;
}
ZEPHIR_OBS_VAR(specialKey);
- zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 462 TSRMLS_CC);
+ zephir_array_fetch_string(&specialKey, options, SL("statsKey"), PH_NOISY, "phalcon/cache/backend/redis.zep", 459 TSRMLS_CC);
ZEPHIR_OBS_VAR(redis);
zephir_read_property_this(&redis, this_ptr, SL("_redis"), PH_NOISY_CC);
if (Z_TYPE_P(redis) != IS_OBJECT) {
@@ -38410,7 +38447,7 @@ static PHP_METHOD(Phalcon_Cache_Backend_Redis, flush) {
ZEPHIR_CALL_METHOD(&keys, redis, "smembers", NULL, specialKey);
zephir_check_call_status();
if (Z_TYPE_P(keys) == IS_ARRAY) {
- zephir_is_iterable(keys, &_1, &_0, 0, 0, "phalcon/cache/backend/redis.zep", 478);
+ zephir_is_iterable(keys, &_1, &_0, 0, 0, "phalcon/cache/backend/redis.zep", 475);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
@@ -39683,20 +39720,24 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
zend_bool _3;
int ZEPHIR_LAST_CALL_STATUS;
- zval *arguments = NULL, *dependencyInjector, *router = NULL, *eventsManager = NULL, *moduleName = NULL, *modules, *module, *path, *className = NULL, *moduleObject = NULL, *dispatcher = NULL, *task = NULL, *_0, *_1 = NULL, *_2 = NULL, *_4, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL;
+ zval *arguments_param = NULL, *dependencyInjector, *router = NULL, *eventsManager = NULL, *moduleName = NULL, *modules, *module, *path, *className = NULL, *moduleObject = NULL, *dispatcher = NULL, *task = NULL, *_0, *_1 = NULL, *_2 = NULL, *_4, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL;
+ zval *arguments = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &arguments);
+ zephir_fetch_params(1, 0, 1, &arguments_param);
- if (!arguments) {
- arguments = ZEPHIR_GLOBAL(global_null);
+ if (!arguments_param) {
+ ZEPHIR_INIT_VAR(arguments);
+ array_init(arguments);
+ } else {
+ zephir_get_arrval(arguments, arguments_param);
}
ZEPHIR_OBS_VAR(dependencyInjector);
zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "A dependency injection object is required to access internal services", "phalcon/cli/console.zep", 155);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "A dependency injection object is required to access internal services", "phalcon/cli/console.zep", 152);
return;
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_eventsManager"), PH_NOISY_CC);
@@ -39707,7 +39748,7 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
zephir_check_temp_parameter(_2);
zephir_check_call_status();
ZEPHIR_CPY_WRT(router, _1);
- _3 = !zephir_is_true(arguments);
+ _3 = !(zephir_fast_count_int(arguments TSRMLS_CC));
if (_3) {
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_arguments"), PH_NOISY_CC);
_3 = zephir_is_true(_0);
@@ -39742,14 +39783,14 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
ZEPHIR_CONCAT_SVS(_5, "Module '", moduleName, "' isn't registered in the console container");
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 179 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 176 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
ZEPHIR_OBS_VAR(module);
- zephir_array_fetch(&module, modules, moduleName, PH_NOISY, "phalcon/cli/console.zep", 182 TSRMLS_CC);
+ zephir_array_fetch(&module, modules, moduleName, PH_NOISY, "phalcon/cli/console.zep", 179 TSRMLS_CC);
if (Z_TYPE_P(module) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "Invalid module definition path", "phalcon/cli/console.zep", 184);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "Invalid module definition path", "phalcon/cli/console.zep", 181);
return;
}
ZEPHIR_OBS_VAR(path);
@@ -39761,7 +39802,7 @@ static PHP_METHOD(Phalcon_Cli_Console, handle) {
ZEPHIR_CONCAT_SVS(_5, "Module definition path '", path, "' doesn't exist");
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 189 TSRMLS_CC);
+ zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 186 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -39894,7 +39935,7 @@ static PHP_METHOD(Phalcon_Cli_Console, setArgument) {
Z_UNSET_ISREF_P(arguments);
zephir_check_call_status();
}
- zephir_is_iterable(arguments, &_3, &_2, 0, 0, "phalcon/cli/console.zep", 270);
+ zephir_is_iterable(arguments, &_3, &_2, 0, 0, "phalcon/cli/console.zep", 267);
for (
; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
; zephir_hash_move_forward_ex(_3, &_2)
@@ -39951,11 +39992,11 @@ static PHP_METHOD(Phalcon_Cli_Console, setArgument) {
zephir_substr(_9, arg, 1 , 0, ZEPHIR_SUBSTR_NO_LENGTH);
zephir_array_update_zval(&opts, _9, &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
} else {
- zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 262);
+ zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 259);
}
}
} else {
- zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 266);
+ zephir_array_append(&args, arg, PH_SEPARATE, "phalcon/cli/console.zep", 263);
}
}
if (str) {
@@ -42214,9 +42255,8 @@ static PHP_METHOD(Phalcon_Db_Adapter, fetchAll) {
zephir_check_call_status();
if (!(zephir_is_true(row))) {
break;
- } else {
- zephir_array_append(&results, row, PH_SEPARATE, "phalcon/db/adapter.zep", 238);
}
+ zephir_array_append(&results, row, PH_SEPARATE, "phalcon/db/adapter.zep", 239);
}
}
RETURN_CCTOR(results);
@@ -43731,13 +43771,28 @@ static PHP_METHOD(Phalcon_Db_Adapter, describeReferences) {
static PHP_METHOD(Phalcon_Db_Adapter, tableOptions) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName, *schemaName = NULL, *sql = NULL, *_0, *_1 = NULL, *_2, *_3;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *sql = NULL, *_0, *_1 = NULL, *_2, *_3;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
@@ -43749,7 +43804,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, tableOptions) {
ZVAL_LONG(_2, 1);
ZEPHIR_CALL_METHOD(&_1, this_ptr, "fetchall", NULL, sql, _2);
zephir_check_call_status();
- zephir_array_fetch_long(&_3, _1, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter.zep", 979 TSRMLS_CC);
+ zephir_array_fetch_long(&_3, _1, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter.zep", 975 TSRMLS_CC);
RETURN_CTOR(_3);
}
array_init(return_value);
@@ -43784,7 +43839,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, createSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter.", "phalcon/db/adapter.zep", 994);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter.", "phalcon/db/adapter.zep", 990);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "createsavepoint", NULL, name);
@@ -43822,7 +43877,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, releaseSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1010);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1006);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "supportsreleasesavepoints", NULL);
@@ -43865,7 +43920,7 @@ static PHP_METHOD(Phalcon_Db_Adapter, rollbackSavepoint) {
ZEPHIR_CALL_METHOD(&_0, dialect, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1030);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1026);
return;
}
ZEPHIR_CALL_METHOD(&_1, dialect, "rollbacksavepoint", NULL, name);
@@ -43890,14 +43945,14 @@ static PHP_METHOD(Phalcon_Db_Adapter, setNestedTransactionsWithSavepoints) {
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_transactionLevel"), PH_NOISY_CC);
if (ZEPHIR_GT_LONG(_0, 0)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Nested transaction with savepoints behavior cannot be changed while a transaction is open", "phalcon/db/adapter.zep", 1043);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Nested transaction with savepoints behavior cannot be changed while a transaction is open", "phalcon/db/adapter.zep", 1039);
return;
}
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_dialect"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(&_2, _1, "supportssavepoints", NULL);
zephir_check_call_status();
if (!(zephir_is_true(_2))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1047);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Savepoints are not supported by this database adapter", "phalcon/db/adapter.zep", 1043);
return;
}
zephir_update_property_this(this_ptr, SL("_transactionsWithSavepoints"), nestedTransactionsWithSavepoints ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
@@ -44612,18 +44667,108 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect) {
zend_declare_property_null(phalcon_db_dialect_ce, SL("_escapeChar"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_class_implements(phalcon_db_dialect_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Db_Dialect, escape) {
+
+ HashTable *_6;
+ HashPosition _5;
+ zval *_4 = NULL;
+ zend_bool isEscape, _8, _9, _10;
+ zval *str_param = NULL, *escapeChar_param = NULL, *parts = NULL, *key = NULL, *part = NULL, *newParts = NULL, *_0, *_2, *_3, **_7, *_11 = NULL;
+ zval *str = NULL, *escapeChar = NULL, *_1 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &str_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(str_param) != IS_STRING && Z_TYPE_P(str_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'str' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(str_param) == IS_STRING)) {
+ zephir_get_strval(str, str_param);
+ } else {
+ ZEPHIR_INIT_VAR(str);
+ ZVAL_EMPTY_STRING(str);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (ZEPHIR_IS_STRING(escapeChar, "")) {
+ ZEPHIR_OBS_VAR(_0);
+ zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
+ zephir_get_strval(_1, _0);
+ ZEPHIR_CPY_WRT(escapeChar, _1);
+ }
+ isEscape = ZEPHIR_GLOBAL(db).escape_identifiers;
+ if (!(zephir_memnstr_str(str, SL("."), "phalcon/db/dialect.zep", 47))) {
+ if (isEscape) {
+ if (ZEPHIR_IS_STRING(escapeChar, "")) {
+ RETURN_CTOR(str);
+ }
+ if (ZEPHIR_IS_STRING(str, "*")) {
+ RETURN_CTOR(str);
+ }
+ ZEPHIR_CONCAT_VVV(return_value, escapeChar, str, escapeChar);
+ RETURN_MM();
+ }
+ RETURN_CTOR(str);
+ }
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_INIT_VAR(_3);
+ zephir_fast_trim(_3, str, escapeChar, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ zephir_fast_explode_str(_2, SL("."), _3, LONG_MAX TSRMLS_CC);
+ zephir_get_arrval(_4, _2);
+ ZEPHIR_CPY_WRT(parts, _4);
+ ZEPHIR_CPY_WRT(newParts, parts);
+ zephir_is_iterable(parts, &_6, &_5, 0, 0, "phalcon/db/dialect.zep", 77);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _6, _5);
+ ZEPHIR_GET_HVALUE(part, _7);
+ _8 = ZEPHIR_IS_STRING(escapeChar, "");
+ if (!(_8)) {
+ _8 = !isEscape;
+ }
+ _9 = _8;
+ if (!(_9)) {
+ _9 = ZEPHIR_IS_STRING(part, "");
+ }
+ _10 = _9;
+ if (!(_10)) {
+ _10 = ZEPHIR_IS_STRING(part, "*");
+ }
+ if (_10) {
+ continue;
+ }
+ ZEPHIR_INIT_LNVAR(_11);
+ ZEPHIR_CONCAT_VVV(_11, escapeChar, part, escapeChar);
+ zephir_array_update_zval(&newParts, key, &_11, PH_COPY | PH_SEPARATE);
+ }
+ zephir_fast_join_str(return_value, SL("."), newParts TSRMLS_CC);
+ RETURN_MM();
+
+}
+
static PHP_METHOD(Phalcon_Db_Dialect, limit) {
- int number;
- zval *sqlQuery_param = NULL, *number_param = NULL, _0, _1;
+ zend_bool _2;
+ zval *sqlQuery_param = NULL, *number, *_0, *_1, *_3, *_4, *_5;
zval *sqlQuery = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number_param);
+ zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number);
if (unlikely(Z_TYPE_P(sqlQuery_param) != IS_STRING && Z_TYPE_P(sqlQuery_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlQuery' must be a string") TSRMLS_CC);
@@ -44636,18 +44781,28 @@ static PHP_METHOD(Phalcon_Db_Dialect, limit) {
ZEPHIR_INIT_VAR(sqlQuery);
ZVAL_EMPTY_STRING(sqlQuery);
}
- number = zephir_get_intval(number_param);
- ZEPHIR_SINIT_VAR(_0);
- ZVAL_LONG(&_0, number);
- if (zephir_is_numeric(&_0)) {
- ZEPHIR_SINIT_VAR(_1);
- ZVAL_LONG(&_1, number);
- ZEPHIR_CONCAT_VSV(return_value, sqlQuery, " LIMIT ", &_1);
- RETURN_MM();
+ if (Z_TYPE_P(number) == IS_ARRAY) {
+ zephir_array_fetch_long(&_0, number, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 95 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_SV(_1, " LIMIT ", _0);
+ zephir_concat_self(&sqlQuery, _1 TSRMLS_CC);
+ _2 = zephir_array_isset_long(number, 1);
+ if (_2) {
+ zephir_array_fetch_long(&_3, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 97 TSRMLS_CC);
+ _2 = (zephir_fast_strlen_ev(_3)) ? 1 : 0;
+ }
+ if (_2) {
+ zephir_array_fetch_long(&_4, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 98 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SV(_5, " OFFSET ", _4);
+ zephir_concat_self(&sqlQuery, _5 TSRMLS_CC);
+ }
+ RETURN_CTOR(sqlQuery);
}
- RETURN_CTOR(sqlQuery);
+ ZEPHIR_CONCAT_VSV(return_value, sqlQuery, " LIMIT ", number);
+ RETURN_MM();
}
@@ -44705,9 +44860,11 @@ static PHP_METHOD(Phalcon_Db_Dialect, sharedLock) {
static PHP_METHOD(Phalcon_Db_Dialect, getColumnList) {
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
HashTable *_1;
HashPosition _0;
- zval *columnList_param = NULL, *strList, *escapeChar, *column = NULL, **_2, *_3 = NULL;
+ zval *columnList_param = NULL, *columns, *column = NULL, **_2, *_3 = NULL;
zval *columnList = NULL;
ZEPHIR_MM_GROW();
@@ -44717,33 +44874,103 @@ static PHP_METHOD(Phalcon_Db_Dialect, getColumnList) {
- ZEPHIR_INIT_VAR(strList);
- array_init(strList);
- ZEPHIR_OBS_VAR(escapeChar);
- zephir_read_property_this(&escapeChar, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_is_iterable(columnList, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 90);
+ ZEPHIR_INIT_VAR(columns);
+ array_init(columns);
+ zephir_is_iterable(columnList, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 149);
for (
; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
; zephir_hash_move_forward_ex(_1, &_0)
) {
ZEPHIR_GET_HVALUE(column, _2);
- ZEPHIR_INIT_LNVAR(_3);
- ZEPHIR_CONCAT_VVV(_3, escapeChar, column, escapeChar);
- zephir_array_append(&strList, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 88);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlcolumn", &_4, column);
+ zephir_check_call_status();
+ zephir_array_append(&columns, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 146);
}
- zephir_fast_join_str(return_value, SL(", "), strList TSRMLS_CC);
+ zephir_fast_join_str(return_value, SL(", "), columns TSRMLS_CC);
RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlColumn) {
+
+ zephir_fcall_cache_entry *_2 = NULL;
+ zend_bool _0, _1;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column = NULL, *columnExpression = NULL, *columnAlias = NULL, *columnField, *columnDomain;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &column);
+
+ ZEPHIR_SEPARATE_PARAM(column);
+
+
+ if (Z_TYPE_P(column) != IS_ARRAY) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, column);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (!(zephir_array_isset_string(column, SS("type")))) {
+ ZEPHIR_OBS_VAR(columnField);
+ zephir_array_fetch_long(&columnField, column, 0, PH_NOISY, "phalcon/db/dialect.zep", 168 TSRMLS_CC);
+ if (Z_TYPE_P(columnField) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(columnExpression);
+ zephir_create_array(columnExpression, 2, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("scalar"), 1);
+ zephir_array_update_string(&columnExpression, SL("value"), &columnField, PH_COPY | PH_SEPARATE);
+ } else if (ZEPHIR_IS_STRING(columnField, "*")) {
+ ZEPHIR_INIT_NVAR(columnExpression);
+ zephir_create_array(columnExpression, 1, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("all"), 1);
+ } else {
+ ZEPHIR_INIT_NVAR(columnExpression);
+ zephir_create_array(columnExpression, 2, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(columnExpression, SS("type"), SL("qualified"), 1);
+ zephir_array_update_string(&columnExpression, SL("name"), &columnField, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_OBS_VAR(columnDomain);
+ _0 = zephir_array_isset_long_fetch(&columnDomain, column, 1, 0 TSRMLS_CC);
+ if (_0) {
+ _0 = !ZEPHIR_IS_STRING(columnDomain, "");
+ }
+ if (_0) {
+ zephir_array_update_string(&columnExpression, SL("domain"), &columnDomain, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_OBS_VAR(columnAlias);
+ _1 = zephir_array_isset_long_fetch(&columnAlias, column, 2, 0 TSRMLS_CC);
+ if (_1) {
+ _1 = zephir_is_true(columnAlias);
+ }
+ if (_1) {
+ zephir_array_update_string(&columnExpression, SL("sqlAlias"), &columnAlias, PH_COPY | PH_SEPARATE);
+ }
+ } else {
+ ZEPHIR_CPY_WRT(columnExpression, column);
+ }
+ ZEPHIR_CALL_METHOD(&column, this_ptr, "getsqlexpression", NULL, columnExpression);
+ zephir_check_call_status();
+ ZEPHIR_OBS_NVAR(columnAlias);
+ _0 = zephir_array_isset_string_fetch(&columnAlias, columnExpression, SS("sqlAlias"), 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(columnAlias);
+ _0 = zephir_array_isset_string_fetch(&columnAlias, columnExpression, SS("alias"), 0 TSRMLS_CC);
+ }
+ if (_0) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparecolumnalias", &_2, column, columnAlias);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparecolumnalias", &_2, column);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+
+}
+
static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
- HashTable *_8, *_13;
- HashPosition _7, _12;
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_17 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL, *_11 = NULL, *_12 = NULL, *_15 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *_1 = NULL;
- zval *expression_param = NULL, *escapeChar = NULL, *type, *domain, *operator, *left = NULL, *right = NULL, *name = NULL, *sqlItems, *escapedName = NULL, *sqlArguments, *arguments, *argument = NULL, *item = NULL, *_0, *_2, *_4, *_5, *_6 = NULL, **_9, *_10 = NULL, *_11 = NULL, **_14, *_15 = NULL, *_16;
+ zval *expression_param = NULL, *escapeChar = NULL, *type, *_3, *_6 = NULL, *_13, *_14;
zval *expression = NULL;
ZEPHIR_MM_GROW();
@@ -44752,177 +44979,86 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
expression = expression_param;
if (!escapeChar) {
- ZEPHIR_CPY_WRT(escapeChar, ZEPHIR_GLOBAL(global_null));
- } else {
- ZEPHIR_SEPARATE_PARAM(escapeChar);
+ escapeChar = ZEPHIR_GLOBAL(global_null);
}
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- if (Z_TYPE_P(escapeChar) == IS_NULL) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_get_strval(_1, _0);
- ZEPHIR_CPY_WRT(escapeChar, _1);
- }
- }
ZEPHIR_OBS_VAR(type);
if (!(zephir_array_isset_string_fetch(&type, expression, SS("type"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 112);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 228);
return;
}
- if (ZEPHIR_IS_STRING(type, "qualified")) {
- ZEPHIR_OBS_VAR(name);
- zephir_array_fetch_string(&name, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 120 TSRMLS_CC);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_VAR(escapedName);
- ZEPHIR_CONCAT_VVV(escapedName, escapeChar, name, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(escapedName, name);
+ do {
+ if (ZEPHIR_IS_STRING(type, "scalar")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionscalar", &_0, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
}
- ZEPHIR_OBS_VAR(domain);
- if (zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC)) {
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(return_value, escapeChar, domain, escapeChar, ".", escapedName);
- RETURN_MM();
- } else {
- ZEPHIR_CONCAT_VSV(return_value, domain, ".", escapedName);
- RETURN_MM();
- }
+ if (ZEPHIR_IS_STRING(type, "object")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionobject", &_1, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
}
- RETURN_CCTOR(escapedName);
- }
- if (ZEPHIR_IS_STRING(type, "literal")) {
- zephir_array_fetch_string(&_2, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 145 TSRMLS_CC);
- RETURN_CTOR(_2);
- }
- if (ZEPHIR_IS_STRING(type, "binary-op")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 153 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 154 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_5, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 156 TSRMLS_CC);
- ZEPHIR_CONCAT_VSVSV(return_value, left, " ", _5, " ", right);
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "unary-op")) {
- ZEPHIR_OBS_VAR(operator);
- zephir_array_fetch_string(&operator, expression, SL("op"), PH_NOISY, "phalcon/db/dialect.zep", 164 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(left);
- if (zephir_array_isset_string_fetch(&left, expression, SS("left"), 0 TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, left, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "qualified")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionqualified", &_2, expression, escapeChar);
zephir_check_call_status();
- ZEPHIR_CONCAT_VV(return_value, _6, operator);
RETURN_MM();
}
- ZEPHIR_OBS_NVAR(right);
- if (zephir_array_isset_string_fetch(&right, expression, SS("right"), 0 TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, right, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "literal") || ZEPHIR_IS_STRING(type, "placeholder")) {
+ zephir_array_fetch_string(&_3, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 256 TSRMLS_CC);
+ RETURN_CTOR(_3);
+ }
+ if (ZEPHIR_IS_STRING(type, "binary-op")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionbinaryoperations", &_4, expression, escapeChar);
zephir_check_call_status();
- ZEPHIR_CONCAT_VV(return_value, operator, _6);
RETURN_MM();
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-unary expression", "phalcon/db/dialect.zep", 180);
- return;
- }
- if (ZEPHIR_IS_STRING(type, "placeholder")) {
- zephir_array_fetch_string(&_2, expression, SL("value"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 187 TSRMLS_CC);
- RETURN_CTOR(_2);
- }
- if (ZEPHIR_IS_STRING(type, "parentheses")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 194 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVS(return_value, "(", _6, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "functionCall")) {
- ZEPHIR_OBS_NVAR(name);
- zephir_array_fetch_string(&name, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 201 TSRMLS_CC);
- ZEPHIR_INIT_VAR(sqlArguments);
- array_init(sqlArguments);
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, expression, SS("arguments"), 0 TSRMLS_CC)) {
- zephir_is_iterable(arguments, &_8, &_7, 0, 0, "phalcon/db/dialect.zep", 207);
- for (
- ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
- ; zephir_hash_move_forward_ex(_8, &_7)
- ) {
- ZEPHIR_GET_HVALUE(argument, _9);
- ZEPHIR_CALL_METHOD(&_10, this_ptr, "getsqlexpression", &_3, argument, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&sqlArguments, _10, PH_SEPARATE, "phalcon/db/dialect.zep", 205);
- }
- if (zephir_array_isset_string(expression, SS("distinct"))) {
- ZEPHIR_INIT_VAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(DISTINCT ", _11, ")");
- RETURN_MM();
- } else {
- ZEPHIR_INIT_NVAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(", _11, ")");
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_11);
- zephir_fast_join_str(_11, SL(", "), sqlArguments TSRMLS_CC);
- ZEPHIR_CONCAT_VSVS(return_value, name, "(", _11, ")");
+ if (ZEPHIR_IS_STRING(type, "unary-op")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionunaryoperations", &_5, expression, escapeChar);
+ zephir_check_call_status();
RETURN_MM();
}
- ZEPHIR_CONCAT_VS(return_value, name, "()");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "list")) {
- ZEPHIR_INIT_VAR(sqlItems);
- array_init(sqlItems);
- zephir_array_fetch_long(&_2, expression, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 222 TSRMLS_CC);
- zephir_is_iterable(_2, &_13, &_12, 0, 0, "phalcon/db/dialect.zep", 225);
- for (
- ; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
- ; zephir_hash_move_forward_ex(_13, &_12)
- ) {
- ZEPHIR_GET_HVALUE(item, _14);
- ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_3, item, escapeChar);
+ if (ZEPHIR_IS_STRING(type, "parentheses")) {
+ zephir_array_fetch_string(&_3, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 274 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_6, this_ptr, "getsqlexpression", &_7, _3, escapeChar);
zephir_check_call_status();
- zephir_array_append(&sqlItems, _6, PH_SEPARATE, "phalcon/db/dialect.zep", 223);
+ ZEPHIR_CONCAT_SVS(return_value, "(", _6, ")");
+ RETURN_MM();
}
- ZEPHIR_INIT_VAR(_15);
- zephir_fast_join_str(_15, SL(", "), sqlItems TSRMLS_CC);
- ZEPHIR_CONCAT_SVS(return_value, "(", _15, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "all")) {
- RETURN_MM_STRING("*", 1);
- }
- if (ZEPHIR_IS_STRING(type, "cast")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 240 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 241 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVSVS(return_value, "CAST(", left, " AS ", right, ")");
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "convert")) {
- zephir_array_fetch_string(&_2, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 251 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_3, _2, escapeChar);
- zephir_check_call_status();
- zephir_array_fetch_string(&_4, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 252 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_3, _4, escapeChar);
- zephir_check_call_status();
- ZEPHIR_CONCAT_SVSVS(return_value, "CONVERT(", left, " USING ", right, ")");
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_15);
- object_init_ex(_15, phalcon_db_exception_ce);
- ZEPHIR_INIT_VAR(_16);
- ZEPHIR_CONCAT_SVS(_16, "Invalid SQL expression type '", type, "'");
- ZEPHIR_CALL_METHOD(NULL, _15, "__construct", &_17, _16);
+ if (ZEPHIR_IS_STRING(type, "functionCall")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionfunctioncall", &_8, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "list")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionlist", &_9, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "all")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionall", &_10, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "cast")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressioncastvalue", &_11, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (ZEPHIR_IS_STRING(type, "convert")) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpressionconvertvalue", &_12, expression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ } while(0);
+
+ ZEPHIR_INIT_VAR(_13);
+ object_init_ex(_13, phalcon_db_exception_ce);
+ ZEPHIR_INIT_VAR(_14);
+ ZEPHIR_CONCAT_SVS(_14, "Invalid SQL expression type '", type, "'");
+ ZEPHIR_CALL_METHOD(NULL, _13, "__construct", &_15, _14);
zephir_check_call_status();
- zephir_throw_exception_debug(_15, "phalcon/db/dialect.zep", 260 TSRMLS_CC);
+ zephir_throw_exception_debug(_13, "phalcon/db/dialect.zep", 310 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
@@ -44930,9 +45066,9 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpression) {
static PHP_METHOD(Phalcon_Db_Dialect, getSqlTable) {
- zend_bool _2;
- zval *escapeChar = NULL, *_1 = NULL;
- zval *table, *escapeChar_param = NULL, *sqlTable = NULL, *sqlSchema = NULL, *aliasName, *sqlTableAlias = NULL, *schemaName, *tableName, *_0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *table, *escapeChar_param = NULL, *tableName, *schemaName = NULL, *aliasName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 1, &table, &escapeChar_param);
@@ -44945,68 +45081,36 @@ static PHP_METHOD(Phalcon_Db_Dialect, getSqlTable) {
}
- if (ZEPHIR_IS_STRING_IDENTICAL(escapeChar, "")) {
- ZEPHIR_OBS_VAR(_0);
- zephir_read_property_this(&_0, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- zephir_get_strval(_1, _0);
- ZEPHIR_CPY_WRT(escapeChar, _1);
- }
if (Z_TYPE_P(table) == IS_ARRAY) {
ZEPHIR_OBS_VAR(tableName);
- zephir_array_fetch_long(&tableName, table, 0, PH_NOISY, "phalcon/db/dialect.zep", 284 TSRMLS_CC);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_VAR(sqlTable);
- ZEPHIR_CONCAT_VVV(sqlTable, escapeChar, tableName, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(sqlTable, tableName);
- }
+ zephir_array_fetch_long(&tableName, table, 0, PH_NOISY, "phalcon/db/dialect.zep", 329 TSRMLS_CC);
ZEPHIR_OBS_VAR(schemaName);
- zephir_array_fetch_long(&schemaName, table, 1, PH_NOISY, "phalcon/db/dialect.zep", 295 TSRMLS_CC);
- _2 = Z_TYPE_P(schemaName) != IS_NULL;
- if (_2) {
- _2 = !ZEPHIR_IS_STRING(schemaName, "");
- }
- if (_2) {
- ZEPHIR_INIT_VAR(sqlSchema);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(sqlSchema, escapeChar, schemaName, escapeChar, ".", sqlTable);
- } else {
- ZEPHIR_CONCAT_VSV(sqlSchema, schemaName, ".", sqlTable);
- }
- } else {
- ZEPHIR_CPY_WRT(sqlSchema, sqlTable);
+ if (!(zephir_array_isset_long_fetch(&schemaName, table, 1, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(schemaName);
+ ZVAL_NULL(schemaName);
}
ZEPHIR_OBS_VAR(aliasName);
- if (zephir_array_isset_long_fetch(&aliasName, table, 2, 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(sqlTableAlias);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VSVVV(sqlTableAlias, sqlSchema, " AS ", escapeChar, aliasName, escapeChar);
- } else {
- ZEPHIR_CONCAT_VSV(sqlTableAlias, sqlSchema, " AS ", aliasName);
- }
- } else {
- ZEPHIR_CPY_WRT(sqlTableAlias, sqlSchema);
+ if (!(zephir_array_isset_long_fetch(&aliasName, table, 2, 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(aliasName);
+ ZVAL_NULL(aliasName);
}
- RETURN_CCTOR(sqlTableAlias);
- }
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVV(return_value, escapeChar, table, escapeChar);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparetable", NULL, tableName, schemaName, aliasName, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ RETVAL_ZVAL(table, 1, 0);
RETURN_MM();
}
- RETVAL_ZVAL(table, 1, 0);
- RETURN_MM();
}
static PHP_METHOD(Phalcon_Db_Dialect, select) {
- zephir_nts_static zephir_fcall_cache_entry *_8 = NULL;
- zephir_fcall_cache_entry *_3 = NULL;
+ zend_bool _6, _11, _13, _15, _17, _19;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL, *_9 = NULL, *_12 = NULL, *_14 = NULL, *_16 = NULL, *_18 = NULL, *_21 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- HashTable *_1, *_5, *_11, *_16, *_23, *_27;
- HashPosition _0, _4, _10, _15, _22, _26;
- zval *definition_param = NULL, *tables, *columns, *escapeChar = NULL, *columnItem = NULL, *column = NULL, *selectedColumns, *columnSql = NULL, *columnDomainSql = NULL, *columnAlias = NULL, *selectedTables, *sqlJoin = NULL, *joinExpressions = NULL, *joinCondition = NULL, *joinConditionsArray = NULL, *tablesSql = NULL, *columnDomain = NULL, *columnAliasSql = NULL, *columnsSql = NULL, *table = NULL, *distinct, *sql = NULL, *joins, *join = NULL, *sqlTable = NULL, *whereConditions, *groupFields, *groupField = NULL, *groupItems, *havingConditions, *orderFields, *orderItem = NULL, *orderItems, *orderSqlItem = NULL, *sqlOrderType = NULL, *orderSqlItemType = NULL, *limitValue, *limitNumber = NULL, *limitNumberValue, *offset, *offsetNumber = NULL, **_2, **_6, *_7 = NULL, *_9 = NULL, **_12, *_13, *_14, **_17, *_18 = NULL, *_19 = NULL, *_20 = NULL, *_21 = NULL, **_24, *_25 = NULL, **_28, *_29;
- zval *definition = NULL;
+ zval *definition_param = NULL, *tables, *columns, *sql = NULL, *distinct, *joins, *where, *groupBy, *having, *orderBy, *limit, *_0 = NULL, *_2, *_3 = NULL, *_5, *_7 = NULL, *_8, *_10 = NULL;
+ zval *definition = NULL, *_20;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &definition_param);
@@ -45017,287 +45121,109 @@ static PHP_METHOD(Phalcon_Db_Dialect, select) {
ZEPHIR_OBS_VAR(tables);
if (!(zephir_array_isset_string_fetch(&tables, definition, SS("tables"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'tables' is required in the definition array", "phalcon/db/dialect.zep", 345);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'tables' is required in the definition array", "phalcon/db/dialect.zep", 360);
return;
}
ZEPHIR_OBS_VAR(columns);
if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect.zep", 349);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect.zep", 364);
return;
}
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_OBS_VAR(escapeChar);
- zephir_read_property_this(&escapeChar, this_ptr, SL("_escapeChar"), PH_NOISY_CC);
- } else {
- ZEPHIR_INIT_NVAR(escapeChar);
- ZVAL_NULL(escapeChar);
- }
- if (Z_TYPE_P(columns) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(selectedColumns);
- array_init(selectedColumns);
- zephir_is_iterable(columns, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 416);
- for (
- ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
- ; zephir_hash_move_forward_ex(_1, &_0)
- ) {
- ZEPHIR_GET_HVALUE(column, _2);
- ZEPHIR_OBS_NVAR(columnItem);
- zephir_array_fetch_long(&columnItem, column, 0, PH_NOISY, "phalcon/db/dialect.zep", 366 TSRMLS_CC);
- if (Z_TYPE_P(columnItem) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&columnSql, this_ptr, "getsqlexpression", &_3, columnItem, escapeChar);
- zephir_check_call_status();
- } else {
- if (ZEPHIR_IS_STRING(columnItem, "*")) {
- ZEPHIR_CPY_WRT(columnSql, columnItem);
- } else {
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_INIT_NVAR(columnSql);
- ZEPHIR_CONCAT_VVV(columnSql, escapeChar, columnItem, escapeChar);
- } else {
- ZEPHIR_CPY_WRT(columnSql, columnItem);
- }
- }
- }
- ZEPHIR_OBS_NVAR(columnDomain);
- if (zephir_array_isset_long_fetch(&columnDomain, column, 1, 0 TSRMLS_CC)) {
- if (zephir_is_true(columnDomain)) {
- ZEPHIR_INIT_NVAR(columnDomainSql);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VVVSV(columnDomainSql, escapeChar, columnDomain, escapeChar, ".", columnSql);
- } else {
- ZEPHIR_CONCAT_VSV(columnDomainSql, columnDomain, ".", columnSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnDomainSql, columnSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnDomainSql, columnSql);
- }
- ZEPHIR_OBS_NVAR(columnAlias);
- if (zephir_array_isset_long_fetch(&columnAlias, column, 2, 0 TSRMLS_CC)) {
- if (zephir_is_true(columnAlias)) {
- ZEPHIR_INIT_NVAR(columnAliasSql);
- if (ZEPHIR_GLOBAL(db).escape_identifiers) {
- ZEPHIR_CONCAT_VSVVV(columnAliasSql, columnDomainSql, " AS ", escapeChar, columnAlias, escapeChar);
- } else {
- ZEPHIR_CONCAT_VSV(columnAliasSql, columnDomainSql, " AS ", columnAlias);
- }
- } else {
- ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql);
- }
- } else {
- ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql);
- }
- zephir_array_append(&selectedColumns, columnAliasSql, PH_SEPARATE, "phalcon/db/dialect.zep", 414);
- }
- ZEPHIR_INIT_VAR(columnsSql);
- zephir_fast_join_str(columnsSql, SL(", "), selectedColumns TSRMLS_CC);
- } else {
- ZEPHIR_CPY_WRT(columnsSql, columns);
- }
- if (Z_TYPE_P(tables) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(selectedTables);
- array_init(selectedTables);
- zephir_is_iterable(tables, &_5, &_4, 0, 0, "phalcon/db/dialect.zep", 429);
- for (
- ; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
- ; zephir_hash_move_forward_ex(_5, &_4)
- ) {
- ZEPHIR_GET_HVALUE(table, _6);
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqltable", &_8, table, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&selectedTables, _7, PH_SEPARATE, "phalcon/db/dialect.zep", 427);
- }
- ZEPHIR_INIT_VAR(tablesSql);
- zephir_fast_join_str(tablesSql, SL(", "), selectedTables TSRMLS_CC);
- } else {
- ZEPHIR_CPY_WRT(tablesSql, tables);
- }
ZEPHIR_OBS_VAR(distinct);
if (zephir_array_isset_string_fetch(&distinct, definition, SS("distinct"), 0 TSRMLS_CC)) {
- if (ZEPHIR_IS_LONG(distinct, 0)) {
- ZEPHIR_INIT_VAR(sql);
- ZVAL_STRING(sql, "SELECT ALL ", 1);
+ ZEPHIR_INIT_VAR(sql);
+ if (zephir_is_true(distinct)) {
+ ZVAL_STRING(sql, "SELECT DISTINCT", 1);
} else {
- ZEPHIR_INIT_NVAR(sql);
- if (ZEPHIR_IS_LONG(distinct, 1)) {
- ZVAL_STRING(sql, "SELECT DISTINCT ", 1);
- } else {
- ZVAL_STRING(sql, "SELECT ", 1);
- }
+ ZVAL_STRING(sql, "SELECT ALL", 1);
}
} else {
ZEPHIR_INIT_NVAR(sql);
- ZVAL_STRING(sql, "SELECT ", 1);
+ ZVAL_STRING(sql, "SELECT", 1);
}
- ZEPHIR_INIT_VAR(_9);
- ZEPHIR_CONCAT_VVSV(_9, sql, columnsSql, " FROM ", tablesSql);
- ZEPHIR_CPY_WRT(sql, _9);
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_1, columns);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SV(_2, " ", _0);
+ zephir_concat_self(&sql, _2 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlexpressionfrom", &_4, tables);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SV(_5, " ", _3);
+ zephir_concat_self(&sql, _5 TSRMLS_CC);
ZEPHIR_OBS_VAR(joins);
- if (zephir_array_isset_string_fetch(&joins, definition, SS("joins"), 0 TSRMLS_CC)) {
- zephir_is_iterable(joins, &_11, &_10, 0, 0, "phalcon/db/dialect.zep", 478);
- for (
- ; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS
- ; zephir_hash_move_forward_ex(_11, &_10)
- ) {
- ZEPHIR_GET_HVALUE(join, _12);
- zephir_array_fetch_string(&_13, join, SL("source"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 456 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&sqlTable, this_ptr, "getsqltable", &_8, _13, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&selectedTables, sqlTable, PH_SEPARATE, "phalcon/db/dialect.zep", 457);
- zephir_array_fetch_string(&_14, join, SL("type"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 458 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(sqlJoin);
- ZEPHIR_CONCAT_SVSV(sqlJoin, " ", _14, " JOIN ", sqlTable);
- ZEPHIR_OBS_NVAR(joinConditionsArray);
- if (zephir_array_isset_string_fetch(&joinConditionsArray, join, SS("conditions"), 0 TSRMLS_CC)) {
- if (zephir_fast_count_int(joinConditionsArray TSRMLS_CC)) {
- if (!(zephir_array_isset_long(joinConditionsArray, 0))) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, joinConditionsArray, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SVS(_9, " ON ", _7, " ");
- zephir_concat_self(&sqlJoin, _9 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_NVAR(joinExpressions);
- array_init(joinExpressions);
- zephir_is_iterable(joinConditionsArray, &_16, &_15, 0, 0, "phalcon/db/dialect.zep", 472);
- for (
- ; zephir_hash_get_current_data_ex(_16, (void**) &_17, &_15) == SUCCESS
- ; zephir_hash_move_forward_ex(_16, &_15)
- ) {
- ZEPHIR_GET_HVALUE(joinCondition, _17);
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "getsqlexpression", &_3, joinCondition, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&joinExpressions, _18, PH_SEPARATE, "phalcon/db/dialect.zep", 470);
- }
- ZEPHIR_INIT_NVAR(_19);
- zephir_fast_join_str(_19, SL(" AND "), joinExpressions TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_SVS(_20, " ON ", _19, " ");
- zephir_concat_self(&sqlJoin, _20 TSRMLS_CC);
- }
- }
- }
- zephir_concat_self(&sql, sqlJoin TSRMLS_CC);
- }
+ _6 = zephir_array_isset_string_fetch(&joins, definition, SS("joins"), 0 TSRMLS_CC);
+ if (_6) {
+ _6 = zephir_is_true(joins);
}
- ZEPHIR_OBS_VAR(whereConditions);
- if (zephir_array_isset_string_fetch(&whereConditions, definition, SS("where"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(whereConditions) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, whereConditions, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_SV(_20, " WHERE ", _7);
- zephir_concat_self(&sql, _20 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_VAR(_21);
- ZEPHIR_CONCAT_SV(_21, " WHERE ", whereConditions);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- }
+ if (_6) {
+ zephir_array_fetch_string(&_8, definition, SL("joins"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 393 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionjoins", &_9, _8);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
}
- ZEPHIR_OBS_VAR(groupFields);
- if (zephir_array_isset_string_fetch(&groupFields, definition, SS("group"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(groupItems);
- array_init(groupItems);
- zephir_is_iterable(groupFields, &_23, &_22, 0, 0, "phalcon/db/dialect.zep", 504);
- for (
- ; zephir_hash_get_current_data_ex(_23, (void**) &_24, &_22) == SUCCESS
- ; zephir_hash_move_forward_ex(_23, &_22)
- ) {
- ZEPHIR_GET_HVALUE(groupField, _24);
- if (Z_TYPE_P(groupField) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, groupField, escapeChar);
- zephir_check_call_status();
- zephir_array_append(&groupItems, _7, PH_SEPARATE, "phalcon/db/dialect.zep", 499);
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 501);
- return;
- }
- }
- ZEPHIR_INIT_NVAR(_19);
- zephir_fast_join_str(_19, SL(", "), groupItems TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " GROUP BY ", _19);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- ZEPHIR_OBS_VAR(havingConditions);
- if (zephir_array_isset_string_fetch(&havingConditions, definition, SS("having"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(havingConditions) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpression", &_3, havingConditions, escapeChar);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_25);
- ZEPHIR_CONCAT_SV(_25, " HAVING ", _7);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 513);
- return;
- }
- }
+ ZEPHIR_OBS_VAR(where);
+ _11 = zephir_array_isset_string_fetch(&where, definition, SS("where"), 0 TSRMLS_CC);
+ if (_11) {
+ _11 = zephir_is_true(where);
}
- ZEPHIR_OBS_VAR(orderFields);
- if (zephir_array_isset_string_fetch(&orderFields, definition, SS("order"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(orderItems);
- array_init(orderItems);
- zephir_is_iterable(orderFields, &_27, &_26, 0, 0, "phalcon/db/dialect.zep", 542);
- for (
- ; zephir_hash_get_current_data_ex(_27, (void**) &_28, &_26) == SUCCESS
- ; zephir_hash_move_forward_ex(_27, &_26)
- ) {
- ZEPHIR_GET_HVALUE(orderItem, _28);
- if (Z_TYPE_P(orderItem) == IS_ARRAY) {
- zephir_array_fetch_long(&_13, orderItem, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 526 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&orderSqlItem, this_ptr, "getsqlexpression", &_3, _13, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "?", "phalcon/db/dialect.zep", 528);
- return;
- }
- ZEPHIR_OBS_NVAR(sqlOrderType);
- if (zephir_array_isset_long_fetch(&sqlOrderType, orderItem, 1, 0 TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(orderSqlItemType);
- ZEPHIR_CONCAT_VSV(orderSqlItemType, orderSqlItem, " ", sqlOrderType);
- } else {
- ZEPHIR_CPY_WRT(orderSqlItemType, orderSqlItem);
- }
- zephir_array_append(&orderItems, orderSqlItemType, PH_SEPARATE, "phalcon/db/dialect.zep", 540);
- }
- ZEPHIR_INIT_VAR(_29);
- zephir_fast_join_str(_29, SL(", "), orderItems TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " ORDER BY ", _29);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
+ if (_11) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionwhere", &_12, where);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
}
- ZEPHIR_OBS_VAR(limitValue);
- if (zephir_array_isset_string_fetch(&limitValue, definition, SS("limit"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(limitValue) == IS_ARRAY) {
- ZEPHIR_OBS_VAR(limitNumberValue);
- zephir_array_fetch_string(&limitNumberValue, limitValue, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 552 TSRMLS_CC);
- if (Z_TYPE_P(limitNumberValue) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&limitNumber, this_ptr, "getsqlexpression", &_3, limitNumberValue, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_CPY_WRT(limitNumber, limitNumberValue);
- }
- ZEPHIR_OBS_VAR(offset);
- if (zephir_array_isset_string_fetch(&offset, limitValue, SS("offset"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(offset) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&offsetNumber, this_ptr, "getsqlexpression", &_3, offset, escapeChar);
- zephir_check_call_status();
- } else {
- ZEPHIR_CPY_WRT(offsetNumber, offset);
- }
- ZEPHIR_INIT_LNVAR(_25);
- ZEPHIR_CONCAT_SVSV(_25, " LIMIT ", limitNumber, " OFFSET ", offsetNumber);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- } else {
- ZEPHIR_INIT_LNVAR(_25);
- ZEPHIR_CONCAT_SV(_25, " LIMIT ", limitNumber);
- zephir_concat_self(&sql, _25 TSRMLS_CC);
- }
- } else {
- ZEPHIR_INIT_LNVAR(_21);
- ZEPHIR_CONCAT_SV(_21, " LIMIT ", limitValue);
- zephir_concat_self(&sql, _21 TSRMLS_CC);
- }
+ ZEPHIR_OBS_VAR(groupBy);
+ _13 = zephir_array_isset_string_fetch(&groupBy, definition, SS("group"), 0 TSRMLS_CC);
+ if (_13) {
+ _13 = zephir_is_true(groupBy);
+ }
+ if (_13) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressiongroupby", &_14, groupBy);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(having);
+ _15 = zephir_array_isset_string_fetch(&having, definition, SS("having"), 0 TSRMLS_CC);
+ if (_15) {
+ _15 = zephir_is_true(having);
+ }
+ if (_15) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionhaving", &_16, having);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(orderBy);
+ _17 = zephir_array_isset_string_fetch(&orderBy, definition, SS("order"), 0 TSRMLS_CC);
+ if (_17) {
+ _17 = zephir_is_true(orderBy);
+ }
+ if (_17) {
+ ZEPHIR_CALL_METHOD(&_7, this_ptr, "getsqlexpressionorderby", &_18, orderBy);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SV(_10, " ", _7);
+ zephir_concat_self(&sql, _10 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(limit);
+ _19 = zephir_array_isset_string_fetch(&limit, definition, SS("limit"), 0 TSRMLS_CC);
+ if (_19) {
+ _19 = zephir_is_true(limit);
+ }
+ if (_19) {
+ ZEPHIR_INIT_VAR(_20);
+ zephir_create_array(_20, 2, 0 TSRMLS_CC);
+ zephir_array_update_string(&_20, SL("sql"), &sql, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_20, SL("value"), &limit, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&sql, this_ptr, "getsqlexpressionlimit", &_21, _20);
+ zephir_check_call_status();
}
RETURN_CCTOR(sql);
@@ -45400,307 +45326,1243 @@ static PHP_METHOD(Phalcon_Db_Dialect, rollbackSavepoint) {
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionScalar) {
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *value, *_0;
+ zval *expression = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-
-
+ expression = expression_param;
-ZEPHIR_INIT_CLASS(Phalcon_Db_DialectInterface) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, DialectInterface, phalcon, db_dialectinterface, phalcon_db_dialectinterface_method_entry);
- return SUCCESS;
+ if (zephir_array_isset_string(expression, SS("column"))) {
+ zephir_array_fetch_string(&_0, expression, SL("column"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 482 TSRMLS_CC);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlcolumn", &_1, _0);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_OBS_VAR(value);
+ if (!(zephir_array_isset_string_fetch(&value, expression, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL expression", "phalcon/db/dialect.zep", 486);
+ return;
+ }
+ if (Z_TYPE_P(value) == IS_ARRAY) {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpression", NULL, value, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ RETURN_CCTOR(value);
+ }
}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, limit);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionObject) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, forUpdate);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _0, _1;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *domain = NULL, *objectExpression;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, sharedLock);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, select);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnList);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(domain);
+ ZVAL_NULL(domain);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnDefinition);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addColumn);
+ ZEPHIR_INIT_VAR(objectExpression);
+ zephir_create_array(objectExpression, 1, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(objectExpression, SS("type"), SL("all"), 1);
+ ZEPHIR_OBS_NVAR(domain);
+ _0 = zephir_array_isset_string_fetch(&domain, expression, SS("balias"), 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(domain);
+ _0 = zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC);
+ }
+ _1 = _0;
+ if (_1) {
+ _1 = !ZEPHIR_IS_STRING(domain, "");
+ }
+ if (_1) {
+ zephir_array_update_string(&objectExpression, SL("domain"), &domain, PH_COPY | PH_SEPARATE);
+ }
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "getsqlexpression", NULL, objectExpression, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, modifyColumn);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropColumn);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionQualified) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addIndex);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *column, *domain = NULL;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropIndex);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addPrimaryKey);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropPrimaryKey);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addForeignKey);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropForeignKey);
+ ZEPHIR_OBS_VAR(column);
+ zephir_array_fetch_string(&column, expression, SL("name"), PH_NOISY, "phalcon/db/dialect.zep", 520 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(domain);
+ if (!(zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(domain);
+ ZVAL_NULL(domain);
+ }
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, column, domain, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createTable);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropTable);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionBinaryOperations) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableExists);
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2, *_3;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeColumns);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, listTables);
+ expression = expression_param;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeIndexes);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeReferences);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableOptions);
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 539 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 540 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_3, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 542 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVSV(return_value, left, " ", _3, " ", right);
+ RETURN_MM();
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsSavepoints);
+}
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsReleaseSavepoints);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionUnaryOperations) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createSavepoint);
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left, *right, *_0 = NULL, *_2;
+ zval *expression = NULL;
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, releaseSavepoint);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, rollbackSavepoint);
+ expression = expression_param;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_OBS_VAR(left);
+ if (zephir_array_isset_string_fetch(&left, expression, SS("left"), 0 TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", &_1, left, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 556 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSV(return_value, _0, " ", _2);
+ RETURN_MM();
+ }
+ ZEPHIR_OBS_VAR(right);
+ if (zephir_array_isset_string_fetch(&right, expression, SS("right"), 0 TSRMLS_CC)) {
+ zephir_array_fetch_string(&_2, expression, SL("op"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 563 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", &_1, right, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VSV(return_value, _2, " ", _0);
+ RETURN_MM();
+ }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-unary expression", "phalcon/db/dialect.zep", 566);
+ return;
-#ifdef HAVE_CONFIG_H
-#endif
+}
-#include
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFunctionCall) {
-#include
-#include
-#include
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _0, _2;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *arguments = NULL, *_3, *_4;
+ zval *expression = NULL, *_1;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
+ expression = expression_param;
-ZEPHIR_INIT_CLASS(Phalcon_Db_Exception) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db, Exception, phalcon, db_exception, phalcon_exception_ce, NULL, 0);
- return SUCCESS;
+ ZEPHIR_OBS_VAR(arguments);
+ _0 = zephir_array_isset_string_fetch(&arguments, expression, SS("arguments"), 0 TSRMLS_CC);
+ if (_0) {
+ _0 = Z_TYPE_P(arguments) == IS_ARRAY;
+ }
+ if (_0) {
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(_1, SS("type"), SL("list"), 1);
+ zephir_array_update_string(&_1, SL("parentheses"), &ZEPHIR_GLOBAL(global_false), PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("value"), &arguments, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&arguments, this_ptr, "getsqlexpression", NULL, _1, escapeChar);
+ zephir_check_call_status();
+ _2 = zephir_array_isset_string(expression, SS("distinct"));
+ if (_2) {
+ zephir_array_fetch_string(&_3, expression, SL("distinct"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 584 TSRMLS_CC);
+ _2 = zephir_is_true(_3);
+ }
+ if (_2) {
+ zephir_array_fetch_string(&_4, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 585 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVS(return_value, _4, "(DISTINCT ", arguments, ")");
+ RETURN_MM();
+ } else {
+ zephir_array_fetch_string(&_4, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 587 TSRMLS_CC);
+ ZEPHIR_CONCAT_VSVS(return_value, _4, "(", arguments, ")");
+ RETURN_MM();
+ }
+ }
+ zephir_array_fetch_string(&_3, expression, SL("name"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 592 TSRMLS_CC);
+ ZEPHIR_CONCAT_VS(return_value, _3, "()");
+ RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionList) {
+ zephir_fcall_cache_entry *_6 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_3;
+ HashPosition _2;
+ zend_bool _0, _1, _7;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *items, *item = NULL, *values = NULL, *separator = NULL, **_4, *_5 = NULL, *_8, *_9;
+ zval *expression = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
+ expression = expression_param;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Db_Index) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Index, phalcon, db_index, phalcon_db_index_method_entry, 0);
+ ZEPHIR_INIT_VAR(items);
+ array_init(items);
+ ZEPHIR_INIT_VAR(separator);
+ ZVAL_STRING(separator, ", ", 1);
+ if (zephir_array_isset_string(expression, SS("separator"))) {
+ ZEPHIR_OBS_NVAR(separator);
+ zephir_array_fetch_string(&separator, expression, SL("separator"), PH_NOISY, "phalcon/db/dialect.zep", 606 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_VAR(values);
+ _0 = zephir_array_isset_long_fetch(&values, expression, 0, 0 TSRMLS_CC);
+ if (!(_0)) {
+ ZEPHIR_OBS_NVAR(values);
+ _0 = zephir_array_isset_string_fetch(&values, expression, SS("value"), 0 TSRMLS_CC);
+ }
+ _1 = _0;
+ if (_1) {
+ _1 = Z_TYPE_P(values) == IS_ARRAY;
+ }
+ if (_1) {
+ zephir_is_iterable(values, &_3, &_2, 0, 0, "phalcon/db/dialect.zep", 615);
+ for (
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
+ ) {
+ ZEPHIR_GET_HVALUE(item, _4);
+ ZEPHIR_CALL_METHOD(&_5, this_ptr, "getsqlexpression", &_6, item, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&items, _5, PH_SEPARATE, "phalcon/db/dialect.zep", 612);
+ }
+ _7 = zephir_array_isset_string(expression, SS("parentheses"));
+ if (_7) {
+ zephir_array_fetch_string(&_8, expression, SL("parentheses"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 615 TSRMLS_CC);
+ _7 = ZEPHIR_IS_FALSE_IDENTICAL(_8);
+ }
+ if (_7) {
+ zephir_fast_join(return_value, separator, items TSRMLS_CC);
+ RETURN_MM();
+ } else {
+ ZEPHIR_INIT_VAR(_9);
+ zephir_fast_join(_9, separator, items TSRMLS_CC);
+ ZEPHIR_CONCAT_SVS(return_value, "(", _9, ")");
+ RETURN_MM();
+ }
+ }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-list expression", "phalcon/db/dialect.zep", 622);
+ return;
- zend_declare_property_null(phalcon_db_index_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_declare_property_null(phalcon_db_index_ce, SL("_columns"), ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionAll) {
- zend_declare_property_null(phalcon_db_index_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *domain = NULL, *_0;
+ zval *expression = NULL;
- zend_class_implements(phalcon_db_index_ce TSRMLS_CC, 1, phalcon_db_indexinterface_ce);
- return SUCCESS;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-}
+ expression = expression_param;
-static PHP_METHOD(Phalcon_Db_Index, getName) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- RETURN_MEMBER(this_ptr, "_name");
+ ZEPHIR_OBS_VAR(domain);
+ if (!(zephir_array_isset_string_fetch(&domain, expression, SS("domain"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(domain);
+ ZVAL_NULL(domain);
+ }
+ ZEPHIR_INIT_VAR(_0);
+ ZVAL_STRING(_0, "*", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "preparequalified", NULL, _0, domain, escapeChar);
+ zephir_check_temp_parameter(_0);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, getColumns) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionCastValue) {
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2;
+ zval *expression = NULL;
- RETURN_MEMBER(this_ptr, "_columns");
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
-}
+ expression = expression_param;
-static PHP_METHOD(Phalcon_Db_Index, getType) {
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- RETURN_MEMBER(this_ptr, "_type");
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 646 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 647 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "CAST(", left, " AS ", right, ")");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionConvertValue) {
- zval *columns = NULL;
- zval *name_param = NULL, *columns_param = NULL, *type = NULL;
- zval *name = NULL, *_0 = NULL;
+ zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression_param = NULL, *escapeChar_param = NULL, *left = NULL, *right = NULL, *_0, *_2;
+ zval *expression = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &name_param, &columns_param, &type);
+ zephir_fetch_params(1, 1, 1, &expression_param, &escapeChar_param);
- if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ expression = expression_param;
- if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
- zephir_get_strval(name, name_param);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
} else {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
- }
- columns = columns_param;
-
- if (!type) {
- type = ZEPHIR_GLOBAL(global_null);
+ zephir_get_strval(escapeChar, escapeChar_param);
}
- zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_columns"), columns TSRMLS_CC);
- zephir_get_strval(_0, type);
- zephir_update_property_this(this_ptr, SL("_type"), _0 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
+ zephir_array_fetch_string(&_0, expression, SL("left"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 659 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&left, this_ptr, "getsqlexpression", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ zephir_array_fetch_string(&_2, expression, SL("right"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 660 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&right, this_ptr, "getsqlexpression", &_1, _2, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "CONVERT(", left, " USING ", right, ")");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Index, __set_state) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionFrom) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *data_param = NULL, *indexName, *columns, *type = NULL;
- zval *data = NULL;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *table = NULL, *tables = NULL, **_2, *_3 = NULL, *_5;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &data_param);
-
- data = data_param;
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
- ZEPHIR_OBS_VAR(indexName);
- if (!(zephir_array_isset_string_fetch(&indexName, data, SS("_name"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_name parameter is required", "phalcon/db/index.zep", 71);
- return;
- }
- ZEPHIR_OBS_VAR(columns);
- if (!(zephir_array_isset_string_fetch(&columns, data, SS("_columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_columns parameter is required", "phalcon/db/index.zep", 75);
- return;
- }
- ZEPHIR_OBS_VAR(type);
- if (!(zephir_array_isset_string_fetch(&type, data, SS("_type"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "", 1);
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(tables);
+ array_init(tables);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 680);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(table, _2);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqltable", &_4, table);
+ zephir_check_call_status();
+ zephir_array_append(&tables, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 677);
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_fast_join_str(_5, SL(", "), tables TSRMLS_CC);
+ ZEPHIR_CPY_WRT(tables, _5);
+ } else {
+ ZEPHIR_CPY_WRT(tables, expression);
}
- object_init_ex(return_value, phalcon_db_index_ce);
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, indexName, columns, type);
- zephir_check_call_status();
+ ZEPHIR_CONCAT_SV(return_value, "FROM ", tables);
RETURN_MM();
}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionJoins) {
+ zephir_nts_static zephir_fcall_cache_entry *_12 = NULL;
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool _3, _10;
+ HashTable *_1, *_6;
+ HashPosition _0, _5;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *join = NULL, *sql, *joinCondition = NULL, *joinTable = NULL, *joinType = NULL, *joinConditionsArray = NULL, **_2, *condition = NULL, **_7, *_8 = NULL, *_9 = NULL, *_11, *_13 = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-#ifdef HAVE_CONFIG_H
-#endif
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "", 1);
+ ZEPHIR_INIT_VAR(joinType);
+ ZVAL_STRING(joinType, "", 1);
-#include
-#include
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 729);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(join, _2);
+ ZEPHIR_OBS_NVAR(joinConditionsArray);
+ _3 = zephir_array_isset_string_fetch(&joinConditionsArray, join, SS("conditions"), 0 TSRMLS_CC);
+ if (_3) {
+ _3 = !(ZEPHIR_IS_EMPTY(joinConditionsArray));
+ }
+ if (_3) {
+ if (!(zephir_array_isset_long(joinConditionsArray, 0))) {
+ ZEPHIR_CALL_METHOD(&joinCondition, this_ptr, "getsqlexpression", &_4, joinConditionsArray, escapeChar);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(joinCondition);
+ array_init(joinCondition);
+ zephir_is_iterable(joinConditionsArray, &_6, &_5, 0, 0, "phalcon/db/dialect.zep", 714);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HVALUE(condition, _7);
+ ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, condition, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&joinCondition, _8, PH_SEPARATE, "phalcon/db/dialect.zep", 711);
+ }
+ ZEPHIR_INIT_NVAR(_9);
+ zephir_fast_join_str(_9, SL(" AND "), joinCondition TSRMLS_CC);
+ ZEPHIR_CPY_WRT(joinCondition, _9);
+ }
+ } else {
+ ZEPHIR_INIT_NVAR(joinCondition);
+ ZVAL_LONG(joinCondition, 1);
+ }
+ ZEPHIR_OBS_NVAR(joinType);
+ _10 = zephir_array_isset_string_fetch(&joinType, join, SS("type"), 0 TSRMLS_CC);
+ if (_10) {
+ _10 = zephir_is_true(joinType);
+ }
+ if (_10) {
+ zephir_concat_self_str(&joinType, SL(" ") TSRMLS_CC);
+ }
+ zephir_array_fetch_string(&_11, join, SL("source"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 724 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&joinTable, this_ptr, "getsqltable", &_12, _11, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_13);
+ ZEPHIR_CONCAT_SVSVSV(_13, " ", joinType, "JOIN ", joinTable, " ON ", joinCondition);
+ zephir_concat_self(&sql, _13 TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
+}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionWhere) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_IndexInterface) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *whereSql = NULL;
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, IndexInterface, phalcon, db_indexinterface, phalcon_db_indexinterface_method_entry);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- return SUCCESS;
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&whereSql, this_ptr, "getsqlexpression", NULL, expression, escapeChar);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CPY_WRT(whereSql, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "WHERE ", whereSql);
+ RETURN_MM();
}
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __construct);
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionGroupBy) {
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getName);
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *filed = NULL, *fields = NULL, **_2, *_3 = NULL, *_5;
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getColumns);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getType);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __set_state);
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(fields);
+ array_init(fields);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 767);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(filed, _2);
+ if (unlikely(Z_TYPE_P(filed) != IS_ARRAY)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-GROUP-BY expression", "phalcon/db/dialect.zep", 761);
+ return;
+ } else {
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "getsqlexpression", &_4, filed, escapeChar);
+ zephir_check_call_status();
+ zephir_array_append(&fields, _3, PH_SEPARATE, "phalcon/db/dialect.zep", 763);
+ }
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_fast_join_str(_5, SL(", "), fields TSRMLS_CC);
+ ZEPHIR_CPY_WRT(fields, _5);
+ } else {
+ ZEPHIR_CPY_WRT(fields, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "GROUP BY ", fields);
+ RETURN_MM();
+
+}
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionHaving) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *_0 = NULL;
-#ifdef HAVE_CONFIG_H
-#endif
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
-#include
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
-#include
-#include
-#include
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getsqlexpression", NULL, expression, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SV(return_value, "HAVING ", _0);
+ RETURN_MM();
+ } else {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-HAVING expression", "phalcon/db/dialect.zep", 784);
+ return;
+ }
+}
-ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionOrderBy) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Profiler, phalcon, db_profiler, phalcon_db_profiler_method_entry, 0);
+ zend_bool _5;
+ zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ HashTable *_1;
+ HashPosition _0;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *filed = NULL, *fields = NULL, *type = NULL, *fieldSql = NULL, **_2, *_3, *_6 = NULL, *_7;
- zend_declare_property_null(phalcon_db_profiler_ce, SL("_allProfiles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- zend_declare_property_null(phalcon_db_profiler_ce, SL("_activeProfile"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+ ZEPHIR_INIT_VAR(fieldSql);
+ ZVAL_NULL(fieldSql);
- zend_declare_property_long(phalcon_db_profiler_ce, SL("_totalSeconds"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- return SUCCESS;
+ if (Z_TYPE_P(expression) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(fields);
+ array_init(fields);
+ zephir_is_iterable(expression, &_1, &_0, 0, 0, "phalcon/db/dialect.zep", 817);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HVALUE(filed, _2);
+ if (unlikely(Z_TYPE_P(filed) != IS_ARRAY)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid SQL-ORDER-BY expression", "phalcon/db/dialect.zep", 802);
+ return;
+ } else {
+ zephir_array_fetch_long(&_3, filed, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 804 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&fieldSql, this_ptr, "getsqlexpression", &_4, _3, escapeChar);
+ zephir_check_call_status();
+ }
+ ZEPHIR_OBS_NVAR(type);
+ _5 = zephir_array_isset_long_fetch(&type, filed, 1, 0 TSRMLS_CC);
+ if (_5) {
+ _5 = !ZEPHIR_IS_STRING(type, "");
+ }
+ if (_5) {
+ ZEPHIR_INIT_LNVAR(_6);
+ ZEPHIR_CONCAT_SV(_6, " ", type);
+ zephir_concat_self(&fieldSql, _6 TSRMLS_CC);
+ }
+ zephir_array_append(&fields, fieldSql, PH_SEPARATE, "phalcon/db/dialect.zep", 814);
+ }
+ ZEPHIR_INIT_VAR(_7);
+ zephir_fast_join_str(_7, SL(", "), fields TSRMLS_CC);
+ ZEPHIR_CPY_WRT(fields, _7);
+ } else {
+ ZEPHIR_CPY_WRT(fields, expression);
+ }
+ ZEPHIR_CONCAT_SV(return_value, "ORDER BY ", fields);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Profiler, startProfile) {
+static PHP_METHOD(Phalcon_Db_Dialect, getSqlExpressionLimit) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL;
+ zval *_5;
+ zend_bool _3;
+ zephir_fcall_cache_entry *_2 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement, *sqlVariables = NULL, *sqlBindTypes = NULL, *activeProfile, *_3;
+ zval *escapeChar = NULL;
+ zval *expression, *escapeChar_param = NULL, *sql = NULL, *value, *limit = NULL, *offset = NULL, *_0, *_1, *_4 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement, &sqlVariables, &sqlBindTypes);
+ zephir_fetch_params(1, 1, 1, &expression, &escapeChar_param);
- if (!sqlVariables) {
- sqlVariables = ZEPHIR_GLOBAL(global_null);
- }
- if (!sqlBindTypes) {
- sqlBindTypes = ZEPHIR_GLOBAL(global_null);
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
}
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "", 1);
+ ZEPHIR_INIT_VAR(offset);
+ ZVAL_NULL(offset);
- ZEPHIR_INIT_VAR(activeProfile);
- object_init_ex(activeProfile, phalcon_db_profiler_item_ce);
- if (zephir_has_constructor(activeProfile TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, activeProfile, "__construct", NULL);
- zephir_check_call_status();
+ ZEPHIR_OBS_VAR(value);
+ zephir_array_fetch_string(&value, expression, SL("value"), PH_NOISY, "phalcon/db/dialect.zep", 832 TSRMLS_CC);
+ if (zephir_array_isset_string(expression, SS("sql"))) {
+ ZEPHIR_OBS_NVAR(sql);
+ zephir_array_fetch_string(&sql, expression, SL("sql"), PH_NOISY, "phalcon/db/dialect.zep", 835 TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlstatement", &_0, sqlStatement);
+ if (Z_TYPE_P(value) == IS_ARRAY) {
+ ZEPHIR_OBS_VAR(_0);
+ zephir_array_fetch_string(&_0, value, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 840 TSRMLS_CC);
+ if (Z_TYPE_P(_0) == IS_ARRAY) {
+ zephir_array_fetch_string(&_1, value, SL("number"), PH_NOISY | PH_READONLY, "phalcon/db/dialect.zep", 841 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&limit, this_ptr, "getsqlexpression", &_2, _1);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_OBS_NVAR(limit);
+ zephir_array_fetch_string(&limit, value, SL("number"), PH_NOISY, "phalcon/db/dialect.zep", 843 TSRMLS_CC);
+ }
+ ZEPHIR_OBS_NVAR(offset);
+ _3 = zephir_array_isset_string_fetch(&offset, value, SS("offset"), 0 TSRMLS_CC);
+ if (_3) {
+ _3 = Z_TYPE_P(offset) == IS_ARRAY;
+ }
+ if (_3) {
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "getsqlexpression", &_2, offset);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(offset, _4);
+ }
+ } else {
+ ZEPHIR_CPY_WRT(limit, value);
+ }
+ ZEPHIR_INIT_VAR(_5);
+ zephir_create_array(_5, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(_5, limit);
+ zephir_array_fast_append(_5, offset);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "limit", NULL, sql, _5);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareColumnAlias) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *qualified_param = NULL, *alias_param = NULL, *_0 = NULL;
+ zval *qualified = NULL, *alias = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &qualified_param, &alias_param);
+
+ if (unlikely(Z_TYPE_P(qualified_param) != IS_STRING && Z_TYPE_P(qualified_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'qualified' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(qualified_param) == IS_STRING)) {
+ zephir_get_strval(qualified, qualified_param);
+ } else {
+ ZEPHIR_INIT_VAR(qualified);
+ ZVAL_EMPTY_STRING(qualified);
+ }
+ if (!alias_param) {
+ ZEPHIR_INIT_VAR(alias);
+ ZVAL_EMPTY_STRING(alias);
+ } else {
+ zephir_get_strval(alias, alias_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(alias, "")) {
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_1, alias);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VSV(return_value, qualified, " AS ", _0);
+ RETURN_MM();
+ } else {
+ RETURN_CTOR(qualified);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareTable) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *table_param = NULL, *schema_param = NULL, *alias_param = NULL, *escapeChar_param = NULL, *_0 = NULL, *_2 = NULL, *_3 = NULL;
+ zval *table = NULL, *schema = NULL, *alias = NULL, *escapeChar = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 3, &table_param, &schema_param, &alias_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+ if (!alias_param) {
+ ZEPHIR_INIT_VAR(alias);
+ ZVAL_EMPTY_STRING(alias);
+ } else {
+ zephir_get_strval(alias, alias_param);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_1, table, escapeChar);
+ zephir_check_call_status();
+ zephir_get_strval(table, _0);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "escape", &_1, schema, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _2, ".", table);
+ zephir_get_strval(table, _3);
+ }
+ if (!ZEPHIR_IS_STRING(alias, "")) {
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "escape", &_1, alias, escapeChar);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, table, " AS ", _2);
+ zephir_get_strval(table, _3);
+ }
+ RETURN_CTOR(table);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect, prepareQualified) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column_param = NULL, *domain_param = NULL, *escapeChar_param = NULL;
+ zval *column = NULL, *domain = NULL, *escapeChar = NULL, *_0;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &column_param, &domain_param, &escapeChar_param);
+
+ if (unlikely(Z_TYPE_P(column_param) != IS_STRING && Z_TYPE_P(column_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'column' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(column_param) == IS_STRING)) {
+ zephir_get_strval(column, column_param);
+ } else {
+ ZEPHIR_INIT_VAR(column);
+ ZVAL_EMPTY_STRING(column);
+ }
+ if (!domain_param) {
+ ZEPHIR_INIT_VAR(domain);
+ ZVAL_EMPTY_STRING(domain);
+ } else {
+ zephir_get_strval(domain, domain_param);
+ }
+ if (!escapeChar_param) {
+ ZEPHIR_INIT_VAR(escapeChar);
+ ZVAL_EMPTY_STRING(escapeChar);
+ } else {
+ zephir_get_strval(escapeChar, escapeChar_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(domain, "")) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, domain, ".", column);
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "escape", &_1, _0, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ } else {
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "escape", &_1, column, escapeChar);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_DialectInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, DialectInterface, phalcon, db_dialectinterface, phalcon_db_dialectinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, limit);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, forUpdate);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, sharedLock);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, select);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnList);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, getColumnDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, modifyColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropColumn);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addIndex);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropIndex);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addPrimaryKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropPrimaryKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, addForeignKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropForeignKey);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createTable);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createView);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropTable);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, dropView);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableExists);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, viewExists);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeColumns);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, listTables);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeIndexes);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, describeReferences);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, tableOptions);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsSavepoints);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, supportsReleaseSavepoints);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, createSavepoint);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, releaseSavepoint);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_DialectInterface, rollbackSavepoint);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db, Exception, phalcon, db_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Index) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Index, phalcon, db_index, phalcon_db_index_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_columns"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_index_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_db_index_ce TSRMLS_CC, 1, phalcon_db_indexinterface_ce);
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getName) {
+
+
+ RETURN_MEMBER(this_ptr, "_name");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getColumns) {
+
+
+ RETURN_MEMBER(this_ptr, "_columns");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, getType) {
+
+
+ RETURN_MEMBER(this_ptr, "_type");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, __construct) {
+
+ zval *columns = NULL;
+ zval *name_param = NULL, *columns_param = NULL, *type = NULL;
+ zval *name = NULL, *_0 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &name_param, &columns_param, &type);
+
+ if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
+ zephir_get_strval(name, name_param);
+ } else {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ }
+ columns = columns_param;
+
+ if (!type) {
+ type = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_columns"), columns TSRMLS_CC);
+ zephir_get_strval(_0, type);
+ zephir_update_property_this(this_ptr, SL("_type"), _0 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Index, __set_state) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *data_param = NULL, *indexName, *columns, *type = NULL;
+ zval *data = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &data_param);
+
+ data = data_param;
+
+
+
+ ZEPHIR_OBS_VAR(indexName);
+ if (!(zephir_array_isset_string_fetch(&indexName, data, SS("_name"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_name parameter is required", "phalcon/db/index.zep", 71);
+ return;
+ }
+ ZEPHIR_OBS_VAR(columns);
+ if (!(zephir_array_isset_string_fetch(&columns, data, SS("_columns"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "_columns parameter is required", "phalcon/db/index.zep", 75);
+ return;
+ }
+ ZEPHIR_OBS_VAR(type);
+ if (!(zephir_array_isset_string_fetch(&type, data, SS("_type"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "", 1);
+ }
+ object_init_ex(return_value, phalcon_db_index_ce);
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, indexName, columns, type);
+ zephir_check_call_status();
+ RETURN_MM();
+
+}
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_IndexInterface) {
+
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Db, IndexInterface, phalcon, db_indexinterface, phalcon_db_indexinterface_method_entry);
+
+ return SUCCESS;
+
+}
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __construct);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getName);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getColumns);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, getType);
+
+ZEPHIR_DOC_METHOD(Phalcon_Db_IndexInterface, __set_state);
+
+
+
+
+#ifdef HAVE_CONFIG_H
+#endif
+
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db, Profiler, phalcon, db_profiler, phalcon_db_profiler_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_profiler_ce, SL("_allProfiles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_ce, SL("_activeProfile"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_long(phalcon_db_profiler_ce, SL("_totalSeconds"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ return SUCCESS;
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler, startProfile) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *sqlStatement, *sqlVariables = NULL, *sqlBindTypes = NULL, *activeProfile, *_3;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &sqlStatement, &sqlVariables, &sqlBindTypes);
+
+ if (!sqlVariables) {
+ sqlVariables = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!sqlBindTypes) {
+ sqlBindTypes = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ ZEPHIR_INIT_VAR(activeProfile);
+ object_init_ex(activeProfile, phalcon_db_profiler_item_ce);
+ if (zephir_has_constructor(activeProfile TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, activeProfile, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlstatement", &_0, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(sqlVariables) == IS_ARRAY) {
ZEPHIR_CALL_METHOD(NULL, activeProfile, "setsqlvariables", &_1, sqlVariables);
@@ -46375,11 +47237,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement_param = NULL, *bindParams = NULL, *bindTypes = NULL, *eventsManager = NULL, *pdo = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
+ zval *bindParams = NULL;
+ zval *sqlStatement_param = NULL, *bindParams_param = NULL, *bindTypes = NULL, *eventsManager = NULL, *pdo = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
zval *sqlStatement = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams, &bindTypes);
+ zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams_param, &bindTypes);
if (unlikely(Z_TYPE_P(sqlStatement_param) != IS_STRING && Z_TYPE_P(sqlStatement_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlStatement' must be a string") TSRMLS_CC);
@@ -46392,8 +47255,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
ZEPHIR_INIT_VAR(sqlStatement);
ZVAL_EMPTY_STRING(sqlStatement);
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+ if (!bindParams_param) {
+ ZEPHIR_INIT_VAR(bindParams);
+ array_init(bindParams);
+ } else {
+ zephir_get_arrval(bindParams, bindParams_param);
}
if (!bindTypes) {
bindTypes = ZEPHIR_GLOBAL(global_null);
@@ -46417,7 +47283,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
}
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdo"), PH_NOISY_CC);
ZEPHIR_CPY_WRT(pdo, _0);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ if (1 == 1) {
ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(statement) == IS_OBJECT) {
@@ -46449,11 +47315,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, query) {
static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement_param = NULL, *bindParams = NULL, *bindTypes = NULL, *eventsManager = NULL, *affectedRows = NULL, *pdo = NULL, *newStatement = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
+ zval *bindParams = NULL;
+ zval *sqlStatement_param = NULL, *bindParams_param = NULL, *bindTypes = NULL, *eventsManager = NULL, *affectedRows = NULL, *pdo = NULL, *newStatement = NULL, *statement = NULL, *_0, *_1 = NULL, *_2 = NULL;
zval *sqlStatement = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams, &bindTypes);
+ zephir_fetch_params(1, 1, 2, &sqlStatement_param, &bindParams_param, &bindTypes);
if (unlikely(Z_TYPE_P(sqlStatement_param) != IS_STRING && Z_TYPE_P(sqlStatement_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlStatement' must be a string") TSRMLS_CC);
@@ -46466,8 +47333,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
ZEPHIR_INIT_VAR(sqlStatement);
ZVAL_EMPTY_STRING(sqlStatement);
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+ if (!bindParams_param) {
+ ZEPHIR_INIT_VAR(bindParams);
+ array_init(bindParams);
+ } else {
+ zephir_get_arrval(bindParams, bindParams_param);
}
if (!bindTypes) {
bindTypes = ZEPHIR_GLOBAL(global_null);
@@ -46493,7 +47363,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo, execute) {
ZVAL_LONG(affectedRows, 0);
_0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdo"), PH_NOISY_CC);
ZEPHIR_CPY_WRT(pdo, _0);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ if (1 == 1) {
ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
zephir_check_call_status();
if (Z_TYPE_P(statement) == IS_OBJECT) {
@@ -47059,7 +47929,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/mysql.zep", 271);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/mysql.zep", 267);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47069,15 +47939,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 115 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 111 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/mysql.zep", 122)) {
+ if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/mysql.zep", 118)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 5);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/mysql.zep", 130)) {
+ if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/mysql.zep", 126)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47087,19 +47957,19 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/mysql.zep", 140)) {
+ if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/mysql.zep", 136)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/mysql.zep", 148)) {
+ if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/mysql.zep", 144)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/mysql.zep", 156)) {
+ if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/mysql.zep", 152)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47109,25 +47979,25 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/mysql.zep", 166)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/mysql.zep", 162)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/mysql.zep", 174)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/mysql.zep", 170)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/mysql.zep", 182)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/mysql.zep", 178)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/mysql.zep", 190)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/mysql.zep", 186)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47142,7 +48012,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/mysql.zep", 207)) {
+ if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/mysql.zep", 203)) {
ZEPHIR_INIT_NVAR(matches);
ZVAL_NULL(matches);
ZEPHIR_INIT_NVAR(_8);
@@ -47162,7 +48032,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
}
}
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/mysql.zep", 222)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/mysql.zep", 218)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -47170,30 +48040,30 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Mysql, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 238 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 234 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "PRI")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_11, field, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 245 TSRMLS_CC);
+ zephir_array_fetch_long(&_11, field, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 241 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_11, "NO")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 252 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 248 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_12, "auto_increment")) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
ZEPHIR_OBS_NVAR(_13);
- zephir_array_fetch_long(&_13, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/mysql.zep", 255 TSRMLS_CC);
if (Z_TYPE_P(_13) != IS_NULL) {
- zephir_array_fetch_long(&_14, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 260 TSRMLS_CC);
+ zephir_array_fetch_long(&_14, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 256 TSRMLS_CC);
zephir_array_update_string(&definition, SL("default"), &_14, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/mysql.zep", 262 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_15, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/mysql.zep", 267);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/mysql.zep", 263);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47276,11 +48146,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
HashTable *_5;
HashPosition _4;
int ZEPHIR_LAST_CALL_STATUS;
- zval *table_param = NULL, *schema = NULL, *columns, *oldColumn = NULL, *field = NULL, *definition = NULL, *columnSize = NULL, *columnPrecision = NULL, *columnScale = NULL, *columnType = NULL, *columnName, *_0 = NULL, *_1, *_2 = NULL, *_3 = NULL, **_6, *_7 = NULL, *_8 = NULL, *_9, *_10;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *columns, *oldColumn = NULL, *field = NULL, *definition = NULL, *columnSize = NULL, *columnPrecision = NULL, *columnScale = NULL, *columnType = NULL, *columnName, *_0 = NULL, *_1, *_2 = NULL, *_3 = NULL, **_6, *_7 = NULL, *_8 = NULL, *_9, *_10;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -47293,8 +48163,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
@@ -47309,7 +48182,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/oracle.zep", 207);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/oracle.zep", 203);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47319,15 +48192,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnSize);
- zephir_array_fetch_long(&columnSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 106 TSRMLS_CC);
+ zephir_array_fetch_long(&columnSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 102 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnPrecision);
- zephir_array_fetch_long(&columnPrecision, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 107 TSRMLS_CC);
+ zephir_array_fetch_long(&columnPrecision, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 103 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnScale);
- zephir_array_fetch_long(&columnScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 108 TSRMLS_CC);
+ zephir_array_fetch_long(&columnScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 104 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 109 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/oracle.zep", 105 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("NUMBER"), "phalcon/db/adapter/pdo/oracle.zep", 116)) {
+ if (zephir_memnstr_str(columnType, SL("NUMBER"), "phalcon/db/adapter/pdo/oracle.zep", 112)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 3);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47339,7 +48212,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("INTEGER"), "phalcon/db/adapter/pdo/oracle.zep", 125)) {
+ if (zephir_memnstr_str(columnType, SL("INTEGER"), "phalcon/db/adapter/pdo/oracle.zep", 121)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47350,14 +48223,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("VARCHAR2"), "phalcon/db/adapter/pdo/oracle.zep", 133)) {
+ if (zephir_memnstr_str(columnType, SL("VARCHAR2"), "phalcon/db/adapter/pdo/oracle.zep", 129)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &columnSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("FLOAT"), "phalcon/db/adapter/pdo/oracle.zep", 139)) {
+ if (zephir_memnstr_str(columnType, SL("FLOAT"), "phalcon/db/adapter/pdo/oracle.zep", 135)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47369,31 +48242,31 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("TIMESTAMP"), "phalcon/db/adapter/pdo/oracle.zep", 148)) {
+ if (zephir_memnstr_str(columnType, SL("TIMESTAMP"), "phalcon/db/adapter/pdo/oracle.zep", 144)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("RAW"), "phalcon/db/adapter/pdo/oracle.zep", 153)) {
+ if (zephir_memnstr_str(columnType, SL("RAW"), "phalcon/db/adapter/pdo/oracle.zep", 149)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("BLOB"), "phalcon/db/adapter/pdo/oracle.zep", 158)) {
+ if (zephir_memnstr_str(columnType, SL("BLOB"), "phalcon/db/adapter/pdo/oracle.zep", 154)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("CLOB"), "phalcon/db/adapter/pdo/oracle.zep", 163)) {
+ if (zephir_memnstr_str(columnType, SL("CLOB"), "phalcon/db/adapter/pdo/oracle.zep", 159)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("CHAR"), "phalcon/db/adapter/pdo/oracle.zep", 168)) {
+ if (zephir_memnstr_str(columnType, SL("CHAR"), "phalcon/db/adapter/pdo/oracle.zep", 164)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47410,20 +48283,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_9, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 187 TSRMLS_CC);
+ zephir_array_fetch_long(&_9, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 183 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_9, "P")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 194 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 190 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "N")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 198 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 194 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_8);
object_init_ex(_8, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_11, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/oracle.zep", 203);
+ zephir_array_append(&columns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/oracle.zep", 199);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47433,13 +48306,17 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, describeColumns) {
static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, lastInsertId) {
int ZEPHIR_LAST_CALL_STATUS;
- zval *sequenceName = NULL, *_0 = NULL, *_1, *_2, *_3;
+ zval *sequenceName_param = NULL, *_0 = NULL, *_2, *_3;
+ zval *sequenceName = NULL, *_1;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &sequenceName);
+ zephir_fetch_params(1, 0, 1, &sequenceName_param);
- if (!sequenceName) {
- sequenceName = ZEPHIR_GLOBAL(global_null);
+ if (!sequenceName_param) {
+ ZEPHIR_INIT_VAR(sequenceName);
+ ZVAL_EMPTY_STRING(sequenceName);
+ } else {
+ zephir_get_strval(sequenceName, sequenceName_param);
}
@@ -47449,7 +48326,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, lastInsertId) {
ZVAL_LONG(_2, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _1, _2);
zephir_check_call_status();
- zephir_array_fetch_long(&_3, _0, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 230 TSRMLS_CC);
+ zephir_array_fetch_long(&_3, _0, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/oracle.zep", 223 TSRMLS_CC);
RETURN_CTOR(_3);
}
@@ -47598,7 +48475,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/postgresql.zep", 295);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/postgresql.zep", 291);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47608,15 +48485,15 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 119 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 1, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 115 TSRMLS_CC);
ZEPHIR_OBS_NVAR(charSize);
- zephir_array_fetch_long(&charSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 120 TSRMLS_CC);
+ zephir_array_fetch_long(&charSize, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 116 TSRMLS_CC);
ZEPHIR_OBS_NVAR(numericSize);
- zephir_array_fetch_long(&numericSize, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 121 TSRMLS_CC);
+ zephir_array_fetch_long(&numericSize, field, 3, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 117 TSRMLS_CC);
ZEPHIR_OBS_NVAR(numericScale);
- zephir_array_fetch_long(&numericScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 122 TSRMLS_CC);
+ zephir_array_fetch_long(&numericScale, field, 4, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 118 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("smallint(1)"), "phalcon/db/adapter/pdo/postgresql.zep", 129)) {
+ if (zephir_memnstr_str(columnType, SL("smallint(1)"), "phalcon/db/adapter/pdo/postgresql.zep", 125)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 8);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47625,7 +48502,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/postgresql.zep", 138)) {
+ if (zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/postgresql.zep", 134)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 0);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47636,14 +48513,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("varying"), "phalcon/db/adapter/pdo/postgresql.zep", 149)) {
+ if (zephir_memnstr_str(columnType, SL("varying"), "phalcon/db/adapter/pdo/postgresql.zep", 145)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/postgresql.zep", 158)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/postgresql.zep", 154)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47652,7 +48529,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("size"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("numeric"), "phalcon/db/adapter/pdo/postgresql.zep", 167)) {
+ if (zephir_memnstr_str(columnType, SL("numeric"), "phalcon/db/adapter/pdo/postgresql.zep", 163)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47664,14 +48541,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/postgresql.zep", 179)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/postgresql.zep", 175)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/postgresql.zep", 188)) {
+ if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/postgresql.zep", 184)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47680,14 +48557,14 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("size"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/postgresql.zep", 197)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/postgresql.zep", 193)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
zephir_array_update_string(&definition, SL("size"), &charSize, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/postgresql.zep", 206)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/postgresql.zep", 202)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47698,7 +48575,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_8, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("bool"), "phalcon/db/adapter/pdo/postgresql.zep", 217)) {
+ if (zephir_memnstr_str(columnType, SL("bool"), "phalcon/db/adapter/pdo/postgresql.zep", 213)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 8);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47710,7 +48587,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("uuid"), "phalcon/db/adapter/pdo/postgresql.zep", 227)) {
+ if (zephir_memnstr_str(columnType, SL("uuid"), "phalcon/db/adapter/pdo/postgresql.zep", 223)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47724,7 +48601,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/postgresql.zep", 243)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/postgresql.zep", 239)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -47732,22 +48609,22 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 6, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 255 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_10, "PRI")) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_11, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&_11, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 262 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_11, "NO")) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 7, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 273 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 7, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 269 TSRMLS_CC);
if (ZEPHIR_IS_STRING(_12, "auto_increment")) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
ZEPHIR_OBS_NVAR(_13);
- zephir_array_fetch_long(&_13, field, 9, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 280 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 9, PH_NOISY, "phalcon/db/adapter/pdo/postgresql.zep", 276 TSRMLS_CC);
if (Z_TYPE_P(_13) != IS_NULL) {
- zephir_array_fetch_long(&_14, field, 9, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 281 TSRMLS_CC);
+ zephir_array_fetch_long(&_14, field, 9, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 277 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_8);
ZVAL_STRING(_8, "/^'|'?::[[:alnum:][:space:]]+$/", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_9);
@@ -47757,7 +48634,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_check_temp_parameter(_9);
zephir_check_call_status();
zephir_array_update_string(&definition, SL("default"), &_15, PH_COPY | PH_SEPARATE);
- zephir_array_fetch_string(&_17, definition, SL("default"), PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 282 TSRMLS_CC);
+ zephir_array_fetch_string(&_17, definition, SL("default"), PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 278 TSRMLS_CC);
ZEPHIR_SINIT_NVAR(_18);
ZVAL_STRING(&_18, "null", 0);
ZEPHIR_CALL_FUNCTION(&_19, "strcasecmp", &_20, _17, &_18);
@@ -47766,12 +48643,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) {
zephir_array_update_string(&definition, SL("default"), &ZEPHIR_GLOBAL(global_null), PH_COPY | PH_SEPARATE);
}
}
- zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 290 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 0, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/postgresql.zep", 286 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_21, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/postgresql.zep", 291);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/postgresql.zep", 287);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -47857,12 +48734,11 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, connect) {
ZEPHIR_OBS_NVAR(descriptor);
zephir_read_property_this(&descriptor, this_ptr, SL("_descriptor"), PH_NOISY_CC);
}
- if (!(zephir_array_isset_string(descriptor, SS("dbname")))) {
+ ZEPHIR_OBS_VAR(dbname);
+ if (!(zephir_array_isset_string_fetch(&dbname, descriptor, SS("dbname"), 0 TSRMLS_CC))) {
ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "dbname must be specified", "phalcon/db/adapter/pdo/sqlite.zep", 69);
return;
}
- ZEPHIR_OBS_VAR(dbname);
- zephir_array_isset_string_fetch(&dbname, descriptor, SS("dbname"), 0 TSRMLS_CC);
zephir_array_update_string(&descriptor, SL("dsn"), &dbname, PH_COPY | PH_SEPARATE);
ZEPHIR_CALL_PARENT(NULL, phalcon_db_adapter_pdo_sqlite_ce, this_ptr, "connect", &_0, descriptor);
zephir_check_call_status();
@@ -47906,7 +48782,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 286);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 280);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -47916,9 +48792,9 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_create_array(definition, 1, 0 TSRMLS_CC);
add_assoc_long_ex(definition, SS("bindType"), 2);
ZEPHIR_OBS_NVAR(columnType);
- zephir_array_fetch_long(&columnType, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 113 TSRMLS_CC);
+ zephir_array_fetch_long(&columnType, field, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 107 TSRMLS_CC);
while (1) {
- if (zephir_memnstr_str(columnType, SL("tinyint(1)"), "phalcon/db/adapter/pdo/sqlite.zep", 120)) {
+ if (zephir_memnstr_str(columnType, SL("tinyint(1)"), "phalcon/db/adapter/pdo/sqlite.zep", 114)) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_LONG(_3, 8);
zephir_array_update_string(&definition, SL("type"), &_3, PH_COPY | PH_SEPARATE);
@@ -47929,9 +48805,9 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZVAL_STRING(columnType, "boolean", 1);
break;
}
- _8 = zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/sqlite.zep", 130);
+ _8 = zephir_memnstr_str(columnType, SL("int"), "phalcon/db/adapter/pdo/sqlite.zep", 124);
if (!(_8)) {
- _8 = zephir_memnstr_str(columnType, SL("INT"), "phalcon/db/adapter/pdo/sqlite.zep", 130);
+ _8 = zephir_memnstr_str(columnType, SL("INT"), "phalcon/db/adapter/pdo/sqlite.zep", 124);
}
if (_8) {
ZEPHIR_INIT_NVAR(_7);
@@ -47941,31 +48817,31 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
ZEPHIR_INIT_NVAR(_9);
ZVAL_LONG(_9, 1);
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 136 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 130 TSRMLS_CC);
if (zephir_is_true(_10)) {
zephir_array_update_string(&definition, SL("autoIncrement"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
break;
}
- if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/sqlite.zep", 145)) {
+ if (zephir_memnstr_str(columnType, SL("varchar"), "phalcon/db/adapter/pdo/sqlite.zep", 139)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 2);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/sqlite.zep", 153)) {
+ if (zephir_memnstr_str(columnType, SL("date"), "phalcon/db/adapter/pdo/sqlite.zep", 147)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/sqlite.zep", 161)) {
+ if (zephir_memnstr_str(columnType, SL("timestamp"), "phalcon/db/adapter/pdo/sqlite.zep", 155)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 1);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/sqlite.zep", 169)) {
+ if (zephir_memnstr_str(columnType, SL("decimal"), "phalcon/db/adapter/pdo/sqlite.zep", 163)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 3);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -47975,25 +48851,25 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/sqlite.zep", 179)) {
+ if (zephir_memnstr_str(columnType, SL("char"), "phalcon/db/adapter/pdo/sqlite.zep", 173)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/sqlite.zep", 187)) {
+ if (zephir_memnstr_str(columnType, SL("datetime"), "phalcon/db/adapter/pdo/sqlite.zep", 181)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 4);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/sqlite.zep", 195)) {
+ if (zephir_memnstr_str(columnType, SL("text"), "phalcon/db/adapter/pdo/sqlite.zep", 189)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 6);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/sqlite.zep", 203)) {
+ if (zephir_memnstr_str(columnType, SL("float"), "phalcon/db/adapter/pdo/sqlite.zep", 197)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 7);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -48003,7 +48879,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("bindType"), &_9, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/sqlite.zep", 213)) {
+ if (zephir_memnstr_str(columnType, SL("enum"), "phalcon/db/adapter/pdo/sqlite.zep", 207)) {
ZEPHIR_INIT_NVAR(_7);
ZVAL_LONG(_7, 5);
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
@@ -48014,7 +48890,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_array_update_string(&definition, SL("type"), &_7, PH_COPY | PH_SEPARATE);
break;
}
- if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/sqlite.zep", 228)) {
+ if (zephir_memnstr_str(columnType, SL("("), "phalcon/db/adapter/pdo/sqlite.zep", 222)) {
ZEPHIR_INIT_NVAR(matches);
ZVAL_NULL(matches);
ZEPHIR_INIT_NVAR(_9);
@@ -48034,7 +48910,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
}
}
}
- if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/sqlite.zep", 243)) {
+ if (zephir_memnstr_str(columnType, SL("unsigned"), "phalcon/db/adapter/pdo/sqlite.zep", 237)) {
zephir_array_update_string(&definition, SL("unsigned"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
if (Z_TYPE_P(oldColumn) == IS_NULL) {
@@ -48042,26 +48918,26 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
} else {
zephir_array_update_string(&definition, SL("after"), &oldColumn, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 259 TSRMLS_CC);
+ zephir_array_fetch_long(&_10, field, 5, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 253 TSRMLS_CC);
if (zephir_is_true(_10)) {
zephir_array_update_string(&definition, SL("primary"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_12, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 266 TSRMLS_CC);
+ zephir_array_fetch_long(&_12, field, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 260 TSRMLS_CC);
if (zephir_is_true(_12)) {
zephir_array_update_string(&definition, SL("notNull"), &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&_13, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 274 TSRMLS_CC);
+ zephir_array_fetch_long(&_13, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 268 TSRMLS_CC);
ZEPHIR_SINIT_NVAR(_14);
ZVAL_STRING(&_14, "null", 0);
ZEPHIR_CALL_FUNCTION(&_15, "strcasecmp", &_16, _13, &_14);
zephir_check_call_status();
_8 = !ZEPHIR_IS_LONG(_15, 0);
if (_8) {
- zephir_array_fetch_long(&_17, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 274 TSRMLS_CC);
+ zephir_array_fetch_long(&_17, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 268 TSRMLS_CC);
_8 = !ZEPHIR_IS_STRING(_17, "");
}
if (_8) {
- zephir_array_fetch_long(&_18, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 275 TSRMLS_CC);
+ zephir_array_fetch_long(&_18, field, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 269 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
ZVAL_STRING(_7, "/^'|'$/", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_9);
@@ -48072,12 +48948,12 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeColumns) {
zephir_check_call_status();
zephir_array_update_string(&definition, SL("default"), &_19, PH_COPY | PH_SEPARATE);
}
- zephir_array_fetch_long(&columnName, field, 1, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 281 TSRMLS_CC);
+ zephir_array_fetch_long(&columnName, field, 1, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 275 TSRMLS_CC);
ZEPHIR_INIT_NVAR(_7);
object_init_ex(_7, phalcon_db_column_ce);
ZEPHIR_CALL_METHOD(NULL, _7, "__construct", &_21, columnName, definition);
zephir_check_call_status();
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 282);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 276);
ZEPHIR_CPY_WRT(oldColumn, columnName);
}
RETURN_CCTOR(columns);
@@ -48109,20 +48985,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeIndexes) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 318);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 312);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
) {
ZEPHIR_GET_HVALUE(index, _6);
ZEPHIR_OBS_NVAR(keyName);
- zephir_array_fetch_long(&keyName, index, 1, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 304 TSRMLS_CC);
+ zephir_array_fetch_long(&keyName, index, 1, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 298 TSRMLS_CC);
if (!(zephir_array_isset(indexes, keyName))) {
ZEPHIR_INIT_NVAR(columns);
array_init(columns);
} else {
ZEPHIR_OBS_NVAR(columns);
- zephir_array_fetch(&columns, indexes, keyName, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 308 TSRMLS_CC);
+ zephir_array_fetch(&columns, indexes, keyName, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 302 TSRMLS_CC);
}
_8 = zephir_fetch_nproperty_this(this_ptr, SL("_dialect"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(&_9, _8, "describeindex", NULL, keyName);
@@ -48131,20 +49007,20 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeIndexes) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_7, this_ptr, "fetchall", &_10, _9, _3);
zephir_check_call_status();
- zephir_is_iterable(_7, &_12, &_11, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 315);
+ zephir_is_iterable(_7, &_12, &_11, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 309);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
) {
ZEPHIR_GET_HVALUE(describe_index, _13);
- zephir_array_fetch_long(&_14, describe_index, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 312 TSRMLS_CC);
- zephir_array_append(&columns, _14, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 312);
+ zephir_array_fetch_long(&_14, describe_index, 2, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 306 TSRMLS_CC);
+ zephir_array_append(&columns, _14, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 306);
}
zephir_array_update_zval(&indexes, keyName, &columns, PH_COPY | PH_SEPARATE);
}
ZEPHIR_INIT_VAR(indexObjects);
array_init(indexObjects);
- zephir_is_iterable(indexes, &_16, &_15, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 323);
+ zephir_is_iterable(indexes, &_16, &_15, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 317);
for (
; zephir_hash_get_current_data_ex(_16, (void**) &_17, &_15) == SUCCESS
; zephir_hash_move_forward_ex(_16, &_15)
@@ -48187,7 +49063,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZVAL_LONG(_3, 3);
ZEPHIR_CALL_METHOD(&_0, this_ptr, "fetchall", NULL, _2, _3);
zephir_check_call_status();
- zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 368);
+ zephir_is_iterable(_0, &_5, &_4, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 362);
for (
; zephir_hash_get_current_data_ex(_5, (void**) &_6, &_4) == SUCCESS
; zephir_hash_move_forward_ex(_5, &_4)
@@ -48200,29 +49076,29 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZEPHIR_INIT_NVAR(referencedSchema);
ZVAL_NULL(referencedSchema);
ZEPHIR_OBS_NVAR(referencedTable);
- zephir_array_fetch_long(&referencedTable, reference, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
+ zephir_array_fetch_long(&referencedTable, reference, 2, PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 341 TSRMLS_CC);
ZEPHIR_INIT_NVAR(columns);
array_init(columns);
ZEPHIR_INIT_NVAR(referencedColumns);
array_init(referencedColumns);
} else {
- zephir_array_fetch(&_7, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
+ zephir_array_fetch(&_7, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 345 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedSchema);
- zephir_array_fetch_string(&referencedSchema, _7, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
- zephir_array_fetch(&_8, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedSchema, _7, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 345 TSRMLS_CC);
+ zephir_array_fetch(&_8, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 346 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedTable);
- zephir_array_fetch_string(&referencedTable, _8, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
- zephir_array_fetch(&_9, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 353 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedTable, _8, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 346 TSRMLS_CC);
+ zephir_array_fetch(&_9, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
ZEPHIR_OBS_NVAR(columns);
- zephir_array_fetch_string(&columns, _9, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 353 TSRMLS_CC);
- zephir_array_fetch(&_10, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 354 TSRMLS_CC);
+ zephir_array_fetch_string(&columns, _9, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 347 TSRMLS_CC);
+ zephir_array_fetch(&_10, references, constraintName, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 348 TSRMLS_CC);
ZEPHIR_OBS_NVAR(referencedColumns);
- zephir_array_fetch_string(&referencedColumns, _10, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 354 TSRMLS_CC);
+ zephir_array_fetch_string(&referencedColumns, _10, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 348 TSRMLS_CC);
}
- zephir_array_fetch_long(&_7, reference, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 357 TSRMLS_CC);
- zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 357);
- zephir_array_fetch_long(&_8, reference, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 358 TSRMLS_CC);
- zephir_array_append(&referencedColumns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 358);
+ zephir_array_fetch_long(&_7, reference, 3, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 351 TSRMLS_CC);
+ zephir_array_append(&columns, _7, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 351);
+ zephir_array_fetch_long(&_8, reference, 4, PH_NOISY | PH_READONLY, "phalcon/db/adapter/pdo/sqlite.zep", 352 TSRMLS_CC);
+ zephir_array_append(&referencedColumns, _8, PH_SEPARATE, "phalcon/db/adapter/pdo/sqlite.zep", 352);
ZEPHIR_INIT_NVAR(_11);
zephir_create_array(_11, 4, 0 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedSchema"), &referencedSchema, PH_COPY | PH_SEPARATE);
@@ -48233,7 +49109,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
}
ZEPHIR_INIT_VAR(referenceObjects);
array_init(referenceObjects);
- zephir_is_iterable(references, &_13, &_12, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 378);
+ zephir_is_iterable(references, &_13, &_12, 0, 0, "phalcon/db/adapter/pdo/sqlite.zep", 372);
for (
; zephir_hash_get_current_data_ex(_13, (void**) &_14, &_12) == SUCCESS
; zephir_hash_move_forward_ex(_13, &_12)
@@ -48245,16 +49121,16 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Sqlite, describeReferences) {
ZEPHIR_INIT_NVAR(_11);
zephir_create_array(_11, 4, 0 TSRMLS_CC);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 371 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedSchema"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 365 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedSchema"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 372 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedTable"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 366 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedTable"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 373 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("columns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 367 TSRMLS_CC);
zephir_array_update_string(&_11, SL("columns"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_OBS_NVAR(_15);
- zephir_array_fetch_string(&_15, arrayReference, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 375 TSRMLS_CC);
+ zephir_array_fetch_string(&_15, arrayReference, SL("referencedColumns"), PH_NOISY, "phalcon/db/adapter/pdo/sqlite.zep", 369 TSRMLS_CC);
zephir_array_update_string(&_11, SL("referencedColumns"), &_15, PH_COPY | PH_SEPARATE);
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", &_16, name, _11);
zephir_check_call_status();
@@ -48291,7 +49167,6 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_MySQL) {
zend_declare_property_string(phalcon_db_dialect_mysql_ce, SL("_escapeChar"), "`", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_mysql_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
@@ -48660,7 +49535,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropColumn) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
- zephir_get_strval(columnName, columnName_param);
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -48816,8 +49701,28 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addPrimaryKey) {
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zephir_get_strval(tableName, tableName_param);
- zephir_get_strval(schemaName, schemaName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -48976,11 +49881,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, addForeignKey) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName, *sql = NULL;
- zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL, *sql = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49004,6 +49909,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
ZEPHIR_INIT_VAR(sql);
@@ -49021,58 +49937,6 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropForeignKey) {
}
-static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions) {
-
- zval *definition, *options, *engine, *autoIncrement, *tableCollation, *collationParts, *tableOptions, *_0 = NULL, *_1, *_2;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &definition);
-
-
-
- ZEPHIR_OBS_VAR(options);
- if (zephir_array_isset_string_fetch(&options, definition, SS("options"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_VAR(tableOptions);
- array_init(tableOptions);
- ZEPHIR_OBS_VAR(engine);
- if (zephir_array_isset_string_fetch(&engine, options, SS("ENGINE"), 0 TSRMLS_CC)) {
- if (zephir_is_true(engine)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SV(_0, "ENGINE=", engine);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 382);
- }
- }
- ZEPHIR_OBS_VAR(autoIncrement);
- if (zephir_array_isset_string_fetch(&autoIncrement, options, SS("AUTO_INCREMENT"), 0 TSRMLS_CC)) {
- if (zephir_is_true(autoIncrement)) {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SV(_0, "AUTO_INCREMENT=", autoIncrement);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 391);
- }
- }
- ZEPHIR_OBS_VAR(tableCollation);
- if (zephir_array_isset_string_fetch(&tableCollation, options, SS("TABLE_COLLATION"), 0 TSRMLS_CC)) {
- if (zephir_is_true(tableCollation)) {
- ZEPHIR_INIT_VAR(collationParts);
- zephir_fast_explode_str(collationParts, SL("_"), tableCollation, LONG_MAX TSRMLS_CC);
- zephir_array_fetch_long(&_1, collationParts, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/mysql.zep", 401 TSRMLS_CC);
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SV(_0, "DEFAULT CHARSET=", _1);
- zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 401);
- ZEPHIR_INIT_VAR(_2);
- ZEPHIR_CONCAT_SV(_2, "COLLATE=", tableCollation);
- zephir_array_append(&tableOptions, _2, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 402);
- }
- }
- if (zephir_fast_count_int(tableOptions TSRMLS_CC)) {
- zephir_fast_join_str(return_value, SL(" "), tableOptions TSRMLS_CC);
- RETURN_MM();
- }
- }
- RETURN_MM_STRING("", 1);
-
-}
-
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
zephir_nts_static zephir_fcall_cache_entry *_9 = NULL, *_14 = NULL;
@@ -49115,7 +49979,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_OBS_VAR(columns);
if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect/mysql.zep", 425);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect/mysql.zep", 368);
return;
}
ZEPHIR_INIT_VAR(table);
@@ -49143,7 +50007,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
}
ZEPHIR_INIT_VAR(createLines);
array_init(createLines);
- zephir_is_iterable(columns, &_2, &_1, 0, 0, "phalcon/db/dialect/mysql.zep", 488);
+ zephir_is_iterable(columns, &_2, &_1, 0, 0, "phalcon/db/dialect/mysql.zep", 431);
for (
; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS
; zephir_hash_move_forward_ex(_2, &_1)
@@ -49181,11 +50045,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
if (zephir_is_true(_8)) {
zephir_concat_self_str(&columnLine, SL(" PRIMARY KEY") TSRMLS_CC);
}
- zephir_array_append(&createLines, columnLine, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 482);
+ zephir_array_append(&createLines, columnLine, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 425);
}
ZEPHIR_OBS_VAR(indexes);
if (zephir_array_isset_string_fetch(&indexes, definition, SS("indexes"), 0 TSRMLS_CC)) {
- zephir_is_iterable(indexes, &_12, &_11, 0, 0, "phalcon/db/dialect/mysql.zep", 510);
+ zephir_is_iterable(indexes, &_12, &_11, 0, 0, "phalcon/db/dialect/mysql.zep", 453);
for (
; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
; zephir_hash_move_forward_ex(_12, &_11)
@@ -49218,12 +50082,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_CONCAT_SVSVS(indexSql, "KEY `", indexName, "` (", _15, ")");
}
}
- zephir_array_append(&createLines, indexSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 508);
+ zephir_array_append(&createLines, indexSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 451);
}
}
ZEPHIR_OBS_VAR(references);
if (zephir_array_isset_string_fetch(&references, definition, SS("references"), 0 TSRMLS_CC)) {
- zephir_is_iterable(references, &_18, &_17, 0, 0, "phalcon/db/dialect/mysql.zep", 532);
+ zephir_is_iterable(references, &_18, &_17, 0, 0, "phalcon/db/dialect/mysql.zep", 475);
for (
; zephir_hash_get_current_data_ex(_18, (void**) &_19, &_17) == SUCCESS
; zephir_hash_move_forward_ex(_18, &_17)
@@ -49257,7 +50121,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
ZEPHIR_CONCAT_SV(_21, " ON UPDATE ", onUpdate);
zephir_concat_self(&referenceSql, _21 TSRMLS_CC);
}
- zephir_array_append(&createLines, referenceSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 530);
+ zephir_array_append(&createLines, referenceSql, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 473);
}
}
ZEPHIR_INIT_VAR(_22);
@@ -49278,11 +50142,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createTable) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists = NULL, *sql, *table = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *table = NULL;
zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists);
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49295,19 +50160,21 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
@@ -49322,7 +50189,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
ZEPHIR_CPY_WRT(table, _0);
}
ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
+ if (ifExists) {
ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
} else {
ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
@@ -49333,11 +50200,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropTable) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createView) {
- zval *viewName_param = NULL, *definition, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql;
zval *viewName = NULL, *schemaName = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName_param, &definition, &schemaName_param);
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49350,22 +50218,19 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, createView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ definition = definition_param;
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
ZEPHIR_OBS_VAR(viewSql);
if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/mysql.zep", 582);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/mysql.zep", 515);
return;
}
ZEPHIR_INIT_VAR(view);
@@ -49390,7 +50255,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName_param, &schemaName_param, &ifExists_param);
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49403,21 +50268,21 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
if (!ifExists_param) {
ifExists = 1;
} else {
- ifExists = zephir_get_boolval(ifExists_param);
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
@@ -49440,11 +50305,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, dropView) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
- zval *tableName_param = NULL, *schemaName = NULL;
- zval *tableName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -49457,12 +50322,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SELECT IF(COUNT(*)>0, 1 , 0) FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`= '", tableName, "' AND `TABLE_SCHEMA` = '", schemaName, "'");
RETURN_MM();
}
@@ -49473,11 +50341,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableExists) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
- zval *viewName_param = NULL, *schemaName = NULL;
- zval *viewName = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -49490,12 +50358,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SELECT IF(COUNT(*)>0, 1 , 0) FROM `INFORMATION_SCHEMA`.`VIEWS` WHERE `TABLE_NAME`= '", viewName, "' AND `TABLE_SCHEMA`='", schemaName, "'");
RETURN_MM();
}
@@ -49506,11 +50377,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, viewExists) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeColumns) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49523,12 +50394,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_SVSVS(return_value, "DESCRIBE `", schema, "`.`", table, "`");
RETURN_MM();
}
@@ -49549,17 +50423,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, listTables) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
} else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
}
@@ -49607,11 +50471,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, listViews) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49624,12 +50488,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_SVSVS(return_value, "SHOW INDEXES FROM `", schema, "`.`", table, "`");
RETURN_MM();
}
@@ -49640,11 +50507,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeIndexes) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
- zval *table_param = NULL, *schema = NULL, *sql, *_0;
- zval *table = NULL, *_1;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49657,21 +50524,24 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
ZEPHIR_INIT_VAR(sql);
ZVAL_STRING(sql, "SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_SCHEMA,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME IS NOT NULL AND ", 1);
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_INIT_VAR(_0);
ZEPHIR_CONCAT_SVSVS(_0, "CONSTRAINT_SCHEMA = '", schema, "' AND TABLE_NAME = '", table, "'");
zephir_concat_self(&sql, _0 TSRMLS_CC);
} else {
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "TABLE_NAME = '", table, "'");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "TABLE_NAME = '", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
}
RETURN_CCTOR(sql);
@@ -49679,11 +50549,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, describeReferences) {
static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
- zval *table_param = NULL, *schema = NULL, *sql;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -49696,14 +50566,17 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
ZEPHIR_INIT_VAR(sql);
ZVAL_STRING(sql, "SELECT TABLES.TABLE_TYPE AS table_type,TABLES.AUTO_INCREMENT AS auto_increment,TABLES.ENGINE AS engine,TABLES.TABLE_COLLATION AS table_collation FROM INFORMATION_SCHEMA.TABLES WHERE ", 1);
- if (zephir_is_true(schema)) {
+ if (schema && Z_STRLEN_P(schema)) {
ZEPHIR_CONCAT_VSVSVS(return_value, sql, "TABLES.TABLE_SCHEMA = '", schema, "' AND TABLES.TABLE_NAME = '", table, "'");
RETURN_MM();
}
@@ -49712,6 +50585,61 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
}
+static PHP_METHOD(Phalcon_Db_Dialect_MySQL, _getTableOptions) {
+
+ zval *definition_param = NULL, *options, *engine, *autoIncrement, *tableCollation, *collationParts, *tableOptions, *_0 = NULL, *_1, *_2;
+ zval *definition = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &definition_param);
+
+ definition = definition_param;
+
+
+
+ ZEPHIR_OBS_VAR(options);
+ if (zephir_array_isset_string_fetch(&options, definition, SS("options"), 0 TSRMLS_CC)) {
+ ZEPHIR_INIT_VAR(tableOptions);
+ array_init(tableOptions);
+ ZEPHIR_OBS_VAR(engine);
+ if (zephir_array_isset_string_fetch(&engine, options, SS("ENGINE"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(engine)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "ENGINE=", engine);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 671);
+ }
+ }
+ ZEPHIR_OBS_VAR(autoIncrement);
+ if (zephir_array_isset_string_fetch(&autoIncrement, options, SS("AUTO_INCREMENT"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(autoIncrement)) {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "AUTO_INCREMENT=", autoIncrement);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 680);
+ }
+ }
+ ZEPHIR_OBS_VAR(tableCollation);
+ if (zephir_array_isset_string_fetch(&tableCollation, options, SS("TABLE_COLLATION"), 0 TSRMLS_CC)) {
+ if (zephir_is_true(tableCollation)) {
+ ZEPHIR_INIT_VAR(collationParts);
+ zephir_fast_explode_str(collationParts, SL("_"), tableCollation, LONG_MAX TSRMLS_CC);
+ zephir_array_fetch_long(&_1, collationParts, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/mysql.zep", 690 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SV(_0, "DEFAULT CHARSET=", _1);
+ zephir_array_append(&tableOptions, _0, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 690);
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "COLLATE=", tableCollation);
+ zephir_array_append(&tableOptions, _2, PH_SEPARATE, "phalcon/db/dialect/mysql.zep", 691);
+ }
+ }
+ if (zephir_fast_count_int(tableOptions TSRMLS_CC)) {
+ zephir_fast_join_str(return_value, SL(" "), tableOptions TSRMLS_CC);
+ RETURN_MM();
+ }
+ }
+ RETURN_MM_STRING("", 1);
+
+}
+
@@ -49728,7 +50656,7 @@ static PHP_METHOD(Phalcon_Db_Dialect_MySQL, tableOptions) {
ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Oracle) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Oracle, phalcon, db_dialect_oracle, phalcon_db_dialect_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Oracle, phalcon, db_dialect_oracle, phalcon_db_dialect_ce, phalcon_db_dialect_oracle_method_entry, 0);
zend_declare_property_string(phalcon_db_dialect_oracle_ce, SL("_escapeChar"), "", ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -49736,550 +50664,1038 @@ ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Oracle) {
}
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, limit) {
+ int limit, offset = 0;
+ zval *sqlQuery_param = NULL, *number, *_0 = NULL, *_1, _2 = zval_used_for_init, *_3, _4 = zval_used_for_init, _6;
+ zval *sqlQuery = NULL, *_5, *_7;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Postgresql) {
+ if (unlikely(Z_TYPE_P(sqlQuery_param) != IS_STRING && Z_TYPE_P(sqlQuery_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlQuery' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Postgresql, phalcon, db_dialect_postgresql, phalcon_db_dialect_ce, phalcon_db_dialect_postgresql_method_entry, 0);
+ if (likely(Z_TYPE_P(sqlQuery_param) == IS_STRING)) {
+ zephir_get_strval(sqlQuery, sqlQuery_param);
+ } else {
+ ZEPHIR_INIT_VAR(sqlQuery);
+ ZVAL_EMPTY_STRING(sqlQuery);
+ }
- zend_declare_property_string(phalcon_db_dialect_postgresql_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_postgresql_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
- return SUCCESS;
+ if (Z_TYPE_P(number) == IS_ARRAY) {
+ if (zephir_array_isset_long(number, 1)) {
+ ZEPHIR_INIT_VAR(_0);
+ zephir_array_fetch_long(&_1, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 51 TSRMLS_CC);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_STRING(&_2, "'", 0);
+ zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ offset = zephir_get_intval(_0);
+ }
+ ZEPHIR_INIT_NVAR(_0);
+ zephir_array_fetch_long(&_1, number, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 54 TSRMLS_CC);
+ ZEPHIR_SINIT_NVAR(_2);
+ ZVAL_STRING(&_2, "'", 0);
+ zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ limit = (zephir_get_intval(_0) + offset);
+ } else {
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_SINIT_VAR(_4);
+ ZVAL_STRING(&_4, "'", 0);
+ zephir_fast_trim(_3, number, &_4, ZEPHIR_TRIM_BOTH TSRMLS_CC);
+ limit = zephir_get_intval(_3);
+ }
+ ZEPHIR_SINIT_NVAR(_4);
+ ZVAL_LONG(&_4, limit);
+ ZEPHIR_INIT_VAR(_5);
+ ZEPHIR_CONCAT_SVSVS(_5, "SELECT * FROM (SELECT Z1.*, ROWNUM PHALCON_RN FROM (", sqlQuery, ") Z1 WHERE ROWNUM <= ", &_4, ")");
+ ZEPHIR_CPY_WRT(sqlQuery, _5);
+ if (offset != 0) {
+ ZEPHIR_SINIT_VAR(_6);
+ ZVAL_LONG(&_6, offset);
+ ZEPHIR_INIT_VAR(_7);
+ ZEPHIR_CONCAT_SV(_7, " WHERE PHALCON_RN >= ", &_6);
+ zephir_concat_self(&sqlQuery, _7 TSRMLS_CC);
+ }
+ RETURN_CTOR(sqlQuery);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, getColumnDefinition) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, getColumnDefinition) {
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
- HashTable *_3;
- HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *column, *size = NULL, *columnType = NULL, *columnSql, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *value = NULL, *valueSql, **_4, _5 = zval_used_for_init, _7 = zval_used_for_init, *_8, *_9 = NULL, *_10 = NULL;
+ zval *column, *columnSql = NULL, *size = NULL, *scale = NULL, *type = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &column);
- ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
+ ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&columnType, column, "gettype", NULL);
+ ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_VAR(columnSql);
- ZVAL_STRING(columnSql, "", 1);
- if (Z_TYPE_P(columnType) == IS_STRING) {
- zephir_concat_self(&columnSql, columnType TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&columnType, column, "gettypereference", NULL);
- zephir_check_call_status();
- }
do {
- if (ZEPHIR_IS_LONG(columnType, 0)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 0)) {
+ ZEPHIR_INIT_VAR(columnSql);
+ ZVAL_STRING(columnSql, "INTEGER", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 1)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 1)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "DATE", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 2)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("CHARACTER VARYING") TSRMLS_CC);
- }
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ if (ZEPHIR_IS_LONG(type, 2)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVS(columnSql, "VARCHAR2(", size, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 3)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_1, column, "getscale", NULL);
+ if (ZEPHIR_IS_LONG(type, 3)) {
+ ZEPHIR_CALL_METHOD(&scale, column, "getscale", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "(", size, ",", _1, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVSVS(columnSql, "NUMBER(", size, ",", scale, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 4)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 4)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TIMESTAMP", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 5)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
- }
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
- zephir_concat_self(&columnSql, _0 TSRMLS_CC);
+ if (ZEPHIR_IS_LONG(type, 5)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVS(columnSql, "CHAR(", size, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 6)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 6)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TEXT", 1);
break;
}
- if (ZEPHIR_IS_LONG(columnType, 7)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 7)) {
+ ZEPHIR_CALL_METHOD(&scale, column, "getscale", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZEPHIR_CONCAT_SVSVS(columnSql, "FLOAT(", size, ",", scale, ")");
break;
}
- if (ZEPHIR_IS_LONG(columnType, 8)) {
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("SMALLINT(1)") TSRMLS_CC);
- }
+ if (ZEPHIR_IS_LONG(type, 8)) {
+ ZEPHIR_INIT_NVAR(columnSql);
+ ZVAL_STRING(columnSql, "TINYINT(1)", 1);
break;
}
- if (ZEPHIR_IS_EMPTY(columnSql)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized PostgreSQL data type", "phalcon/db/dialect/postgresql.zep", 117);
- return;
- }
- ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
- zephir_check_call_status();
- if (!(ZEPHIR_IS_EMPTY(typeValues))) {
- if (Z_TYPE_P(typeValues) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(valueSql);
- ZVAL_STRING(valueSql, "", 1);
- zephir_is_iterable(typeValues, &_3, &_2, 0, 0, "phalcon/db/dialect/postgresql.zep", 128);
- for (
- ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
- ; zephir_hash_move_forward_ex(_3, &_2)
- ) {
- ZEPHIR_GET_HVALUE(value, _4);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_1, "addcslashes", &_6, value, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "\"", _1, "\", ");
- zephir_concat_self(&valueSql, _0 TSRMLS_CC);
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, 0);
- ZEPHIR_SINIT_VAR(_7);
- ZVAL_LONG(&_7, -2);
- ZEPHIR_INIT_VAR(_8);
- zephir_substr(_8, valueSql, 0 , -2 , 0);
- ZEPHIR_INIT_VAR(_9);
- ZEPHIR_CONCAT_SVS(_9, "(", _8, ")");
- zephir_concat_self(&columnSql, _9 TSRMLS_CC);
- } else {
- ZEPHIR_SINIT_NVAR(_7);
- ZVAL_STRING(&_7, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_10, "addcslashes", &_6, typeValues, &_7);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SVS(_9, "(\"", _10, "\")");
- zephir_concat_self(&columnSql, _9 TSRMLS_CC);
- }
- }
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized Oracle data type", "phalcon/db/dialect/oracle.zep", 120);
+ return;
} while(0);
RETURN_CCTOR(columnSql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addColumn) {
-
- zval *tableName, *schemaName, *column;
-
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &column);
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 148);
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, modifyColumn) {
-
- zval *tableName, *schemaName, *column;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &column);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 161);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 131);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropColumn) {
-
- zval *tableName, *schemaName, *columnName;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, modifyColumn) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &columnName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 174);
- return;
-
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addIndex) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- zval *tableName, *schemaName, *index;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &index);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 187);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 139);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropIndex) {
-
- zval *tableName, *schemaName, *indexName;
-
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &indexName);
-
-
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropColumn) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 200);
- return;
-
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addPrimaryKey) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &columnName_param);
- zval *tableName, *schemaName, *index;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &index);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ zephir_get_strval(columnName, columnName_param);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 213);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 147);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey) {
-
- zval *tableName, *schemaName;
-
- zephir_fetch_params(0, 2, 0, &tableName, &schemaName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 225);
- return;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addIndex) {
-}
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addForeignKey) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zval *tableName, *schemaName, *reference;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &reference);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 238);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 155);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropForeignKey) {
-
- zval *tableName, *schemaName, *referenceName;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropIndex) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &referenceName);
-
-
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 251);
- return;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL;
-}
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, _getTableOptions) {
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zval *definition;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 1, 0, &definition);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(indexName_param) != IS_STRING && Z_TYPE_P(indexName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'indexName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(indexName_param) == IS_STRING)) {
+ zephir_get_strval(indexName, indexName_param);
+ } else {
+ ZEPHIR_INIT_VAR(indexName);
+ ZVAL_EMPTY_STRING(indexName);
+ }
- array_init(return_value);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 164);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createTable) {
-
- zval *definition = NULL;
- zval *tableName, *schemaName, *definition_param = NULL;
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addPrimaryKey) {
- zephir_fetch_params(0, 3, 0, &tableName, &schemaName, &definition_param);
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
- definition = definition_param;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
+ zephir_get_strval(tableName, tableName_param);
+ zephir_get_strval(schemaName, schemaName_param);
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 275);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 172);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropPrimaryKey) {
- zval *tableName, *schemaName, *ifExists = NULL, *table = NULL, *sql;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName, &schemaName, &ifExists);
+ zephir_fetch_params(1, 2, 0, &tableName_param, &schemaName_param);
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(table);
- ZEPHIR_CONCAT_VSV(table, schemaName, ".", tableName);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CPY_WRT(table, tableName);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
} else {
- ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- RETURN_CCTOR(sql);
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 180);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, addForeignKey) {
- zval *viewName, *definition, *schemaName, *viewSql, *view = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName, &definition, &schemaName);
-
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &reference);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_OBS_VAR(viewSql);
- if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/postgresql.zep", 316);
- return;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(view);
- ZEPHIR_CONCAT_VSV(view, viewName, ".", schemaName);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
} else {
- ZEPHIR_CPY_WRT(view, viewName);
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
- RETURN_MM();
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 188);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropForeignKey) {
- zval *viewName, *schemaName, *ifExists = NULL, *view = NULL, *sql;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName, &schemaName, &ifExists);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_INIT_VAR(view);
- ZEPHIR_CONCAT_VSV(view, viewName, ".", schemaName);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CPY_WRT(view, viewName);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SV(sql, "DROP VIEW IF EXISTS ", view);
- } else {
- ZEPHIR_CONCAT_SV(sql, "DROP VIEW ", view);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- RETURN_CCTOR(sql);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableExists) {
-
- zval *tableName, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &tableName, &schemaName);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = '", schemaName, "' AND table_name='", tableName, "'");
- return;
- }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = 'public' AND table_name='", tableName, "'");
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 196);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, viewExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createTable) {
- zval *viewName, *schemaName = NULL;
+ zval *definition = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &viewName, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &definition_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "' AND schemaname='", schemaName, "'");
- return;
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "'");
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeColumns) {
-
- zval *table, *schema = NULL;
-
- zephir_fetch_params(0, 1, 1, &table, &schema);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
+ definition = definition_param;
- if (zephir_is_true(schema)) {
- ZEPHIR_CONCAT_SVSVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='", schema, "' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
- return;
- }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='public' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/oracle.zep", 204);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listTables) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropTable) {
- zval *schemaName = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_3 = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *table = NULL, *_0 = NULL, *_1 = NULL, *_4 = NULL, *_5 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 0, 1, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVS(return_value, "SELECT table_name FROM information_schema.tables WHERE table_schema = '", schemaName, "' ORDER BY table_name");
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_1, phalcon_text_ce, "upper", &_2, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", &_3, _1);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_5, phalcon_text_ce, "upper", &_2, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_4, this_ptr, "escape", &_3, _5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(table);
+ ZEPHIR_CONCAT_VSV(table, _0, ".", _4);
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_2, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&table, this_ptr, "escape", &_3, _0);
+ zephir_check_call_status();
+ }
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(return_value, "DROP TABLE IF EXISTS ", table);
+ RETURN_MM();
+ } else {
+ ZEPHIR_CONCAT_SV(return_value, "DROP TABLE ", table);
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, createView) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql, *_0 = NULL, *_2 = NULL, *_3;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ definition = definition_param;
+
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ ZEPHIR_OBS_VAR(viewSql);
+ if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/oracle.zep", 235);
return;
}
- RETURN_STRING("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name", 1);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _0, ".", _2);
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _3);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _0);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listViews) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, dropView) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_4 = NULL;
+ zend_bool ifExists;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *view = NULL, *_0 = NULL, *_2 = NULL, *_3;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_VSV(_3, _0, ".", _2);
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _3);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&view, this_ptr, "escape", &_4, _0);
+ zephir_check_call_status();
+ }
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(return_value, "DROP VIEW IF EXISTS ", view);
+ RETURN_MM();
+ } else {
+ ZEPHIR_CONCAT_SV(return_value, "DROP VIEW ", view);
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, viewExists) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
+
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_VIEWS WHERE VIEW_NAME='", _0, "' AND OWNER='", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, viewName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_VIEWS WHERE VIEW_NAME='", _0, "'");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listViews) {
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *schemaName_param = NULL, *_0 = NULL;
zval *schemaName = NULL;
- zephir_fetch_params(0, 0, 1, &schemaName);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (zephir_is_true(schemaName)) {
- ZEPHIR_CONCAT_SVS(return_value, "SELECT viewname AS view_name FROM pg_views WHERE schemaname = '", schemaName, "' ORDER BY view_name");
- return;
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT VIEW_NAME FROM ALL_VIEWS WHERE OWNER='", _0, "' ORDER BY VIEW_NAME");
+ RETURN_MM();
+ } else {
+ RETURN_MM_STRING("SELECT VIEW_NAME FROM ALL_VIEWS VIEW_NAME", 1);
}
- RETURN_STRING("SELECT viewname AS view_name FROM pg_views WHERE schemaname = 'public' ORDER BY view_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeIndexes) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableExists) {
- zval *table, *schema = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zephir_fetch_params(0, 1, 1, &table, &schema);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
- ZEPHIR_CONCAT_SVS(return_value, "SELECT 0 as c0, t.relname as table_name, i.relname as key_name, 3 as c3, a.attname as column_name FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND a.attnum = ANY(ix.indkey) AND t.relkind = 'r' AND t.relname = '", table, "' ORDER BY t.relname, i.relname;");
- return;
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_TABLES WHERE TABLE_NAME='", _0, "' AND OWNER = '", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, tableName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END RET FROM ALL_TABLES WHERE TABLE_NAME='", _0, "'");
+ RETURN_MM();
+ }
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeReferences) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeColumns) {
- zval *table, *schema = NULL, *sql, *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_INIT_VAR(sql);
- ZVAL_STRING(sql, "SELECT tc.table_name as TABLE_NAME, kcu.column_name as COLUMN_NAME, tc.constraint_name as CONSTRAINT_NAME, tc.table_catalog as REFERENCED_TABLE_SCHEMA, ccu.table_name AS REFERENCED_TABLE_NAME, ccu.column_name AS REFERENCED_COLUMN_NAME FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ", 1);
- if (zephir_is_true(schema)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "tc.table_schema = '", schema, "' AND tc.table_name='", table, "'");
- zephir_concat_self(&sql, _0 TSRMLS_CC);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT TC.COLUMN_NAME, TC.DATA_TYPE, TC.DATA_LENGTH, TC.DATA_PRECISION, TC.DATA_SCALE, TC.NULLABLE, C.CONSTRAINT_TYPE, TC.DATA_DEFAULT, CC.POSITION FROM ALL_TAB_COLUMNS TC LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND CC.OWNER = C.OWNER AND C.CONSTRAINT_TYPE = 'P')) ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME WHERE TC.TABLE_NAME = '", _0, "' AND TC.OWNER = '", _2, "' ORDER BY TC.COLUMN_ID");
+ RETURN_MM();
} else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "tc.table_name='", table, "'");
- zephir_concat_self(&sql, _0 TSRMLS_CC);
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT TC.COLUMN_NAME, TC.DATA_TYPE, TC.DATA_LENGTH, TC.DATA_PRECISION, TC.DATA_SCALE, TC.NULLABLE, C.CONSTRAINT_TYPE, TC.DATA_DEFAULT, CC.POSITION FROM ALL_TAB_COLUMNS TC LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND CC.OWNER = C.OWNER AND C.CONSTRAINT_TYPE = 'P')) ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME WHERE TC.TABLE_NAME = '", _0, "' ORDER BY TC.COLUMN_ID");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, listTables) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *schemaName_param = NULL, *_0 = NULL;
+ zval *schemaName = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
+
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schemaName, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schemaName);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT TABLE_NAME, OWNER FROM ALL_TABLES WHERE OWNER='", _0, "' ORDER BY OWNER, TABLE_NAME");
+ RETURN_MM();
+ } else {
+ RETURN_MM_STRING("SELECT TABLE_NAME, OWNER FROM ALL_TABLES ORDER BY OWNER, TABLE_NAME", 1);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeIndexes) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *_0 = NULL, *_2 = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+
+
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT I.TABLE_NAME, 0 AS C0, I.INDEX_NAME, IC.COLUMN_POSITION, IC.COLUMN_NAME FROM ALL_INDEXES I JOIN ALL_IND_COLUMNS IC ON I.INDEX_NAME = IC.INDEX_NAME WHERE I.TABLE_NAME = '", _0, "' AND IC.INDEX_OWNER = '", _2, "'");
+ RETURN_MM();
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT I.TABLE_NAME, 0 AS C0, I.INDEX_NAME, IC.COLUMN_POSITION, IC.COLUMN_NAME FROM ALL_INDEXES I JOIN ALL_IND_COLUMNS IC ON I.INDEX_NAME = IC.INDEX_NAME WHERE I.TABLE_NAME = '", _0, "'");
+ RETURN_MM();
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeReferences) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql, *_0 = NULL, *_2 = NULL, *_3 = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
+
+
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "SELECT AC.TABLE_NAME, CC.COLUMN_NAME, AC.CONSTRAINT_NAME, AC.R_OWNER, RCC.TABLE_NAME R_TABLE_NAME, RCC.COLUMN_NAME R_COLUMN_NAME FROM ALL_CONSTRAINTS AC JOIN ALL_CONS_COLUMNS CC ON AC.CONSTRAINT_NAME = CC.CONSTRAINT_NAME JOIN ALL_CONS_COLUMNS RCC ON AC.R_OWNER = RCC.OWNER AND AC.R_CONSTRAINT_NAME = RCC.CONSTRAINT_NAME WHERE AC.CONSTRAINT_TYPE='R' ", 1);
+ if (!ZEPHIR_IS_STRING(schema, "")) {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, schema);
+ zephir_check_call_status();
+ ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_SVSVS(_3, "AND AC.OWNER='", _0, "' AND AC.TABLE_NAME = '", _2, "'");
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
+ } else {
+ ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, table);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_3);
+ ZEPHIR_CONCAT_SVS(_3, "AND AC.TABLE_NAME = '", _0, "'");
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, tableOptions) {
- zval *table, *schema = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
- zephir_fetch_params(0, 1, 1, &table, &schema);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- RETURN_STRING("", 1);
+ RETURN_MM_STRING("", 1);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsSavepoints) {
+
+
+ RETURN_BOOL(0);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Oracle, supportsReleaseSavepoints) {
+
+
+ RETURN_BOOL(0);
}
@@ -50297,107 +51713,108 @@ static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Sqlite) {
+ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Postgresql) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Sqlite, phalcon, db_dialect_sqlite, phalcon_db_dialect_ce, phalcon_db_dialect_sqlite_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Postgresql, phalcon, db_dialect_postgresql, phalcon_db_dialect_ce, phalcon_db_dialect_postgresql_method_entry, 0);
- zend_declare_property_string(phalcon_db_dialect_sqlite_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_string(phalcon_db_dialect_postgresql_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_dialect_sqlite_ce TSRMLS_CC, 1, phalcon_db_dialectinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, getColumnDefinition) {
- zephir_nts_static zephir_fcall_cache_entry *_7 = NULL;
- HashTable *_4;
- HashPosition _3;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
+ HashTable *_3;
+ HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *column, *columnSql, *type = NULL, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, *value = NULL, *valueSql, **_5, _6 = zval_used_for_init, _8 = zval_used_for_init, *_9, *_10 = NULL;
+ zval *column, *size = NULL, *columnType = NULL, *columnSql, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *value = NULL, *valueSql, **_4, _5 = zval_used_for_init, _7 = zval_used_for_init, *_8, *_9 = NULL, *_10 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &column);
+ ZEPHIR_CALL_METHOD(&size, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&columnType, column, "gettype", NULL);
+ zephir_check_call_status();
ZEPHIR_INIT_VAR(columnSql);
ZVAL_STRING(columnSql, "", 1);
- ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
- zephir_check_call_status();
- if (Z_TYPE_P(type) == IS_STRING) {
- zephir_concat_self(&columnSql, type TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&type, column, "gettypereference", NULL);
+ if (Z_TYPE_P(columnType) == IS_STRING) {
+ zephir_concat_self(&columnSql, columnType TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&columnType, column, "gettypereference", NULL);
zephir_check_call_status();
}
do {
- if (ZEPHIR_IS_LONG(type, 0)) {
+ if (ZEPHIR_IS_LONG(columnType, 0)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 1)) {
+ if (ZEPHIR_IS_LONG(columnType, 1)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 2)) {
+ if (ZEPHIR_IS_LONG(columnType, 2)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
- zephir_concat_self_str(&columnSql, SL("VARCHAR") TSRMLS_CC);
+ zephir_concat_self_str(&columnSql, SL("CHARACTER VARYING") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 3)) {
+ if (ZEPHIR_IS_LONG(columnType, 3)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2, column, "getscale", NULL);
+ ZEPHIR_CALL_METHOD(&_1, column, "getscale", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVSVS(_1, "(", _0, ",", _2, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "(", size, ",", _1, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 4)) {
+ if (ZEPHIR_IS_LONG(columnType, 4)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 5)) {
+ if (ZEPHIR_IS_LONG(columnType, 5)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
}
- ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
- zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "(", size, ")");
+ zephir_concat_self(&columnSql, _0 TSRMLS_CC);
break;
}
- if (ZEPHIR_IS_LONG(type, 6)) {
+ if (ZEPHIR_IS_LONG(columnType, 6)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
}
break;
}
- if (ZEPHIR_IS_LONG(type, 7)) {
+ if (ZEPHIR_IS_LONG(columnType, 7)) {
if (ZEPHIR_IS_EMPTY(columnSql)) {
zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
}
break;
}
+ if (ZEPHIR_IS_LONG(columnType, 8)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("SMALLINT(1)") TSRMLS_CC);
+ }
+ break;
+ }
if (ZEPHIR_IS_EMPTY(columnSql)) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized SQLite data type", "phalcon/db/dialect/sqlite.zep", 112);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized PostgreSQL data type", "phalcon/db/dialect/postgresql.zep", 117);
return;
}
ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
@@ -50406,37 +51823,37 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
if (Z_TYPE_P(typeValues) == IS_ARRAY) {
ZEPHIR_INIT_VAR(valueSql);
ZVAL_STRING(valueSql, "", 1);
- zephir_is_iterable(typeValues, &_4, &_3, 0, 0, "phalcon/db/dialect/sqlite.zep", 123);
+ zephir_is_iterable(typeValues, &_3, &_2, 0, 0, "phalcon/db/dialect/postgresql.zep", 128);
for (
- ; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
- ; zephir_hash_move_forward_ex(_4, &_3)
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
) {
- ZEPHIR_GET_HVALUE(value, _5);
- ZEPHIR_SINIT_NVAR(_6);
- ZVAL_STRING(&_6, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_0, "addcslashes", &_7, value, &_6);
+ ZEPHIR_GET_HVALUE(value, _4);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_1, "addcslashes", &_6, value, &_5);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_SVS(_1, "\"", _0, "\", ");
- zephir_concat_self(&valueSql, _1 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "\"", _1, "\", ");
+ zephir_concat_self(&valueSql, _0 TSRMLS_CC);
}
- ZEPHIR_SINIT_NVAR(_6);
- ZVAL_LONG(&_6, 0);
- ZEPHIR_SINIT_VAR(_8);
- ZVAL_LONG(&_8, -2);
- ZEPHIR_INIT_VAR(_9);
- zephir_substr(_9, valueSql, 0 , -2 , 0);
- ZEPHIR_INIT_VAR(_10);
- ZEPHIR_CONCAT_SVS(_10, "(", _9, ")");
- zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, 0);
+ ZEPHIR_SINIT_VAR(_7);
+ ZVAL_LONG(&_7, -2);
+ ZEPHIR_INIT_VAR(_8);
+ zephir_substr(_8, valueSql, 0 , -2 , 0);
+ ZEPHIR_INIT_VAR(_9);
+ ZEPHIR_CONCAT_SVS(_9, "(", _8, ")");
+ zephir_concat_self(&columnSql, _9 TSRMLS_CC);
} else {
- ZEPHIR_SINIT_NVAR(_8);
- ZVAL_STRING(&_8, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "addcslashes", &_7, typeValues, &_8);
+ ZEPHIR_SINIT_NVAR(_7);
+ ZVAL_STRING(&_7, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_10, "addcslashes", &_6, typeValues, &_7);
zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_10);
- ZEPHIR_CONCAT_SVS(_10, "(\"", _2, "\")");
- zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SVS(_9, "(\"", _10, "\")");
+ zephir_concat_self(&columnSql, _9 TSRMLS_CC);
}
}
} while(0);
@@ -50445,12 +51862,10 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addColumn) {
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName_param = NULL, *schemaName_param = NULL, *column, *sql = NULL, *defaultValue = NULL, *_1 = NULL, *_2 = NULL, *_3, _4, *_5 = NULL, *_7;
- zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
@@ -50479,49 +51894,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
}
- ZEPHIR_INIT_VAR(sql);
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "ALTER TABLE \"", schemaName, "\".\"", tableName, "\" ADD COLUMN ");
- ZEPHIR_CPY_WRT(sql, _0);
- } else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "ALTER TABLE \"", tableName, "\" ADD COLUMN ");
- ZEPHIR_CPY_WRT(sql, _0);
- }
- ZEPHIR_CALL_METHOD(&_1, column, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getcolumndefinition", NULL, column);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_3);
- ZEPHIR_CONCAT_SVSV(_3, "\"", _1, "\" ", _2);
- zephir_concat_self(&sql, _3 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(&defaultValue, column, "getdefault", NULL);
- zephir_check_call_status();
- if (!(ZEPHIR_IS_EMPTY(defaultValue))) {
- ZEPHIR_SINIT_VAR(_4);
- ZVAL_STRING(&_4, "\"", 0);
- ZEPHIR_CALL_FUNCTION(&_5, "addcslashes", &_6, defaultValue, &_4);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_7);
- ZEPHIR_CONCAT_SVS(_7, " DEFAULT \"", _5, "\"");
- zephir_concat_self(&sql, _7 TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_5, column, "isnotnull", NULL);
- zephir_check_call_status();
- if (zephir_is_true(_5)) {
- zephir_concat_self_str(&sql, SL(" NOT NULL") TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_5, column, "isautoincrement", NULL);
- zephir_check_call_status();
- if (zephir_is_true(_5)) {
- zephir_concat_self_str(&sql, SL(" PRIMARY KEY AUTOINCREMENT") TSRMLS_CC);
- }
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 143);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, modifyColumn) {
zval *tableName_param = NULL, *schemaName_param = NULL, *column;
zval *tableName = NULL, *schemaName = NULL;
@@ -50553,12 +51931,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Altering a DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 169);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 151);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropColumn) {
zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
@@ -50588,19 +51966,27 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
- zephir_get_strval(columnName, columnName_param);
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 177);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 159);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addIndex) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *tableName_param = NULL, *schemaName_param = NULL, *index, *sql, *indexType = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
@@ -50630,42 +52016,15 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
}
- ZEPHIR_CALL_METHOD(&indexType, index, "gettype", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(sql);
- if (!(ZEPHIR_IS_EMPTY(indexType))) {
- ZEPHIR_CONCAT_SVS(sql, "CREATE ", indexType, " INDEX \"");
- } else {
- ZVAL_STRING(sql, "CREATE INDEX \"", 1);
- }
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_CONCAT_VSVSVS(_1, schemaName, "\".\"", _0, "\" ON \"", tableName, "\" (");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- } else {
- ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_VSVS(_1, _0, "\" ON \"", tableName, "\" (");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- }
- ZEPHIR_CALL_METHOD(&_2, index, "getcolumns", NULL);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_3, _2);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_1);
- ZEPHIR_CONCAT_VS(_1, _0, ")");
- zephir_concat_self(&sql, _1 TSRMLS_CC);
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 167);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropIndex) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL, *sql = NULL;
- zval *tableName = NULL, *schemaName = NULL, *indexName = NULL, *_0 = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
@@ -50705,21 +52064,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
}
- ZEPHIR_INIT_VAR(sql);
- if (schemaName && Z_STRLEN_P(schemaName)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_SVSVS(_0, "DROP INDEX \"", schemaName, "\".\"", indexName, "\"");
- ZEPHIR_CPY_WRT(sql, _0);
- } else {
- ZEPHIR_INIT_LNVAR(_0);
- ZEPHIR_CONCAT_SVS(_0, "DROP INDEX \"", indexName, "\"");
- ZEPHIR_CPY_WRT(sql, _0);
- }
- RETURN_CCTOR(sql);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 175);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addPrimaryKey) {
zval *tableName_param = NULL, *schemaName_param = NULL, *index;
zval *tableName = NULL, *schemaName = NULL;
@@ -50727,16 +52077,36 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zephir_get_strval(tableName, tableName_param);
- zephir_get_strval(schemaName, schemaName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 224);
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 183);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropPrimaryKey) {
zval *tableName_param = NULL, *schemaName_param = NULL;
zval *tableName = NULL, *schemaName = NULL;
@@ -50768,12 +52138,12 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Removing a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 232);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 191);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, addForeignKey) {
zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
zval *tableName = NULL, *schemaName = NULL;
@@ -50805,18 +52175,18 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
}
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a foreign key constraint to an existing table is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 240);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 199);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropForeignKey) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName;
- zval *tableName = NULL, *schemaName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -50840,26 +52210,25 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
}
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping a foreign key constraint is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 253);
- return;
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, _getTableOptions) {
-
- zval *definition;
-
- zephir_fetch_params(0, 1, 0, &definition);
-
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
- RETURN_STRING("", 1);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 207);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createTable) {
zval *definition = NULL;
zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
@@ -50894,18 +52263,19 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/sqlite.zep", 272);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/postgresql.zep", 215);
return;
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropTable) {
- zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists = NULL, *sql, *table = NULL;
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *table = NULL, *sql;
zval *tableName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &tableName_param, &schemaName_param, &ifExists);
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -50918,46 +52288,49 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (!ifExists) {
- ifExists = ZEPHIR_GLOBAL(global_true);
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", tableName);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, ".", tableName);
ZEPHIR_CPY_WRT(table, _0);
} else {
ZEPHIR_CPY_WRT(table, tableName);
}
ZEPHIR_INIT_VAR(sql);
- if (zephir_is_true(ifExists)) {
- ZEPHIR_CONCAT_SVS(sql, "DROP TABLE IF EXISTS \"", table, "\"");
+ if (ifExists) {
+ ZEPHIR_CONCAT_SV(sql, "DROP TABLE IF EXISTS ", table);
} else {
- ZEPHIR_CONCAT_SVS(sql, "DROP TABLE \"", table, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP TABLE ", table);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, createView) {
- zval *viewName_param = NULL, *definition, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *viewSql, *view = NULL;
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &viewName_param, &definition, &schemaName_param);
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -50970,44 +52343,41 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ definition = definition_param;
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
ZEPHIR_OBS_VAR(viewSql);
if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/sqlite.zep", 315);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/postgresql.zep", 246);
return;
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CONCAT_VSV(_0, viewName, ".", schemaName);
ZEPHIR_CPY_WRT(view, _0);
} else {
ZEPHIR_CPY_WRT(view, viewName);
}
- ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW \"", view, "\" AS ", viewSql);
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW ", view, " AS ", viewSql);
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, dropView) {
zend_bool ifExists;
- zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *view = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *view = NULL, *sql;
zval *viewName = NULL, *schemaName = NULL, *_0;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &viewName_param, &schemaName_param, &ifExists_param);
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -51020,48 +52390,48 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
+ if (!schemaName_param) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
if (!ifExists_param) {
ifExists = 1;
} else {
- ifExists = zephir_get_boolval(ifExists_param);
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ ifExists = Z_BVAL_P(ifExists_param);
}
if (schemaName && Z_STRLEN_P(schemaName)) {
ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CONCAT_VSV(_0, viewName, ".", schemaName);
ZEPHIR_CPY_WRT(view, _0);
} else {
ZEPHIR_CPY_WRT(view, viewName);
}
ZEPHIR_INIT_VAR(sql);
if (ifExists) {
- ZEPHIR_CONCAT_SVS(sql, "DROP VIEW IF EXISTS \"", view, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP VIEW IF EXISTS ", view);
} else {
- ZEPHIR_CONCAT_SVS(sql, "DROP VIEW \"", view, "\"");
+ ZEPHIR_CONCAT_SV(sql, "DROP VIEW ", view);
}
RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableExists) {
- zval *tableName_param = NULL, *schemaName = NULL;
- zval *tableName = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
@@ -51074,23 +52444,30 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
ZEPHIR_INIT_VAR(tableName);
ZVAL_EMPTY_STRING(tableName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='table' AND tbl_name='", tableName, "'");
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = '", schemaName, "' AND table_name='", tableName, "'");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM information_schema.tables WHERE table_schema = 'public' AND table_name='", tableName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, viewExists) {
- zval *viewName_param = NULL, *schemaName = NULL;
- zval *viewName = NULL;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName);
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
@@ -51103,23 +52480,30 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
ZEPHIR_INIT_VAR(viewName);
ZVAL_EMPTY_STRING(viewName);
}
- if (!schemaName) {
- schemaName = ZEPHIR_GLOBAL(global_null);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='view' AND tbl_name='", viewName, "'");
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "' AND schemaname='", schemaName, "'");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM pg_views WHERE viewname='", viewName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeColumns) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51132,17 +52516,24 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA table_info('", table, "')");
+ if (schema && Z_STRLEN_P(schema)) {
+ ZEPHIR_CONCAT_SVSVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='", schema, "' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
+ RETURN_MM();
+ }
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT DISTINCT c.column_name AS Field, c.data_type AS Type, c.character_maximum_length AS Size, c.numeric_precision AS NumericSize, c.numeric_scale AS NumericScale, c.is_nullable AS Null, CASE WHEN pkc.column_name NOTNULL THEN 'PRI' ELSE '' END AS Key, CASE WHEN c.data_type LIKE '%int%' AND c.column_default LIKE '%nextval%' THEN 'auto_increment' ELSE '' END AS Extra, c.ordinal_position AS Position, c.column_default FROM information_schema.columns c LEFT JOIN ( SELECT kcu.column_name, kcu.table_name, kcu.table_schema FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage kcu on (kcu.constraint_name = tc.constraint_name and kcu.table_name=tc.table_name and kcu.table_schema=tc.table_schema) WHERE tc.constraint_type='PRIMARY KEY') pkc ON (c.column_name=pkc.column_name AND c.table_schema = pkc.table_schema AND c.table_name=pkc.table_name) WHERE c.table_schema='public' AND c.table_name='", table, "' ORDER BY c.ordinal_position");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listTables) {
zval *schemaName_param = NULL;
zval *schemaName = NULL;
@@ -51154,61 +52545,44 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
ZEPHIR_INIT_VAR(schemaName);
ZVAL_EMPTY_STRING(schemaName);
} else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
}
- RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'table' ORDER BY tbl_name", 1);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT table_name FROM information_schema.tables WHERE table_schema = '", schemaName, "' ORDER BY table_name");
+ RETURN_MM();
+ }
+ RETURN_MM_STRING("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listViews) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, listViews) {
- zval *schemaName_param = NULL;
zval *schemaName = NULL;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &schemaName_param);
-
- if (!schemaName_param) {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- } else {
- if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(0, 0, 1, &schemaName);
- if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
- zephir_get_strval(schemaName, schemaName_param);
- } else {
- ZEPHIR_INIT_VAR(schemaName);
- ZVAL_EMPTY_STRING(schemaName);
- }
+ if (!schemaName) {
+ schemaName = ZEPHIR_GLOBAL(global_null);
}
- RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'view' ORDER BY tbl_name", 1);
+ if (zephir_is_true(schemaName)) {
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT viewname AS view_name FROM pg_views WHERE schemaname = '", schemaName, "' ORDER BY view_name");
+ return;
+ }
+ RETURN_STRING("SELECT viewname AS view_name FROM pg_views WHERE schemaname = 'public' ORDER BY view_name", 1);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeIndexes) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51221,49 +52595,26 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
- }
-
-
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_list('", table, "')");
- RETURN_MM();
-
-}
-
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndex) {
-
- zval *index_param = NULL;
- zval *index = NULL;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &index_param);
-
- if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
-
- if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
- zephir_get_strval(index, index_param);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- ZEPHIR_INIT_VAR(index);
- ZVAL_EMPTY_STRING(index);
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_info('", index, "')");
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT 0 as c0, t.relname as table_name, i.relname as key_name, 3 as c3, a.attname as column_name FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND a.attnum = ANY(ix.indkey) AND t.relkind = 'r' AND t.relname = '", table, "' ORDER BY t.relname, i.relname;");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeReferences) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL, *sql;
+ zval *table = NULL, *schema = NULL, *_0 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51276,23 +52627,36 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
+ ZEPHIR_INIT_VAR(sql);
+ ZVAL_STRING(sql, "SELECT tc.table_name as TABLE_NAME, kcu.column_name as COLUMN_NAME, tc.constraint_name as CONSTRAINT_NAME, tc.table_catalog as REFERENCED_TABLE_SCHEMA, ccu.table_name AS REFERENCED_TABLE_NAME, ccu.column_name AS REFERENCED_COLUMN_NAME FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ", 1);
- ZEPHIR_CONCAT_SVS(return_value, "PRAGMA foreign_key_list('", table, "')");
- RETURN_MM();
+ if (schema && Z_STRLEN_P(schema)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "tc.table_schema = '", schema, "' AND tc.table_name='", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "tc.table_name='", table, "'");
+ zephir_concat_self(&sql, _0 TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
+static PHP_METHOD(Phalcon_Db_Dialect_Postgresql, tableOptions) {
- zval *table_param = NULL, *schema = NULL;
- zval *table = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &table_param, &schema);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
@@ -51305,8 +52669,11 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
ZEPHIR_INIT_VAR(table);
ZVAL_EMPTY_STRING(table);
}
- if (!schema) {
- schema = ZEPHIR_GLOBAL(global_null);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
@@ -51328,1225 +52695,1057 @@ static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
-ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler_Item) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Profiler, Item, phalcon, db_profiler_item, phalcon_db_profiler_item_method_entry, 0);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlVariables"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlBindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ZEPHIR_INIT_CLASS(Phalcon_Db_Dialect_Sqlite) {
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_initialTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Db\\Dialect, Sqlite, phalcon, db_dialect_sqlite, phalcon_db_dialect_ce, phalcon_db_dialect_sqlite_method_entry, 0);
- zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_finalTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_string(phalcon_db_dialect_sqlite_ce, SL("_escapeChar"), "\"", ZEND_ACC_PROTECTED TSRMLS_CC);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlStatement) {
-
- zval *sqlStatement;
-
- zephir_fetch_params(0, 1, 0, &sqlStatement);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlStatement) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlStatement");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlVariables) {
-
- zval *sqlVariables;
-
- zephir_fetch_params(0, 1, 0, &sqlVariables);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sqlVariables"), sqlVariables TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlVariables) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlVariables");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlBindTypes) {
-
- zval *sqlBindTypes;
-
- zephir_fetch_params(0, 1, 0, &sqlBindTypes);
-
-
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) {
- zephir_update_property_this(this_ptr, SL("_sqlBindTypes"), sqlBindTypes TSRMLS_CC);
+ zephir_nts_static zephir_fcall_cache_entry *_7 = NULL;
+ HashTable *_4;
+ HashPosition _3;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *column, *columnSql, *type = NULL, *typeValues = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, *value = NULL, *valueSql, **_5, _6 = zval_used_for_init, _8 = zval_used_for_init, *_9, *_10 = NULL;
-}
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &column);
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlBindTypes) {
-
-
- RETURN_MEMBER(this_ptr, "_sqlBindTypes");
-
-}
-
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setInitialTime) {
-
- zval *initialTime;
-
- zephir_fetch_params(0, 1, 0, &initialTime);
+ ZEPHIR_INIT_VAR(columnSql);
+ ZVAL_STRING(columnSql, "", 1);
+ ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL);
+ zephir_check_call_status();
+ if (Z_TYPE_P(type) == IS_STRING) {
+ zephir_concat_self(&columnSql, type TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&type, column, "gettypereference", NULL);
+ zephir_check_call_status();
+ }
+ do {
+ if (ZEPHIR_IS_LONG(type, 0)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("INT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 1)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 2)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("VARCHAR") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 3)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_2, column, "getscale", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVSVS(_1, "(", _0, ",", _2, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 4)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 5)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_0, column, "getsize", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "(", _0, ")");
+ zephir_concat_self(&columnSql, _1 TSRMLS_CC);
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 6)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_LONG(type, 7)) {
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC);
+ }
+ break;
+ }
+ if (ZEPHIR_IS_EMPTY(columnSql)) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Unrecognized SQLite data type", "phalcon/db/dialect/sqlite.zep", 112);
+ return;
+ }
+ ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL);
+ zephir_check_call_status();
+ if (!(ZEPHIR_IS_EMPTY(typeValues))) {
+ if (Z_TYPE_P(typeValues) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(valueSql);
+ ZVAL_STRING(valueSql, "", 1);
+ zephir_is_iterable(typeValues, &_4, &_3, 0, 0, "phalcon/db/dialect/sqlite.zep", 123);
+ for (
+ ; zephir_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS
+ ; zephir_hash_move_forward_ex(_4, &_3)
+ ) {
+ ZEPHIR_GET_HVALUE(value, _5);
+ ZEPHIR_SINIT_NVAR(_6);
+ ZVAL_STRING(&_6, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_0, "addcslashes", &_7, value, &_6);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_SVS(_1, "\"", _0, "\", ");
+ zephir_concat_self(&valueSql, _1 TSRMLS_CC);
+ }
+ ZEPHIR_SINIT_NVAR(_6);
+ ZVAL_LONG(&_6, 0);
+ ZEPHIR_SINIT_VAR(_8);
+ ZVAL_LONG(&_8, -2);
+ ZEPHIR_INIT_VAR(_9);
+ zephir_substr(_9, valueSql, 0 , -2 , 0);
+ ZEPHIR_INIT_VAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "(", _9, ")");
+ zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ } else {
+ ZEPHIR_SINIT_NVAR(_8);
+ ZVAL_STRING(&_8, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "addcslashes", &_7, typeValues, &_8);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_10);
+ ZEPHIR_CONCAT_SVS(_10, "(\"", _2, "\")");
+ zephir_concat_self(&columnSql, _10 TSRMLS_CC);
+ }
+ }
+ } while(0);
- zephir_update_property_this(this_ptr, SL("_initialTime"), initialTime TSRMLS_CC);
+ RETURN_CCTOR(columnSql);
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getInitialTime) {
-
-
- RETURN_MEMBER(this_ptr, "_initialTime");
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addColumn) {
-}
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column, *sql = NULL, *defaultValue = NULL, *_1 = NULL, *_2 = NULL, *_3, _4, *_5 = NULL, *_7;
+ zval *tableName = NULL, *schemaName = NULL, *_0 = NULL;
-static PHP_METHOD(Phalcon_Db_Profiler_Item, setFinalTime) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
- zval *finalTime;
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_fetch_params(0, 1, 0, &finalTime);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- zephir_update_property_this(this_ptr, SL("_finalTime"), finalTime TSRMLS_CC);
+ ZEPHIR_INIT_VAR(sql);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "ALTER TABLE \"", schemaName, "\".\"", tableName, "\" ADD COLUMN ");
+ ZEPHIR_CPY_WRT(sql, _0);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "ALTER TABLE \"", tableName, "\" ADD COLUMN ");
+ ZEPHIR_CPY_WRT(sql, _0);
+ }
+ ZEPHIR_CALL_METHOD(&_1, column, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getcolumndefinition", NULL, column);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_3);
+ ZEPHIR_CONCAT_SVSV(_3, "\"", _1, "\" ", _2);
+ zephir_concat_self(&sql, _3 TSRMLS_CC);
+ ZEPHIR_CALL_METHOD(&defaultValue, column, "getdefault", NULL);
+ zephir_check_call_status();
+ if (!(ZEPHIR_IS_EMPTY(defaultValue))) {
+ ZEPHIR_SINIT_VAR(_4);
+ ZVAL_STRING(&_4, "\"", 0);
+ ZEPHIR_CALL_FUNCTION(&_5, "addcslashes", &_6, defaultValue, &_4);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_7);
+ ZEPHIR_CONCAT_SVS(_7, " DEFAULT \"", _5, "\"");
+ zephir_concat_self(&sql, _7 TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_5, column, "isnotnull", NULL);
+ zephir_check_call_status();
+ if (zephir_is_true(_5)) {
+ zephir_concat_self_str(&sql, SL(" NOT NULL") TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_5, column, "isautoincrement", NULL);
+ zephir_check_call_status();
+ if (zephir_is_true(_5)) {
+ zephir_concat_self_str(&sql, SL(" PRIMARY KEY AUTOINCREMENT") TSRMLS_CC);
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getFinalTime) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, modifyColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *column;
+ zval *tableName = NULL, *schemaName = NULL;
- RETURN_MEMBER(this_ptr, "_finalTime");
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &column);
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Profiler_Item, getTotalElapsedSeconds) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zval *_0, *_1;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_finalTime"), PH_NOISY_CC);
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_initialTime"), PH_NOISY_CC);
- sub_function(return_value, _0, _1 TSRMLS_CC);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Altering a DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 169);
return;
}
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropColumn) {
+ zval *tableName_param = NULL, *schemaName_param = NULL, *columnName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *columnName = NULL;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &columnName_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-#include
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(columnName_param) != IS_STRING && Z_TYPE_P(columnName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'columnName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(columnName_param) == IS_STRING)) {
+ zephir_get_strval(columnName, columnName_param);
+ } else {
+ ZEPHIR_INIT_VAR(columnName);
+ ZVAL_EMPTY_STRING(columnName);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Db_Result_Pdo) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Result, Pdo, phalcon, db_result_pdo, phalcon_db_result_pdo_method_entry, 0);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping DB column is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 177);
+ return;
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_connection"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_result"), ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addIndex) {
- zend_declare_property_long(phalcon_db_result_pdo_ce, SL("_fetchMode"), 4, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index, *sql, *indexType = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_pdoStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindParams"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- zend_declare_property_bool(phalcon_db_result_pdo_ce, SL("_rowCount"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_class_implements(phalcon_db_result_pdo_ce TSRMLS_CC, 1, phalcon_db_resultinterface_ce);
- return SUCCESS;
+ ZEPHIR_CALL_METHOD(&indexType, index, "gettype", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(sql);
+ if (!(ZEPHIR_IS_EMPTY(indexType))) {
+ ZEPHIR_CONCAT_SVS(sql, "CREATE ", indexType, " INDEX \"");
+ } else {
+ ZVAL_STRING(sql, "CREATE INDEX \"", 1);
+ }
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_CONCAT_VSVSVS(_1, schemaName, "\".\"", _0, "\" ON \"", tableName, "\" (");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ } else {
+ ZEPHIR_CALL_METHOD(&_0, index, "getname", NULL);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_VSVS(_1, _0, "\" ON \"", tableName, "\" (");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ }
+ ZEPHIR_CALL_METHOD(&_2, index, "getcolumns", NULL);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "getcolumnlist", &_3, _2);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_1);
+ ZEPHIR_CONCAT_VS(_1, _0, ")");
+ zephir_concat_self(&sql, _1 TSRMLS_CC);
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropIndex) {
- zval *connection, *result, *sqlStatement = NULL, *bindParams = NULL, *bindTypes = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *indexName_param = NULL, *sql = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *indexName = NULL, *_0 = NULL;
- zephir_fetch_params(0, 2, 3, &connection, &result, &sqlStatement, &bindParams, &bindTypes);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &indexName_param);
- if (!sqlStatement) {
- sqlStatement = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (!bindParams) {
- bindParams = ZEPHIR_GLOBAL(global_null);
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (!bindTypes) {
- bindTypes = ZEPHIR_GLOBAL(global_null);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
-
- zephir_update_property_this(this_ptr, SL("_connection"), connection TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_pdoStatement"), result TSRMLS_CC);
- if (Z_TYPE_P(sqlStatement) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
}
- if (Z_TYPE_P(bindParams) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_bindParams"), bindParams TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(indexName_param) != IS_STRING && Z_TYPE_P(indexName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'indexName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(bindTypes) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_bindTypes"), bindTypes TSRMLS_CC);
+
+ if (likely(Z_TYPE_P(indexName_param) == IS_STRING)) {
+ zephir_get_strval(indexName, indexName_param);
+ } else {
+ ZEPHIR_INIT_VAR(indexName);
+ ZVAL_EMPTY_STRING(indexName);
+ }
+
+
+ ZEPHIR_INIT_VAR(sql);
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_SVSVS(_0, "DROP INDEX \"", schemaName, "\".\"", indexName, "\"");
+ ZEPHIR_CPY_WRT(sql, _0);
+ } else {
+ ZEPHIR_INIT_LNVAR(_0);
+ ZEPHIR_CONCAT_SVS(_0, "DROP INDEX \"", indexName, "\"");
+ ZEPHIR_CPY_WRT(sql, _0);
}
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, execute) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addPrimaryKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *index;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &index);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "execute", NULL);
- zephir_check_call_status();
- RETURN_MM();
-
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetch) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
- zephir_check_call_status();
- RETURN_MM();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 224);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchArray) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropPrimaryKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &tableName_param, &schemaName_param);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
- zephir_check_call_status();
- RETURN_MM();
-
-}
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchAll) {
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
- ZEPHIR_MM_GROW();
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_RETURN_CALL_METHOD(_0, "fetchall", NULL);
- zephir_check_call_status();
- RETURN_MM();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Removing a primary key after table has been created is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 232);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, numRows) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, addForeignKey) {
- zend_bool _0;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *sqlStatement, *rowCount = NULL, *connection, *type = NULL, *pdoStatement, *matches, *result = NULL, *row = NULL, *_1, _2, *_3, *_4, *_5, *_6;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *reference;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &reference);
- ZEPHIR_OBS_VAR(rowCount);
- zephir_read_property_this(&rowCount, this_ptr, SL("_rowCount"), PH_NOISY_CC);
- if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
- ZEPHIR_OBS_VAR(connection);
- zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&type, connection, "gettype", NULL);
- zephir_check_call_status();
- _0 = ZEPHIR_IS_STRING(type, "mysql");
- if (!(_0)) {
- _0 = ZEPHIR_IS_STRING(type, "pgsql");
- }
- if (_0) {
- ZEPHIR_OBS_VAR(pdoStatement);
- zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&rowCount, pdoStatement, "rowcount", NULL);
- zephir_check_call_status();
- }
- if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
- ZEPHIR_OBS_VAR(sqlStatement);
- zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
- if (!(zephir_start_with_str(sqlStatement, SL("SELECT COUNT(*) ")))) {
- ZEPHIR_INIT_VAR(matches);
- ZVAL_NULL(matches);
- ZEPHIR_INIT_VAR(_1);
- ZEPHIR_SINIT_VAR(_2);
- ZVAL_STRING(&_2, "/^SELECT\\s+(.*)/i", 0);
- zephir_preg_match(_1, &_2, sqlStatement, matches, 0, 0 , 0 TSRMLS_CC);
- if (zephir_is_true(_1)) {
- zephir_array_fetch_long(&_3, matches, 1, PH_NOISY | PH_READONLY, "phalcon/db/result/pdo.zep", 202 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_4);
- ZEPHIR_CONCAT_SVS(_4, "SELECT COUNT(*) \"numrows\" FROM (SELECT ", _3, ")");
- _5 = zephir_fetch_nproperty_this(this_ptr, SL("_bindParams"), PH_NOISY_CC);
- _6 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&result, connection, "query", NULL, _4, _5, _6);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL);
- zephir_check_call_status();
- ZEPHIR_OBS_NVAR(rowCount);
- zephir_array_fetch_string(&rowCount, row, SL("numrows"), PH_NOISY, "phalcon/db/result/pdo.zep", 204 TSRMLS_CC);
- }
- } else {
- ZEPHIR_INIT_NVAR(rowCount);
- ZVAL_LONG(rowCount, 1);
- }
- }
- zephir_update_property_this(this_ptr, SL("_rowCount"), rowCount TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- RETURN_CCTOR(rowCount);
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+
+
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Adding a foreign key constraint to an existing table is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 240);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, dataSeek) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropForeignKey) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *number_param = NULL, *connection, *pdo = NULL, *sqlStatement, *bindParams, *statement = NULL, *_0 = NULL, *_1;
- long number;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *referenceName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *referenceName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &number_param);
-
- number = zephir_get_intval(number_param);
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &referenceName_param);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- { pdo_stmt_t *stmt; long n;
- ZEPHIR_OBS_VAR(connection);
- zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&pdo, connection, "getinternalhandler", NULL);
- zephir_check_call_status();
- ZEPHIR_OBS_VAR(sqlStatement);
- zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
- ZEPHIR_OBS_VAR(bindParams);
- zephir_read_property_this(&bindParams, this_ptr, SL("_bindParams"), PH_NOISY_CC);
- if (Z_TYPE_P(bindParams) == IS_ARRAY) {
- ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
- zephir_check_call_status();
- if (Z_TYPE_P(statement) == IS_OBJECT) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_0, connection, "executeprepared", NULL, statement, bindParams, _1);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(statement, _0);
- }
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- ZEPHIR_CALL_METHOD(&statement, pdo, "query", NULL, sqlStatement);
- zephir_check_call_status();
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- zephir_update_property_this(this_ptr, SL("_pdoStatement"), statement TSRMLS_CC);
-
-
- stmt = (pdo_stmt_t*) zend_object_store_get_object(statement TSRMLS_CC);
- if (!stmt->dbh) {
- ZEPHIR_MM_RESTORE();
- RETURN_FALSE;
- }
-
- n = -1;
- number--;
- while (n != number) {
- if (!stmt->methods->fetcher(stmt, PDO_FETCH_ORI_NEXT, 0 TSRMLS_CC)) {
- ZEPHIR_MM_RESTORE();
- RETURN_NULL();
- }
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ if (unlikely(Z_TYPE_P(referenceName_param) != IS_STRING && Z_TYPE_P(referenceName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'referenceName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- n++;
- }
+ if (likely(Z_TYPE_P(referenceName_param) == IS_STRING)) {
+ zephir_get_strval(referenceName, referenceName_param);
+ } else {
+ ZEPHIR_INIT_VAR(referenceName);
+ ZVAL_EMPTY_STRING(referenceName);
+ }
- }
-
- ZEPHIR_MM_RESTORE();
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Dropping a foreign key constraint is not supported by SQLite", "phalcon/db/dialect/sqlite.zep", 248);
+ return;
}
-static PHP_METHOD(Phalcon_Db_Result_Pdo, setFetchMode) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) {
- zval *fetchMode_param = NULL, *pdoStatement, *_0 = NULL, *_1;
- int fetchMode, ZEPHIR_LAST_CALL_STATUS;
+ zval *definition = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &fetchMode_param);
-
- fetchMode = zephir_get_intval(fetchMode_param);
-
+ zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &definition_param);
- ZEPHIR_OBS_VAR(pdoStatement);
- zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
- do {
- if (fetchMode == 2) {
- ZEPHIR_INIT_VAR(_0);
- ZVAL_LONG(_0, 4);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 4);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 1) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 2);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 2);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 3) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 3);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 3);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- if (fetchMode == 4) {
- ZEPHIR_INIT_NVAR(_0);
- ZVAL_LONG(_0, 5);
- ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
- zephir_check_call_status();
- ZEPHIR_INIT_ZVAL_NREF(_1);
- ZVAL_LONG(_1, 5);
- zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
- break;
- }
- } while(0);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- ZEPHIR_MM_RESTORE();
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-}
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ definition = definition_param;
-static PHP_METHOD(Phalcon_Db_Result_Pdo, getInternalResult) {
- RETURN_MEMBER(this_ptr, "_pdoStatement");
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Not implemented yet", "phalcon/db/dialect/sqlite.zep", 256);
+ return;
}
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropTable) {
+ zend_bool ifExists;
+ zval *tableName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *table = NULL;
+ zval *tableName = NULL, *schemaName = NULL, *_0;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &tableName_param, &schemaName_param, &ifExists_param);
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-#include
-#include
-#include
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
+ } else {
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
-ZEPHIR_INIT_CLASS(Phalcon_Debug_Dump) {
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", tableName);
+ ZEPHIR_CPY_WRT(table, _0);
+ } else {
+ ZEPHIR_CPY_WRT(table, tableName);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ if (ifExists) {
+ ZEPHIR_CONCAT_SVS(sql, "DROP TABLE IF EXISTS \"", table, "\"");
+ } else {
+ ZEPHIR_CONCAT_SVS(sql, "DROP TABLE \"", table, "\"");
+ }
+ RETURN_CCTOR(sql);
- ZEPHIR_REGISTER_CLASS(Phalcon\\Debug, Dump, phalcon, debug_dump, phalcon_debug_dump_method_entry, 0);
+}
- zend_declare_property_bool(phalcon_debug_dump_ce, SL("_detailed"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createView) {
- zend_declare_property_null(phalcon_debug_dump_ce, SL("_methods"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zval *definition = NULL;
+ zval *viewName_param = NULL, *definition_param = NULL, *schemaName_param = NULL, *view = NULL, *viewSql;
+ zval *viewName = NULL, *schemaName = NULL, *_0;
- zend_declare_property_null(phalcon_debug_dump_ce, SL("_styles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &viewName_param, &definition_param, &schemaName_param);
- return SUCCESS;
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
-}
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ definition = definition_param;
-static PHP_METHOD(Phalcon_Debug_Dump, getDetailed) {
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
- RETURN_MEMBER(this_ptr, "_detailed");
+ ZEPHIR_OBS_VAR(viewSql);
+ if (!(zephir_array_isset_string_fetch(&viewSql, definition, SS("sql"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'sql' is required in the definition array", "phalcon/db/dialect/sqlite.zep", 289);
+ return;
+ }
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CPY_WRT(view, _0);
+ } else {
+ ZEPHIR_CPY_WRT(view, viewName);
+ }
+ ZEPHIR_CONCAT_SVSV(return_value, "CREATE VIEW \"", view, "\" AS ", viewSql);
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, setDetailed) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, dropView) {
- zval *detailed;
+ zend_bool ifExists;
+ zval *viewName_param = NULL, *schemaName_param = NULL, *ifExists_param = NULL, *sql, *view = NULL;
+ zval *viewName = NULL, *schemaName = NULL, *_0;
- zephir_fetch_params(0, 1, 0, &detailed);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 2, &viewName_param, &schemaName_param, &ifExists_param);
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+ if (!ifExists_param) {
+ ifExists = 1;
+ } else {
+ if (unlikely(Z_TYPE_P(ifExists_param) != IS_BOOL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'ifExists' must be a bool") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- zephir_update_property_this(this_ptr, SL("_detailed"), detailed TSRMLS_CC);
+ ifExists = Z_BVAL_P(ifExists_param);
+ }
+
+
+ if (schemaName && Z_STRLEN_P(schemaName)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VSV(_0, schemaName, "\".\"", viewName);
+ ZEPHIR_CPY_WRT(view, _0);
+ } else {
+ ZEPHIR_CPY_WRT(view, viewName);
+ }
+ ZEPHIR_INIT_VAR(sql);
+ if (ifExists) {
+ ZEPHIR_CONCAT_SVS(sql, "DROP VIEW IF EXISTS \"", view, "\"");
+ } else {
+ ZEPHIR_CONCAT_SVS(sql, "DROP VIEW \"", view, "\"");
+ }
+ RETURN_CCTOR(sql);
}
-static PHP_METHOD(Phalcon_Debug_Dump, __construct) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableExists) {
- int ZEPHIR_LAST_CALL_STATUS;
- zend_bool detailed, _0;
- zval *styles_param = NULL, *detailed_param = NULL, *_1;
- zval *styles = NULL;
+ zval *tableName_param = NULL, *schemaName_param = NULL;
+ zval *tableName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 2, &styles_param, &detailed_param);
+ zephir_fetch_params(1, 1, 1, &tableName_param, &schemaName_param);
- if (!styles_param) {
- ZEPHIR_INIT_VAR(styles);
- array_init(styles);
+ if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) {
+ zephir_get_strval(tableName, tableName_param);
} else {
- zephir_get_arrval(styles, styles_param);
+ ZEPHIR_INIT_VAR(tableName);
+ ZVAL_EMPTY_STRING(tableName);
}
- if (!detailed_param) {
- detailed = 0;
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- detailed = zephir_get_boolval(detailed_param);
+ zephir_get_strval(schemaName, schemaName_param);
}
- _0 = zephir_is_true(styles);
- if (_0) {
- _0 = 1 != 1;
- }
- if (_0) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 56);
- return;
- }
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "setstyles", NULL, styles);
- zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- array_init(_1);
- zephir_update_property_this(this_ptr, SL("_methods"), _1 TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_detailed"), detailed ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='table' AND tbl_name='", tableName, "'");
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, all) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, viewExists) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- zval *_1, *_2 = NULL;
- zval *_0;
- int ZEPHIR_LAST_CALL_STATUS;
+ zval *viewName_param = NULL, *schemaName_param = NULL;
+ zval *viewName = NULL, *schemaName = NULL;
ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &viewName_param, &schemaName_param);
- ZEPHIR_INIT_VAR(_0);
- zephir_create_array(_0, 2, 0 TSRMLS_CC);
- zephir_array_fast_append(_0, this_ptr);
- ZEPHIR_INIT_VAR(_1);
- ZVAL_STRING(_1, "vars", 1);
- zephir_array_fast_append(_0, _1);
- ZEPHIR_CALL_FUNCTION(&_2, "func_get_args", &_3);
- zephir_check_call_status();
- ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, _0, _2);
- zephir_check_call_status();
+ if (unlikely(Z_TYPE_P(viewName_param) != IS_STRING && Z_TYPE_P(viewName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'viewName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(viewName_param) == IS_STRING)) {
+ zephir_get_strval(viewName, viewName_param);
+ } else {
+ ZEPHIR_INIT_VAR(viewName);
+ ZVAL_EMPTY_STRING(viewName);
+ }
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ } else {
+ zephir_get_strval(schemaName, schemaName_param);
+ }
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END FROM sqlite_master WHERE type='view' AND tbl_name='", viewName, "'");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, getStyle) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeColumns) {
- zval *type_param = NULL, *style, *_0;
- zval *type = NULL;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &type_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
- if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
- zephir_get_strval(type, type_param);
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
} else {
- ZEPHIR_INIT_VAR(type);
- ZVAL_EMPTY_STRING(type);
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
-
-
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_styles"), PH_NOISY_CC);
- if (zephir_array_isset_fetch(&style, _0, type, 1 TSRMLS_CC)) {
- RETURN_CTOR(style);
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- RETURN_MM_STRING("color:gray", 1);
+ zephir_get_strval(schema, schema_param);
}
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA table_info('", table, "')");
+ RETURN_MM();
+
}
-static PHP_METHOD(Phalcon_Debug_Dump, setStyles) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listTables) {
- zval *styles = NULL, *defaultStyles, *_0;
+ zval *schemaName_param = NULL;
+ zval *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 1, &styles);
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!styles) {
- ZEPHIR_CPY_WRT(styles, ZEPHIR_GLOBAL(global_null));
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- ZEPHIR_SEPARATE_PARAM(styles);
+ zephir_get_strval(schemaName, schemaName_param);
}
- if (Z_TYPE_P(styles) == IS_NULL) {
- ZEPHIR_INIT_NVAR(styles);
- array_init(styles);
- }
- if (Z_TYPE_P(styles) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 100);
- return;
- }
- ZEPHIR_INIT_VAR(defaultStyles);
- zephir_create_array(defaultStyles, 11, 0 TSRMLS_CC);
- add_assoc_stringl_ex(defaultStyles, SS("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("arr"), SL("color:red"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("bool"), SL("color:green"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("float"), SL("color:fuchsia"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("int"), SL("color:blue"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("null"), SL("color:black"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("num"), SL("color:navy"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("obj"), SL("color:purple"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("other"), SL("color:maroon"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("res"), SL("color:lime"), 1);
- add_assoc_stringl_ex(defaultStyles, SS("str"), SL("color:teal"), 1);
- ZEPHIR_INIT_VAR(_0);
- zephir_fast_array_merge(_0, &(defaultStyles), &(styles) TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_styles"), _0 TSRMLS_CC);
- RETURN_MM_MEMBER(this_ptr, "_styles");
+ RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'table' ORDER BY tbl_name", 1);
}
-static PHP_METHOD(Phalcon_Debug_Dump, one) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listViews) {
- int ZEPHIR_LAST_CALL_STATUS;
- zval *name = NULL;
- zval *variable, *name_param = NULL;
+ zval *schemaName_param = NULL;
+ zval *schemaName = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &variable, &name_param);
+ zephir_fetch_params(1, 0, 1, &schemaName_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
+ if (!schemaName_param) {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
} else {
- zephir_get_strval(name, name_param);
+ if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) {
+ zephir_get_strval(schemaName, schemaName_param);
+ } else {
+ ZEPHIR_INIT_VAR(schemaName);
+ ZVAL_EMPTY_STRING(schemaName);
+ }
+ }
- ZEPHIR_RETURN_CALL_METHOD(this_ptr, "var", NULL, variable, name);
- zephir_check_call_status();
- RETURN_MM();
+
+ RETURN_MM_STRING("SELECT tbl_name FROM sqlite_master WHERE type = 'view' ORDER BY tbl_name", 1);
}
-static PHP_METHOD(Phalcon_Debug_Dump, output) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndexes) {
- zend_bool _15, _16, _17;
- HashTable *_8, *_25, *_37;
- HashPosition _7, _24, _36;
- zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_11 = NULL, *_19 = NULL, *_21 = NULL, *_23 = NULL, *_29 = NULL, *_30 = NULL, *_31 = NULL, *_33 = NULL, *_34 = NULL, *_42 = NULL, *_44 = NULL, *_45 = NULL;
- zephir_fcall_cache_entry *_4 = NULL;
- zval *_1 = NULL, *_12 = NULL, *_40 = NULL;
- int tab, ZEPHIR_LAST_CALL_STATUS;
- zval *name = NULL, *_0;
- zval *variable, *name_param = NULL, *tab_param = NULL, *key = NULL, *value = NULL, *output = NULL, *space, *type = NULL, *attr = NULL, *_2 = NULL, *_3 = NULL, _5 = zval_used_for_init, **_9, *_10 = NULL, *_13 = NULL, *_14 = NULL, *_18 = NULL, *_20 = NULL, *_22, **_26, *_27 = NULL, *_28 = NULL, *_32, *_35, **_38, *_39 = NULL, *_41 = NULL, _43;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 2, &variable, &name_param, &tab_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
} else {
- zephir_get_strval(name, name_param);
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
- if (!tab_param) {
- tab = 1;
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
} else {
- tab = zephir_get_intval(tab_param);
+ zephir_get_strval(schema, schema_param);
}
- ZEPHIR_INIT_VAR(space);
- ZVAL_STRING(space, " ", 1);
- ZEPHIR_INIT_VAR(output);
- ZVAL_STRING(output, "", 1);
- if (name && Z_STRLEN_P(name)) {
- ZEPHIR_INIT_VAR(_0);
- ZEPHIR_CONCAT_VS(_0, name, " ");
- ZEPHIR_CPY_WRT(output, _0);
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_list('", table, "')");
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeIndex) {
+
+ zval *index_param = NULL;
+ zval *index = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &index_param);
+
+ if (unlikely(Z_TYPE_P(index_param) != IS_STRING && Z_TYPE_P(index_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'index' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(variable) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_3);
- ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":count"), zephir_fast_count_int(variable TSRMLS_CC));
- ZEPHIR_SINIT_VAR(_5);
- ZVAL_STRING(&_5, "Array (:count) (\n", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
- zephir_check_call_status();
- zephir_concat_self(&output, _2 TSRMLS_CC);
- zephir_is_iterable(variable, &_8, &_7, 0, 0, "phalcon/debug/dump.zep", 154);
- for (
- ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
- ; zephir_hash_move_forward_ex(_8, &_7)
- ) {
- ZEPHIR_GET_HMKEY(key, _8, _7);
- ZEPHIR_GET_HVALUE(value, _9);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "[:key] => ", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- _15 = tab == 1;
- if (_15) {
- _15 = !ZEPHIR_IS_STRING(name, "");
- }
- _16 = _15;
- if (_16) {
- _16 = !(Z_TYPE_P(key) == IS_LONG);
- }
- _17 = _16;
- if (_17) {
- _17 = ZEPHIR_IS_EQUAL(name, key);
- }
- if (_17) {
- continue;
- } else {
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab - 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
- RETURN_MM();
+
+ if (likely(Z_TYPE_P(index_param) == IS_STRING)) {
+ zephir_get_strval(index, index_param);
+ } else {
+ ZEPHIR_INIT_VAR(index);
+ ZVAL_EMPTY_STRING(index);
}
- if (Z_TYPE_P(variable) == IS_OBJECT) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- zephir_array_update_string(&_1, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Object :class", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
- zephir_check_call_status();
- zephir_concat_self(&output, _2 TSRMLS_CC);
- ZEPHIR_CALL_FUNCTION(&_13, "get_parent_class", &_21, variable);
- zephir_check_call_status();
- if (zephir_is_true(_13)) {
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_18, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_18, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_FUNCTION(&_18, "get_parent_class", &_21, variable);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":parent"), &_18, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, " extends :parent", 0);
- ZEPHIR_CALL_FUNCTION(&_18, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- zephir_concat_self(&output, _18 TSRMLS_CC);
- }
- zephir_concat_self_str(&output, SL(" (\n") TSRMLS_CC);
- _22 = zephir_fetch_nproperty_this(this_ptr, SL("_detailed"), PH_NOISY_CC);
- if (!(zephir_is_true(_22))) {
- ZEPHIR_CALL_FUNCTION(&_10, "get_object_vars", &_23, variable);
- zephir_check_call_status();
- zephir_is_iterable(_10, &_25, &_24, 0, 0, "phalcon/debug/dump.zep", 171);
- for (
- ; zephir_hash_get_current_data_ex(_25, (void**) &_26, &_24) == SUCCESS
- ; zephir_hash_move_forward_ex(_25, &_24)
- ) {
- ZEPHIR_GET_HMKEY(key, _25, _24);
- ZEPHIR_GET_HVALUE(value, _26);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_13, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
- add_assoc_stringl_ex(_12, SS(":type"), SL("public"), 1);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:key (:type) = ", 0);
- ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _13, _27);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _28, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- } else {
- do {
- Z_SET_ISREF_P(variable);
- ZEPHIR_CALL_FUNCTION(&attr, "each", &_29, variable);
- Z_UNSET_ISREF_P(variable);
- zephir_check_call_status();
- if (!(zephir_is_true(attr))) {
- continue;
- }
- ZEPHIR_OBS_NVAR(key);
- zephir_array_fetch_string(&key, attr, SL("key"), PH_NOISY, "phalcon/debug/dump.zep", 178 TSRMLS_CC);
- ZEPHIR_OBS_NVAR(value);
- zephir_array_fetch_string(&value, attr, SL("value"), PH_NOISY, "phalcon/debug/dump.zep", 179 TSRMLS_CC);
- if (!(zephir_is_true(key))) {
- continue;
- }
- ZEPHIR_INIT_NVAR(_3);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "\\x00", 0);
- ZEPHIR_CALL_FUNCTION(&_10, "ord", &_30, &_5);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_13, "chr", &_31, _10);
- zephir_check_call_status();
- zephir_fast_explode(_3, _13, key, LONG_MAX TSRMLS_CC);
- ZEPHIR_CPY_WRT(key, _3);
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "public", 1);
- if (zephir_array_isset_long(key, 1)) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "private", 1);
- zephir_array_fetch_long(&_32, key, 1, PH_NOISY | PH_READONLY, "phalcon/debug/dump.zep", 190 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(_32, "*")) {
- ZEPHIR_INIT_NVAR(type);
- ZVAL_STRING(type, "protected", 1);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
- Z_SET_ISREF_P(key);
- ZEPHIR_CALL_FUNCTION(&_27, "end", &_33, key);
- Z_UNSET_ISREF_P(key);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":key"), &_27, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":type"), &type, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:key (:type) = ", 0);
- ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _18, _27);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _28, "\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- } while (zephir_is_true(attr));
- }
- ZEPHIR_CALL_FUNCTION(&attr, "get_class_methods", &_34, variable);
- zephir_check_call_status();
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- zephir_array_update_string(&_12, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_12, SS(":count"), zephir_fast_count_int(attr TSRMLS_CC));
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, ":class methods: (:count) (\n", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- zephir_get_class(_3, variable, 0 TSRMLS_CC);
- _35 = zephir_fetch_nproperty_this(this_ptr, SL("_methods"), PH_NOISY_CC);
- if (zephir_fast_in_array(_3, _35 TSRMLS_CC)) {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, "[already listed]\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- } else {
- zephir_is_iterable(attr, &_37, &_36, 0, 0, "phalcon/debug/dump.zep", 214);
- for (
- ; zephir_hash_get_current_data_ex(_37, (void**) &_38, &_36) == SUCCESS
- ; zephir_hash_move_forward_ex(_37, &_36)
- ) {
- ZEPHIR_GET_HVALUE(value, _38);
- ZEPHIR_INIT_NVAR(_39);
- zephir_get_class(_39, variable, 0 TSRMLS_CC);
- zephir_update_property_array_append(this_ptr, SL("_methods"), _39 TSRMLS_CC);
- if (ZEPHIR_IS_STRING(value, "__construct")) {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_12);
- zephir_create_array(_12, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_39);
- ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _39);
- zephir_check_temp_parameter(_39);
- zephir_check_call_status();
- zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_12, SL(":method"), &value, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:method(); [constructor]\n", 0);
- ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_14);
- ZEPHIR_CONCAT_VV(_14, _10, _13);
- zephir_concat_self(&output, _14 TSRMLS_CC);
- } else {
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab + 1));
- ZEPHIR_CALL_FUNCTION(&_27, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_40);
- zephir_create_array(_40, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_39);
- ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_28, this_ptr, "getstyle", &_4, _39);
- zephir_check_temp_parameter(_39);
- zephir_check_call_status();
- zephir_array_update_string(&_40, SL(":style"), &_28, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_40, SL(":method"), &value, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "->:method();\n", 0);
- ZEPHIR_CALL_FUNCTION(&_28, "strtr", &_6, &_5, _40);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_41);
- ZEPHIR_CONCAT_VV(_41, _27, _28);
- zephir_concat_self(&output, _41 TSRMLS_CC);
- }
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, tab);
- ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_INIT_LNVAR(_20);
- ZEPHIR_CONCAT_VS(_20, _18, ")\n");
- zephir_concat_self(&output, _20 TSRMLS_CC);
- }
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, (tab - 1));
- ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
- zephir_check_call_status();
- ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
- RETURN_MM();
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA index_info('", index, "')");
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, describeReferences) {
+
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
+
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(variable) == IS_LONG) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "int", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Integer (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
+
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
}
- ZEPHIR_CALL_FUNCTION(&_2, "is_float", &_42, variable);
- zephir_check_call_status();
- if (zephir_is_true(_2)) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "float", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Float (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
}
- if (zephir_is_numeric(variable)) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "num", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Numeric string (:length) \":var\"", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_STRING) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 3, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "str", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_LONG(&_5, 4);
- ZEPHIR_SINIT_VAR(_43);
- ZVAL_STRING(&_43, "utf-8", 0);
- ZEPHIR_CALL_FUNCTION(&_2, "htmlentities", &_44, variable, &_5, &_43);
- zephir_check_call_status();
- ZEPHIR_CALL_FUNCTION(&_13, "nl2br", &_45, _2);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":var"), &_13, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "String (:length) \":var\"", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_BOOL) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "bool", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_LNVAR(_14);
- if (zephir_is_true(variable)) {
- ZEPHIR_INIT_NVAR(_14);
- ZVAL_STRING(_14, "TRUE", 1);
- } else {
- ZEPHIR_INIT_NVAR(_14);
- ZVAL_STRING(_14, "FALSE", 1);
- }
- zephir_array_update_string(&_1, SL(":var"), &_14, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "Boolean (:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (Z_TYPE_P(variable) == IS_NULL) {
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 1, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "null", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "NULL", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_1);
- zephir_create_array(_1, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "other", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
- zephir_check_temp_parameter(_3);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
- zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_STRING(&_5, "(:var)", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
- zephir_check_call_status();
+
+
+ ZEPHIR_CONCAT_SVS(return_value, "PRAGMA foreign_key_list('", table, "')");
RETURN_MM();
}
-static PHP_METHOD(Phalcon_Debug_Dump, var) {
+static PHP_METHOD(Phalcon_Db_Dialect_Sqlite, tableOptions) {
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *_0;
- zval *name = NULL;
- zval *variable, *name_param = NULL, *_1 = NULL, *_2, _3;
+ zval *table_param = NULL, *schema_param = NULL;
+ zval *table = NULL, *schema = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 1, &variable, &name_param);
+ zephir_fetch_params(1, 1, 1, &table_param, &schema_param);
- if (!name_param) {
- ZEPHIR_INIT_VAR(name);
- ZVAL_EMPTY_STRING(name);
- } else {
- zephir_get_strval(name, name_param);
+ if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
+ if (likely(Z_TYPE_P(table_param) == IS_STRING)) {
+ zephir_get_strval(table, table_param);
+ } else {
+ ZEPHIR_INIT_VAR(table);
+ ZVAL_EMPTY_STRING(table);
+ }
+ if (!schema_param) {
+ ZEPHIR_INIT_VAR(schema);
+ ZVAL_EMPTY_STRING(schema);
+ } else {
+ zephir_get_strval(schema, schema_param);
+ }
- ZEPHIR_INIT_VAR(_0);
- zephir_create_array(_0, 2, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_2);
- ZVAL_STRING(_2, "pre", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_1, this_ptr, "getstyle", NULL, _2);
- zephir_check_temp_parameter(_2);
- zephir_check_call_status();
- zephir_array_update_string(&_0, SL(":style"), &_1, PH_COPY | PH_SEPARATE);
- ZEPHIR_CALL_METHOD(&_1, this_ptr, "output", NULL, variable, name);
- zephir_check_call_status();
- zephir_array_update_string(&_0, SL(":output"), &_1, PH_COPY | PH_SEPARATE);
- ZEPHIR_SINIT_VAR(_3);
- ZVAL_STRING(&_3, ":output
", 0);
- ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_4, &_3, _0);
- zephir_check_call_status();
- RETURN_MM();
-
-}
-
-static PHP_METHOD(Phalcon_Debug_Dump, vars) {
-
- zephir_fcall_cache_entry *_7 = NULL;
- HashTable *_3;
- HashPosition _2;
- int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
- zval *key = NULL, *value = NULL, *output, *_0 = NULL, **_4, *_5 = NULL, *_6 = NULL;
-
- ZEPHIR_MM_GROW();
- ZEPHIR_INIT_VAR(output);
- ZVAL_STRING(output, "", 1);
- ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", &_1);
- zephir_check_call_status();
- zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/debug/dump.zep", 283);
- for (
- ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
- ; zephir_hash_move_forward_ex(_3, &_2)
- ) {
- ZEPHIR_GET_HMKEY(key, _3, _2);
- ZEPHIR_GET_HVALUE(value, _4);
- ZEPHIR_INIT_LNVAR(_6);
- ZEPHIR_CONCAT_SV(_6, "var ", key);
- ZEPHIR_CALL_METHOD(&_5, this_ptr, "one", &_7, value, _6);
- zephir_check_call_status();
- zephir_concat_self(&output, _5 TSRMLS_CC);
- }
- RETURN_CCTOR(output);
+ RETURN_MM_STRING("", 1);
}
@@ -52564,33 +53763,128 @@ static PHP_METHOD(Phalcon_Debug_Dump, vars) {
-ZEPHIR_INIT_CLASS(Phalcon_Debug_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Db_Profiler_Item) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Debug, Exception, phalcon, debug_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Profiler, Item, phalcon, db_profiler_item, phalcon_db_profiler_item_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlVariables"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_sqlBindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_initialTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_profiler_item_ce, SL("_finalTime"), ZEND_ACC_PROTECTED TSRMLS_CC);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlStatement) {
+ zval *sqlStatement;
+ zephir_fetch_params(0, 1, 0, &sqlStatement);
-#ifdef HAVE_CONFIG_H
-#endif
-#include
-#include
-#include
-#include
+ zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+}
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlStatement) {
-ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, Exception, phalcon, di_exception, phalcon_exception_ce, NULL, 0);
+ RETURN_MEMBER(this_ptr, "_sqlStatement");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlVariables) {
+
+ zval *sqlVariables;
+
+ zephir_fetch_params(0, 1, 0, &sqlVariables);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sqlVariables"), sqlVariables TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlVariables) {
+
+
+ RETURN_MEMBER(this_ptr, "_sqlVariables");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setSqlBindTypes) {
+
+ zval *sqlBindTypes;
+
+ zephir_fetch_params(0, 1, 0, &sqlBindTypes);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sqlBindTypes"), sqlBindTypes TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getSqlBindTypes) {
+
+
+ RETURN_MEMBER(this_ptr, "_sqlBindTypes");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setInitialTime) {
+
+ zval *initialTime;
+
+ zephir_fetch_params(0, 1, 0, &initialTime);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_initialTime"), initialTime TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getInitialTime) {
+
+
+ RETURN_MEMBER(this_ptr, "_initialTime");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, setFinalTime) {
+
+ zval *finalTime;
+
+ zephir_fetch_params(0, 1, 0, &finalTime);
- return SUCCESS;
+
+
+ zephir_update_property_this(this_ptr, SL("_finalTime"), finalTime TSRMLS_CC);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getFinalTime) {
+
+
+ RETURN_MEMBER(this_ptr, "_finalTime");
+
+}
+
+static PHP_METHOD(Phalcon_Db_Profiler_Item, getTotalElapsedSeconds) {
+
+ zval *_0, *_1;
+
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_finalTime"), PH_NOISY_CC);
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_initialTime"), PH_NOISY_CC);
+ sub_function(return_value, _0, _1 TSRMLS_CC);
+ return;
}
@@ -52607,829 +53901,1087 @@ ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
#include
+#include
-ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, FactoryDefault, phalcon, di_factorydefault, phalcon_di_ce, phalcon_di_factorydefault_method_entry, 0);
+ZEPHIR_INIT_CLASS(Phalcon_Db_Result_Pdo) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Db\\Result, Pdo, phalcon, db_result_pdo, phalcon_db_result_pdo_method_entry, 0);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_connection"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_result"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_long(phalcon_db_result_pdo_ce, SL("_fetchMode"), 4, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_pdoStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_sqlStatement"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindParams"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_db_result_pdo_ce, SL("_bindTypes"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_bool(phalcon_db_result_pdo_ce, SL("_rowCount"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_db_result_pdo_ce TSRMLS_CC, 1, phalcon_db_resultinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_FactoryDefault, __construct) {
+static PHP_METHOD(Phalcon_Db_Result_Pdo, __construct) {
+
+ zval *connection, *result, *sqlStatement = NULL, *bindParams = NULL, *bindTypes = NULL;
+
+ zephir_fetch_params(0, 2, 3, &connection, &result, &sqlStatement, &bindParams, &bindTypes);
+
+ if (!sqlStatement) {
+ sqlStatement = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!bindParams) {
+ bindParams = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!bindTypes) {
+ bindTypes = ZEPHIR_GLOBAL(global_null);
+ }
+
+
+ zephir_update_property_this(this_ptr, SL("_connection"), connection TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_pdoStatement"), result TSRMLS_CC);
+ if (Z_TYPE_P(sqlStatement) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_sqlStatement"), sqlStatement TSRMLS_CC);
+ }
+ if (Z_TYPE_P(bindParams) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_bindParams"), bindParams TSRMLS_CC);
+ }
+ if (Z_TYPE_P(bindTypes) != IS_NULL) {
+ zephir_update_property_this(this_ptr, SL("_bindTypes"), bindTypes TSRMLS_CC);
+ }
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, execute) {
- zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
- zval *_1;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL;
+ zval *_0;
ZEPHIR_MM_GROW();
- ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_ce, this_ptr, "__construct", &_0);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "execute", NULL);
zephir_check_call_status();
- ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 21, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_VAR(_3);
- ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_VAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Router", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_VAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetch) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("router"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchArray) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetch", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("dispatcher"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "url", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Url", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, fetchAll) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+
+ ZEPHIR_MM_GROW();
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_RETURN_CALL_METHOD(_0, "fetchall", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("url"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
+ RETURN_MM();
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, numRows) {
+
+ zend_bool _0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *sqlStatement, *rowCount = NULL, *connection, *type = NULL, *pdoStatement, *matches, *result = NULL, *row = NULL, *_1, _2, *_3, *_4, *_5, *_6;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_OBS_VAR(rowCount);
+ zephir_read_property_this(&rowCount, this_ptr, SL("_rowCount"), PH_NOISY_CC);
+ if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
+ ZEPHIR_OBS_VAR(connection);
+ zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&type, connection, "gettype", NULL);
+ zephir_check_call_status();
+ _0 = ZEPHIR_IS_STRING(type, "mysql");
+ if (!(_0)) {
+ _0 = ZEPHIR_IS_STRING(type, "pgsql");
+ }
+ if (_0) {
+ ZEPHIR_OBS_VAR(pdoStatement);
+ zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&rowCount, pdoStatement, "rowcount", NULL);
+ zephir_check_call_status();
+ }
+ if (ZEPHIR_IS_FALSE_IDENTICAL(rowCount)) {
+ ZEPHIR_OBS_VAR(sqlStatement);
+ zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
+ if (!(zephir_start_with_str(sqlStatement, SL("SELECT COUNT(*) ")))) {
+ ZEPHIR_INIT_VAR(matches);
+ ZVAL_NULL(matches);
+ ZEPHIR_INIT_VAR(_1);
+ ZEPHIR_SINIT_VAR(_2);
+ ZVAL_STRING(&_2, "/^SELECT\\s+(.*)/i", 0);
+ zephir_preg_match(_1, &_2, sqlStatement, matches, 0, 0 , 0 TSRMLS_CC);
+ if (zephir_is_true(_1)) {
+ zephir_array_fetch_long(&_3, matches, 1, PH_NOISY | PH_READONLY, "phalcon/db/result/pdo.zep", 202 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_4);
+ ZEPHIR_CONCAT_SVS(_4, "SELECT COUNT(*) \"numrows\" FROM (SELECT ", _3, ")");
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_bindParams"), PH_NOISY_CC);
+ _6 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&result, connection, "query", NULL, _4, _5, _6);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&row, result, "fetch", NULL);
+ zephir_check_call_status();
+ ZEPHIR_OBS_NVAR(rowCount);
+ zephir_array_fetch_string(&rowCount, row, SL("numrows"), PH_NOISY, "phalcon/db/result/pdo.zep", 204 TSRMLS_CC);
+ }
+ } else {
+ ZEPHIR_INIT_NVAR(rowCount);
+ ZVAL_LONG(rowCount, 1);
+ }
+ }
+ zephir_update_property_this(this_ptr, SL("_rowCount"), rowCount TSRMLS_CC);
+ }
+ RETURN_CCTOR(rowCount);
+
+}
+
+static PHP_METHOD(Phalcon_Db_Result_Pdo, dataSeek) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *number_param = NULL, *connection, *pdo = NULL, *sqlStatement, *bindParams, *statement = NULL, *_0 = NULL, *_1;
+ long number;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &number_param);
+
+ number = zephir_get_intval(number_param);
+
+
+ { pdo_stmt_t *stmt; long n;
+ ZEPHIR_OBS_VAR(connection);
+ zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&pdo, connection, "getinternalhandler", NULL);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("modelsManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\MetaData\\Memory", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("modelsMetadata"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "response", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Response", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("response"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "cookies", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Response\\Cookies", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("cookies"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "request", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Http\\Request", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("request"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("filter"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "escaper", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Escaper", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("escaper"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "crypt", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Crypt", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("crypt"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("annotations"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "flash", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Flash\\Direct", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("flash"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "flashSession", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Flash\\Session", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("flashSession"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "tag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Tag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("tag"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "session", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Session\\Adapter\\Files", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("session"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Session\\Bag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("sessionBag"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "transactions", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
- ZEPHIR_INIT_NVAR(_2);
- object_init_ex(_2, phalcon_di_service_ce);
- ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "assets", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Assets\\Manager", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_SINIT_NVAR(_5);
- ZVAL_BOOL(&_5, 1);
- ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
- zephir_check_temp_parameter(_3);
- zephir_check_temp_parameter(_4);
- zephir_check_call_status();
- zephir_array_update_string(&_1, SL("assets"), &_2, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_OBS_VAR(sqlStatement);
+ zephir_read_property_this(&sqlStatement, this_ptr, SL("_sqlStatement"), PH_NOISY_CC);
+ ZEPHIR_OBS_VAR(bindParams);
+ zephir_read_property_this(&bindParams, this_ptr, SL("_bindParams"), PH_NOISY_CC);
+ if (Z_TYPE_P(bindParams) == IS_ARRAY) {
+ ZEPHIR_CALL_METHOD(&statement, pdo, "prepare", NULL, sqlStatement);
+ zephir_check_call_status();
+ if (Z_TYPE_P(statement) == IS_OBJECT) {
+ _1 = zephir_fetch_nproperty_this(this_ptr, SL("_bindTypes"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_0, connection, "executeprepared", NULL, statement, bindParams, _1);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(statement, _0);
+ }
+ } else {
+ ZEPHIR_CALL_METHOD(&statement, pdo, "query", NULL, sqlStatement);
+ zephir_check_call_status();
+ }
+ zephir_update_property_this(this_ptr, SL("_pdoStatement"), statement TSRMLS_CC);
+
+
+ stmt = (pdo_stmt_t*) zend_object_store_get_object(statement TSRMLS_CC);
+ if (!stmt->dbh) {
+ ZEPHIR_MM_RESTORE();
+ RETURN_FALSE;
+ }
+
+ n = -1;
+ number--;
+ while (n != number) {
+
+ if (!stmt->methods->fetcher(stmt, PDO_FETCH_ORI_NEXT, 0 TSRMLS_CC)) {
+ ZEPHIR_MM_RESTORE();
+ RETURN_NULL();
+ }
+
+ n++;
+ }
+
+ }
+
+
ZEPHIR_MM_RESTORE();
}
+static PHP_METHOD(Phalcon_Db_Result_Pdo, setFetchMode) {
+ zval *fetchMode_param = NULL, *pdoStatement, *_0 = NULL, *_1;
+ int fetchMode, ZEPHIR_LAST_CALL_STATUS;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &fetchMode_param);
-#ifdef HAVE_CONFIG_H
-#endif
+ fetchMode = zephir_get_intval(fetchMode_param);
-#include
-#include
-#include
-#include
+ ZEPHIR_OBS_VAR(pdoStatement);
+ zephir_read_property_this(&pdoStatement, this_ptr, SL("_pdoStatement"), PH_NOISY_CC);
+ do {
+ if (fetchMode == 2) {
+ ZEPHIR_INIT_VAR(_0);
+ ZVAL_LONG(_0, 4);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 4);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 1) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 2);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 2);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 3) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 3);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 3);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ if (fetchMode == 4) {
+ ZEPHIR_INIT_NVAR(_0);
+ ZVAL_LONG(_0, 5);
+ ZEPHIR_CALL_METHOD(NULL, pdoStatement, "setfetchmode", NULL, _0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_ZVAL_NREF(_1);
+ ZVAL_LONG(_1, 5);
+ zephir_update_property_this(this_ptr, SL("_fetchMode"), _1 TSRMLS_CC);
+ break;
+ }
+ } while(0);
+ ZEPHIR_MM_RESTORE();
+}
-ZEPHIR_INIT_CLASS(Phalcon_Di_Injectable) {
+static PHP_METHOD(Phalcon_Db_Result_Pdo, getInternalResult) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Injectable, phalcon, di_injectable, phalcon_di_injectable_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
- zend_declare_property_null(phalcon_di_injectable_ce, SL("_dependencyInjector"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ RETURN_MEMBER(this_ptr, "_pdoStatement");
- zend_declare_property_null(phalcon_di_injectable_ce, SL("_eventsManager"), ZEND_ACC_PROTECTED TSRMLS_CC);
+}
- zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_di_injectionawareinterface_ce);
- zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_events_eventsawareinterface_ce);
- return SUCCESS;
-}
-static PHP_METHOD(Phalcon_Di_Injectable, setDI) {
- zval *dependencyInjector;
+#ifdef HAVE_CONFIG_H
+#endif
- zephir_fetch_params(0, 1, 0, &dependencyInjector);
+#include
+#include
+#include
+#include
- zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
-}
+ZEPHIR_INIT_CLASS(Phalcon_Debug_Dump) {
-static PHP_METHOD(Phalcon_Di_Injectable, getDI) {
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Debug, Dump, phalcon, debug_dump, phalcon_debug_dump_method_entry, 0);
- int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
- zval *dependencyInjector = NULL;
+ zend_declare_property_bool(phalcon_debug_dump_ce, SL("_detailed"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- ZEPHIR_MM_GROW();
+ zend_declare_property_null(phalcon_debug_dump_ce, SL("_methods"), ZEND_ACC_PROTECTED TSRMLS_CC);
- ZEPHIR_OBS_VAR(dependencyInjector);
- zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_0);
- zephir_check_call_status();
- }
- RETURN_CCTOR(dependencyInjector);
+ zend_declare_property_null(phalcon_debug_dump_ce, SL("_styles"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_Injectable, setEventsManager) {
+static PHP_METHOD(Phalcon_Debug_Dump, getDetailed) {
- zval *eventsManager;
- zephir_fetch_params(0, 1, 0, &eventsManager);
+ RETURN_MEMBER(this_ptr, "_detailed");
+}
+static PHP_METHOD(Phalcon_Debug_Dump, setDetailed) {
- zephir_update_property_this(this_ptr, SL("_eventsManager"), eventsManager TSRMLS_CC);
+ zval *detailed;
-}
+ zephir_fetch_params(0, 1, 0, &detailed);
-static PHP_METHOD(Phalcon_Di_Injectable, getEventsManager) {
- RETURN_MEMBER(this_ptr, "_eventsManager");
+ zephir_update_property_this(this_ptr, SL("_detailed"), detailed TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Di_Injectable, __get) {
+static PHP_METHOD(Phalcon_Debug_Dump, __construct) {
- zval *_4;
int ZEPHIR_LAST_CALL_STATUS;
- zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_7 = NULL;
- zval *propertyName_param = NULL, *dependencyInjector = NULL, *service = NULL, *persistent = NULL, *_0, *_2 = NULL, *_3 = NULL, *_5 = NULL;
- zval *propertyName = NULL, *_6;
+ zend_bool detailed, _0;
+ zval *styles_param = NULL, *detailed_param = NULL, *_1;
+ zval *styles = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &propertyName_param);
+ zephir_fetch_params(1, 0, 2, &styles_param, &detailed_param);
- if (unlikely(Z_TYPE_P(propertyName_param) != IS_STRING && Z_TYPE_P(propertyName_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'propertyName' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ if (!styles_param) {
+ ZEPHIR_INIT_VAR(styles);
+ array_init(styles);
+ } else {
+ zephir_get_arrval(styles, styles_param);
}
-
- if (likely(Z_TYPE_P(propertyName_param) == IS_STRING)) {
- zephir_get_strval(propertyName, propertyName_param);
+ if (!detailed_param) {
+ detailed = 0;
} else {
- ZEPHIR_INIT_VAR(propertyName);
- ZVAL_EMPTY_STRING(propertyName);
+ detailed = zephir_get_boolval(detailed_param);
}
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
- ZEPHIR_CPY_WRT(dependencyInjector, _0);
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
- zephir_check_call_status();
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "A dependency injection object is required to access the application services", "phalcon/di/injectable.zep", 127);
- return;
- }
- }
- ZEPHIR_CALL_METHOD(&_2, dependencyInjector, "has", NULL, propertyName);
- zephir_check_call_status();
- if (zephir_is_true(_2)) {
- ZEPHIR_CALL_METHOD(&service, dependencyInjector, "getshared", NULL, propertyName);
- zephir_check_call_status();
- zephir_update_property_zval_zval(this_ptr, propertyName, service TSRMLS_CC);
- RETURN_CCTOR(service);
- }
- if (ZEPHIR_IS_STRING(propertyName, "di")) {
- zephir_update_property_zval(this_ptr, SL("di"), dependencyInjector TSRMLS_CC);
- RETURN_CCTOR(dependencyInjector);
+ _0 = zephir_is_true(styles);
+ if (_0) {
+ _0 = 1 != 1;
}
- if (ZEPHIR_IS_STRING(propertyName, "persistent")) {
- ZEPHIR_INIT_VAR(_4);
- zephir_create_array(_4, 1, 0 TSRMLS_CC);
- ZEPHIR_INIT_VAR(_5);
- zephir_get_class(_5, this_ptr, 0 TSRMLS_CC);
- zephir_array_fast_append(_4, _5);
- ZEPHIR_INIT_NVAR(_5);
- ZVAL_STRING(_5, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(&_3, dependencyInjector, "get", NULL, _5, _4);
- zephir_check_temp_parameter(_5);
- zephir_check_call_status();
- ZEPHIR_CPY_WRT(persistent, _3);
- zephir_update_property_zval(this_ptr, SL("persistent"), persistent TSRMLS_CC);
- RETURN_CCTOR(persistent);
+ if (_0) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 56);
+ return;
}
- ZEPHIR_INIT_VAR(_6);
- ZEPHIR_CONCAT_SV(_6, "Access to undefined property ", propertyName);
- ZEPHIR_CALL_FUNCTION(NULL, "trigger_error", &_7, _6);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "setstyles", NULL, styles);
zephir_check_call_status();
- RETURN_MM_NULL();
+ ZEPHIR_INIT_VAR(_1);
+ array_init(_1);
+ zephir_update_property_this(this_ptr, SL("_methods"), _1 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_detailed"), detailed ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
}
+static PHP_METHOD(Phalcon_Debug_Dump, all) {
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ zval *_1, *_2 = NULL;
+ zval *_0;
+ int ZEPHIR_LAST_CALL_STATUS;
+ ZEPHIR_MM_GROW();
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(_0, this_ptr);
+ ZEPHIR_INIT_VAR(_1);
+ ZVAL_STRING(_1, "variables", 1);
+ zephir_array_fast_append(_0, _1);
+ ZEPHIR_CALL_FUNCTION(&_2, "func_get_args", &_3);
+ zephir_check_call_status();
+ ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, _0, _2);
+ zephir_check_call_status();
+ RETURN_MM();
-#include
+}
+static PHP_METHOD(Phalcon_Debug_Dump, getStyle) {
+ zval *type_param = NULL, *style, *_0;
+ zval *type = NULL;
-ZEPHIR_INIT_CLASS(Phalcon_Di_InjectionAwareInterface) {
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &type_param);
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, InjectionAwareInterface, phalcon, di_injectionawareinterface, phalcon_di_injectionawareinterface_method_entry);
+ if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
- return SUCCESS;
+ if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
+ zephir_get_strval(type, type_param);
+ } else {
+ ZEPHIR_INIT_VAR(type);
+ ZVAL_EMPTY_STRING(type);
+ }
-}
-ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, setDI);
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_styles"), PH_NOISY_CC);
+ if (zephir_array_isset_fetch(&style, _0, type, 1 TSRMLS_CC)) {
+ RETURN_CTOR(style);
+ } else {
+ RETURN_MM_STRING("color:gray", 1);
+ }
-ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, getDI);
+}
+static PHP_METHOD(Phalcon_Debug_Dump, setStyles) {
+ zval *styles = NULL, *defaultStyles, *_0;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 0, 1, &styles);
-#ifdef HAVE_CONFIG_H
-#endif
+ if (!styles) {
+ ZEPHIR_CPY_WRT(styles, ZEPHIR_GLOBAL(global_null));
+ } else {
+ ZEPHIR_SEPARATE_PARAM(styles);
+ }
-#include
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Di_Service) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Service, phalcon, di_service, phalcon_di_service_method_entry, 0);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_definition"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_di_service_ce, SL("_shared"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_di_service_ce, SL("_resolved"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_null(phalcon_di_service_ce, SL("_sharedInstance"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_class_implements(phalcon_di_service_ce TSRMLS_CC, 1, phalcon_di_serviceinterface_ce);
- return SUCCESS;
+ if (Z_TYPE_P(styles) == IS_NULL) {
+ ZEPHIR_INIT_NVAR(styles);
+ array_init(styles);
+ }
+ if (Z_TYPE_P(styles) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 100);
+ return;
+ }
+ ZEPHIR_INIT_VAR(defaultStyles);
+ zephir_create_array(defaultStyles, 11, 0 TSRMLS_CC);
+ add_assoc_stringl_ex(defaultStyles, SS("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("arr"), SL("color:red"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("bool"), SL("color:green"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("float"), SL("color:fuchsia"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("int"), SL("color:blue"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("null"), SL("color:black"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("num"), SL("color:navy"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("obj"), SL("color:purple"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("other"), SL("color:maroon"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("res"), SL("color:lime"), 1);
+ add_assoc_stringl_ex(defaultStyles, SS("str"), SL("color:teal"), 1);
+ ZEPHIR_INIT_VAR(_0);
+ zephir_fast_array_merge(_0, &(defaultStyles), &(styles) TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_styles"), _0 TSRMLS_CC);
+ RETURN_MM_MEMBER(this_ptr, "_styles");
}
-static PHP_METHOD(Phalcon_Di_Service, __construct) {
+static PHP_METHOD(Phalcon_Debug_Dump, one) {
- zend_bool shared;
- zval *name_param = NULL, *definition, *shared_param = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
zval *name = NULL;
+ zval *variable, *name_param = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &name_param, &definition, &shared_param);
-
- if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 1, 1, &variable, &name_param);
- if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
- zephir_get_strval(name, name_param);
- } else {
+ if (!name_param) {
ZEPHIR_INIT_VAR(name);
ZVAL_EMPTY_STRING(name);
- }
- if (!shared_param) {
- shared = 0;
} else {
- shared = zephir_get_boolval(shared_param);
+ zephir_get_strval(name, name_param);
}
- zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, getName) {
-
-
- RETURN_MEMBER(this_ptr, "_name");
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setShared) {
-
- zval *shared_param = NULL;
- zend_bool shared;
-
- zephir_fetch_params(0, 1, 0, &shared_param);
-
- shared = zephir_get_boolval(shared_param);
-
-
- zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, isShared) {
-
-
- RETURN_MEMBER(this_ptr, "_shared");
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setSharedInstance) {
-
- zval *sharedInstance;
-
- zephir_fetch_params(0, 1, 0, &sharedInstance);
-
-
-
- zephir_update_property_this(this_ptr, SL("_sharedInstance"), sharedInstance TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setDefinition) {
-
- zval *definition;
-
- zephir_fetch_params(0, 1, 0, &definition);
-
-
-
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, getDefinition) {
-
-
- RETURN_MEMBER(this_ptr, "_definition");
+ ZEPHIR_RETURN_CALL_METHOD(this_ptr, "variable", NULL, variable, name);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, resolve) {
+static PHP_METHOD(Phalcon_Debug_Dump, output) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_7 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zend_bool found;
- zval *parameters = NULL, *dependencyInjector = NULL, *shared, *definition, *sharedInstance, *instance = NULL, *builder, *reflection = NULL, *_4, *_5, *_6;
+ zend_bool _15, _16, _17;
+ HashTable *_8, *_25, *_37;
+ HashPosition _7, _24, _36;
+ zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_11 = NULL, *_19 = NULL, *_21 = NULL, *_23 = NULL, *_29 = NULL, *_30 = NULL, *_31 = NULL, *_33 = NULL, *_34 = NULL, *_42 = NULL, *_44 = NULL, *_45 = NULL;
+ zephir_fcall_cache_entry *_4 = NULL;
+ zval *_1 = NULL, *_12 = NULL, *_40 = NULL;
+ int tab, ZEPHIR_LAST_CALL_STATUS;
+ zval *name = NULL, *_0;
+ zval *variable, *name_param = NULL, *tab_param = NULL, *key = NULL, *value = NULL, *output = NULL, *space, *type = NULL, *attr = NULL, *_2 = NULL, *_3 = NULL, _5 = zval_used_for_init, **_9, *_10 = NULL, *_13 = NULL, *_14 = NULL, *_18 = NULL, *_20 = NULL, *_22, **_26, *_27 = NULL, *_28 = NULL, *_32, *_35, **_38, *_39 = NULL, *_41 = NULL, _43;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 0, 2, ¶meters, &dependencyInjector);
+ zephir_fetch_params(1, 1, 2, &variable, &name_param, &tab_param);
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
+ if (!name_param) {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ } else {
+ zephir_get_strval(name, name_param);
}
- if (!dependencyInjector) {
- dependencyInjector = ZEPHIR_GLOBAL(global_null);
+ if (!tab_param) {
+ tab = 1;
+ } else {
+ tab = zephir_get_intval(tab_param);
}
- ZEPHIR_OBS_VAR(shared);
- zephir_read_property_this(&shared, this_ptr, SL("_shared"), PH_NOISY_CC);
- if (zephir_is_true(shared)) {
- ZEPHIR_OBS_VAR(sharedInstance);
- zephir_read_property_this(&sharedInstance, this_ptr, SL("_sharedInstance"), PH_NOISY_CC);
- if (Z_TYPE_P(sharedInstance) != IS_NULL) {
- RETURN_CCTOR(sharedInstance);
- }
+ ZEPHIR_INIT_VAR(space);
+ ZVAL_STRING(space, " ", 1);
+ ZEPHIR_INIT_VAR(output);
+ ZVAL_STRING(output, "", 1);
+ if (name && Z_STRLEN_P(name)) {
+ ZEPHIR_INIT_VAR(_0);
+ ZEPHIR_CONCAT_VS(_0, name, " ");
+ ZEPHIR_CPY_WRT(output, _0);
}
- found = 1;
- ZEPHIR_INIT_VAR(instance);
- ZVAL_NULL(instance);
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) == IS_STRING) {
- if (zephir_class_exists(definition, 1 TSRMLS_CC)) {
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- if (zephir_fast_count_int(parameters TSRMLS_CC)) {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_VAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, definition, parameters TSRMLS_CC);
- zephir_check_call_status();
- }
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+ if (Z_TYPE_P(variable) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_3);
+ ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":count"), zephir_fast_count_int(variable TSRMLS_CC));
+ ZEPHIR_SINIT_VAR(_5);
+ ZVAL_STRING(&_5, "Array (:count) (\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _2 TSRMLS_CC);
+ zephir_is_iterable(variable, &_8, &_7, 0, 0, "phalcon/debug/dump.zep", 154);
+ for (
+ ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS
+ ; zephir_hash_move_forward_ex(_8, &_7)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _8, _7);
+ ZEPHIR_GET_HVALUE(value, _9);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "arr", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "[:key] => ", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ _15 = tab == 1;
+ if (_15) {
+ _15 = !ZEPHIR_IS_STRING(name, "");
+ }
+ _16 = _15;
+ if (_16) {
+ _16 = !(Z_TYPE_P(key) == IS_LONG);
+ }
+ _17 = _16;
+ if (_17) {
+ _17 = ZEPHIR_IS_EQUAL(name, key);
+ }
+ if (_17) {
+ continue;
} else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
- zephir_check_call_status();
- }
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_18, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
}
- } else {
- found = 0;
}
- } else {
- if (Z_TYPE_P(definition) == IS_OBJECT) {
- if (zephir_instance_of_ev(definition, zend_ce_closure TSRMLS_CC)) {
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_USER_FUNC_ARRAY(instance, definition, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_USER_FUNC(instance, definition);
- zephir_check_call_status();
- }
- } else {
- ZEPHIR_CPY_WRT(instance, definition);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab - 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_OBJECT) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ zephir_array_update_string(&_1, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Object :class", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _2 TSRMLS_CC);
+ ZEPHIR_CALL_FUNCTION(&_13, "get_parent_class", &_21, variable);
+ zephir_check_call_status();
+ if (zephir_is_true(_13)) {
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_18, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_18, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_FUNCTION(&_18, "get_parent_class", &_21, variable);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":parent"), &_18, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, " extends :parent", 0);
+ ZEPHIR_CALL_FUNCTION(&_18, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _18 TSRMLS_CC);
+ }
+ zephir_concat_self_str(&output, SL(" (\n") TSRMLS_CC);
+ _22 = zephir_fetch_nproperty_this(this_ptr, SL("_detailed"), PH_NOISY_CC);
+ if (!(zephir_is_true(_22))) {
+ ZEPHIR_CALL_FUNCTION(&_10, "get_object_vars", &_23, variable);
+ zephir_check_call_status();
+ zephir_is_iterable(_10, &_25, &_24, 0, 0, "phalcon/debug/dump.zep", 171);
+ for (
+ ; zephir_hash_get_current_data_ex(_25, (void**) &_26, &_24) == SUCCESS
+ ; zephir_hash_move_forward_ex(_25, &_24)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _25, _24);
+ ZEPHIR_GET_HVALUE(value, _26);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_13, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":key"), &key, PH_COPY | PH_SEPARATE);
+ add_assoc_stringl_ex(_12, SS(":type"), SL("public"), 1);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:key (:type) = ", 0);
+ ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _13, _27);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _28, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
}
} else {
- if (Z_TYPE_P(definition) == IS_ARRAY) {
- ZEPHIR_INIT_VAR(builder);
- object_init_ex(builder, phalcon_di_service_builder_ce);
- if (zephir_has_constructor(builder TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, builder, "__construct", NULL);
- zephir_check_call_status();
+ do {
+ Z_SET_ISREF_P(variable);
+ ZEPHIR_CALL_FUNCTION(&attr, "each", &_29, variable);
+ Z_UNSET_ISREF_P(variable);
+ zephir_check_call_status();
+ if (!(zephir_is_true(attr))) {
+ continue;
}
- ZEPHIR_CALL_METHOD(&instance, builder, "build", &_3, dependencyInjector, definition, parameters);
+ ZEPHIR_OBS_NVAR(key);
+ zephir_array_fetch_string(&key, attr, SL("key"), PH_NOISY, "phalcon/debug/dump.zep", 178 TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(value);
+ zephir_array_fetch_string(&value, attr, SL("value"), PH_NOISY, "phalcon/debug/dump.zep", 179 TSRMLS_CC);
+ if (!(zephir_is_true(key))) {
+ continue;
+ }
+ ZEPHIR_INIT_NVAR(_3);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "\\x00", 0);
+ ZEPHIR_CALL_FUNCTION(&_10, "ord", &_30, &_5);
zephir_check_call_status();
- } else {
- found = 0;
- }
+ ZEPHIR_CALL_FUNCTION(&_13, "chr", &_31, _10);
+ zephir_check_call_status();
+ zephir_fast_explode(_3, _13, key, LONG_MAX TSRMLS_CC);
+ ZEPHIR_CPY_WRT(key, _3);
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "public", 1);
+ if (zephir_array_isset_long(key, 1)) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "private", 1);
+ zephir_array_fetch_long(&_32, key, 1, PH_NOISY | PH_READONLY, "phalcon/debug/dump.zep", 190 TSRMLS_CC);
+ if (ZEPHIR_IS_STRING(_32, "*")) {
+ ZEPHIR_INIT_NVAR(type);
+ ZVAL_STRING(type, "protected", 1);
+ }
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_27, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_27, PH_COPY | PH_SEPARATE);
+ Z_SET_ISREF_P(key);
+ ZEPHIR_CALL_FUNCTION(&_27, "end", &_33, key);
+ Z_UNSET_ISREF_P(key);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":key"), &_27, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":type"), &type, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:key (:type) = ", 0);
+ ZEPHIR_CALL_FUNCTION(&_27, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _18, _27);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "output", &_19, value, _3, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _28, "\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ } while (zephir_is_true(attr));
}
- }
- if (found == 0) {
- ZEPHIR_INIT_VAR(_4);
- object_init_ex(_4, phalcon_di_exception_ce);
- _5 = zephir_fetch_nproperty_this(this_ptr, SL("_name"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_6);
- ZEPHIR_CONCAT_SVS(_6, "Service '", _5, "' cannot be resolved");
- ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_7, _6);
+ ZEPHIR_CALL_FUNCTION(&attr, "get_class_methods", &_34, variable);
zephir_check_call_status();
- zephir_throw_exception_debug(_4, "phalcon/di/service.zep", 212 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (zephir_is_true(shared)) {
- zephir_update_property_this(this_ptr, SL("_sharedInstance"), instance TSRMLS_CC);
- }
- zephir_update_property_this(this_ptr, SL("_resolved"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
- RETURN_CCTOR(instance);
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, setParameter) {
-
- zval *parameter = NULL;
- zval *position_param = NULL, *parameter_param = NULL, *definition, *arguments = NULL;
- int position;
-
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &position_param, ¶meter_param);
-
- position = zephir_get_intval(position_param);
- parameter = parameter_param;
-
-
-
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to update its parameters", "phalcon/di/service.zep", 236);
- return;
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ zephir_array_update_string(&_12, SL(":class"), &_3, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_12, SS(":count"), zephir_fast_count_int(attr TSRMLS_CC));
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, ":class methods: (:count) (\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ zephir_get_class(_3, variable, 0 TSRMLS_CC);
+ _35 = zephir_fetch_nproperty_this(this_ptr, SL("_methods"), PH_NOISY_CC);
+ if (zephir_fast_in_array(_3, _35 TSRMLS_CC)) {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, "[already listed]\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ } else {
+ zephir_is_iterable(attr, &_37, &_36, 0, 0, "phalcon/debug/dump.zep", 214);
+ for (
+ ; zephir_hash_get_current_data_ex(_37, (void**) &_38, &_36) == SUCCESS
+ ; zephir_hash_move_forward_ex(_37, &_36)
+ ) {
+ ZEPHIR_GET_HVALUE(value, _38);
+ ZEPHIR_INIT_NVAR(_39);
+ zephir_get_class(_39, variable, 0 TSRMLS_CC);
+ zephir_update_property_array_append(this_ptr, SL("_methods"), _39 TSRMLS_CC);
+ if (ZEPHIR_IS_STRING(value, "__construct")) {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_12);
+ zephir_create_array(_12, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_39);
+ ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _39);
+ zephir_check_temp_parameter(_39);
+ zephir_check_call_status();
+ zephir_array_update_string(&_12, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_12, SL(":method"), &value, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:method(); [constructor]\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_13, "strtr", &_6, &_5, _12);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_14);
+ ZEPHIR_CONCAT_VV(_14, _10, _13);
+ zephir_concat_self(&output, _14 TSRMLS_CC);
+ } else {
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab + 1));
+ ZEPHIR_CALL_FUNCTION(&_27, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_NVAR(_40);
+ zephir_create_array(_40, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_39);
+ ZVAL_STRING(_39, "obj", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_28, this_ptr, "getstyle", &_4, _39);
+ zephir_check_temp_parameter(_39);
+ zephir_check_call_status();
+ zephir_array_update_string(&_40, SL(":style"), &_28, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_40, SL(":method"), &value, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "->:method();\n", 0);
+ ZEPHIR_CALL_FUNCTION(&_28, "strtr", &_6, &_5, _40);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_41);
+ ZEPHIR_CONCAT_VV(_41, _27, _28);
+ zephir_concat_self(&output, _41 TSRMLS_CC);
+ }
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, tab);
+ ZEPHIR_CALL_FUNCTION(&_18, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_INIT_LNVAR(_20);
+ ZEPHIR_CONCAT_VS(_20, _18, ")\n");
+ zephir_concat_self(&output, _20 TSRMLS_CC);
+ }
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, (tab - 1));
+ ZEPHIR_CALL_FUNCTION(&_10, "str_repeat", &_11, space, &_5);
+ zephir_check_call_status();
+ ZEPHIR_CONCAT_VVS(return_value, output, _10, ")");
+ RETURN_MM();
}
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
- zephir_array_update_long(&arguments, position, ¶meter, PH_COPY | PH_SEPARATE, "phalcon/di/service.zep", 243);
- } else {
- ZEPHIR_INIT_NVAR(arguments);
- zephir_create_array(arguments, 1, 0 TSRMLS_CC);
- zephir_array_update_long(&arguments, position, ¶meter, PH_COPY, "phalcon/di/service.zep", 245);
+ if (Z_TYPE_P(variable) == IS_LONG) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "int", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Integer (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
}
- zephir_array_update_string(&definition, SL("arguments"), &arguments, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
- RETURN_THIS();
+ ZEPHIR_CALL_FUNCTION(&_2, "is_float", &_42, variable);
+ zephir_check_call_status();
+ if (zephir_is_true(_2)) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "float", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_13, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_13, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Float (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (zephir_is_numeric(variable)) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "num", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Numeric string (:length) \":var\"", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_STRING) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 3, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "str", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ add_assoc_long_ex(_1, SS(":length"), zephir_fast_strlen_ev(variable));
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_LONG(&_5, 4);
+ ZEPHIR_SINIT_VAR(_43);
+ ZVAL_STRING(&_43, "utf-8", 0);
+ ZEPHIR_CALL_FUNCTION(&_2, "htmlentities", &_44, variable, &_5, &_43);
+ zephir_check_call_status();
+ ZEPHIR_CALL_FUNCTION(&_13, "nl2br", &_45, _2);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":var"), &_13, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "String (:length) \":var\"", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_BOOL) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "bool", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_LNVAR(_14);
+ if (zephir_is_true(variable)) {
+ ZEPHIR_INIT_NVAR(_14);
+ ZVAL_STRING(_14, "TRUE", 1);
+ } else {
+ ZEPHIR_INIT_NVAR(_14);
+ ZVAL_STRING(_14, "FALSE", 1);
+ }
+ zephir_array_update_string(&_1, SL(":var"), &_14, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "Boolean (:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ if (Z_TYPE_P(variable) == IS_NULL) {
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 1, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "null", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "NULL", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_INIT_NVAR(_1);
+ zephir_create_array(_1, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "other", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_2, this_ptr, "getstyle", &_4, _3);
+ zephir_check_temp_parameter(_3);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL(":style"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL(":var"), &variable, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_STRING(&_5, "(:var)", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_6, &_5, _1);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, getParameter) {
+static PHP_METHOD(Phalcon_Debug_Dump, variable) {
- zval *position_param = NULL, *definition, *arguments, *parameter;
- int position;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *_0;
+ zval *name = NULL;
+ zval *variable, *name_param = NULL, *_1 = NULL, *_2, _3;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &position_param);
-
- position = zephir_get_intval(position_param);
-
+ zephir_fetch_params(1, 1, 1, &variable, &name_param);
- ZEPHIR_OBS_VAR(definition);
- zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
- if (Z_TYPE_P(definition) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to obtain its parameters", "phalcon/di/service.zep", 273);
- return;
- }
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 1 TSRMLS_CC)) {
- if (zephir_array_isset_long_fetch(¶meter, arguments, position, 1 TSRMLS_CC)) {
- RETURN_CTOR(parameter);
- }
+ if (!name_param) {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ } else {
+ zephir_get_strval(name, name_param);
}
- RETURN_MM_NULL();
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service, isResolved) {
- RETURN_MEMBER(this_ptr, "_resolved");
+ ZEPHIR_INIT_VAR(_0);
+ zephir_create_array(_0, 2, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_2);
+ ZVAL_STRING(_2, "pre", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "getstyle", NULL, _2);
+ zephir_check_temp_parameter(_2);
+ zephir_check_call_status();
+ zephir_array_update_string(&_0, SL(":style"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_CALL_METHOD(&_1, this_ptr, "output", NULL, variable, name);
+ zephir_check_call_status();
+ zephir_array_update_string(&_0, SL(":output"), &_1, PH_COPY | PH_SEPARATE);
+ ZEPHIR_SINIT_VAR(_3);
+ ZVAL_STRING(&_3, ":output
", 0);
+ ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_4, &_3, _0);
+ zephir_check_call_status();
+ RETURN_MM();
}
-static PHP_METHOD(Phalcon_Di_Service, __set_state) {
+static PHP_METHOD(Phalcon_Debug_Dump, variables) {
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zephir_fcall_cache_entry *_7 = NULL;
+ HashTable *_3;
+ HashPosition _2;
int ZEPHIR_LAST_CALL_STATUS;
- zval *attributes_param = NULL, *name, *definition, *shared;
- zval *attributes = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL;
+ zval *key = NULL, *value = NULL, *output, *_0 = NULL, **_4, *_5 = NULL, *_6 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 1, 0, &attributes_param);
-
- attributes = attributes_param;
-
-
- ZEPHIR_OBS_VAR(name);
- if (!(zephir_array_isset_string_fetch(&name, attributes, SS("_name"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_name' is required", "phalcon/di/service.zep", 304);
- return;
- }
- ZEPHIR_OBS_VAR(definition);
- if (!(zephir_array_isset_string_fetch(&definition, attributes, SS("_definition"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_definition' is required", "phalcon/di/service.zep", 308);
- return;
- }
- ZEPHIR_OBS_VAR(shared);
- if (!(zephir_array_isset_string_fetch(&shared, attributes, SS("_shared"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_shared' is required", "phalcon/di/service.zep", 312);
- return;
- }
- object_init_ex(return_value, phalcon_di_service_ce);
- ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, name, definition, shared);
+ ZEPHIR_INIT_VAR(output);
+ ZVAL_STRING(output, "", 1);
+ ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", &_1);
zephir_check_call_status();
- RETURN_MM();
+ zephir_is_iterable(_0, &_3, &_2, 0, 0, "phalcon/debug/dump.zep", 283);
+ for (
+ ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS
+ ; zephir_hash_move_forward_ex(_3, &_2)
+ ) {
+ ZEPHIR_GET_HMKEY(key, _3, _2);
+ ZEPHIR_GET_HVALUE(value, _4);
+ ZEPHIR_INIT_LNVAR(_6);
+ ZEPHIR_CONCAT_SV(_6, "var ", key);
+ ZEPHIR_CALL_METHOD(&_5, this_ptr, "one", &_7, value, _6);
+ zephir_check_call_status();
+ zephir_concat_self(&output, _5 TSRMLS_CC);
+ }
+ RETURN_CCTOR(output);
}
@@ -53441,33 +54993,41 @@ static PHP_METHOD(Phalcon_Di_Service, __set_state) {
#include
+#include
#include
+#include
-ZEPHIR_INIT_CLASS(Phalcon_Di_ServiceInterface) {
+ZEPHIR_INIT_CLASS(Phalcon_Debug_Exception) {
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, ServiceInterface, phalcon, di_serviceinterface, phalcon_di_serviceinterface_method_entry);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Debug, Exception, phalcon, debug_exception, phalcon_exception_ce, NULL, 0);
return SUCCESS;
}
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __construct);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getName);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setShared);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, isShared);
+#ifdef HAVE_CONFIG_H
+#endif
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setDefinition);
+#include
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getDefinition);
+#include
+#include
+#include
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, resolve);
-ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
+
+ZEPHIR_INIT_CLASS(Phalcon_Di_Exception) {
+
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, Exception, phalcon, di_exception, phalcon_exception_ce, NULL, 0);
+
+ return SUCCESS;
+
+}
@@ -53483,15 +55043,15 @@ ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
-ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault_Cli) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di\\FactoryDefault, Cli, phalcon, di_factorydefault_cli, phalcon_di_factorydefault_ce, phalcon_di_factorydefault_cli_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, FactoryDefault, phalcon, di_factorydefault, phalcon_di_ce, phalcon_di_factorydefault_method_entry, 0);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
+static PHP_METHOD(Phalcon_Di_FactoryDefault, __construct) {
zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
zval *_1;
@@ -53500,16 +55060,16 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_MM_GROW();
- ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_cli_ce, this_ptr, "__construct", &_0);
+ ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_ce, this_ptr, "__construct", &_0);
zephir_check_call_status();
ZEPHIR_INIT_VAR(_1);
- zephir_create_array(_1, 10, 0 TSRMLS_CC);
+ zephir_create_array(_1, 21, 0 TSRMLS_CC);
ZEPHIR_INIT_VAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_VAR(_3);
ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_VAR(_4);
- ZVAL_STRING(_4, "Phalcon\\CLI\\Router", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Router", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_VAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
@@ -53522,7 +55082,7 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\CLI\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
@@ -53533,6 +55093,19 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "url", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Url", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("url"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
@@ -53559,6 +55132,45 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "response", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Response", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("response"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "cookies", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Response\\Cookies", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("cookies"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "request", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Http\\Request", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("request"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
@@ -53585,6 +55197,32 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "crypt", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Crypt", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("crypt"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
@@ -53598,424 +55236,253 @@ static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "flash", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Flash\\Direct", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("flash"), &_2, PH_COPY | PH_SEPARATE);
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "flashSession", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Flash\\Session", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_array_update_string(&_1, SL("flashSession"), &_2, PH_COPY | PH_SEPARATE);
ZEPHIR_INIT_NVAR(_2);
object_init_ex(_2, phalcon_di_service_ce);
ZEPHIR_INIT_NVAR(_3);
- ZVAL_STRING(_3, "transactionManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_3, "tag", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_INIT_NVAR(_4);
- ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZVAL_STRING(_4, "Phalcon\\Tag", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_SINIT_NVAR(_5);
ZVAL_BOOL(&_5, 1);
ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
zephir_check_temp_parameter(_3);
zephir_check_temp_parameter(_4);
zephir_check_call_status();
- zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
- zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
-
-}
-
-
-
-
-#ifdef HAVE_CONFIG_H
-#endif
-
-#include
-
-#include
-#include
-#include
-
-
-
-ZEPHIR_INIT_CLASS(Phalcon_Di_Service_Builder) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Di\\Service, Builder, phalcon, di_service_builder, phalcon_di_service_builder_method_entry, 0);
-
- return SUCCESS;
-
-}
-
-static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameter) {
-
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
- zval *_2 = NULL;
- zval *argument = NULL;
- int position, ZEPHIR_LAST_CALL_STATUS;
- zval *dependencyInjector, *position_param = NULL, *argument_param = NULL, *type, *name = NULL, *value, *instanceArguments, *_0 = NULL, _1 = zval_used_for_init;
+ zephir_array_update_string(&_1, SL("tag"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "session", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Session\\Adapter\\Files", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("session"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Session\\Bag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("sessionBag"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "transactions", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "assets", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Assets\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("assets"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 3, 0, &dependencyInjector, &position_param, &argument_param);
+}
- position = zephir_get_intval(position_param);
- argument = argument_param;
- ZEPHIR_OBS_VAR(type);
- if (!(zephir_array_isset_string_fetch(&type, argument, SS("type"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_VAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_VAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_VAR(_2);
- ZEPHIR_CONCAT_SVS(_2, "Argument at position ", &_1, " must have a type");
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 49 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- do {
- if (ZEPHIR_IS_STRING(type, "service")) {
- ZEPHIR_OBS_VAR(name);
- if (!(zephir_array_isset_string_fetch(&name, argument, SS("name"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'name' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 59 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 62);
- return;
- }
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
- zephir_check_call_status();
- RETURN_MM();
- }
- if (ZEPHIR_IS_STRING(type, "parameter")) {
- ZEPHIR_OBS_VAR(value);
- if (!(zephir_array_isset_string_fetch(&value, argument, SS("value"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'value' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 71 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- RETURN_CCTOR(value);
- }
- if (ZEPHIR_IS_STRING(type, "instance")) {
- ZEPHIR_OBS_NVAR(name);
- if (!(zephir_array_isset_string_fetch(&name, argument, SS("className"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Service 'className' is required in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 81 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 85);
- return;
- }
- ZEPHIR_OBS_VAR(instanceArguments);
- if (zephir_array_isset_string_fetch(&instanceArguments, argument, SS("arguments"), 0 TSRMLS_CC)) {
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name, instanceArguments);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
- zephir_check_call_status();
- RETURN_MM();
- }
- ZEPHIR_INIT_NVAR(_0);
- object_init_ex(_0, phalcon_di_exception_ce);
- ZEPHIR_SINIT_NVAR(_1);
- ZVAL_LONG(&_1, position);
- ZEPHIR_INIT_LNVAR(_2);
- ZEPHIR_CONCAT_SV(_2, "Unknown service type in parameter on position ", &_1);
- ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
- zephir_check_call_status();
- zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 104 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- } while(0);
+#ifdef HAVE_CONFIG_H
+#endif
- ZEPHIR_MM_RESTORE();
+#include
+
+#include
+#include
+#include
+
+
+
+ZEPHIR_INIT_CLASS(Phalcon_Di_Injectable) {
+
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Injectable, phalcon, di_injectable, phalcon_di_injectable_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
+
+ zend_declare_property_null(phalcon_di_injectable_ce, SL("_dependencyInjector"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_declare_property_null(phalcon_di_injectable_ce, SL("_eventsManager"), ZEND_ACC_PROTECTED TSRMLS_CC);
+
+ zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_di_injectionawareinterface_ce);
+ zend_class_implements(phalcon_di_injectable_ce TSRMLS_CC, 1, phalcon_events_eventsawareinterface_ce);
+ return SUCCESS;
}
-static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameters) {
+static PHP_METHOD(Phalcon_Di_Injectable, setDI) {
- zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- HashTable *_1;
- HashPosition _0;
- zval *arguments = NULL;
- zval *dependencyInjector, *arguments_param = NULL, *position = NULL, *argument = NULL, *buildArguments, **_2, *_3 = NULL;
+ zval *dependencyInjector;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &dependencyInjector, &arguments_param);
+ zephir_fetch_params(0, 1, 0, &dependencyInjector);
- arguments = arguments_param;
+ zephir_update_property_this(this_ptr, SL("_dependencyInjector"), dependencyInjector TSRMLS_CC);
- ZEPHIR_INIT_VAR(buildArguments);
- array_init(buildArguments);
- zephir_is_iterable(arguments, &_1, &_0, 0, 0, "phalcon/di/service/builder.zep", 119);
- for (
- ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
- ; zephir_hash_move_forward_ex(_1, &_0)
- ) {
- ZEPHIR_GET_HMKEY(position, _1, _0);
- ZEPHIR_GET_HVALUE(argument, _2);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_4, dependencyInjector, position, argument);
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, getDI) {
+
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ zval *dependencyInjector = NULL;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_OBS_VAR(dependencyInjector);
+ zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_0);
zephir_check_call_status();
- zephir_array_append(&buildArguments, _3, PH_SEPARATE, "phalcon/di/service/builder.zep", 117);
}
- RETURN_CCTOR(buildArguments);
+ RETURN_CCTOR(dependencyInjector);
}
-static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
+static PHP_METHOD(Phalcon_Di_Injectable, setEventsManager) {
- zephir_fcall_cache_entry *_10 = NULL;
- HashTable *_6, *_12;
- HashPosition _5, _11;
- zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_15 = NULL;
- int ZEPHIR_LAST_CALL_STATUS;
- zval *definition = NULL;
- zval *dependencyInjector, *definition_param = NULL, *parameters = NULL, *className, *arguments = NULL, *paramCalls = NULL, *methodPosition = NULL, *method = NULL, *methodName = NULL, *methodCall = NULL, *instance = NULL, *propertyPosition = NULL, *property = NULL, *propertyName = NULL, *propertyValue = NULL, *reflection = NULL, *_3 = NULL, **_7, *_8 = NULL, *_9 = NULL, **_13, *_14 = NULL;
+ zval *eventsManager;
- ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &dependencyInjector, &definition_param, ¶meters);
+ zephir_fetch_params(0, 1, 0, &eventsManager);
- definition = definition_param;
- if (!parameters) {
- parameters = ZEPHIR_GLOBAL(global_null);
- }
+ zephir_update_property_this(this_ptr, SL("_eventsManager"), eventsManager TSRMLS_CC);
- ZEPHIR_OBS_VAR(className);
- if (!(zephir_array_isset_string_fetch(&className, definition, SS("className"), 0 TSRMLS_CC))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Invalid service definition. Missing 'className' parameter", "phalcon/di/service/builder.zep", 140);
- return;
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, getEventsManager) {
+
+
+ RETURN_MEMBER(this_ptr, "_eventsManager");
+
+}
+
+static PHP_METHOD(Phalcon_Di_Injectable, __get) {
+
+ zval *_4;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_1 = NULL, *_7 = NULL;
+ zval *propertyName_param = NULL, *dependencyInjector = NULL, *service = NULL, *persistent = NULL, *_0, *_2 = NULL, *_3 = NULL, *_5 = NULL;
+ zval *propertyName = NULL, *_6;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &propertyName_param);
+
+ if (unlikely(Z_TYPE_P(propertyName_param) != IS_STRING && Z_TYPE_P(propertyName_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'propertyName' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
}
- if (Z_TYPE_P(parameters) == IS_ARRAY) {
- if (zephir_fast_count_int(parameters TSRMLS_CC)) {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_VAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, parameters TSRMLS_CC);
- zephir_check_call_status();
- }
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+
+ if (likely(Z_TYPE_P(propertyName_param) == IS_STRING)) {
+ zephir_get_strval(propertyName, propertyName_param);
} else {
- ZEPHIR_OBS_VAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
- zephir_check_call_status();
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, _3 TSRMLS_CC);
- zephir_check_call_status();
- } else {
- if (zephir_is_php_version(50600)) {
- ZEPHIR_INIT_NVAR(reflection);
- object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
- ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
- zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
- zephir_check_call_status();
- } else {
- ZEPHIR_INIT_NVAR(instance);
- ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
- zephir_check_call_status();
- }
- }
+ ZEPHIR_INIT_VAR(propertyName);
+ ZVAL_EMPTY_STRING(propertyName);
}
- ZEPHIR_OBS_VAR(paramCalls);
- if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("calls"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(instance) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has setter injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 192);
- return;
- }
- if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 196);
+
+
+ _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
+ ZEPHIR_CPY_WRT(dependencyInjector, _0);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_1);
+ zephir_check_call_status();
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "A dependency injection object is required to access the application services", "phalcon/di/injectable.zep", 127);
return;
}
- zephir_is_iterable(paramCalls, &_6, &_5, 0, 0, "phalcon/di/service/builder.zep", 250);
- for (
- ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
- ; zephir_hash_move_forward_ex(_6, &_5)
- ) {
- ZEPHIR_GET_HMKEY(methodPosition, _6, _5);
- ZEPHIR_GET_HVALUE(method, _7);
- if (Z_TYPE_P(method) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Method call must be an array on position ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 208 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(methodName);
- if (!(zephir_array_isset_string_fetch(&methodName, method, SS("method"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The method name is required on position ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 215 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_INIT_NVAR(methodCall);
- zephir_create_array(methodCall, 2, 0 TSRMLS_CC);
- zephir_array_fast_append(methodCall, instance);
- zephir_array_fast_append(methodCall, methodName);
- ZEPHIR_OBS_NVAR(arguments);
- if (zephir_array_isset_string_fetch(&arguments, method, SS("arguments"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(arguments) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Call arguments must be an array ", methodPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 226 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- if (zephir_fast_count_int(arguments TSRMLS_CC)) {
- ZEPHIR_INIT_NVAR(_8);
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
- zephir_check_call_status();
- ZEPHIR_CALL_USER_FUNC_ARRAY(_8, methodCall, _3);
- zephir_check_call_status();
- continue;
- }
- }
- ZEPHIR_INIT_NVAR(_8);
- ZEPHIR_CALL_USER_FUNC(_8, methodCall);
- zephir_check_call_status();
- }
}
- ZEPHIR_OBS_NVAR(paramCalls);
- if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("properties"), 0 TSRMLS_CC)) {
- if (Z_TYPE_P(instance) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has properties injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 258);
- return;
- }
- if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 262);
- return;
- }
- zephir_is_iterable(paramCalls, &_12, &_11, 0, 0, "phalcon/di/service/builder.zep", 297);
- for (
- ; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
- ; zephir_hash_move_forward_ex(_12, &_11)
- ) {
- ZEPHIR_GET_HMKEY(propertyPosition, _12, _11);
- ZEPHIR_GET_HVALUE(property, _13);
- if (Z_TYPE_P(property) != IS_ARRAY) {
- ZEPHIR_INIT_NVAR(_14);
- object_init_ex(_14, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "Property must be an array on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _14, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_14, "phalcon/di/service/builder.zep", 274 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(propertyName);
- if (!(zephir_array_isset_string_fetch(&propertyName, property, SS("name"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The property name is required on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 281 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_OBS_NVAR(propertyValue);
- if (!(zephir_array_isset_string_fetch(&propertyValue, property, SS("value"), 0 TSRMLS_CC))) {
- ZEPHIR_INIT_NVAR(_8);
- object_init_ex(_8, phalcon_di_exception_ce);
- ZEPHIR_INIT_LNVAR(_9);
- ZEPHIR_CONCAT_SV(_9, "The property value is required on position ", propertyPosition);
- ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
- zephir_check_call_status();
- zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 288 TSRMLS_CC);
- ZEPHIR_MM_RESTORE();
- return;
- }
- ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_15, dependencyInjector, propertyPosition, propertyValue);
- zephir_check_call_status();
- zephir_update_property_zval_zval(instance, propertyName, _3 TSRMLS_CC);
- }
+ ZEPHIR_CALL_METHOD(&_2, dependencyInjector, "has", NULL, propertyName);
+ zephir_check_call_status();
+ if (zephir_is_true(_2)) {
+ ZEPHIR_CALL_METHOD(&service, dependencyInjector, "getshared", NULL, propertyName);
+ zephir_check_call_status();
+ zephir_update_property_zval_zval(this_ptr, propertyName, service TSRMLS_CC);
+ RETURN_CCTOR(service);
}
- RETURN_CCTOR(instance);
+ if (ZEPHIR_IS_STRING(propertyName, "di")) {
+ zephir_update_property_zval(this_ptr, SL("di"), dependencyInjector TSRMLS_CC);
+ RETURN_CCTOR(dependencyInjector);
+ }
+ if (ZEPHIR_IS_STRING(propertyName, "persistent")) {
+ ZEPHIR_INIT_VAR(_4);
+ zephir_create_array(_4, 1, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_5);
+ zephir_get_class(_5, this_ptr, 0 TSRMLS_CC);
+ zephir_array_fast_append(_4, _5);
+ ZEPHIR_INIT_NVAR(_5);
+ ZVAL_STRING(_5, "sessionBag", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(&_3, dependencyInjector, "get", NULL, _5, _4);
+ zephir_check_temp_parameter(_5);
+ zephir_check_call_status();
+ ZEPHIR_CPY_WRT(persistent, _3);
+ zephir_update_property_zval(this_ptr, SL("persistent"), persistent TSRMLS_CC);
+ RETURN_CCTOR(persistent);
+ }
+ ZEPHIR_INIT_VAR(_6);
+ ZEPHIR_CONCAT_SV(_6, "Access to undefined property ", propertyName);
+ ZEPHIR_CALL_FUNCTION(NULL, "trigger_error", &_7, _6);
+ zephir_check_call_status();
+ RETURN_MM_NULL();
}
@@ -54027,20 +55494,22 @@ static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
#include
-#include
#include
-#include
-ZEPHIR_INIT_CLASS(Phalcon_Escaper_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_InjectionAwareInterface) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Escaper, Exception, phalcon, escaper_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, InjectionAwareInterface, phalcon, di_injectionawareinterface, phalcon_di_injectionawareinterface_method_entry);
return SUCCESS;
}
+ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, setDI);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_InjectionAwareInterface, getDI);
+
@@ -54055,136 +55524,347 @@ ZEPHIR_INIT_CLASS(Phalcon_Escaper_Exception) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_Event) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_Service) {
- ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Event, phalcon, events_event, phalcon_events_event_method_entry, 0);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di, Service, phalcon, di_service, phalcon_di_service_method_entry, 0);
- zend_declare_property_null(phalcon_events_event_ce, SL("_type"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_name"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_events_event_ce, SL("_source"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_definition"), ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_null(phalcon_events_event_ce, SL("_data"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(phalcon_di_service_ce, SL("_shared"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_bool(phalcon_events_event_ce, SL("_stopped"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(phalcon_di_service_ce, SL("_resolved"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
- zend_declare_property_bool(phalcon_events_event_ce, SL("_cancelable"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_null(phalcon_di_service_ce, SL("_sharedInstance"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_class_implements(phalcon_di_service_ce TSRMLS_CC, 1, phalcon_di_serviceinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Event, setType) {
+static PHP_METHOD(Phalcon_Di_Service, __construct) {
- zval *type;
+ zend_bool shared;
+ zval *name_param = NULL, *definition, *shared_param = NULL;
+ zval *name = NULL;
- zephir_fetch_params(0, 1, 0, &type);
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &name_param, &definition, &shared_param);
+
+ if (unlikely(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {
+ zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be a string") TSRMLS_CC);
+ RETURN_MM_NULL();
+ }
+ if (likely(Z_TYPE_P(name_param) == IS_STRING)) {
+ zephir_get_strval(name, name_param);
+ } else {
+ ZEPHIR_INIT_VAR(name);
+ ZVAL_EMPTY_STRING(name);
+ }
+ if (!shared_param) {
+ shared = 0;
+ } else {
+ shared = zephir_get_boolval(shared_param);
+ }
- zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
}
-static PHP_METHOD(Phalcon_Events_Event, getType) {
+static PHP_METHOD(Phalcon_Di_Service, getName) {
- RETURN_MEMBER(this_ptr, "_type");
+ RETURN_MEMBER(this_ptr, "_name");
}
-static PHP_METHOD(Phalcon_Events_Event, getSource) {
+static PHP_METHOD(Phalcon_Di_Service, setShared) {
+ zval *shared_param = NULL;
+ zend_bool shared;
- RETURN_MEMBER(this_ptr, "_source");
+ zephir_fetch_params(0, 1, 0, &shared_param);
+
+ shared = zephir_get_boolval(shared_param);
+
+
+ zephir_update_property_this(this_ptr, SL("_shared"), shared ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, setData) {
+static PHP_METHOD(Phalcon_Di_Service, isShared) {
- zval *data;
- zephir_fetch_params(0, 1, 0, &data);
+ RETURN_MEMBER(this_ptr, "_shared");
+
+}
+static PHP_METHOD(Phalcon_Di_Service, setSharedInstance) {
+ zval *sharedInstance;
- zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+ zephir_fetch_params(0, 1, 0, &sharedInstance);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_sharedInstance"), sharedInstance TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, getData) {
+static PHP_METHOD(Phalcon_Di_Service, setDefinition) {
+ zval *definition;
- RETURN_MEMBER(this_ptr, "_data");
+ zephir_fetch_params(0, 1, 0, &definition);
+
+
+
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
}
-static PHP_METHOD(Phalcon_Events_Event, getCancelable) {
+static PHP_METHOD(Phalcon_Di_Service, getDefinition) {
- RETURN_MEMBER(this_ptr, "_cancelable");
+ RETURN_MEMBER(this_ptr, "_definition");
}
-static PHP_METHOD(Phalcon_Events_Event, __construct) {
+static PHP_METHOD(Phalcon_Di_Service, resolve) {
- zend_bool cancelable;
- zval *type_param = NULL, *source, *data = NULL, *cancelable_param = NULL;
- zval *type = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_3 = NULL, *_7 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zend_bool found;
+ zval *parameters = NULL, *dependencyInjector = NULL, *shared, *definition, *sharedInstance, *instance = NULL, *builder, *reflection = NULL, *_4, *_5, *_6;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 2, &type_param, &source, &data, &cancelable_param);
+ zephir_fetch_params(1, 0, 2, ¶meters, &dependencyInjector);
- if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ if (!parameters) {
+ parameters = ZEPHIR_GLOBAL(global_null);
+ }
+ if (!dependencyInjector) {
+ dependencyInjector = ZEPHIR_GLOBAL(global_null);
}
- if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
- zephir_get_strval(type, type_param);
+
+ ZEPHIR_OBS_VAR(shared);
+ zephir_read_property_this(&shared, this_ptr, SL("_shared"), PH_NOISY_CC);
+ if (zephir_is_true(shared)) {
+ ZEPHIR_OBS_VAR(sharedInstance);
+ zephir_read_property_this(&sharedInstance, this_ptr, SL("_sharedInstance"), PH_NOISY_CC);
+ if (Z_TYPE_P(sharedInstance) != IS_NULL) {
+ RETURN_CCTOR(sharedInstance);
+ }
+ }
+ found = 1;
+ ZEPHIR_INIT_VAR(instance);
+ ZVAL_NULL(instance);
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) == IS_STRING) {
+ if (zephir_class_exists(definition, 1 TSRMLS_CC)) {
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ if (zephir_fast_count_int(parameters TSRMLS_CC)) {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_VAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, definition, parameters TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, definition);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, definition TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ found = 0;
+ }
} else {
- ZEPHIR_INIT_VAR(type);
- ZVAL_EMPTY_STRING(type);
+ if (Z_TYPE_P(definition) == IS_OBJECT) {
+ if (zephir_instance_of_ev(definition, zend_ce_closure TSRMLS_CC)) {
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_USER_FUNC_ARRAY(instance, definition, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_USER_FUNC(instance, definition);
+ zephir_check_call_status();
+ }
+ } else {
+ ZEPHIR_CPY_WRT(instance, definition);
+ }
+ } else {
+ if (Z_TYPE_P(definition) == IS_ARRAY) {
+ ZEPHIR_INIT_VAR(builder);
+ object_init_ex(builder, phalcon_di_service_builder_ce);
+ if (zephir_has_constructor(builder TSRMLS_CC)) {
+ ZEPHIR_CALL_METHOD(NULL, builder, "__construct", NULL);
+ zephir_check_call_status();
+ }
+ ZEPHIR_CALL_METHOD(&instance, builder, "build", &_3, dependencyInjector, definition, parameters);
+ zephir_check_call_status();
+ } else {
+ found = 0;
+ }
+ }
}
- if (!data) {
- data = ZEPHIR_GLOBAL(global_null);
+ if (found == 0) {
+ ZEPHIR_INIT_VAR(_4);
+ object_init_ex(_4, phalcon_di_exception_ce);
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("_name"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_6);
+ ZEPHIR_CONCAT_SVS(_6, "Service '", _5, "' cannot be resolved");
+ ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_7, _6);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_4, "phalcon/di/service.zep", 212 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- if (!cancelable_param) {
- cancelable = 1;
- } else {
- cancelable = zephir_get_boolval(cancelable_param);
+ if (zephir_is_true(shared)) {
+ zephir_update_property_this(this_ptr, SL("_sharedInstance"), instance TSRMLS_CC);
}
+ zephir_update_property_this(this_ptr, SL("_resolved"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ RETURN_CCTOR(instance);
+
+}
+static PHP_METHOD(Phalcon_Di_Service, setParameter) {
- zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("_source"), source TSRMLS_CC);
- if (Z_TYPE_P(data) != IS_NULL) {
- zephir_update_property_this(this_ptr, SL("_data"), data TSRMLS_CC);
+ zval *parameter = NULL;
+ zval *position_param = NULL, *parameter_param = NULL, *definition, *arguments = NULL;
+ int position;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 0, &position_param, ¶meter_param);
+
+ position = zephir_get_intval(position_param);
+ parameter = parameter_param;
+
+
+
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to update its parameters", "phalcon/di/service.zep", 236);
+ return;
}
- if (cancelable != 1) {
- zephir_update_property_this(this_ptr, SL("_cancelable"), cancelable ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ ZEPHIR_OBS_VAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
+ zephir_array_update_long(&arguments, position, ¶meter, PH_COPY | PH_SEPARATE, "phalcon/di/service.zep", 243);
+ } else {
+ ZEPHIR_INIT_NVAR(arguments);
+ zephir_create_array(arguments, 1, 0 TSRMLS_CC);
+ zephir_array_update_long(&arguments, position, ¶meter, PH_COPY, "phalcon/di/service.zep", 245);
}
- ZEPHIR_MM_RESTORE();
+ zephir_array_update_string(&definition, SL("arguments"), &arguments, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_definition"), definition TSRMLS_CC);
+ RETURN_THIS();
}
-static PHP_METHOD(Phalcon_Events_Event, stop) {
+static PHP_METHOD(Phalcon_Di_Service, getParameter) {
- zval *_0;
+ zval *position_param = NULL, *definition, *arguments, *parameter;
+ int position;
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &position_param);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_cancelable"), PH_NOISY_CC);
- if (!(zephir_is_true(_0))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(phalcon_events_exception_ce, "Trying to cancel a non-cancelable event", "phalcon/events/event.zep", 93);
+ position = zephir_get_intval(position_param);
+
+
+ ZEPHIR_OBS_VAR(definition);
+ zephir_read_property_this(&definition, this_ptr, SL("_definition"), PH_NOISY_CC);
+ if (Z_TYPE_P(definition) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Definition must be an array to obtain its parameters", "phalcon/di/service.zep", 273);
return;
}
- zephir_update_property_this(this_ptr, SL("_stopped"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 1 TSRMLS_CC)) {
+ if (zephir_array_isset_long_fetch(¶meter, arguments, position, 1 TSRMLS_CC)) {
+ RETURN_CTOR(parameter);
+ }
+ }
+ RETURN_MM_NULL();
}
-static PHP_METHOD(Phalcon_Events_Event, isStopped) {
+static PHP_METHOD(Phalcon_Di_Service, isResolved) {
- RETURN_MEMBER(this_ptr, "_stopped");
+ RETURN_MEMBER(this_ptr, "_resolved");
+
+}
+
+static PHP_METHOD(Phalcon_Di_Service, __set_state) {
+
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *attributes_param = NULL, *name, *definition, *shared;
+ zval *attributes = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 1, 0, &attributes_param);
+
+ attributes = attributes_param;
+
+
+
+ ZEPHIR_OBS_VAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, attributes, SS("_name"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_name' is required", "phalcon/di/service.zep", 304);
+ return;
+ }
+ ZEPHIR_OBS_VAR(definition);
+ if (!(zephir_array_isset_string_fetch(&definition, attributes, SS("_definition"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_definition' is required", "phalcon/di/service.zep", 308);
+ return;
+ }
+ ZEPHIR_OBS_VAR(shared);
+ if (!(zephir_array_isset_string_fetch(&shared, attributes, SS("_shared"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The attribute '_shared' is required", "phalcon/di/service.zep", 312);
+ return;
+ }
+ object_init_ex(return_value, phalcon_di_service_ce);
+ ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", &_0, name, definition, shared);
+ zephir_check_call_status();
+ RETURN_MM();
}
@@ -54200,17 +55880,29 @@ static PHP_METHOD(Phalcon_Events_Event, isStopped) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_EventsAwareInterface) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_ServiceInterface) {
- ZEPHIR_REGISTER_INTERFACE(Phalcon\\Events, EventsAwareInterface, phalcon, events_eventsawareinterface, phalcon_events_eventsawareinterface_method_entry);
+ ZEPHIR_REGISTER_INTERFACE(Phalcon\\Di, ServiceInterface, phalcon, di_serviceinterface, phalcon_di_serviceinterface_method_entry);
return SUCCESS;
}
-ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, setEventsManager);
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __construct);
-ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, getEventsManager);
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getName);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setShared);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, isShared);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, setDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, getDefinition);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, resolve);
+
+ZEPHIR_DOC_METHOD(Phalcon_Di_ServiceInterface, __set_state);
@@ -54226,14 +55918,162 @@ ZEPHIR_DOC_METHOD(Phalcon_Events_EventsAwareInterface, getEventsManager);
-ZEPHIR_INIT_CLASS(Phalcon_Events_Exception) {
+ZEPHIR_INIT_CLASS(Phalcon_Di_FactoryDefault_Cli) {
- ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Events, Exception, phalcon, events_exception, phalcon_exception_ce, NULL, 0);
+ ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di\\FactoryDefault, Cli, phalcon, di_factorydefault_cli, phalcon_di_factorydefault_ce, phalcon_di_factorydefault_cli_method_entry, 0);
return SUCCESS;
}
+static PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) {
+
+ zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init;
+ zval *_1;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL;
+
+ ZEPHIR_MM_GROW();
+
+ ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_cli_ce, this_ptr, "__construct", &_0);
+ zephir_check_call_status();
+ ZEPHIR_INIT_VAR(_1);
+ zephir_create_array(_1, 10, 0 TSRMLS_CC);
+ ZEPHIR_INIT_VAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_VAR(_3);
+ ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_VAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\CLI\\Router", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_VAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("router"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\CLI\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("dispatcher"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("modelsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\MetaData\\Memory", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("modelsMetadata"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("filter"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "escaper", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Escaper", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("escaper"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("annotations"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE);
+ ZEPHIR_INIT_NVAR(_2);
+ object_init_ex(_2, phalcon_di_service_ce);
+ ZEPHIR_INIT_NVAR(_3);
+ ZVAL_STRING(_3, "transactionManager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_INIT_NVAR(_4);
+ ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_SINIT_NVAR(_5);
+ ZVAL_BOOL(&_5, 1);
+ ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _3, _4, &_5);
+ zephir_check_temp_parameter(_3);
+ zephir_check_temp_parameter(_4);
+ zephir_check_call_status();
+ zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE);
+ zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+
+}
+
@@ -54248,234 +56088,487 @@ ZEPHIR_INIT_CLASS(Phalcon_Events_Exception) {
-ZEPHIR_INIT_CLASS(Phalcon_Events_Manager) {
-
- ZEPHIR_REGISTER_CLASS(Phalcon\\Events, Manager, phalcon, events_manager, phalcon_events_manager_method_entry, 0);
-
- zend_declare_property_null(phalcon_events_manager_ce, SL("_events"), ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_events_manager_ce, SL("_collect"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
-
- zend_declare_property_bool(phalcon_events_manager_ce, SL("_enablePriorities"), 0, ZEND_ACC_PROTECTED TSRMLS_CC);
+ZEPHIR_INIT_CLASS(Phalcon_Di_Service_Builder) {
- zend_declare_property_null(phalcon_events_manager_ce, SL("_responses"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ ZEPHIR_REGISTER_CLASS(Phalcon\\Di\\Service, Builder, phalcon, di_service_builder, phalcon_di_service_builder_method_entry, 0);
- zend_class_implements(phalcon_events_manager_ce TSRMLS_CC, 1, phalcon_events_managerinterface_ce);
return SUCCESS;
}
-static PHP_METHOD(Phalcon_Events_Manager, attach) {
+static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameter) {
- zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL;
- int priority, ZEPHIR_LAST_CALL_STATUS;
- zval *eventType_param = NULL, *handler, *priority_param = NULL, *priorityQueue = NULL, *_0, *_1, *_2 = NULL;
- zval *eventType = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_3 = NULL;
+ zval *_2 = NULL;
+ zval *argument = NULL;
+ int position, ZEPHIR_LAST_CALL_STATUS;
+ zval *dependencyInjector, *position_param = NULL, *argument_param = NULL, *type, *name = NULL, *value, *instanceArguments, *_0 = NULL, _1 = zval_used_for_init;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 1, &eventType_param, &handler, &priority_param);
-
- if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ zephir_fetch_params(1, 3, 0, &dependencyInjector, &position_param, &argument_param);
- if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
- zephir_get_strval(eventType, eventType_param);
- } else {
- ZEPHIR_INIT_VAR(eventType);
- ZVAL_EMPTY_STRING(eventType);
- }
- if (!priority_param) {
- priority = 100;
- } else {
- if (unlikely(Z_TYPE_P(priority_param) != IS_LONG)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'priority' must be a long/integer") TSRMLS_CC);
- RETURN_MM_NULL();
- }
+ position = zephir_get_intval(position_param);
+ argument = argument_param;
- priority = Z_LVAL_P(priority_param);
- }
- if (Z_TYPE_P(handler) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 56);
+ ZEPHIR_OBS_VAR(type);
+ if (!(zephir_array_isset_string_fetch(&type, argument, SS("type"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_VAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_VAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_VAR(_2);
+ ZEPHIR_CONCAT_SVS(_2, "Argument at position ", &_1, " must have a type");
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 49 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
return;
}
- ZEPHIR_OBS_VAR(priorityQueue);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
- if (!(zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC))) {
- _1 = zephir_fetch_nproperty_this(this_ptr, SL("_enablePriorities"), PH_NOISY_CC);
- ZEPHIR_INIT_NVAR(priorityQueue);
- if (zephir_is_true(_1)) {
- object_init_ex(priorityQueue, spl_ce_SplPriorityQueue);
- if (zephir_has_constructor(priorityQueue TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "__construct", NULL);
+ do {
+ if (ZEPHIR_IS_STRING(type, "service")) {
+ ZEPHIR_OBS_VAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, argument, SS("name"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'name' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 59 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- ZEPHIR_INIT_VAR(_2);
- ZVAL_LONG(_2, 1);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", &_3, _2);
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 62);
+ return;
+ }
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
zephir_check_call_status();
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
- } else {
- array_init(priorityQueue);
+ RETURN_MM();
}
- }
- if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
- ZEPHIR_INIT_NVAR(_2);
- ZVAL_LONG(_2, priority);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "insert", &_4, handler, _2);
+ if (ZEPHIR_IS_STRING(type, "parameter")) {
+ ZEPHIR_OBS_VAR(value);
+ if (!(zephir_array_isset_string_fetch(&value, argument, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'value' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 71 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ RETURN_CCTOR(value);
+ }
+ if (ZEPHIR_IS_STRING(type, "instance")) {
+ ZEPHIR_OBS_NVAR(name);
+ if (!(zephir_array_isset_string_fetch(&name, argument, SS("className"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Service 'className' is required in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 81 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The dependency injector container is not valid", "phalcon/di/service/builder.zep", 85);
+ return;
+ }
+ ZEPHIR_OBS_VAR(instanceArguments);
+ if (zephir_array_isset_string_fetch(&instanceArguments, argument, SS("arguments"), 0 TSRMLS_CC)) {
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name, instanceArguments);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_RETURN_CALL_METHOD(dependencyInjector, "get", NULL, name);
+ zephir_check_call_status();
+ RETURN_MM();
+ }
+ ZEPHIR_INIT_NVAR(_0);
+ object_init_ex(_0, phalcon_di_exception_ce);
+ ZEPHIR_SINIT_NVAR(_1);
+ ZVAL_LONG(&_1, position);
+ ZEPHIR_INIT_LNVAR(_2);
+ ZEPHIR_CONCAT_SV(_2, "Unknown service type in parameter on position ", &_1);
+ ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_3, _2);
zephir_check_call_status();
- } else {
- zephir_array_append(&priorityQueue, handler, PH_SEPARATE, "phalcon/events/manager.zep", 82);
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
- }
+ zephir_throw_exception_debug(_0, "phalcon/di/service/builder.zep", 104 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ } while(0);
+
ZEPHIR_MM_RESTORE();
}
-static PHP_METHOD(Phalcon_Events_Manager, detach) {
+static PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameters) {
- zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL, *_9 = NULL;
- zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_10 = NULL;
+ zephir_nts_static zephir_fcall_cache_entry *_4 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *eventType_param = NULL, *handler, *priorityQueue, *newPriorityQueue, *key = NULL, *data = NULL, *_0, *_1 = NULL, *_3 = NULL, *_6, *_7, *_8;
- zval *eventType = NULL;
+ HashTable *_1;
+ HashPosition _0;
+ zval *arguments = NULL;
+ zval *dependencyInjector, *arguments_param = NULL, *position = NULL, *argument = NULL, *buildArguments, **_2, *_3 = NULL;
ZEPHIR_MM_GROW();
- zephir_fetch_params(1, 2, 0, &eventType_param, &handler);
+ zephir_fetch_params(1, 2, 0, &dependencyInjector, &arguments_param);
- if (unlikely(Z_TYPE_P(eventType_param) != IS_STRING && Z_TYPE_P(eventType_param) != IS_NULL)) {
- zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventType' must be a string") TSRMLS_CC);
- RETURN_MM_NULL();
+ arguments = arguments_param;
+
+
+
+ ZEPHIR_INIT_VAR(buildArguments);
+ array_init(buildArguments);
+ zephir_is_iterable(arguments, &_1, &_0, 0, 0, "phalcon/di/service/builder.zep", 119);
+ for (
+ ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS
+ ; zephir_hash_move_forward_ex(_1, &_0)
+ ) {
+ ZEPHIR_GET_HMKEY(position, _1, _0);
+ ZEPHIR_GET_HVALUE(argument, _2);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_4, dependencyInjector, position, argument);
+ zephir_check_call_status();
+ zephir_array_append(&buildArguments, _3, PH_SEPARATE, "phalcon/di/service/builder.zep", 117);
}
+ RETURN_CCTOR(buildArguments);
- if (likely(Z_TYPE_P(eventType_param) == IS_STRING)) {
- zephir_get_strval(eventType, eventType_param);
- } else {
- ZEPHIR_INIT_VAR(eventType);
- ZVAL_EMPTY_STRING(eventType);
+}
+
+static PHP_METHOD(Phalcon_Di_Service_Builder, build) {
+
+ zephir_fcall_cache_entry *_10 = NULL;
+ HashTable *_6, *_12;
+ HashPosition _5, _11;
+ zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_15 = NULL;
+ int ZEPHIR_LAST_CALL_STATUS;
+ zval *definition = NULL;
+ zval *dependencyInjector, *definition_param = NULL, *parameters = NULL, *className, *arguments = NULL, *paramCalls = NULL, *methodPosition = NULL, *method = NULL, *methodName = NULL, *methodCall = NULL, *instance = NULL, *propertyPosition = NULL, *property = NULL, *propertyName = NULL, *propertyValue = NULL, *reflection = NULL, *_3 = NULL, **_7, *_8 = NULL, *_9 = NULL, **_13, *_14 = NULL;
+
+ ZEPHIR_MM_GROW();
+ zephir_fetch_params(1, 2, 1, &dependencyInjector, &definition_param, ¶meters);
+
+ definition = definition_param;
+
+ if (!parameters) {
+ parameters = ZEPHIR_GLOBAL(global_null);
}
- if (Z_TYPE_P(handler) != IS_OBJECT) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_events_exception_ce, "Event handler must be an Object", "phalcon/events/manager.zep", 99);
+ ZEPHIR_OBS_VAR(className);
+ if (!(zephir_array_isset_string_fetch(&className, definition, SS("className"), 0 TSRMLS_CC))) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Invalid service definition. Missing 'className' parameter", "phalcon/di/service/builder.zep", 140);
return;
}
- ZEPHIR_OBS_VAR(priorityQueue);
- _0 = zephir_fetch_nproperty_this(this_ptr, SL("_events"), PH_NOISY_CC);
- if (zephir_array_isset_fetch(&priorityQueue, _0, eventType, 0 TSRMLS_CC)) {
- if (Z_TYPE_P(priorityQueue) == IS_OBJECT) {
- ZEPHIR_INIT_VAR(newPriorityQueue);
- object_init_ex(newPriorityQueue, spl_ce_SplPriorityQueue);
- if (zephir_has_constructor(newPriorityQueue TSRMLS_CC)) {
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "__construct", NULL);
+ if (Z_TYPE_P(parameters) == IS_ARRAY) {
+ if (zephir_fast_count_int(parameters TSRMLS_CC)) {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_VAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstanceargs", &_1, parameters);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, parameters TSRMLS_CC);
zephir_check_call_status();
}
- ZEPHIR_INIT_VAR(_1);
- ZVAL_LONG(_1, 1);
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "setextractflags", &_2, _1);
- zephir_check_call_status();
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_LONG(_1, 3);
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "setextractflags", NULL, _1);
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
+ zephir_check_call_status();
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
+ zephir_check_call_status();
+ }
+ }
+ } else {
+ ZEPHIR_OBS_VAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, definition, SS("arguments"), 0 TSRMLS_CC)) {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "top", NULL);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(instance, className, _3 TSRMLS_CC);
zephir_check_call_status();
- while (1) {
- ZEPHIR_CALL_METHOD(&_3, priorityQueue, "valid", NULL);
+ } else {
+ if (zephir_is_php_version(50600)) {
+ ZEPHIR_INIT_NVAR(reflection);
+ object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC));
+ ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", &_0, className);
zephir_check_call_status();
- if (!(zephir_is_true(_3))) {
- break;
- }
- ZEPHIR_CALL_METHOD(&data, priorityQueue, "current", &_4);
+ ZEPHIR_CALL_METHOD(&instance, reflection, "newinstance", &_2);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, priorityQueue, "next", &_5);
+ } else {
+ ZEPHIR_INIT_NVAR(instance);
+ ZEPHIR_LAST_CALL_STATUS = zephir_create_instance(instance, className TSRMLS_CC);
zephir_check_call_status();
- zephir_array_fetch_string(&_6, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 116 TSRMLS_CC);
- if (!ZEPHIR_IS_IDENTICAL(_6, handler)) {
- zephir_array_fetch_string(&_7, data, SL("data"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
- zephir_array_fetch_string(&_8, data, SL("priority"), PH_NOISY | PH_READONLY, "phalcon/events/manager.zep", 117 TSRMLS_CC);
- ZEPHIR_CALL_METHOD(NULL, newPriorityQueue, "insert", &_9, _7, _8);
+ }
+ }
+ }
+ ZEPHIR_OBS_VAR(paramCalls);
+ if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("calls"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(instance) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has setter injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 192);
+ return;
+ }
+ if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 196);
+ return;
+ }
+ zephir_is_iterable(paramCalls, &_6, &_5, 0, 0, "phalcon/di/service/builder.zep", 250);
+ for (
+ ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS
+ ; zephir_hash_move_forward_ex(_6, &_5)
+ ) {
+ ZEPHIR_GET_HMKEY(methodPosition, _6, _5);
+ ZEPHIR_GET_HVALUE(method, _7);
+ if (Z_TYPE_P(method) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Method call must be an array on position ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 208 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_OBS_NVAR(methodName);
+ if (!(zephir_array_isset_string_fetch(&methodName, method, SS("method"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The method name is required on position ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 215 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_INIT_NVAR(methodCall);
+ zephir_create_array(methodCall, 2, 0 TSRMLS_CC);
+ zephir_array_fast_append(methodCall, instance);
+ zephir_array_fast_append(methodCall, methodName);
+ ZEPHIR_OBS_NVAR(arguments);
+ if (zephir_array_isset_string_fetch(&arguments, method, SS("arguments"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(arguments) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Call arguments must be an array ", methodPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 226 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ if (zephir_fast_count_int(arguments TSRMLS_CC)) {
+ ZEPHIR_INIT_NVAR(_8);
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameters", &_4, dependencyInjector, arguments);
+ zephir_check_call_status();
+ ZEPHIR_CALL_USER_FUNC_ARRAY(_8, methodCall, _3);
zephir_check_call_status();
+ continue;
}
}
- zephir_update_property_array(this_ptr, SL("_events"), eventType, newPriorityQueue TSRMLS_CC);
- } else {
- ZEPHIR_CALL_FUNCTION(&key, "array_search", &_10, handler, priorityQueue, ZEPHIR_GLOBAL(global_true));
+ ZEPHIR_INIT_NVAR(_8);
+ ZEPHIR_CALL_USER_FUNC(_8, methodCall);
zephir_check_call_status();
- if (!ZEPHIR_IS_FALSE_IDENTICAL(key)) {
- zephir_array_unset(&priorityQueue, key, PH_SEPARATE);
+ }
+ }
+ ZEPHIR_OBS_NVAR(paramCalls);
+ if (zephir_array_isset_string_fetch(¶mCalls, definition, SS("properties"), 0 TSRMLS_CC)) {
+ if (Z_TYPE_P(instance) != IS_OBJECT) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "The definition has properties injection parameters but the constructor didn't return an instance", "phalcon/di/service/builder.zep", 258);
+ return;
+ }
+ if (Z_TYPE_P(paramCalls) != IS_ARRAY) {
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_di_exception_ce, "Setter injection parameters must be an array", "phalcon/di/service/builder.zep", 262);
+ return;
+ }
+ zephir_is_iterable(paramCalls, &_12, &_11, 0, 0, "phalcon/di/service/builder.zep", 297);
+ for (
+ ; zephir_hash_get_current_data_ex(_12, (void**) &_13, &_11) == SUCCESS
+ ; zephir_hash_move_forward_ex(_12, &_11)
+ ) {
+ ZEPHIR_GET_HMKEY(propertyPosition, _12, _11);
+ ZEPHIR_GET_HVALUE(property, _13);
+ if (Z_TYPE_P(property) != IS_ARRAY) {
+ ZEPHIR_INIT_NVAR(_14);
+ object_init_ex(_14, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "Property must be an array on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _14, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_14, "phalcon/di/service/builder.zep", 274 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
}
- zephir_update_property_array(this_ptr, SL("_events"), eventType, priorityQueue TSRMLS_CC);
+ ZEPHIR_OBS_NVAR(propertyName);
+ if (!(zephir_array_isset_string_fetch(&propertyName, property, SS("name"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The property name is required on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 281 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_OBS_NVAR(propertyValue);
+ if (!(zephir_array_isset_string_fetch(&propertyValue, property, SS("value"), 0 TSRMLS_CC))) {
+ ZEPHIR_INIT_NVAR(_8);
+ object_init_ex(_8, phalcon_di_exception_ce);
+ ZEPHIR_INIT_LNVAR(_9);
+ ZEPHIR_CONCAT_SV(_9, "The property value is required on position ", propertyPosition);
+ ZEPHIR_CALL_METHOD(NULL, _8, "__construct", &_10, _9);
+ zephir_check_call_status();
+ zephir_throw_exception_debug(_8, "phalcon/di/service/builder.zep", 288 TSRMLS_CC);
+ ZEPHIR_MM_RESTORE();
+ return;
+ }
+ ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_15, dependencyInjector, propertyPosition, propertyValue);
+ zephir_check_call_status();
+ zephir_update_property_zval_zval(instance, propertyName, _3 TSRMLS_CC);
}
}
- ZEPHIR_MM_RESTORE();
+ RETURN_CCTOR(instance);
}
-static PHP_METHOD(Phalcon_Events_Manager, enablePriorities) {
- zval *enablePriorities_param = NULL;
- zend_bool enablePriorities;
- zephir_fetch_params(0, 1, 0, &enablePriorities_param);
- enablePriorities = zephir_get_boolval(enablePriorities_param);
+#ifdef HAVE_CONFIG_H
+#endif
+#include
+
+#include
+#include