OLD | NEW |
1 /* | 1 /* |
2 ** 2004 May 26 | 2 ** 2004 May 26 |
3 ** | 3 ** |
4 ** The author disclaims copyright to this source code. In place of | 4 ** The author disclaims copyright to this source code. In place of |
5 ** a legal notice, here is a blessing: | 5 ** a legal notice, here is a blessing: |
6 ** | 6 ** |
7 ** May you do good and not evil. | 7 ** May you do good and not evil. |
8 ** May you find forgiveness for yourself and forgive others. | 8 ** May you find forgiveness for yourself and forgive others. |
9 ** May you share freely, never taking more than you give. | 9 ** May you share freely, never taking more than you give. |
10 ** | 10 ** |
(...skipping 1204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1215 */ | 1215 */ |
1216 int sqlite3VdbeParameterIndex(Vdbe *p, const char *zName, int nName){ | 1216 int sqlite3VdbeParameterIndex(Vdbe *p, const char *zName, int nName){ |
1217 int i; | 1217 int i; |
1218 if( p==0 ){ | 1218 if( p==0 ){ |
1219 return 0; | 1219 return 0; |
1220 } | 1220 } |
1221 createVarMap(p); | 1221 createVarMap(p); |
1222 if( zName ){ | 1222 if( zName ){ |
1223 for(i=0; i<p->nVar; i++){ | 1223 for(i=0; i<p->nVar; i++){ |
1224 const char *z = p->azVar[i]; | 1224 const char *z = p->azVar[i]; |
1225 if( z && memcmp(z,zName,nName)==0 && z[nName]==0 ){ | 1225 if( z && strncmp(z,zName,nName)==0 && z[nName]==0 ){ |
1226 return i+1; | 1226 return i+1; |
1227 } | 1227 } |
1228 } | 1228 } |
1229 } | 1229 } |
1230 return 0; | 1230 return 0; |
1231 } | 1231 } |
1232 int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){ | 1232 int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){ |
1233 return sqlite3VdbeParameterIndex((Vdbe*)pStmt, zName, sqlite3Strlen30(zName)); | 1233 return sqlite3VdbeParameterIndex((Vdbe*)pStmt, zName, sqlite3Strlen30(zName)); |
1234 } | 1234 } |
1235 | 1235 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1317 | 1317 |
1318 /* | 1318 /* |
1319 ** Return the value of a status counter for a prepared statement | 1319 ** Return the value of a status counter for a prepared statement |
1320 */ | 1320 */ |
1321 int sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ | 1321 int sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ |
1322 Vdbe *pVdbe = (Vdbe*)pStmt; | 1322 Vdbe *pVdbe = (Vdbe*)pStmt; |
1323 int v = pVdbe->aCounter[op-1]; | 1323 int v = pVdbe->aCounter[op-1]; |
1324 if( resetFlag ) pVdbe->aCounter[op-1] = 0; | 1324 if( resetFlag ) pVdbe->aCounter[op-1] = 0; |
1325 return v; | 1325 return v; |
1326 } | 1326 } |
OLD | NEW |