Yuriy Kaminskiy wrote:
> Two alternative patches, choose whichever you like.
> 
> Alternative 1: (IMO, preferred; tested)
> Don't lowercase argument of .schema.
> With PRAGMA case_sensitive_like = ON, you just need to use right case for 
> table
> names.
> 
> Index: sqlite3-3.7.8/src/shell.c
> ===================================================================
> --- sqlite3-3.7.8.orig/src/shell.c    2011-10-23 14:00:50.000000000 +0400
> +++ sqlite3-3.7.8/src/shell.c 2011-10-23 14:01:14.000000000 +0400
> @@ -2018,9 +2018,7 @@ static int do_meta_command(char *zLine,
>      data.showHeader = 0;
>      data.mode = MODE_Semi;
>      if( nArg>1 ){
> -      int i;
> -      for(i=0; azArg[1][i]; i++) azArg[1][i] = (char)tolower(azArg[1][i]);
> -      if( strcmp(azArg[1],"sqlite_master")==0 ){
> +      if( sqlite3_strnicmp(azArg[1],"sqlite_master",13+1)==0 ){
>          char *new_argv[2], *new_colv[2];
>          new_argv[0] = "CREATE TABLE sqlite_master (\n"
>                        "  type text,\n"
> @@ -2034,7 +2032,7 @@ static int do_meta_command(char *zLine,
>          new_colv[1] = 0;
>          callback(&data, 1, new_argv, new_colv);
>          rc = SQLITE_OK;
> -      }else if( strcmp(azArg[1],"sqlite_temp_master")==0 ){
> +      }else if( sqlite3_strnicmp(azArg[1],"sqlite_temp_master",18+1)==0 ){
>          char *new_argv[2], *new_colv[2];
>          new_argv[0] = "CREATE TEMP TABLE sqlite_temp_master (\n"
>                        "  type text,\n"
> =============================================================================

Ping.

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to