quisp / shsql - what's new

# What's new

### Download

QUISP 1.27 16 Feb '05 | ploticus 2.31 is included with quisp_pl. as a security precaution, the string `../` is always removed from variables that appear within a `#shell / #endshell`. when a quisp or quisp_pl process exceeds the current cpu resource limitation this is handed more cleanly than before (a browser-visible message is displayed). Note that this does not apply to subordinate processes such as those invokved via `#shell`.
SHSQL 1.28 16 Feb '05 | "too many files open" bug with C api doing repeated insert / delete. File was being opened in SHSQL_loadfieldmap and not closed.
QUISP 1.27 16 Feb '05 | ploticus 2.31 is included with quisp_pl. New functions: `$fflush()` to flush standard output (allows all content generated up to that point to be pushed to web server and displayed to user); and `$cpulimit()` to raise the cpu time limit on a page-by-page basis, eg: `$cpulimit( 60 )` to raise limit to 60 cpu seconds. code clean-up to compile cleanly w/ gcc -Wall computed day of week was incorrect - fixed
SHSQL 1.27 16 Feb '05 | new index type - combined - same as combinedword, but considers each field as a unit without doing any word parsing. fixed bug - when building combinedword indexes, separate index files were built for all named fields.. should build one index file only. fixed bug - when building word or combinedword indexes, core dump when no `commonwords` file existed. documentation error fixed - when using a direct index on an alphanumeric field with mixed upper and lower case, user needs to sort data file using `sort -f` (fold upper and lower case), and then be sure the field name header is put back at the top of the file. cleaned up code to compile (mostly) cleanly with gcc -Wall ALTER and MAINTAIN - temporary files use a different name `__tmpmaint_*`
Notes on building libshsql as a shared library. 13 Sep '04
QUISP 1.26 2 Sep '04 | ploticus 2.30 is included with quisp_pl. bug fix: #graphic and #shell - incorrect interaction - #shell results were being written to stdout rather than captured by ploticus script. bug fix: a #write within embedded ploticus script didn't produce anything - now can be used to write to stdout (to see in browser) or a file. Handy for debugging. bug fix: date arithmetic problem related to pre-1970 leap years fixed. Related to this, the base julian year was changed to 1970 (was 1977) to conform to community expectations (this should be transparent unless somebody is taking quisp julian dates and exporting them). Also, dates back to 1754 are now ok. the functions $arith(), $arithl(), $isnumber(), and conditional expressions, now accept numbers in scientific notation
SHSQL 1.26 2 Sep '04 | No changes.
QUISP 1.25 17 May '04 | ploticus 2.21 is included with quisp_pl. fixed bug - #shell results not being captured by ploticus, appearing on stdout instead. fixed bug - version numbers stated by quisputil and QUISP_VERSION were incorrect.
SHSQL 1.25 17 May '04 | fixed bug - version number stated by shsql utility was incorrect.
QUISP 1.24 27 Apr '04 | name changed from midriff to QUISP ... (decided we needed a better name) quisp - new SQL-related functions: $sqlwritable() tests if current process can write to database; $sqlpushrow() allows current row to be gotten again by next row fetch call; $sqltabdef() returns a comma-delimited list of field names for a given table. quisp - `#sql 2` or `#sql #2` can be used - equivalent to `#sql2` quisp - new function - $ranger() quisp - bug fix - conditional expressions wild card matching - "abcde" like "abc?????" was true quisp_pl includes ploticus version 2.20-q
SHSQL 1.24 27 Apr '04 | SHSQL_writable() added to the API - test if current process can write to database SHSQL_pushrow() added to API improvement - dataedit(1) now checks field counts before saving; also user interface improved bug fix - create index ... if an incorrect "create index" command was used it "remembered" this in the .0 file and subsequent attempts to (correctly) build index gave an error bug fix - field name alias should always be the result field name. Eg. `select min(x) as pq from ...` the result field name was `pw__min`. bug fix - certain LIKE and CONTAINS matches were not processed correctly due to a bug in wildcard evaluator when indexes were involved bug fix - `inlike "UNI*,null"` - not finding rows with null when indexes were involved bug fix - instability on deletes where rows are located based on a retrieval invoking sp->distinct (such as IN). this was a design flaw and must never have worked. Fixed. bug fix - index lookups on IN list comparisons terminated prematurely when end of file encountered. Fixed. bug fix (Tony Ledford) - tabmaint on a non-indexed table was leaving result in tmp file bug fix - wild card match bug - "abcde" like "abc?????" was true - affected where clauses when indexes were involved. bug fix - create index - tablename and fieldnames must now be valid before files are created. bug fix - sqlmode retain_und wasn't working - fixed bug fix - slow query noted: select * from summstats where measnum in '3604,3605,3606,3607...' index gets us to correct place in data file, but for each member, records for all of 36?? are scanned.. scanning halts when the condex is not true, but in this case the condex remains true, and table records are ordered such that all the 36?? records are found together. FIXED. bug fix - some vars weren't being initialized for each -OR- term, but needed to be. FIXED.

22 Sep '03 | Version 1.23 released midriff - date arithmetic - dates having days or months without the leading zero are now accepted by default. midriff - config file - information on date settings added midriff - #sqlcgivars - added "overwrite" option midriff - #cgilistvar - improvement - if an already converted listvar is #pass'ed, #cgilistvar now handles these properly midriff - $shellfieldconvert() function shsql - shsql_join buffer sizes increased - very long where clauses caused overflow shsql - new command "sqlmode logcommands" shsql - improved handling of unevaluated midriff @variables in where clause
03 Jun '03 | Version 1.22 released fixed problem with ploticus-enabled midriff build failing due to multiply-defined symbols. Midriff and ploticus share certain object modules which must be identical to avoid multiply-defined errors. fixed shsql bug: tabmaint was sometimes rebuilding indexes in addition to those it was supposed to. fixed shsql bug involving arbitrary whitespace handling with certain SELECT DISTINCT queries. top-level Makefile botch repaired
28 May '03 | Version 1.21 released fixed: bug in loop / endloop evaluation added: MAGNITUDE keyword added to SELECT .. ORDER BY clause fixed: bug with sql ALTER where result (tmp file) wasn't replacing data table file improved: tabdef now shows info pertaining to indexes
11 Mar '03 | Initial public release (version 1.2) available