org.ujorm.orm.dialect
Class MSSqlDialect

java.lang.Object
  extended by org.ujorm.orm.SqlDialect
      extended by org.ujorm.orm.dialect.MSSqlDialect

public class MSSqlDialect
extends SqlDialect

Dialect for the MSSQL tested on SQL Server 2008 R2 with Microsoft SQL Server JDBC Driver 3.0 from http://msdn.microsoft.com/data/jdbc
http://www.microsoft.com/sqlserver/
Note: This dialect the is an early release 1.10.beta.

Since:
1.10

Field Summary
 
Fields inherited from class org.ujorm.orm.SqlDialect
COMMON_SEQ_TABLE_KEY, DEFAULT_SCHEMA_SYMBOL, ormHandler
 
Constructor Summary
MSSqlDialect()
           
 
Method Summary
protected  java.lang.String getColumnType(MetaColumn column)
          Returns a database column type
 java.lang.String getJdbcDriver()
          Returns a JDBC driver class name.
 java.lang.String getJdbcUrl()
          Returns a default JDBC URL
 java.lang.Appendable printAlterTable(MetaColumn column, java.lang.Appendable out)
          Print a SQL sript to add a new column to the table
 java.lang.Appendable printColumnDeclaration(MetaColumn column, java.lang.String aName, java.lang.Appendable out)
          Print a SQL to create column
 java.lang.Appendable printComment(MetaColumn column, java.lang.Appendable out)
          Important note for MySQL: the change of column modifies all another column attributes so the comment update can revert some hand-made changes different from meta-model.
 java.lang.Appendable printComment(MetaTable table, java.lang.Appendable out)
          Print a Comment on the table
 java.lang.Appendable printCreateSchema(java.lang.String schema, java.lang.Appendable out)
          Print SQL 'CREATE SCHEMA'
 java.lang.Appendable printDefaultValue(MetaColumn column, java.lang.Appendable out)
          Print a SQL phrase for the DEFAULT VALUE, for example: DEFAULT 777
 java.lang.Appendable printDelete(MetaTable table, CriterionDecoder decoder, java.lang.Appendable out)
          Print an SQL DELETE statement.
 java.lang.Appendable printFullTableName(MetaTable table, boolean printSymbolSchema, java.lang.Appendable out)
          Print a extended SQL table name by sample: SCHEMA.TABLE
 java.lang.Appendable printSequenceTable(MetaDatabase db, java.lang.Appendable out)
          Print SQL CREATE SEQUENCE.
protected  java.lang.Appendable printSequenceTableName(UjoSequencer sequence, java.lang.Appendable out)
          Prinnt the full sequence table
 java.lang.Appendable printUpdate(MetaTable table, java.util.List<MetaColumn> changedColumns, CriterionDecoder decoder, java.lang.Appendable out)
          Print an SQL UPDATE statement.
 
Methods inherited from class org.ujorm.orm.SqlDialect
createConnection, createJndiInitialContext, escape, getCriterionTemplate, getKeywordSet, getSeqTableModel, isColumnLengthAllowed, isFilled, isMultiRowInsertSupported, printCall, printColumnAlias, printCommit, printCriterion, printDefaultSchema, printFKColumnsDeclaration, printForeignKey, printForeignKey, printFullTableName, printIndex, printInsert, printInsert, printInsertBySelect, println, printLockForSelect, printOffset, printSelect, printSelectOrder, printSelectTable, printSelectTableBase, printSelectView, printSequenceCurrentValue, printSequenceInit, printSequenceNextValue, printSetMaxSequence, printTable, printTableAliasDefinition, printTableColumns, setHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MSSqlDialect

public MSSqlDialect()
Method Detail

getJdbcUrl

public java.lang.String getJdbcUrl()
Description copied from class: SqlDialect
Returns a default JDBC URL

Specified by:
getJdbcUrl in class SqlDialect

getJdbcDriver

public java.lang.String getJdbcDriver()
Description copied from class: SqlDialect
Returns a JDBC driver class name.

Specified by:
getJdbcDriver in class SqlDialect

