/ Check-in [7ac500fb]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Faster and smaller implementation of sqlite3StrICmp().
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7ac500fb5abfe1ad60f2ffdcc8fbe5ccc1c641bbeed53f00940e9ff78788e53d
User & Date: drh 2019-04-17 11:34:44
Context
2019-04-17
21:17
Add the experimental dbdata extension. check-in: a3ab5883 user: dan tags: dbdata
12:07
Small performance improvement on the variable-length integer decoder: sqlite3GetVarint(). check-in: 5df2bf62 user: drh tags: trunk
11:34
Faster and smaller implementation of sqlite3StrICmp(). check-in: 7ac500fb user: drh tags: trunk
2019-04-16
19:49
Version 3.28.0 check-in: 884b4b7e user: drh tags: trunk, release, version-3.28.0
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/util.c.

318
319
320
321
322
323
324
325
326
327
328





329
330

331
332
333
334
335
336
337
  }else if( zRight==0 ){
    return 1;
  }
  return sqlite3StrICmp(zLeft, zRight);
}
int sqlite3StrICmp(const char *zLeft, const char *zRight){
  unsigned char *a, *b;
  int c;
  a = (unsigned char *)zLeft;
  b = (unsigned char *)zRight;
  for(;;){





    c = (int)UpperToLower[*a] - (int)UpperToLower[*b];
    if( c || *a==0 ) break;

    a++;
    b++;
  }
  return c;
}
int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){
  register unsigned char *a, *b;







|



>
>
>
>
>
|
|
>







318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
  }else if( zRight==0 ){
    return 1;
  }
  return sqlite3StrICmp(zLeft, zRight);
}
int sqlite3StrICmp(const char *zLeft, const char *zRight){
  unsigned char *a, *b;
  int c, x;
  a = (unsigned char *)zLeft;
  b = (unsigned char *)zRight;
  for(;;){
    c = *a;
    x = *b;
    if( c==x ){
      if( c==0 ) break;
    }else{
      c = (int)UpperToLower[c] - (int)UpperToLower[x];
      if( c ) break;
    }
    a++;
    b++;
  }
  return c;
}
int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){
  register unsigned char *a, *b;