d  Release www.jsoftware.com
J database - J language
columnar analytics

2016 May 12 - version 3.2

partitioned table - significant new facility - see tutorial ptable

• invalid epoch data passes precision assertions
• default epoch and sfe display does not have Z suffix
• table/column/dan name validation (General|names)
• read op parsing reworked and some bugs fixed
• documentation of ops reorganized and improved
• readtc requires jdtc clause (:::s::: no longer supported)
• validate no longer done before/after insert/update/modify/delete
• Tlen (active+deleted rows) maintained in table state
• S_deleted (deleted rows) maintained in table state
• info summary uses Tlen/S_deleted - fast as no read of jdactive
• info improved and enhanced to handle ptable
• csv loader bug with fields longer than 1000 fixed
• where clause not bug fixed
• datatune support removed
• regex cd problem with linux debian installs fixed

2016 January 12 - version 3.1

• showbox bug fixed for jconsole (non linedraw) box chars
• showbox replaced by sptable (from simple project)
• insert/update datatune bugs fixed
• modify now does datatune
• tutorial datatune updated
• datatune doc (Ops misc|datatune)
• key enforced by shared library
• Jd binary and code version match enforced
• csv now supprts epoch cols (Ops csv)
• csvrd default reads all rows (rather than just 10)
• tutorial csv updated
• install over previous install (orphans) now OK (scriptlists.ijs)
• JAL version no longer tied to jd'list version'

2015 December 12 - version 2.2.11

• dropcol does not update column_create_order.txt - bug fix
• csvappend fails in some cases - bug fix
• min-max/epochdt with no records works (not domain error)
• logging and db validation improved (Technical|damaged)
• tutorial log
• validate - detects db problems (User|validate)
• info validate - info on all db mappings (User|info)
• info validatebad - validate mappings with problems (User|info)
• jdadmin does validate
• validate done before/after insert/update/modify/delete
• insert revert bug - detailed log and marks db damaged

2015 October 1 - version 2.2.10

• linux lock bug fixed - concurrent Jd task not locked out
• info dynamic - (User|info)
• createhash/createunique 2 to 10 times faster on large tables
• createhash /nc (User|createhash)
• createunique simplified and changed (User|createunique)
• insert unique simplified and changed (User|insert)
• flush - flush mapped file dirty buffers (User|flush)
• ref changed and improved - (User|ref)
• performance tutorial - table size vs ram

2015 June 18 - version 2.2.9

• where cola,colb = 1,2 doc and implementation bug fixed
• jddropstop prevents drops (drop/delete)
• jddeletefolder fails if criteria not met (drop/delete)
• jddeletefolder more robust vs background tasks (windows search service)
• jddeletefolderok allows otherwise blocked jddeletefolder
• welcome replaced by short message after jdtests run
• modify with indexes as well as where clause - jdex_jd_'modify'
• bugs fixed in where col in ()
• rough version of pm (performance measurement) - pmhelp_jd_
• droptable /reset (droptable)
• info jd - info on jd... cols (info)
• better createhash/createunique performance
• fix bug in createhash/createunique for multiple cols
• libjd.so built with stable linux (RH 4/Centos 5) (libjd.so)

2015 May 11 - version 2.2.7

• where cola range (23,64) - tutorial reads
• where cola,colb = 1,2 - tutorial where
• jdadminx'a' (single letter) bug fixed
• new doc page (General)
• consistent rules for dan/table/col names (General|names)
• modify bugs fixed
• createtable /a option must be before table name (User|createtable)
• create table from array - tutorial table_from_array
• better error messages

2015 April 14 - version 2.2.6

• CDEFSFILE (tutorial csv)
• gethashlen bug fixed
• where in () bug fixed
• jdtests reports elapsed time
• performance measurement - pmhelp_jd_
• read.ijs sortfrom bug fixed
• createcol shape validated
• droptable allowed with hash (fails with reference)
• some aggregates sped up
• better error message for insert/update/modify
• jdlast last line shuffled
• renametable implemented
• renamecol implemented
• modify implemented - update in place
• libjd_centos.so (Technical|centos)

2015 March 10 - version 2.2.1

• dropdynamic for specified columns
• info unique

2015 March 9 - version 2.2

• ref join - simpler than reference but with restrictions (tutorial join,Technical|ref)
• improved handle management and related errors (Technical|file handles)
• epochdt new features - tutorial epochdt
• epochdt allows blank (as well at T) as delimiter of time fields
• epochdt bug with UTC offsets fixed
• join with empty table bug fixed
• join with createunique crash now signals error
• csvrd bug with float .x vs 0.x fixed

2014 Jan 5 - version 2.1

• key required to run Jd
• epoch datetime col types (tutorial epochdt,User|types)
• smarter file allocation and resize (User|createtable)
• all column files mapped when db is opened
• list lists version and open databases (User|list)
• info works only on current database

2014 April 22 - version 2.0

• Jd released as addon