/** * Generates SQL checking for the existence of a schema.table * * * * * @param string $tableName * @param string $schemaName * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, tableExists){ zval *table_name = NULL, *schema_name = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &table_name, &schema_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!schema_name) { PHALCON_INIT_VAR(schema_name); ZVAL_NULL(schema_name); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "SELECT COUNT(*) FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`= '", table_name, "' AND `TABLE_SCHEMA`='", schema_name, "'"); PHALCON_RETURN_CTOR(r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "SELECT COUNT(*) FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='", table_name, "'"); PHALCON_RETURN_CTOR(r1); } PHALCON_MM_RESTORE(); }
/** * Gets attached files as Phalcon_Request_File instances * * @return array */ PHP_METHOD(Phalcon_Request, getUploadedFiles){ zval *super_files = NULL, *files = NULL, *file = NULL; zval *g0 = NULL; zval *r0 = NULL; zval *a0 = NULL, *a1 = NULL; zval *i0 = NULL; HashTable *ah0; HashPosition hp0; zval **hd; PHALCON_MM_GROW(); phalcon_get_global(&g0, "_FILES", sizeof("_FILES") TSRMLS_CC); PHALCON_CPY_WRT(super_files, g0); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_fast_count(r0, super_files TSRMLS_CC); if (zend_is_true(r0)) { PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_CPY_WRT(files, a0); if (phalcon_valid_foreach(super_files TSRMLS_CC)) { ah0 = Z_ARRVAL_P(super_files); zend_hash_internal_pointer_reset_ex(ah0, &hp0); fes_9aea_0: if(zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) != SUCCESS){ goto fee_9aea_0; } PHALCON_INIT_VAR(file); ZVAL_ZVAL(file, *hd, 1, 0); PHALCON_INIT_VAR(i0); object_init_ex(i0, phalcon_request_file_ce); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i0, "__construct", file, PHALCON_CHECK); phalcon_array_append(&files, i0, PHALCON_SEPARATE_PLZ TSRMLS_CC); zend_hash_move_forward_ex(ah0, &hp0); goto fes_9aea_0; fee_9aea_0: if(0){} } else { return; } PHALCON_RETURN_CTOR(files); } PHALCON_INIT_VAR(a1); array_init(a1); PHALCON_RETURN_CTOR(a1); }
/** * Generates SQL to query foreign keys on a table * * @param string $table * @param string $schema * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, describeReferences){ zval *table = NULL, *schema = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &table, &schema) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!schema) { PHALCON_INIT_VAR(schema); ZVAL_NULL(schema); } PHALCON_INIT_VAR(sql); ZVAL_STRING(sql, "SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_SCHEMA,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME\n\t\t\tFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME IS NOT NULL AND ", 1); if (zend_is_true(schema)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "CONSTRAINT_SCHEMA = \"", schema, "\" AND TABLE_NAME = \"", table, "\""); phalcon_concat_self(&sql, r0 TSRMLS_CC); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "TABLE_NAME = \"", table, "\""); phalcon_concat_self(&sql, r1 TSRMLS_CC); } PHALCON_RETURN_CTOR(sql); }
/** * Generates SQL to query indexes on a table * * @param string $table * @param string $schema * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, describeIndexes){ zval *table = NULL, *schema = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &table, &schema) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!schema) { PHALCON_INIT_VAR(schema); ZVAL_NULL(schema); } if (zend_is_true(schema)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "SHOW INDEXES FROM `", schema, "`.`", table, "`"); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "SHOW INDEXES FROM `", table, "`"); PHALCON_CPY_WRT(sql, r1); } PHALCON_RETURN_CTOR(sql); }
/** * List all tables on database * * * * @param string $schemaName * @return array */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, listTables){ zval *schema_name = NULL, *sql = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z", &schema_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!schema_name) { PHALCON_INIT_VAR(schema_name); ZVAL_NULL(schema_name); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVS(r0, "SHOW TABLES FROM `", schema_name, "`"); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_INIT_VAR(sql); ZVAL_STRING(sql, "SHOW TABLES", 1); } PHALCON_RETURN_CTOR(sql); }
/** * Generates the SQL to describe the table creation options * * @param string $table * @param string $schema * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, tableOptions){ zval *table = NULL, *schema = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &table, &schema) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!schema) { PHALCON_INIT_VAR(schema); ZVAL_NULL(schema); } PHALCON_INIT_VAR(sql); ZVAL_STRING(sql, "SELECT TABLES.TABLE_TYPE,TABLES.AUTO_INCREMENT,TABLES.ENGINE,TABLES.TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES WHERE ", 1); if (zend_is_true(schema)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "TABLES.TABLE_SCHEMA = \"", schema, "\" AND TABLES.TABLE_NAME = \"", table, "\""); phalcon_concat_self(&sql, r0 TSRMLS_CC); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "TABLES.TABLE_NAME = \"", table, "\""); phalcon_concat_self(&sql, r1 TSRMLS_CC); } PHALCON_RETURN_CTOR(sql); }
/** * Generates the SQL for a MySQL LIMIT clause * * @param string $sqlQuery * @param int $number * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, limit){ zval *sql_query = NULL, *number = NULL, *limit = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &sql_query, &number) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CALL_FUNC_PARAMS_1(r0, "is_numeric", number, 0x02B); if (zend_is_true(r0)) { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CALL_FUNC_PARAMS_1(r1, "intval", number, 0x020); PHALCON_CPY_WRT(limit, r1); PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_CONCAT_VSV(r2, sql_query, " LIMIT ", limit); PHALCON_RETURN_CTOR(r2); } else { PHALCON_RETURN_CHECK_CTOR(sql_query); } PHALCON_MM_RESTORE(); }
/** * Reads meta-data from $_SESSION * * @return array */ PHP_METHOD(Phalcon_Model_MetaData_Session, read){ zval *session = NULL, *key = NULL; zval *g0 = NULL; zval *r0 = NULL, *r1 = NULL; zval *t0 = NULL; zval *a0 = NULL; int eval_int; PHALCON_MM_GROW(); phalcon_get_global(&g0, "_SESSION", sizeof("_SESSION") TSRMLS_CC); PHALCON_CPY_WRT(session, g0); PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, this_ptr, "_suffix", sizeof("_suffix")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CONCAT_SV(r0, "$PMM$", t0); PHALCON_CPY_WRT(key, r0); eval_int = phalcon_array_isset(session, key); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch(&r1, session, key, PHALCON_NOISY TSRMLS_CC); PHALCON_RETURN_CHECK_CTOR(r1); } PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_RETURN_CTOR(a0); }
/** * Generates SQL to delete a foreign key from a table * * @param string $tableName * @param string $schemaName * @param string $referenceName * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, dropForeignKey){ zval *table_name = NULL, *schema_name = NULL, *reference_name = NULL; zval *sql = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &table_name, &schema_name, &reference_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "ALTER TABLE `", schema_name, "`.`", table_name, "` DROP FOREIGN KEY "); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "ALTER TABLE `", table_name, "` DROP FOREIGN KEY "); PHALCON_CPY_WRT(sql, r1); } PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_CONCAT_SVS(r2, "`", reference_name, "`"); phalcon_concat_self(&sql, r2 TSRMLS_CC); PHALCON_RETURN_CTOR(sql); }
/** * Magic __set_state helps to recover messsages from serialization * * @param array $message * @return Phalcon_Model_Message */ PHP_METHOD(Phalcon_Model_Message, __set_state){ zval *message = NULL; zval *i0 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &message) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_model_message_ce); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_array_fetch_string(&r0, message, "_message", strlen("_message"), PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch_string(&r1, message, "_field", strlen("_field"), PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r2); phalcon_array_fetch_string(&r2, message, "_type", strlen("_type"), PHALCON_NOISY TSRMLS_CC); PHALCON_CALL_METHOD_PARAMS_3_NORETURN(i0, "__construct", r0, r1, r2, PHALCON_CHECK); PHALCON_RETURN_CTOR(i0); }
PHP_METHOD(Phalcon_Internal_TestParent, smp6){ zval *v0 = NULL, *v1 = NULL, *v2 = NULL, *v3 = NULL; zval *t0 = NULL, *t1 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL; zval *p0[] = { NULL, NULL }; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzzz", &v0, &v1, &v2, &v3) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_INIT_VAR(t0); ZVAL_LONG(t0, 10); PHALCON_INIT_VAR(r0); is_smaller_function(r0, t0, v1 TSRMLS_CC); if (zend_is_true(r0)) { PHALCON_ALLOC_ZVAL_MM(r1); mul_function(r1, v2, v3 TSRMLS_CC); PHALCON_RETURN_CTOR(r1); } else { PHALCON_INIT_VAR(t1); ZVAL_LONG(t1, 30); PHALCON_INIT_VAR(r2); is_smaller_function(r2, v2, t1 TSRMLS_CC); if (zend_is_true(r2)) { PHALCON_ALLOC_ZVAL_MM(r3); mul_function(r3, v1, v3 TSRMLS_CC); PHALCON_RETURN_CTOR(r3); } else { PHALCON_ALLOC_ZVAL_MM(r4); Z_ADDREF_P(v1); p0[0] = v1; Z_ADDREF_P(v2); p0[1] = v2; PHALCON_CALL_METHOD_PARAMS(r4, v0, "mp7", 2, p0, PHALCON_CALL_DEFAULT); Z_DELREF_P(p0[0]); Z_DELREF_P(p0[1]); PHALCON_RETURN_DZVAL(r4); } } PHALCON_MM_RESTORE(); RETURN_NULL(); }
PHP_METHOD(Phalcon_Model_MetaData_Session, read){ zval *a0 = NULL; PHALCON_MM_GROW(); PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_RETURN_CTOR(a0); }
/** * Generates SQL to drop a table * * @param string $tableName * @param string $schemaName * @param boolean $ifExists * @return boolean */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, dropTable){ zval *table_name = NULL, *schema_name = NULL, *if_exists = NULL, *table = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz|z", &table_name, &schema_name, &if_exists) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!if_exists) { PHALCON_INIT_VAR(if_exists); ZVAL_BOOL(if_exists, 1); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "`", schema_name, "`.`", table_name, "`"); PHALCON_CPY_WRT(table, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "`", table_name, "`"); PHALCON_CPY_WRT(table, r1); } if (zend_is_true(if_exists)) { PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_CONCAT_SV(r2, "DROP TABLE IF EXISTS ", table); PHALCON_RETURN_CTOR(r2); } else { PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CONCAT_SV(r3, "DROP TABLE ", table); PHALCON_RETURN_CTOR(r3); } PHALCON_MM_RESTORE(); }
/** * Generates SQL to modify a column in a table * * @param string $tableName * @param string $schemaName * @param Phalcon_Db_Column $column * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, modifyColumn){ zval *table_name = NULL, *schema_name = NULL, *column = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL; zval *t0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &table_name, &schema_name, &column) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (Z_TYPE_P(column) != IS_OBJECT) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "Column parameter must be an instance of Phalcon_Db_Column"); return; } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "ALTER TABLE `", schema_name, "`.`", table_name, "` MODIFY "); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "ALTER TABLE `", table_name, "` MODIFY "); PHALCON_CPY_WRT(sql, r1); } PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CALL_METHOD(r3, column, "getname", PHALCON_NO_CHECK); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_CALL_SELF_PARAMS_1(r4, this_ptr, "getcolumndefinition", column); PHALCON_CONCAT_SVSV(r2, "`", r3, "` ", r4); phalcon_concat_self(&sql, r2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CALL_METHOD(r5, column, "isnotnull", PHALCON_NO_CHECK); if (zend_is_true(r5)) { PHALCON_INIT_VAR(t0); ZVAL_STRING(t0, " NOT NULL", 1); phalcon_concat_self(&sql, t0 TSRMLS_CC); } PHALCON_RETURN_CTOR(sql); }
PHP_METHOD(Phalcon_Internal_TestTemp, e9a){ zval *a = NULL; zval *a0 = NULL; zval *t0 = NULL; PHALCON_MM_GROW(); PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_CPY_WRT(a, a0); PHALCON_INIT_VAR(t0); ZVAL_STRING(t0, "LOL", 1); phalcon_array_update_long(&a, 0, &t0, PHALCON_SEPARATE_PLZ, PHALCON_COPY, PHALCON_NO_CTOR TSRMLS_CC); PHALCON_RETURN_CTOR(a); }
PHP_METHOD(Phalcon_Internal_TestParent, smp3){ zval *v0 = NULL, *v1 = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &v0, &v1) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(r0); phalcon_add_function(r0, v0, v1 TSRMLS_CC); PHALCON_RETURN_CTOR(r0); }
/** * Dumps the complete result of a query into an array * * * * @param string $sqlQuery * @param int $fetchMode * @return array */ PHP_METHOD(Phalcon_Db, fetchAll){ zval *sql_query = NULL, *fetch_mode = NULL, *results = NULL, *result = NULL; zval *row = NULL; zval *a0 = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &sql_query, &fetch_mode) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!fetch_mode) { PHALCON_INIT_VAR(fetch_mode); ZVAL_LONG(fetch_mode, 2); } PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_CPY_WRT(results, a0); PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CALL_METHOD_PARAMS_1(r0, this_ptr, "query", sql_query, PHALCON_NO_CHECK); PHALCON_CPY_WRT(result, r0); if (Z_TYPE_P(result) == IS_OBJECT) { PHALCON_CALL_METHOD_PARAMS_1_NORETURN(result, "setfetchmode", fetch_mode, PHALCON_NO_CHECK); ws_e7f0_0: PHALCON_INIT_VAR(r1); PHALCON_CALL_METHOD(r1, result, "fetcharray", PHALCON_NO_CHECK); PHALCON_CPY_WRT(row, r1); if (!zend_is_true(row)) { goto we_e7f0_0; } phalcon_array_append(&results, row, PHALCON_SEPARATE_PLZ TSRMLS_CC); goto ws_e7f0_0; we_e7f0_0: if(0){} } PHALCON_RETURN_CTOR(results); }
PHP_METHOD(Phalcon_Internal_TestParent, mp2){ zval *v0 = NULL, *v1 = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &v0, &v1) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } phalcon_update_property_long(this_ptr, "_pp0", strlen("_pp0"), 0 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_add_function(r0, v0, v1 TSRMLS_CC); PHALCON_RETURN_CTOR(r0); }
/** * Generates SQL to add an index to a table * * @param string $tableName * @param string $schemaName * @param Phalcon_Db_Index $index * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, addIndex){ zval *table_name = NULL, *schema_name = NULL, *index = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &table_name, &schema_name, &index) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (Z_TYPE_P(index) != IS_OBJECT) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "Index parameter must be an instance of Phalcon_Db_Index"); return; } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "ALTER TABLE `", schema_name, "`.`", table_name, "` ADD INDEX "); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "ALTER TABLE `", table_name, "` ADD INDEX "); PHALCON_CPY_WRT(sql, r1); } PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CALL_METHOD(r3, index, "getname", PHALCON_NO_CHECK); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CALL_METHOD(r5, index, "getcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r4, this_ptr, "getcolumnlist", r5); PHALCON_CONCAT_SVSVS(r2, "`", r3, "` (", r4, ")"); phalcon_concat_self(&sql, r2 TSRMLS_CC); PHALCON_RETURN_CTOR(sql); }
/** * Get instance of model query * * @param string $modelName * @param array $data * @return Phalcon_Model_Query $query */ PHP_METHOD(Phalcon_Model_Query, fromInput){ zval *model_name = NULL, *data = NULL, *query = NULL; zval *i0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &model_name, &data) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_model_query_ce); PHALCON_CALL_METHOD_NORETURN(i0, "__construct", PHALCON_CHECK); PHALCON_CPY_WRT(query, i0); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(query, "from", model_name, PHALCON_NO_CHECK); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(query, "setinputdata", data, PHALCON_NO_CHECK); PHALCON_RETURN_CTOR(query); }
/** * Restore a Phalcon_Db_Index object from export * * @param array $data * @return Phalcon_Db_Index */ PHP_METHOD(Phalcon_Db_Index, __set_state){ zval *data = NULL; zval *i0 = NULL; zval *r0 = NULL, *r1 = NULL; int eval_int; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &data) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } eval_int = phalcon_array_isset_string(data, "_indexName", strlen("_indexName")+1); if (!eval_int) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "_indexName parameter is required"); return; } eval_int = phalcon_array_isset_string(data, "_columns", strlen("_columns")+1); if (!eval_int) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "_columns parameter is required"); return; } PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_db_index_ce); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_array_fetch_string(&r0, data, "_indexName", strlen("_indexName"), PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch_string(&r1, data, "_columns", strlen("_columns"), PHALCON_NOISY TSRMLS_CC); PHALCON_CALL_METHOD_PARAMS_2_NORETURN(i0, "__construct", r0, r1, PHALCON_CHECK); PHALCON_RETURN_CTOR(i0); }
/** * Generates SQL to delete primary key from a table * * @param string $tableName * @param string $schemaName * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, dropPrimaryKey){ zval *table_name = NULL, *schema_name = NULL, *sql = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &table_name, &schema_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "ALTER TABLE `", schema_name, "`.`", table_name, "` DROP PRIMARY KEY"); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "ALTER TABLE `", table_name, "` DROP PRIMARY KEY"); PHALCON_CPY_WRT(sql, r1); } PHALCON_RETURN_CTOR(sql); }
/** * Returns the first row in a SQL query result * * * * @param string $sqlQuery * @param int $fetchMode * @return array */ PHP_METHOD(Phalcon_Db, fetchOne){ zval *sql_query = NULL, *fetch_mode = NULL, *result = NULL; zval *r0 = NULL, *r1 = NULL; zval *a0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &sql_query, &fetch_mode) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!fetch_mode) { PHALCON_INIT_VAR(fetch_mode); ZVAL_LONG(fetch_mode, 2); } PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CALL_METHOD_PARAMS_1(r0, this_ptr, "query", sql_query, PHALCON_NO_CHECK); PHALCON_CPY_WRT(result, r0); if (Z_TYPE_P(result) == IS_OBJECT) { PHALCON_CALL_METHOD_PARAMS_1_NORETURN(result, "setfetchmode", fetch_mode, PHALCON_NO_CHECK); PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CALL_METHOD(r1, result, "fetcharray", PHALCON_NO_CHECK); PHALCON_RETURN_DZVAL(r1); } else { PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_RETURN_CTOR(a0); } PHALCON_MM_RESTORE(); }
/** * Gets the column name in MySQL * * @param Phalcon_Db_Column $column */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, getColumnDefinition){ zval *column = NULL, *size = NULL, *column_sql = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL, *r8 = NULL, *r9 = NULL, *r10 = NULL, *r11 = NULL, *r12 = NULL, *r13 = NULL; zval *r14 = NULL, *r15 = NULL; zval *t0 = NULL, *t1 = NULL, *t2 = NULL, *t3 = NULL, *t4 = NULL, *t5 = NULL, *t6 = NULL; zval *t7 = NULL, *t8 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &column) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (Z_TYPE_P(column) != IS_OBJECT) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "Column definition must be an instance of Phalcon_Db_Column"); return; } PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CALL_METHOD(r0, column, "getsize", PHALCON_NO_CHECK); PHALCON_CPY_WRT(size, r0); PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CALL_METHOD(r1, column, "gettype", PHALCON_NO_CHECK); PHALCON_INIT_VAR(t0); ZVAL_LONG(t0, 0); PHALCON_ALLOC_ZVAL_MM(r2); is_equal_function(r2, r1, t0 TSRMLS_CC); if (zend_is_true(r2)) { PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CONCAT_SVS(r3, "INT(", size, ")"); PHALCON_CPY_WRT(column_sql, r3); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_CALL_METHOD(r4, column, "isunsigned", PHALCON_NO_CHECK); if (zend_is_true(r4)) { PHALCON_INIT_VAR(t1); ZVAL_STRING(t1, " UNSIGNED", 1); phalcon_concat_self(&column_sql, t1 TSRMLS_CC); } goto se_52be_1; } PHALCON_INIT_VAR(t2); ZVAL_LONG(t2, 1); PHALCON_ALLOC_ZVAL_MM(r5); is_equal_function(r5, r1, t2 TSRMLS_CC); if (zend_is_true(r5)) { PHALCON_INIT_VAR(column_sql); ZVAL_STRING(column_sql, "DATE", 1); goto se_52be_1; } PHALCON_INIT_VAR(t3); ZVAL_LONG(t3, 2); PHALCON_ALLOC_ZVAL_MM(r6); is_equal_function(r6, r1, t3 TSRMLS_CC); if (zend_is_true(r6)) { PHALCON_ALLOC_ZVAL_MM(r7); PHALCON_CONCAT_SVS(r7, "VARCHAR(", size, ")"); PHALCON_CPY_WRT(column_sql, r7); goto se_52be_1; } PHALCON_INIT_VAR(t4); ZVAL_LONG(t4, 3); PHALCON_ALLOC_ZVAL_MM(r8); is_equal_function(r8, r1, t4 TSRMLS_CC); if (zend_is_true(r8)) { PHALCON_ALLOC_ZVAL_MM(r9); PHALCON_ALLOC_ZVAL_MM(r10); PHALCON_CALL_METHOD(r10, column, "getscale", PHALCON_NO_CHECK); PHALCON_CONCAT_SVSVS(r9, "DECIMAL(", size, ",", r10, ")"); PHALCON_CPY_WRT(column_sql, r9); PHALCON_ALLOC_ZVAL_MM(r11); PHALCON_CALL_METHOD(r11, column, "isunsigned", PHALCON_NO_CHECK); if (zend_is_true(r11)) { PHALCON_INIT_VAR(t5); ZVAL_STRING(t5, " UNSIGNED", 1); phalcon_concat_self(&column_sql, t5 TSRMLS_CC); } goto se_52be_1; } PHALCON_INIT_VAR(t6); ZVAL_LONG(t6, 4); PHALCON_ALLOC_ZVAL_MM(r12); is_equal_function(r12, r1, t6 TSRMLS_CC); if (zend_is_true(r12)) { PHALCON_INIT_VAR(column_sql); ZVAL_STRING(column_sql, "DATETIME", 1); goto se_52be_1; } PHALCON_INIT_VAR(t7); ZVAL_LONG(t7, 5); PHALCON_ALLOC_ZVAL_MM(r13); is_equal_function(r13, r1, t7 TSRMLS_CC); if (zend_is_true(r13)) { PHALCON_ALLOC_ZVAL_MM(r14); PHALCON_CONCAT_SVS(r14, "CHAR(", size, ")"); PHALCON_CPY_WRT(column_sql, r14); goto se_52be_1; } PHALCON_INIT_VAR(t8); ZVAL_LONG(t8, 6); PHALCON_ALLOC_ZVAL_MM(r15); is_equal_function(r15, r1, t8 TSRMLS_CC); if (zend_is_true(r15)) { PHALCON_INIT_VAR(column_sql); ZVAL_STRING(column_sql, "TEXT", 1); goto se_52be_1; } PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "Unrecognized MySQL data type"); return; se_52be_1: PHALCON_RETURN_CTOR(column_sql); }
/** * Factories different caches backends from its adapters * * @param string $frontendAdapter * @param string $backendAdapter * @param array $frontendOptions * @param array $backendOptions * @return Phalcon_Cache_Backend_File * @static */ PHP_METHOD(Phalcon_Cache, factory){ zval *frontend_adapter = NULL, *backend_adapter = NULL; zval *frontend_options = NULL, *backend_options = NULL; zval *frontend_class = NULL, *backend_class = NULL, *front_object = NULL; zval *a0 = NULL, *a1 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL; zval *i0 = NULL, *i1 = NULL, *i2 = NULL, *i3 = NULL; zend_class_entry *ce0, *ce1; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz|zz", &frontend_adapter, &backend_adapter, &frontend_options, &backend_options) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!frontend_options) { PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_CPY_WRT(frontend_options, a0); } if (!backend_options) { PHALCON_INIT_VAR(a1); array_init(a1); PHALCON_CPY_WRT(backend_options, a1); } PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SV(r0, "Phalcon_Cache_Frontend_", frontend_adapter); PHALCON_CPY_WRT(frontend_class, r0); PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CALL_FUNC_PARAMS_1(r1, "class_exists", frontend_class, 0x012); if (!zend_is_true(r1)) { PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_cache_exception_ce); PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_CONCAT_SVS(r2, "Frontend adapter \"", backend_adapter, "' doesn't exist"); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i0, "__construct", r2, PHALCON_CHECK); phalcon_throw_exception(i0 TSRMLS_CC); return; } PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CONCAT_SV(r3, "Phalcon_Cache_Backend_", backend_adapter); PHALCON_CPY_WRT(backend_class, r3); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_CALL_FUNC_PARAMS_1(r4, "class_exists", backend_class, 0x012); if (!zend_is_true(r4)) { PHALCON_ALLOC_ZVAL_MM(i1); object_init_ex(i1, phalcon_cache_exception_ce); PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CONCAT_SVS(r5, "Backend adapter \"", backend_adapter, "' doesn't exist"); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i1, "__construct", r5, PHALCON_CHECK); phalcon_throw_exception(i1 TSRMLS_CC); return; } ce0 = phalcon_fetch_class(frontend_class TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(i2); object_init_ex(i2, ce0); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i2, "__construct", frontend_options, PHALCON_CHECK); PHALCON_CPY_WRT(front_object, i2); ce1 = phalcon_fetch_class(backend_class TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(i3); object_init_ex(i3, ce1); PHALCON_CALL_METHOD_PARAMS_2_NORETURN(i3, "__construct", front_object, backend_options, PHALCON_CHECK); PHALCON_RETURN_CTOR(i3); }
/** * Generates SQL to add an index to a table * * @param string $tableName * @param string $schemaName * @param Phalcon_Db_Reference $reference * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, addForeignKey){ zval *table_name = NULL, *schema_name = NULL, *reference = NULL, *sql = NULL; zval *referenced_schema = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL, *r8 = NULL, *r9 = NULL, *r10 = NULL, *r11 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &table_name, &schema_name, &reference) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (Z_TYPE_P(reference) != IS_OBJECT) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "Reference parameter must be an instance of Phalcon_Db_Reference"); return; } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "ALTER TABLE `", schema_name, "`.`", table_name, "` ADD FOREIGN KEY "); PHALCON_CPY_WRT(sql, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "ALTER TABLE `", table_name, "` ADD FOREIGN KEY "); PHALCON_CPY_WRT(sql, r1); } PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CALL_METHOD(r3, reference, "getname", PHALCON_NO_CHECK); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CALL_METHOD(r5, reference, "getcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r4, this_ptr, "getcolumnlist", r5); PHALCON_CONCAT_SVSVS(r2, "`", r3, "`(", r4, ") REFERENCES "); phalcon_concat_self(&sql, r2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r6); PHALCON_CALL_METHOD(r6, reference, "getreferencedschema", PHALCON_NO_CHECK); PHALCON_CPY_WRT(referenced_schema, r6); if (zend_is_true(referenced_schema)) { PHALCON_ALLOC_ZVAL_MM(r7); PHALCON_CONCAT_SVS(r7, "`", referenced_schema, "`."); phalcon_concat_self(&sql, r7 TSRMLS_CC); } PHALCON_ALLOC_ZVAL_MM(r8); PHALCON_ALLOC_ZVAL_MM(r9); PHALCON_CALL_METHOD(r9, reference, "getreferencedtable", PHALCON_NO_CHECK); PHALCON_ALLOC_ZVAL_MM(r10); PHALCON_ALLOC_ZVAL_MM(r11); PHALCON_CALL_METHOD(r11, reference, "getreferencedcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r10, this_ptr, "getcolumnlist", r11); PHALCON_CONCAT_SVSVS(r8, "`", r9, "`(", r10, ")"); phalcon_concat_self(&sql, r8 TSRMLS_CC); PHALCON_RETURN_CTOR(sql); }
/** * Generates SQL to create a table in MySQL * * @param string $tableName * @param string $schemaName * @param array $definition * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Mysql, createTable){ zval *table_name = NULL, *schema_name = NULL, *definition = NULL; zval *table = NULL, *temporary = NULL, *sql = NULL, *create_lines = NULL, *column = NULL; zval *column_line = NULL, *index = NULL, *index_name = NULL, *column_list = NULL; zval *reference = NULL, *reference_sql = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL, *r8 = NULL, *r9 = NULL, *r10 = NULL, *r11 = NULL, *r12 = NULL, *r13 = NULL; zval *r14 = NULL, *r15 = NULL, *r16 = NULL, *r17 = NULL, *r18 = NULL, *r19 = NULL, *r20 = NULL; zval *r21 = NULL, *r22 = NULL, *r23 = NULL, *r24 = NULL, *r25 = NULL, *r26 = NULL, *r27 = NULL; zval *r28 = NULL, *r29 = NULL, *r30 = NULL, *r31 = NULL; zval *a0 = NULL; zval *t0 = NULL, *t1 = NULL; zval *c0 = NULL; HashTable *ah0, *ah1, *ah2; HashPosition hp0, hp1, hp2; zval **hd; int eval_int; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &table_name, &schema_name, &definition) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (zend_is_true(schema_name)) { PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CONCAT_SVSVS(r0, "`", schema_name, "`.`", table_name, "`"); PHALCON_CPY_WRT(table, r0); } else { PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CONCAT_SVS(r1, "`", table_name, "`"); PHALCON_CPY_WRT(table, r1); } PHALCON_INIT_VAR(temporary); ZVAL_BOOL(temporary, 0); eval_int = phalcon_array_isset_string(definition, "options", strlen("options")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r2); phalcon_array_fetch_string(&r2, definition, "options", strlen("options"), PHALCON_NOISY TSRMLS_CC); eval_int = phalcon_array_isset_string(r2, "temporary", strlen("temporary")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r3); phalcon_array_fetch_string(&r3, definition, "options", strlen("options"), PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r4); phalcon_array_fetch_string(&r4, r3, "temporary", strlen("temporary"), PHALCON_NOISY TSRMLS_CC); if (zend_is_true(r4)) { PHALCON_INIT_VAR(temporary); ZVAL_BOOL(temporary, 1); } } } if (zend_is_true(temporary)) { PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CONCAT_SVS(r5, "CREATE TEMPORARY TABLE ", table, " (\n\t"); PHALCON_CPY_WRT(sql, r5); } else { PHALCON_ALLOC_ZVAL_MM(r6); PHALCON_CONCAT_SVS(r6, "CREATE TABLE ", table, " (\n\t"); PHALCON_CPY_WRT(sql, r6); } PHALCON_INIT_VAR(a0); array_init(a0); PHALCON_CPY_WRT(create_lines, a0); PHALCON_ALLOC_ZVAL_MM(r7); phalcon_array_fetch_string(&r7, definition, "columns", strlen("columns"), PHALCON_NOISY TSRMLS_CC); if (phalcon_valid_foreach(r7 TSRMLS_CC)) { ah0 = Z_ARRVAL_P(r7); zend_hash_internal_pointer_reset_ex(ah0, &hp0); fes_52be_2: if(zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) != SUCCESS){ goto fee_52be_2; } PHALCON_INIT_VAR(column); ZVAL_ZVAL(column, *hd, 1, 0); PHALCON_INIT_VAR(r8); PHALCON_INIT_VAR(r9); PHALCON_CALL_METHOD(r9, column, "getname", PHALCON_NO_CHECK); PHALCON_INIT_VAR(r10); PHALCON_CALL_SELF_PARAMS_1(r10, this_ptr, "getcolumndefinition", column); PHALCON_CONCAT_SVSV(r8, "`", r9, "` ", r10); PHALCON_CPY_WRT(column_line, r8); PHALCON_INIT_VAR(r11); PHALCON_CALL_METHOD(r11, column, "isnotnull", PHALCON_NO_CHECK); if (zend_is_true(r11)) { PHALCON_INIT_VAR(t0); ZVAL_STRING(t0, " NOT NULL", 1); phalcon_concat_self(&column_line, t0 TSRMLS_CC); } PHALCON_INIT_VAR(r12); PHALCON_CALL_METHOD(r12, column, "isautoincrement", PHALCON_NO_CHECK); if (zend_is_true(r12)) { PHALCON_INIT_VAR(t1); ZVAL_STRING(t1, " AUTO_INCREMENT", 1); phalcon_concat_self(&column_line, t1 TSRMLS_CC); } phalcon_array_append(&create_lines, column_line, PHALCON_SEPARATE_PLZ TSRMLS_CC); zend_hash_move_forward_ex(ah0, &hp0); goto fes_52be_2; fee_52be_2: if(0){} } else { return; } eval_int = phalcon_array_isset_string(definition, "indexes", strlen("indexes")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r13); phalcon_array_fetch_string(&r13, definition, "indexes", strlen("indexes"), PHALCON_NOISY TSRMLS_CC); if (phalcon_valid_foreach(r13 TSRMLS_CC)) { ah1 = Z_ARRVAL_P(r13); zend_hash_internal_pointer_reset_ex(ah1, &hp1); fes_52be_3: if(zend_hash_get_current_data_ex(ah1, (void**) &hd, &hp1) != SUCCESS){ goto fee_52be_3; } PHALCON_INIT_VAR(index); ZVAL_ZVAL(index, *hd, 1, 0); PHALCON_INIT_VAR(r14); PHALCON_CALL_METHOD(r14, index, "getname", PHALCON_NO_CHECK); PHALCON_CPY_WRT(index_name, r14); PHALCON_INIT_VAR(r15); PHALCON_INIT_VAR(r16); PHALCON_CALL_METHOD(r16, index, "getcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r15, this_ptr, "getcolumnlist", r16); PHALCON_CPY_WRT(column_list, r15); if (PHALCON_COMPARE_STRING(index_name, "PRIMARY")) { PHALCON_INIT_VAR(r17); PHALCON_CONCAT_SVS(r17, "PRIMARY KEY (", column_list, ")"); phalcon_array_append(&create_lines, r17, PHALCON_SEPARATE_PLZ TSRMLS_CC); } else { PHALCON_INIT_VAR(r18); PHALCON_CONCAT_SVSVS(r18, "KEY `", index_name, "` (", column_list, ")"); phalcon_array_append(&create_lines, r18, PHALCON_SEPARATE_PLZ TSRMLS_CC); } zend_hash_move_forward_ex(ah1, &hp1); goto fes_52be_3; fee_52be_3: if(0){} } else { return; } } eval_int = phalcon_array_isset_string(definition, "references", strlen("references")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r19); phalcon_array_fetch_string(&r19, definition, "references", strlen("references"), PHALCON_NOISY TSRMLS_CC); if (phalcon_valid_foreach(r19 TSRMLS_CC)) { ah2 = Z_ARRVAL_P(r19); zend_hash_internal_pointer_reset_ex(ah2, &hp2); fes_52be_4: if(zend_hash_get_current_data_ex(ah2, (void**) &hd, &hp2) != SUCCESS){ goto fee_52be_4; } PHALCON_INIT_VAR(reference); ZVAL_ZVAL(reference, *hd, 1, 0); PHALCON_INIT_VAR(r20); PHALCON_INIT_VAR(r21); PHALCON_CALL_METHOD(r21, reference, "getname", PHALCON_NO_CHECK); PHALCON_INIT_VAR(r22); PHALCON_INIT_VAR(r23); PHALCON_CALL_METHOD(r23, reference, "getcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r22, this_ptr, "getcolumnlist", r23); PHALCON_CONCAT_SVSV(r20, "CONSTRAINT `", r21, "` FOREIGN KEY (", r22); PHALCON_CPY_WRT(reference_sql, r20); PHALCON_INIT_VAR(r24); PHALCON_INIT_VAR(r25); PHALCON_CALL_METHOD(r25, reference, "getreferencedtable", PHALCON_NO_CHECK); PHALCON_INIT_VAR(r26); PHALCON_INIT_VAR(r27); PHALCON_CALL_METHOD(r27, reference, "getreferencedcolumns", PHALCON_NO_CHECK); PHALCON_CALL_SELF_PARAMS_1(r26, this_ptr, "getcolumnlist", r27); PHALCON_CONCAT_SVSVS(r24, ") REFERENCES `", r25, "`(", r26, ")"); phalcon_concat_self(&reference_sql, r24 TSRMLS_CC); phalcon_array_append(&create_lines, reference_sql, PHALCON_SEPARATE_PLZ TSRMLS_CC); zend_hash_move_forward_ex(ah2, &hp2); goto fes_52be_4; fee_52be_4: if(0){} } else { return; } } PHALCON_ALLOC_ZVAL_MM(r28); PHALCON_INIT_VAR(c0); ZVAL_STRING(c0, ",\n\t", 1); PHALCON_ALLOC_ZVAL_MM(r29); phalcon_fast_join(r29, c0, create_lines TSRMLS_CC); PHALCON_CONCAT_VS(r28, r29, "\n)"); phalcon_concat_self(&sql, r28 TSRMLS_CC); eval_int = phalcon_array_isset_string(definition, "options", strlen("options")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r30); PHALCON_ALLOC_ZVAL_MM(r31); PHALCON_CALL_SELF_PARAMS_1(r31, this_ptr, "_gettableoptions", definition); PHALCON_CONCAT_SV(r30, " ", r31); phalcon_concat_self(&sql, r30 TSRMLS_CC); } PHALCON_RETURN_CTOR(sql); }
/** * Returns a slice of the resultset to show in the pagination * * @return stdClass */ PHP_METHOD(Phalcon_Paginator_Adapter_Model, getPaginate){ zval *v0 = NULL, *v1 = NULL, *v2 = NULL, *v3 = NULL, *v4 = NULL, *v5 = NULL, *v6 = NULL; zval *v7 = NULL, *v8 = NULL, *v9 = NULL, *v10 = NULL; zval *t0 = NULL, *t1 = NULL, *t2 = NULL, *t3 = NULL, *t4 = NULL, *t5 = NULL, *t6 = NULL; zval *t7 = NULL, *t8 = NULL, *t9 = NULL, *t10 = NULL, *t11 = NULL, *t12 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL, *r8 = NULL, *r9 = NULL, *r10 = NULL, *r11 = NULL, *r12 = NULL, *r13 = NULL; zval *r14 = NULL, *r15 = NULL, *r16 = NULL, *r17 = NULL, *r18 = NULL, *r19 = NULL, *r20 = NULL; zval *r21 = NULL, *r22 = NULL, *r23 = NULL, *r24 = NULL, *r25 = NULL, *r26 = NULL, *r27 = NULL; zval *r28 = NULL; zval *i0 = NULL, *i1 = NULL, *i2 = NULL; zval *a0 = NULL; zval *p2[] = { NULL }, *p3[] = { NULL }, *p4[] = { NULL }, *p5[] = { NULL }; PHALCON_MM_GROW(); PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, this_ptr, "_limitRows", sizeof("_limitRows")-1, PHALCON_NOISY_FETCH TSRMLS_CC); PHALCON_CPY_WRT(v0, t0); PHALCON_ALLOC_ZVAL_MM(t1); phalcon_read_property(&t1, this_ptr, "_config", sizeof("_config")-1, PHALCON_NOISY_FETCH TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_array_fetch_string(&r0, t1, "data", strlen("data"), PHALCON_NOISY_FETCH TSRMLS_CC); PHALCON_CPY_WRT(v1, r0); PHALCON_ALLOC_ZVAL_MM(t2); phalcon_read_property(&t2, this_ptr, "_page", sizeof("_page")-1, PHALCON_NOISY_FETCH TSRMLS_CC); PHALCON_CPY_WRT(v2, t2); if (Z_TYPE_P(v2) == IS_NULL) { PHALCON_INIT_VAR(v2); ZVAL_LONG(v2, 1); } PHALCON_ALLOC_ZVAL_MM(r1); PHALCON_CALL_FUNC_PARAMS_1(r1, "count", v1, 0x008); PHALCON_CPY_WRT(v3, r1); PHALCON_ALLOC_ZVAL_MM(i0); object_init(i0); PHALCON_CPY_WRT(v4, i0); PHALCON_INIT_VAR(t3); ZVAL_LONG(t3, 1); PHALCON_ALLOC_ZVAL_MM(r2); sub_function(r2, v2, t3 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r3); mul_function(r3, v0, r2 TSRMLS_CC); PHALCON_CPY_WRT(v5, r3); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_INIT_VAR(t4); ZVAL_LONG(t4, 1); PHALCON_ALLOC_ZVAL_MM(r5); sub_function(r5, v3, t4 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r6); div_function(r6, r5, v0 TSRMLS_CC); Z_ADDREF_P(r6); PHALCON_CALL_FUNC_PARAMS_1(r4, "ceil", r6, 0x00D); Z_DELREF_P(r6); PHALCON_CPY_WRT(v6, r4); if (Z_TYPE_P(v1) != IS_OBJECT) { PHALCON_ALLOC_ZVAL_MM(i1); object_init_ex(i1, phalcon_paginator_exception_class_entry); PHALCON_INIT_VAR(p2[0]); ZVAL_STRING(p2[0], "Invalid data for paginator", 1); PHALCON_CALL_METHOD_PARAMS_NORETURN(i1, "__construct", 1, p2, PHALCON_CALL_CHECK); zend_throw_exception_object(i1 TSRMLS_CC); Z_ADDREF_P(i1); PHALCON_MM_RESTORE(); return; } if (Z_TYPE_P(v2) == IS_NULL) { PHALCON_INIT_VAR(v2); ZVAL_LONG(v2, 0); } PHALCON_INIT_VAR(t5); ZVAL_LONG(t5, 0); PHALCON_INIT_VAR(r7); is_smaller_function(r7, v5, t5 TSRMLS_CC); if (zend_is_true(r7)) { PHALCON_ALLOC_ZVAL_MM(i2); object_init_ex(i2, phalcon_paginator_exception_class_entry); PHALCON_INIT_VAR(p3[0]); ZVAL_STRING(p3[0], "The start page number is zero or less", 1); PHALCON_CALL_METHOD_PARAMS_NORETURN(i2, "__construct", 1, p3, PHALCON_CALL_CHECK); zend_throw_exception_object(i2 TSRMLS_CC); Z_ADDREF_P(i2); PHALCON_MM_RESTORE(); return; } PHALCON_INIT_VAR(a0); array_init(a0); phalcon_update_property_zval(v4, "items", strlen("items"), a0 TSRMLS_CC); PHALCON_INIT_VAR(t6); ZVAL_LONG(t6, 0); PHALCON_INIT_VAR(r8); is_smaller_function(r8, t6, v3 TSRMLS_CC); if (zend_is_true(r8)) { PHALCON_INIT_VAR(r9); is_smaller_or_equal_function(r9, v5, v3 TSRMLS_CC); if (zend_is_true(r9)) { Z_ADDREF_P(v5); p4[0] = v5; PHALCON_CALL_METHOD_PARAMS_NORETURN(v1, "seek", 1, p4, PHALCON_CALL_DEFAULT); Z_DELREF_P(p4[0]); } else { PHALCON_INIT_VAR(p5[0]); ZVAL_LONG(p5[0], 1); PHALCON_CALL_METHOD_PARAMS_NORETURN(v1, "seek", 1, p5, PHALCON_CALL_DEFAULT); PHALCON_INIT_VAR(v2); ZVAL_LONG(v2, 1); } PHALCON_INIT_VAR(v7); ZVAL_LONG(v7, 1); ws_e435_0: PHALCON_INIT_VAR(r10); PHALCON_CALL_METHOD(r10, v1, "valid", PHALCON_CALL_DEFAULT); if (!zend_is_true(r10)) { goto we_e435_0; } PHALCON_INIT_VAR(r11); PHALCON_CALL_METHOD(r11, v1, "current", PHALCON_CALL_DEFAULT); PHALCON_INIT_VAR(t7); phalcon_read_property(&t7, v4, "items", sizeof("items")-1, PHALCON_NOISY_FETCH TSRMLS_CC); Z_ADDREF_P(r11); phalcon_array_append(t7, r11 TSRMLS_CC); phalcon_update_property_zval(v4, "items", strlen("items"), t7 TSRMLS_CC); PHALCON_INIT_VAR(r12); is_smaller_or_equal_function(r12, v0, v7 TSRMLS_CC); if (zend_is_true(r12)) { goto we_e435_0; } PHALCON_SEPARATE(v7); increment_function(v7); goto ws_e435_0; we_e435_0: if(0) { }; } phalcon_update_property_long(v4, "first", strlen("first"), 1 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r13); phalcon_add_function(r13, v5, v0 TSRMLS_CC); PHALCON_INIT_VAR(r14); is_smaller_function(r14, r13, v3 TSRMLS_CC); if (zend_is_true(r14)) { PHALCON_INIT_VAR(t8); ZVAL_LONG(t8, 1); PHALCON_ALLOC_ZVAL_MM(r15); phalcon_add_function(r15, v2, t8 TSRMLS_CC); PHALCON_CPY_WRT(v8, r15); } else { PHALCON_ALLOC_ZVAL_MM(r16); phalcon_add_function(r16, v5, v0 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r17); is_equal_function(r17, r16, v3 TSRMLS_CC); if (zend_is_true(r17)) { PHALCON_CPY_WRT(v8, v3); } else { PHALCON_ALLOC_ZVAL_MM(r18); PHALCON_ALLOC_ZVAL_MM(r19); div_function(r19, v3, v0 TSRMLS_CC); PHALCON_CALL_FUNC_PARAMS_1(r18, "intval", r19, 0x00E); PHALCON_INIT_VAR(t9); ZVAL_LONG(t9, 1); PHALCON_ALLOC_ZVAL_MM(r20); phalcon_add_function(r20, r18, t9 TSRMLS_CC); PHALCON_CPY_WRT(v8, r20); } } PHALCON_INIT_VAR(r21); is_smaller_function(r21, v6, v8 TSRMLS_CC); if (zend_is_true(r21)) { PHALCON_CPY_WRT(v8, v6); } phalcon_update_property_zval(v4, "next", strlen("next"), v8 TSRMLS_CC); PHALCON_INIT_VAR(t10); ZVAL_LONG(t10, 1); PHALCON_INIT_VAR(r22); is_smaller_function(r22, t10, v2 TSRMLS_CC); if (zend_is_true(r22)) { PHALCON_INIT_VAR(t11); ZVAL_LONG(t11, 1); PHALCON_ALLOC_ZVAL_MM(r23); sub_function(r23, v2, t11 TSRMLS_CC); PHALCON_CPY_WRT(v9, r23); } else { PHALCON_INIT_VAR(v9); ZVAL_LONG(v9, 1); } phalcon_update_property_zval(v4, "before", strlen("before"), v9 TSRMLS_CC); phalcon_update_property_zval(v4, "current", strlen("current"), v2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r24); mod_function(r24, v3, v0 TSRMLS_CC); if (zend_is_true(r24)) { PHALCON_ALLOC_ZVAL_MM(r25); PHALCON_ALLOC_ZVAL_MM(r26); div_function(r26, v3, v0 TSRMLS_CC); PHALCON_CALL_FUNC_PARAMS_1(r25, "intval", r26, 0x00E); PHALCON_INIT_VAR(t12); ZVAL_LONG(t12, 1); PHALCON_ALLOC_ZVAL_MM(r27); phalcon_add_function(r27, r25, t12 TSRMLS_CC); PHALCON_CPY_WRT(v10, r27); } else { PHALCON_ALLOC_ZVAL_MM(r28); div_function(r28, v3, v0 TSRMLS_CC); PHALCON_CPY_WRT(v10, r28); } phalcon_update_property_zval(v4, "last", strlen("last"), v10 TSRMLS_CC); phalcon_update_property_zval(v4, "total_pages", strlen("total_pages"), v10 TSRMLS_CC); PHALCON_RETURN_CTOR(v4); }
PHP_METHOD(Phalcon_Internal_TestTemp, e13d){ zval *a = NULL; zval *i0 = NULL, *i1 = NULL, *i2 = NULL; zval *t0 = NULL, *t1 = NULL, *t2 = NULL, *t3 = NULL, *t4 = NULL, *t5 = NULL, *t6 = NULL; zval *t7 = NULL, *t8 = NULL, *t9 = NULL, *t10 = NULL, *t11 = NULL, *t12 = NULL; zval *r0 = NULL, *r1 = NULL; PHALCON_MM_GROW(); PHALCON_ALLOC_ZVAL_MM(i0); object_init(i0); PHALCON_CPY_WRT(a, i0); phalcon_update_property_long(a, "uno", strlen("uno"), 1 TSRMLS_CC); phalcon_update_property_long(a, "dos", strlen("dos"), 2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(i1); object_init(i1); phalcon_update_property_zval(a, "subA", strlen("subA"), i1 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); phalcon_update_property_long(t0, "uno", strlen("uno"), 1 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t1); phalcon_read_property(&t1, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); phalcon_update_property_long(t1, "dos", strlen("dos"), 2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(i2); object_init(i2); PHALCON_ALLOC_ZVAL_MM(t2); phalcon_read_property(&t2, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); phalcon_update_property_zval(t2, "subSubA", strlen("subSubA"), i2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t3); phalcon_read_property(&t3, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t4); phalcon_read_property(&t4, t3, "subSubA", sizeof("subSubA")-1, PHALCON_NOISY TSRMLS_CC); phalcon_update_property_long(t4, "uno", strlen("uno"), 1 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t5); phalcon_read_property(&t5, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t6); phalcon_read_property(&t6, t5, "subSubA", sizeof("subSubA")-1, PHALCON_NOISY TSRMLS_CC); phalcon_update_property_long(t6, "dos", strlen("dos"), 2 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t7); phalcon_read_property(&t7, a, "uno", sizeof("uno")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t8); phalcon_read_property(&t8, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t9); phalcon_read_property(&t9, t8, "uno", sizeof("uno")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r0); mul_function(r0, t7, t9 TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t10); phalcon_read_property(&t10, a, "subA", sizeof("subA")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t11); phalcon_read_property(&t11, t10, "subSubA", sizeof("subSubA")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(t12); phalcon_read_property(&t12, t11, "uno", sizeof("uno")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r1); mul_function(r1, r0, t12 TSRMLS_CC); PHALCON_RETURN_CTOR(r1); }
/** * Restore a Phalcon_Db_Reference object from export * * @param array $data * @return Phalcon_Db_Reference */ PHP_METHOD(Phalcon_Db_Reference, __set_state){ zval *data = NULL, *constraint_name = NULL, *referenced_schema = NULL; zval *referenced_table = NULL, *columns = NULL, *referenced_columns = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL; zval *i0 = NULL; zval *a0 = NULL; int eval_int; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &data) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } eval_int = phalcon_array_isset_string(data, "_referenceName", strlen("_referenceName")+1); if (!eval_int) { PHALCON_THROW_EXCEPTION_STR(phalcon_db_exception_ce, "_referenceName parameter is required"); return; } else { PHALCON_ALLOC_ZVAL_MM(r0); phalcon_array_fetch_string(&r0, data, "_referenceName", strlen("_referenceName"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(constraint_name, r0); } eval_int = phalcon_array_isset_string(data, "_referencedSchema", strlen("_referencedSchema")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch_string(&r1, data, "_referencedSchema", strlen("_referencedSchema"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(referenced_schema, r1); } else { PHALCON_INIT_VAR(referenced_schema); ZVAL_NULL(referenced_schema); } eval_int = phalcon_array_isset_string(data, "_referencedTable", strlen("_referencedTable")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r2); phalcon_array_fetch_string(&r2, data, "_referencedTable", strlen("_referencedTable"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(referenced_table, r2); } else { PHALCON_INIT_VAR(referenced_table); ZVAL_NULL(referenced_table); } eval_int = phalcon_array_isset_string(data, "_columns", strlen("_columns")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r3); phalcon_array_fetch_string(&r3, data, "_columns", strlen("_columns"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(columns, r3); } else { PHALCON_INIT_VAR(columns); ZVAL_NULL(columns); } eval_int = phalcon_array_isset_string(data, "_referencedColumns", strlen("_referencedColumns")+1); if (eval_int) { PHALCON_ALLOC_ZVAL_MM(r4); phalcon_array_fetch_string(&r4, data, "_referencedColumns", strlen("_referencedColumns"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(referenced_columns, r4); } else { PHALCON_INIT_VAR(referenced_columns); ZVAL_NULL(referenced_columns); } PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_db_reference_ce); PHALCON_INIT_VAR(a0); array_init(a0); phalcon_array_update_string(&a0, "referencedSchema", strlen("referencedSchema"), &referenced_schema, PHALCON_SEPARATE_PLZ, PHALCON_COPY, PHALCON_NO_CTOR TSRMLS_CC); phalcon_array_update_string(&a0, "referencedTable", strlen("referencedTable"), &referenced_table, PHALCON_SEPARATE_PLZ, PHALCON_COPY, PHALCON_NO_CTOR TSRMLS_CC); phalcon_array_update_string(&a0, "columns", strlen("columns"), &columns, PHALCON_SEPARATE_PLZ, PHALCON_COPY, PHALCON_NO_CTOR TSRMLS_CC); phalcon_array_update_string(&a0, "referencedColumns", strlen("referencedColumns"), &referenced_columns, PHALCON_SEPARATE_PLZ, PHALCON_COPY, PHALCON_NO_CTOR TSRMLS_CC); PHALCON_CALL_METHOD_PARAMS_2_NORETURN(i0, "__construct", constraint_name, a0, PHALCON_CHECK); PHALCON_RETURN_CTOR(i0); }