diff options
| author | Xinchen Hui <laruence@php.net> | 2014-06-23 19:12:15 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2014-06-23 19:27:24 +0800 |
| commit | 92a708989380bfb5d5da00665895025398bdbc91 (patch) | |
| tree | fb888b41c25d52169f87f250b6b4d557accf42f3 /ext/pdo_mysql/mysql_statement.c | |
| parent | 64c6b9bd5873240c53d803399ee8a8a0ad962dbf (diff) | |
| download | php-git-92a708989380bfb5d5da00665895025398bdbc91.tar.gz | |
Use zend_string in mysqlnd
Diffstat (limited to 'ext/pdo_mysql/mysql_statement.c')
| -rw-r--r-- | ext/pdo_mysql/mysql_statement.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 2c0fc85383..b2d2b7a01f 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -699,12 +699,21 @@ static int pdo_mysql_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) /* {{{ int namelen; if (S->H->fetch_table_names) { +#ifdef PDO_USE_MYSQLND + namelen = spprintf(&cols[i].name, 0, "%s.%s", S->fields[i].table->val, S->fields[i].name->val); +#else namelen = spprintf(&cols[i].name, 0, "%s.%s", S->fields[i].table, S->fields[i].name); +#endif cols[i].namelen = namelen; } else { +#ifdef PDO_USE_MYSQLND + cols[i].namelen = S->fields[i].name->len; + cols[i].name = estrndup(S->fields[i].name->val, S->fields[i].name->len); +#else namelen = strlen(S->fields[i].name); cols[i].namelen = namelen; cols[i].name = estrndup(S->fields[i].name, namelen); +#endif } cols[i].precision = S->fields[i].decimals; @@ -847,7 +856,11 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va F = S->fields + colno; if (F->def) { +#ifdef PDO_USE_MYSQLND + add_assoc_str(return_value, "mysql:def", STR_COPY(F->def)); +#else add_assoc_string(return_value, "mysql:def", F->def); +#endif } if (IS_NOT_NULL(F->flags)) { add_next_index_string(&flags, "not_null"); @@ -889,7 +902,11 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va #endif add_assoc_zval(return_value, "flags", &flags); +#ifdef PDO_USE_MYSQLND + add_assoc_str(return_value, "table", STR_COPY(F->table)); +#else add_assoc_string(return_value, "table", (char *) (F->table?F->table : "")); +#endif PDO_DBG_RETURN(SUCCESS); } /* }}} */ |
