001package com.avaje.ebean.config.dbplatform; 002 003import com.avaje.ebean.config.PersistBatch; 004 005import java.sql.Types; 006 007/** 008 * Microsoft SQL Server 2000 specific platform. 009 * <p> 010 * <ul> 011 * <li>supportsGetGeneratedKeys = false</li> 012 * <li>Use select @@IDENTITY to return the generated Id instead</li> 013 * <li>Uses LIMIT OFFSET clause</li> 014 * <li>Uses [ & ] for quoted identifiers</li> 015 * </ul> 016 * </p> 017 */ 018public class MsSqlServer2000Platform extends DatabasePlatform { 019 020 public MsSqlServer2000Platform() { 021 super(); 022 this.name = "mssqlserver2000"; 023 this.persistBatchOnCascade = PersistBatch.NONE; 024 this.dbIdentity.setIdType(IdType.IDENTITY); 025 this.dbIdentity.setSupportsGetGeneratedKeys(false); 026 this.dbIdentity.setSelectLastInsertedIdTemplate("select @@IDENTITY as X"); 027 this.dbIdentity.setSupportsIdentity(true); 028 029 this.openQuote = "["; 030 this.closeQuote = "]"; 031 032 dbTypeMap.put(Types.BOOLEAN, new DbType("bit default 0")); 033 034 dbTypeMap.put(Types.BIGINT, new DbType("numeric", 19)); 035 dbTypeMap.put(Types.REAL, new DbType("float(16)")); 036 dbTypeMap.put(Types.DOUBLE, new DbType("float(32)")); 037 dbTypeMap.put(Types.TINYINT, new DbType("smallint")); 038 dbTypeMap.put(Types.DECIMAL, new DbType("numeric", 28)); 039 040 dbTypeMap.put(Types.BLOB, new DbType("image")); 041 dbTypeMap.put(Types.CLOB, new DbType("text")); 042 dbTypeMap.put(Types.LONGVARBINARY, new DbType("image")); 043 dbTypeMap.put(Types.LONGVARCHAR, new DbType("text")); 044 045 dbTypeMap.put(Types.DATE, new DbType("datetime")); 046 dbTypeMap.put(Types.TIME, new DbType("datetime")); 047 dbTypeMap.put(Types.TIMESTAMP, new DbType("datetime")); 048 049 } 050 051}