I use SQuirreL largely because 1. It is JDBC and 2. It remembers the history of what I've run.
I deal in large datasets, and I prefer to use the tool in "running with scissors" mode - aka no result set limit. I know the danger. I've upped Xmx. It still bites me.
The part that annoys me most is that, when this bites me, I lose the history of that last thing I ran.
I would like for OutOfMemoryErrors to not cause SQuirreL to miss adding that last statement to my history.
1. Save before executing.
2. Don't let OOM happen.
#1 Sounds easy(er), and IMHO ought to be done in either case. I'm game to try to write that patch.
#2 Sounds harder, but maybe not impossible. A heuristic that checks available heap before iterating over the result set, and checks again every N rows could halt the fetch when a threshold of that initial available heap was consumed. This sounds very much like an opt-in feature to me, but I think it would eliminate many ( most?) of my crashes.