fixed data truncation problem
Merge remote-tracking branch 'jda/master' into master.new
make Conn public, so can do deferred Close() from caller
actually _return_ error on recover