mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Optimize sqlite3_get/set_clientdata() for the presumably common case of a static string pointer.
FossilOrigin-Name: 84e38341aeab4fd51690e8536d0101d00e3fb11cc50ebcff05ed219c98328872
This commit is contained in:
@@ -3725,7 +3725,7 @@ void *sqlite3_get_clientdata(sqlite3 *db, const char *zName){
|
||||
DbClientData *p;
|
||||
sqlite3_mutex_enter(db->mutex);
|
||||
for(p=db->pDbData; p; p=p->pNext){
|
||||
if( strcmp(p->zName, zName)==0 ){
|
||||
if( zName==p->zName || strcmp(p->zName, zName)==0 ){
|
||||
void *pResult = p->pData;
|
||||
sqlite3_mutex_leave(db->mutex);
|
||||
return pResult;
|
||||
@@ -3747,7 +3747,9 @@ int sqlite3_set_clientdata(
|
||||
DbClientData *p, **pp;
|
||||
sqlite3_mutex_enter(db->mutex);
|
||||
pp = &db->pDbData;
|
||||
for(p=db->pDbData; p && strcmp(p->zName,zName); p=p->pNext){
|
||||
for(p=db->pDbData;
|
||||
p && (zName!=p->zName && strcmp(p->zName,zName));
|
||||
p=p->pNext){
|
||||
pp = &p->pNext;
|
||||
}
|
||||
if( p ){
|
||||
|
Reference in New Issue
Block a user