aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-04-06 18:16:31 +0000
committerdrh <drh@noemail.net>2020-04-06 18:16:31 +0000
commitd44390c8c54268e1651fafb9ee738574947aceba (patch)
treedada4b22ba9554235ba5fcec32ea35b8610d5851 /src/util.c
parent85f2c76cf9eeae30fb410c73c7427724dbb02182 (diff)
downloadsqlite-d44390c8c54268e1651fafb9ee738574947aceba.tar.gz
sqlite-d44390c8c54268e1651fafb9ee738574947aceba.zip
Performance improvement for column name lookup.
FossilOrigin-Name: 1e4b6a93987cdfbf829e2ff35ef417c290625f2894ad11949e301af518f1fb44
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
index 693759bff..09520d1d6 100644
--- a/src/util.c
+++ b/src/util.c
@@ -318,6 +318,19 @@ int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){
}
/*
+** Compute an 8-bit hash on a string that is insensitive to case differences
+*/
+u8 sqlite3StrIHash(const char *z){
+ u8 h = 0;
+ if( z==0 ) return 0;
+ while( z[0] ){
+ h += UpperToLower[(unsigned char)z[0]];
+ z++;
+ }
+ return h;
+}
+
+/*
** Compute 10 to the E-th power. Examples: E==1 results in 10.
** E==2 results in 100. E==50 results in 1.0e50.
**