diff options
author | Wez Furlong <wez@php.net> | 2005-02-27 05:20:19 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-02-27 05:20:19 +0000 |
commit | ae5649598dcbb3b3b105344452c782bf0f289739 (patch) | |
tree | e03893cec670b02478808f8913d6b4148455ec2c /ext/pdo_sqlite/sqlite_statement.c | |
parent | 58f61a16eea562cfed04c19cc319a608b2e9f345 (diff) | |
download | php-git-ae5649598dcbb3b3b105344452c782bf0f289739.tar.gz |
upgrade bundled sqlite to sqlite 3.1.3
Diffstat (limited to 'ext/pdo_sqlite/sqlite_statement.c')
-rw-r--r-- | ext/pdo_sqlite/sqlite_statement.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c index 38d091c9d7..1c2c02ca30 100644 --- a/ext/pdo_sqlite/sqlite_statement.c +++ b/ext/pdo_sqlite/sqlite_statement.c @@ -176,15 +176,16 @@ static int pdo_sqlite_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) stmt->columns[colno].namelen = strlen(stmt->columns[colno].name); stmt->columns[colno].maxlen = 0xffffffff; stmt->columns[colno].precision = 0; - + switch (sqlite3_column_type(S->stmt, colno)) { case SQLITE_INTEGER: case SQLITE_FLOAT: - case SQLITE_TEXT: + case SQLITE3_TEXT: case SQLITE_BLOB: stmt->columns[colno].param_type = PDO_PARAM_STR; break; case SQLITE_NULL: + default: stmt->columns[colno].param_type = PDO_PARAM_NULL; break; } @@ -214,10 +215,20 @@ static int pdo_sqlite_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsi *ptr = (char*)sqlite3_column_blob(S->stmt, colno); *len = sqlite3_column_bytes(S->stmt, colno); return 1; + + case SQLITE3_TEXT: + *ptr = (char*)sqlite3_column_text(S->stmt, colno); + *len = sqlite3_column_bytes(S->stmt, colno); + if (*len) { + /* sqlite3.h says "the NUL terminator is included in the byte count + * for TEXT values" */ + *len--; + } + return 1; default: *ptr = (char*)sqlite3_column_text(S->stmt, colno); - *len = strlen(*ptr); + *len = sqlite3_column_bytes(S->stmt, colno); return 1; } } |