kdb+ 2.5 Release Notes¶
This page details the latest features and improvements released to kdb+ 2.5.
2011.02.04¶
Fixes and improvements¶
-
potentially, in extremely obscure cases, a sym compare might have matched incorrectly. This affects finding unique rows
in tables where at least one column is a sym. -
0!x was not decrementing ref count of x in the event of a type error
e.g.0!()
2011.01.20¶
Fixes and improvements¶
- calling code in dynamically loaded libraries on linux could crash randomly, since 2.6 2009.08.20
2010.07.23¶
-
hopen (or khp/khpu from c) could fail if 0 was the socket descriptor allocated.
-
processing incoming aync msgs whilst awaiting a sync response was causing .z.w/.z.u to lose context
e.g. (hopen`::5000)"(neg .z.w)\"(neg .z.w)`\""; .z.u
2010.06.28¶
Fixes and improvements¶
- allow deeper nesting of (), limit was 15, now it is 100. e.g. value raze 100#'"()"
2010.06.20¶
Fixes and improvements¶
- enum compare was erroneously matching null, e.g. u:enlist`x;select from([]b:`s#`u$``x) where b in `x
2010.06.17¶
Fixes and improvements¶
-
appending a different nested type to a nested type was crashing; now it throws 'type
e.g. .[`:test/;();,;([]a:(1 2;3 4))];.[`:test/;();,;([]a:(`a`b;`c`d))];get`:test/
2010.05.21¶
Fixes and improvements¶
- artificial memory limit (via command line -w) could have been exceeded under some circumstances
2010.05.12¶
Fixes and improvements¶
- min on a sorted list was not ignoring nulls, e.g. min asc 0n 1
2010.02.26¶
New¶
-
command line option -o n (and \o n) - n now represents minutes if abs[o]>23. It continues to represent hours if abs[o]<24.
This is to accomodate timezone offsets that are partial hours (e.g. NSI,BSE in India)
2009.12.22¶
Fixes and improvements¶
- enumerating nulls was crashing, e.g. e:`a`b;`e$`;`e$``
2009.12.02¶
- amended README entry for 2009.07.21
2009.09.18¶
- amended README entry for 2009.05.29
2009.09.09¶
Fixes and improvements¶
-
exec from ([a:1 2]b:3 4) was returning an unshowable structure
-
print wsfull to stderr, even when stderr redirected
2009.08.26¶
Fixes and improvements¶
-
was crashing on a:(`int$())!();a[`q]:0 same problem as t:([a:0 1;b:0 1]c:0 1);@[t;`a;`s#]
-
q.k - improved performance of .Q.en
2009.07.27¶
Fixes and improvements¶
-
deltas 30 32 39h was returning 0N 2 7 instead of 30 2 7
-
in multithreaded mode allow updates to globals via .z.ts (linux,solaris only, windows later)
-
("SS";enlist csv)0:`:file crashed if file ended on a page boundary
-
block bad cast t:([a:()] b:());`t$([] a:20 30)
-
extend scalar t:([]a:enlist 1);t[`b]:1
2009.07.21¶
Fixes and improvements¶
-
rework of .z.t to be consistent with "t"$.z.z, without losing higher resolutions of .z.z
-
also `datetime casting behavior changed from round to truncate (for > millisecond precision)
-
reactivated zeroing of dictionaries, e.g.
((enlist {})!enlist (enlist {})!enlist (enlist {})!enlist 1000)[`;`;`] -
hclose -1 caused crash
2009.07.15¶
Fixes and improvements¶
-
w64 only
-
allocs greater than 2GB were causing kdb+ to lock up
2009.07.06¶
Fixes and improvements¶
-
w64 only
-
was crashing on asc 9#.5 50000
2009.06.29¶
Fixes and improvements¶
-
loading a file containing a symbol vector only with an attribute, where the file had been appended to, resulted in a partial load of the data ingoring the appended data.
-
e.g. `:sym set `u#0#`;.Q.en[`:.;([]a:`a`b)];(`:.)`sym
-
additionally, loading of this type of file could have dropped the attribute under some boundary cases.
2009.06.23¶
Fixes and improvements¶
-
hsym of char vector longer than 256 chars was crashing, e.g. hsym `$263?" "
-
.z.t is now consistent with "t"$.z.z (previously `time$ rounded and .z.T truncated)
-
nonnest fset will now delete extant f#
-
(0Nd;0 1) in t was crashing when t had a foriegn key
2009.05.29¶
Fixes and improvements¶
-
append to keyed table where key was char vectors. t:([k1:("aa";"bb");k2:("cc";"dd")]v:1 2);t,:("xx";"yy";3)
-
block serialization of locked (hidden) functions (i.e. functions generated from .q_ scripts)
2009.04.24¶
Fixes and improvements¶
- multithreaded input (kdb+ started on a negative port number) was not releasing memory on query completion
2009.04.15¶
Fixes and improvements¶
- ((`a`b!(1 2)),(enlist `c)!enlist 3.0) _ `c / was not collapsing back to int vector for value
2009.03.27¶
Fixes and improvements¶
-
allow spaces in username/password
-
allow select from partitionedTable where boolean,...
-
retain attributes for lj
-
handles 1 2 sublist () correctly
New¶
- \w 0 - show number of internalized symbols and their memory usage
2009.03.09¶
Fixes and improvements¶
- q.k only, q binaries same as 2009.03.01 - rollback of "allow select x:count i by x:time mod 60 from trade where date=.." from 2009.02.19
2009.03.01¶
Fixes and improvements¶
-
checks if w is still valid (for .z.a .z.u)
-
reports errors to remote when using negative port
-
allow thread delete from local e.g. q)h"{:delete from ([]date:enlist 2009.01.23)}[]"
-
div revert to 2.4 floor(x/y) e.g. q)1000.0 div 0.0000001
2009.02.19¶
Fixes and improvements¶
-
catch setting of negative port from q prompt when running with -s n
-
allow select x:count i by x:time mod 60 from trade where date=..
2009.02.13¶
Fixes and improvements¶
- t[;`b`c] was giving erroneous results
2009.02.12¶
Fixes and improvements¶
-
solaris/sparc only - seg fault on exit when running with -ve port
-
\l asdf revert to 2.4 system behavior (allow \n's), i.e. rollback of FIX 2009.01.11 - when a comment had a leading space after a context switch the context name mistakenly included a newline.
-
report error for: select .. by table from table
-
multithread function parse was sometimes setting context incorrectly
2009.02.05¶
Fixes and improvements¶
-
race condition causing crash in slave mode (-s n)
-
resolving globals in select in a lambda, crept in 2009.02.02
2009.02.02¶
Fixes and improvements¶
- refine symbol search in parse tree, e.g. allows select size where price>avg price by sym from trade where ...
2009.02.01¶
Fixes and improvements¶
-
allow a non par.txt \l after a par.txt
-
allow keyedtable upsert table-with-columns-out-of-order
2009.01.27¶
Fixes and improvements¶
-
was crashing on \l - showed up during checkpointing
-
bus error on growing arrays under linux, since 2009.01.21
2009.01.21¶
New¶
-
f peach dict
-
redo lj with .Q.fl, e.g. ([]a:2 3;b:3 4)lj([a:2 3]b:4 0N)
-
allow table[;`noncol]
-
remove madvise sequential
2009.01.11¶
New¶
-
allow \abvf in multithreaded mode
-
PLAY license set to expire .z.k+90 days
Fixes and improvements¶
-
'glim check on deserializing
-
when a comment had a leading space after a context switch the context name mistakenly included a newline.
-
variable scope for global=column - yy:`c;select from ([]xx:`a`b) where yy=xx
2008.12.31¶
New¶
- .z.W - shows dictionary of ipc handles versus bytes waiting in output queue
Fixes and improvements¶
- 0n div 1 and 0.5 xbar 0n - was reporting non null value
2008.12.17¶
Fixes and improvements¶
-
reinstate 3rd value in \w as address limit on new objects
-
reinstate `u#() and `s#()
-
propagate linux errno through close(). e.g. hopen`:foo:1234
-
KDB+2.5 PRODUCTION RELEASE 2008.12.15
New¶
-
l64/l32 use mremap to realloc for inserts (faster by 20%)
-
Unused memory(for objects>1MB) is now immediately returned to the OS.
-
\_ f.q makes a runtime script f.q_
-
.z.q test for quietmode/noconsole. (i.e. >q .. -q)
-
abnormal exit code available with -q command line option (e.g. missing startup script)
NUC (Not Upwardly Compatible)¶
Not backward compatible. Changes existing behavior.
- -s commandlineonly (\s n didn't work with multithread hdb)