.Q.dsftg[d;s;f;t;g]
Where
d is (dst;part;table) where table has M rowss is (src;offset;length)f is fields as a symbol vectort is (types;widths)g is a unary post-processing functionloops M&1000000 rows at a time.
For example, loading TAQ DVD:
q)d:(`:/dst/taq;2000.10.02;`trade)
q)s:(`:/src/taq;19;0) / nonpositive length from end
q)f:`time`price`size`stop`corr`cond`ex
q)t:("iiihhc c";4 4 4 2 2 1 1 1)
q)g:{x[`stop]=:240h;@[x;`price;%;1e4]}
q).Q.dsftg[d;s;f;t;g]