Hi Clinton, BTW, I suggest you could consider expose interface like SqlChild to users, so that users could inject their own implementations.
Thanks, Jiming On Tue, Feb 3, 2009 at 1:22 PM, Jiming Liu <jiming...@gmail.com> wrote: > Hi Clinton, > > I suppose formatted sql is slow might be caused by database engine waste > time to parse the white space, not only \r,\n,\t, but ' ' as well. And > actually ' ' is more than the other three white in real world. > > So I recommend following code, > > > public static String tidySql(String sql) { > String[] values = sql.split("\\n"); > for (int i = 0; i < values.length; i++) { > values[i] = values[i].trim(); > } > StringBuilder sb = new StringBuilder(); > for (int i = 0; i < values.length; i++) { > sb.append(values[i]).append(' '); > } > return sb.toString(); > } > > This code would reduce the size of the formatted sql, and should be > helpful. > > > Best regards, > > Jiming > > > > On Tue, Feb 3, 2009 at 3:41 AM, Clinton Begin <clinton.be...@gmail.com>wrote: > >> This is a good summary. I've been watching the other thread. >> >> I think I might have found a possible candidate: >> >> public class SqlText implements SqlChild { >> //... >> public void setText(String text) { >> this.text = text.replace('\r', ' ').replace('\n', ' ').replace('\t', ' >> '); >> this.isWhiteSpace = text.trim().length() == 0; >> } >> //... >> } >> >> I'll have to wait to get home to check to see if this is called on >> each execution, instead of just once at SQL mapper build time. >> >> Cheers, >> Clinton >> > >