printUpdate

public java.lang.Appendable printUpdate(MetaTable table,
                                        java.util.List<MetaColumn> changedColumns,
                                        CriterionDecoder decoder,
                                        java.lang.Appendable out)
                                 throws java.io.IOException
Print an SQL UPDATE statement.

Overrides:
printUpdate in class SqlDialect
Throws:
java.io.IOException

printDelete

public java.lang.Appendable printDelete(MetaTable table,
                                        CriterionDecoder decoder,
                                        java.lang.Appendable out)
                                 throws java.io.IOException
Print an SQL DELETE statement.

Overrides:
printDelete in class SqlDialect
Throws:
java.io.IOException

getColumnType

protected java.lang.String getColumnType(MetaColumn column)
Description copied from class: SqlDialect
Returns a database column type

Overrides:
getColumnType in class SqlDialect

printComment

public java.lang.Appendable printComment(MetaTable table,
                                         java.lang.Appendable out)
                                  throws java.io.IOException
Print a Comment on the table

Overrides:
printComment in class SqlDialect
Throws:
java.io.IOException

printComment

public java.lang.Appendable printComment(MetaColumn column,
                                         java.lang.Appendable out)
                                  throws java.io.IOException
Important note for MySQL: the change of column modifies all another column attributes so the comment update can revert some hand-made changes different from meta-model.
See the official MySQL documentation for more information. The column comments can be suppresed by the overwritting the method with an empty body.

Overrides:
printComment in class SqlDialect
Throws:
java.io.IOException

printCreateSchema

public java.lang.Appendable printCreateSchema(java.lang.String schema,
                                              java.lang.Appendable out)
                                       throws java.io.IOException
Description copied from class: SqlDialect
Print SQL 'CREATE SCHEMA'

Overrides:
printCreateSchema in class SqlDialect
Throws:
java.io.IOException

printFullTableName

public java.lang.Appendable printFullTableName(MetaTable table,
                                               boolean printSymbolSchema,
                                               java.lang.Appendable out)
                                        throws java.io.IOException
Print a extended SQL table name by sample: SCHEMA.TABLE

Overrides:
printFullTableName in class SqlDialect
Parameters:
printSymbolSchema - True parameter replaces a default schema name for the symbol "~" by the example: ~.TABLE
Throws:
java.io.IOException

printSequenceTable

public java.lang.Appendable printSequenceTable(MetaDatabase db,
                                               java.lang.Appendable out)
                                        throws java.io.IOException
Print SQL CREATE SEQUENCE. No JDBC parameters.

Overrides:
printSequenceTable in class SqlDialect
Throws:
java.io.IOException

printSequenceTableName

protected java.lang.Appendable printSequenceTableName(UjoSequencer sequence,
                                                      java.lang.Appendable out)
                                               throws java.io.IOException
Description copied from class: SqlDialect
Prinnt the full sequence table

Overrides:
printSequenceTableName in class SqlDialect
Throws:
java.io.IOException

printAlterTable

public java.lang.Appendable printAlterTable(MetaColumn column,
                                            java.lang.Appendable out)
                                     throws java.io.IOException
Print a SQL sript to add a new column to the table

Overrides:
printAlterTable in class SqlDialect
Throws:
java.io.IOException

printDefaultValue

public java.lang.Appendable printDefaultValue(MetaColumn column,
                                              java.lang.Appendable out)
                                       throws java.io.IOException
Print a SQL phrase for the DEFAULT VALUE, for example: DEFAULT 777

Overrides:
printDefaultValue in class SqlDialect
Throws:
java.io.IOException

printColumnDeclaration

public java.lang.Appendable printColumnDeclaration(MetaColumn column,
                                                   java.lang.String aName,
                                                   java.lang.Appendable out)
                                            throws java.io.IOException
Description copied from class: SqlDialect
Print a SQL to create column

Overrides:
printColumnDeclaration in class SqlDialect
Parameters:
column - Database Column
aName - The name parameter is not mandatory, the not null value means a foreign key.
Throws:
java.io.IOException


Copyright © 2011. All Rights Reserved.