I am a relatively new user of sqlite.  My current use is to learn
sqlite sql to solve solitaire battleship puzzles. I am not a programmer,
so use the command line interface on a Mac.

  As a result I wonder whether it is worth considering a few
amendments to the commands in the CLI tool. My first thoughts being:

  1. adding an escape option to <LIKE> where it is available; such as
     sha3sum. (Naively I have defined some tables with names begining
     '_'. I know I can rename them, but I prefer not to.)

  2. adding a new command to allow a simple variable to be set.
     For example,

       .let a ...

     where ... is a bona fide dot command (less the dot) that makes
     usage sense.  For example, I find the .cd command tedious in
     practice. Global exported variables are not interned so such as
     .cd $HOME fails.

     Perhaps a sequence like the following:

       .let a system echo $dev
       .cd -let a

     Here, -let as an option was my initail (no thought) idea, but
     thinking of an alternative begins to break the association
     between setting (.let) and using.  In one's mind read '.let a' as
     'let the variable a be', and '-let a' as 'use the value of letter

     Further, I thought restricted permissible variable names 'a'
     through to 'z' would be plenty. Certainly better than none as
     seems to be the case currently.  Similarly, they should be
     limited in size to a pathname. Or possibly set the size using

     Alternative usage as a dot command option could be
       .cd -val a
       .cd $a
       .cd *a

     Obviously these variable names do not exist unless set.

     Example (maybe via .read):
       .once .dat
       select date('now');
       .let f system echo "words-`cat .dat`.txt"
       .once -let f
       select word from words order by 1;

     The system call argument maybe just 'todaysfile' which executes.

  3. the .load command does not have a complement .loaded; how does
     one check?

Well, just thinking out loud.

Thanks, Martin.

sqlite-users mailing list

Reply via email to