KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > storage > search > implementation > database > MSSqlSqlHandler


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.storage.search.implementation.database;
11
12 import java.util.*;
13 import org.mmbase.bridge.Field;
14 import org.mmbase.storage.search.*;
15 import org.mmbase.util.logging.*;
16
17 /**
18  *
19  * @author Michiel Meeuwissen
20  * @version $Id: MSSqlSqlHandler.java,v 1.1 2005/12/28 16:09:05 michiel Exp $
21  * @since MMBase-1.8
22  */

23 public class MSSqlSqlHandler extends BasicSqlHandler implements SqlHandler {
24
25     private static final Logger log = Logging.getLoggerInstance(MSSqlSqlHandler.class);
26
27     /**
28      * Don't add UPPER'ed field also unuppered, because MSSql seems to choke in that.
29      *
30      * We can also consider removing that odd behaviour from super.
31      */

32     protected StringBuffer JavaDoc appendSortOrderField(StringBuffer JavaDoc sb, SortOrder sortOrder, boolean multipleSteps) {
33          boolean uppered = false;
34          if (! sortOrder.isCaseSensitive() && sortOrder.getField().getType() == Field.TYPE_STRING) {
35              sb.append("UPPER(");
36              uppered = true;
37          }
38          // Fieldname.
39
Step step = sortOrder.getField().getStep();
40          appendField(sb, step, sortOrder.getField().getFieldName(), multipleSteps);
41          if (uppered) {
42              sb.append("),");
43          }
44          return sb;
45     }
46
47 }
48
Popular Tags