1 | public class DecodeCaseFragment extends CaseFragment {↵ | | 1 | public class HSQLCaseFragment extends CaseFragment {↵
|
|
2 | public String toFragmentString() {↵ | | 2 | public String toFragmentString() {↵
|
3 | ↵ | | 3 | ↵
|
4 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )↵ | | 4 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 );↵
|
5 | .append("decode(");↵ | | 5 | StringBuffer buf2 = new StringBuffer( cases.size() );↵
|
|
6 | Iterator iter = cases.entrySet().iterator();↵ | | 6 | Iterator iter = cases.entrySet().iterator();↵
|
7 | while ( iter.hasNext() ) {↵ | | 7 | while ( iter.hasNext() ) {↵
|
8 | Map.Entry me = (Map.Entry) iter.next();↵ | | 8 | Map.Entry me = (Map.Entry) iter.next();↵
|
|
9 | if ( iter.hasNext() ) {↵ | | |
|
10 | buf.append(", ")↵ | | 9 | buf.append(" casewhen(")↵
|
11 | .append( me.getKey() )↵ | | 10 | .append( me.getKey() )↵
|
12 | ↵ | | 11 | .append(" is not null")↵
|
13 | .append(", ")↵ | | 12 | .append(", ")↵
|
14 | .append( me.getValue() );↵ | | 13 | .append( me.getValue() )↵
|
15 | }↵ | | 14 | ↵
|
16 | else {↵ | | |
|
17 | buf.insert( 7, me.getKey() )↵ | | |
|
18 | ↵ | | 15 | .append(", ");↵
|
19 | .append(", ")↵ | | 16 | buf2.append(")");↵
|
20 | .append( me.getValue() );↵ | | 17 | ↵
|
21 | }↵ | | |
|
22 | }↵ | | |
|
|
23 | buf.append(')');↵ | | |
|
24 | ↵ | | 18 | }↵
|
|
| | | 19 | buf.append("-1"); //null caused some problems↵
|
| | | 20 | buf.append( buf2.toString() );↵
|
25 | if (returnColumnName!=null) {↵ | | 21 | if ( returnColumnName!=null ) {↵
|
26 | buf.append(" as ")↵ | | 22 | buf.append(" as ")↵
|
27 | .append(returnColumnName);↵ | | 23 | .append(returnColumnName);↵
|
28 | }↵ | | 24 | }↵
|
29 | ↵ | | 25 | ↵
|
30 | return buf.toString();↵ | | 26 | return buf.toString();↵
|
31 | | | 27 |
|