Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add a rule to main.mk to build the schemalint.tcl script into an executable. Similar to the way the sqlite3_analyzer executable is built. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | schemalint |
Files: | files | file ages | folders |
SHA1: |
b8251065db9dbe5463490316baa09dc6 |
User & Date: | dan 2015-11-30 19:16:00.031 |
Context
2016-01-22
| ||
14:32 | Update the schemalint.tcl script so that the argument to a -select option may be either an SQL statement or the name of a file containing an SQL statement (check-in: d4e3776767 user: dan tags: schemalint) | |
2015-11-30
| ||
19:16 | Add a rule to main.mk to build the schemalint.tcl script into an executable. Similar to the way the sqlite3_analyzer executable is built. (check-in: b8251065db user: dan tags: schemalint) | |
18:17 | Fix the schemalint.tcl script to handle identifiers that require quoting. (check-in: 451e0fafbe user: dan tags: schemalint) | |
Changes
Changes to main.mk.
︙ | ︙ | |||
710 711 712 713 714 715 716 717 718 719 720 721 722 723 | echo "static const char *tclsh_main_loop(void){" >> $@ echo "static const char *zMainloop = " >> $@ tclsh $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@ echo "; return zMainloop; }" >> $@ sqlite3_analyzer$(EXE): sqlite3_analyzer.c $(TCCX) $(TCL_FLAGS) sqlite3_analyzer.c -o $@ $(LIBTCL) $(THREADLIB) # Rules to build the 'testfixture' application. # TESTFIXTURE_FLAGS = -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c | > > > > > > > > > > > > > > | 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 | echo "static const char *tclsh_main_loop(void){" >> $@ echo "static const char *zMainloop = " >> $@ tclsh $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@ echo "; return zMainloop; }" >> $@ sqlite3_analyzer$(EXE): sqlite3_analyzer.c $(TCCX) $(TCL_FLAGS) sqlite3_analyzer.c -o $@ $(LIBTCL) $(THREADLIB) sqlite3_schemalint.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/schemalint.tcl echo "#define TCLSH 2" > $@ echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@ cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@ echo "static const char *tclsh_main_loop(void){" >> $@ echo "static const char *zMainloop = " >> $@ tclsh $(TOP)/tool/tostr.tcl $(TOP)/tool/schemalint.tcl >> $@ echo "; return zMainloop; }" >> $@ sqlite3_schemalint$(EXE): $(TESTSRC) sqlite3_schemalint.c $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ sqlite3_schemalint.c $(TESTSRC) \ -o sqlite3_schemalint$(EXE) $(LIBTCL) $(THREADLIB) # Rules to build the 'testfixture' application. # TESTFIXTURE_FLAGS = -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c |
︙ | ︙ |
Changes to tool/schemalint.tcl.
1 2 3 4 5 6 7 | set ::VERBOSE 0 proc usage {} { puts stderr "Usage: $::argv0 ?SWITCHES? DATABASE/SCHEMA" puts stderr " Switches are:" puts stderr " -select SQL (recommend indexes for SQL statement)" | > | 1 2 3 4 5 6 7 8 | if {[catch { set ::VERBOSE 0 proc usage {} { puts stderr "Usage: $::argv0 ?SWITCHES? DATABASE/SCHEMA" puts stderr " Switches are:" puts stderr " -select SQL (recommend indexes for SQL statement)" |
︙ | ︙ | |||
549 550 551 552 553 554 555 556 | puts "All $nTest tests passed" exit } # End of internal test code. #------------------------------------------------------------------------- sqlidx_init_context D | > > | > > > > > | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 | puts "All $nTest tests passed" exit } # End of internal test code. #------------------------------------------------------------------------- if {[info exists ::argv0]==0} { set ::argv0 [info nameofexec] } if {[info exists ::argv]==0} usage sqlidx_init_context D process_cmdline_args D $::argv open_database D analyze_selects D find_trial_indexes D foreach idx [run_trials D] { puts $idx } } err]} { puts "ERROR: $err" puts $errorInfo exit 1 } |