001package com.avaje.ebean.config.dbplatform; 002 003import java.sql.Types; 004 005/** 006 * Sybase SQL Anywhere specific platform. 007 * <p> 008 * <ul> 009 * <li>supportsGetGeneratedKeys = false</li> 010 * <li>Uses TOP START AT clause</li> 011 * </ul> 012 * </p> 013 */ 014public class SqlAnywherePlatform extends DatabasePlatform { 015 016 public SqlAnywherePlatform() { 017 super(); 018 this.name = "sqlanywhere"; 019 this.dbIdentity.setIdType(IdType.IDENTITY); 020 021 this.sqlLimiter = new SqlAnywhereLimiter(); 022 this.dbIdentity.setSupportsGetGeneratedKeys(false); 023 this.dbIdentity.setSelectLastInsertedIdTemplate("select @@IDENTITY as X"); 024 this.dbIdentity.setSupportsIdentity(true); 025 026 dbTypeMap.put(Types.BOOLEAN, new DbType("bit default 0")); 027 dbTypeMap.put(Types.BIGINT, new DbType("numeric", 19)); 028 dbTypeMap.put(Types.REAL, new DbType("float(16)")); 029 dbTypeMap.put(Types.DOUBLE, new DbType("float(32)")); 030 dbTypeMap.put(Types.TINYINT, new DbType("smallint")); 031 dbTypeMap.put(Types.DECIMAL, new DbType("numeric", 28)); 032 033 dbTypeMap.put(Types.BLOB, new DbType("binary(4500)")); 034 dbTypeMap.put(Types.CLOB, new DbType("long varchar")); 035 dbTypeMap.put(Types.LONGVARBINARY, new DbType("long binary")); 036 dbTypeMap.put(Types.LONGVARCHAR, new DbType("long varchar")); 037 038 } 039 040}