| 1 21 package net.sf.hajdbc.dialect; 22 23 import java.sql.DatabaseMetaData ; 24 import java.sql.SQLException ; 25 26 import net.sf.hajdbc.Dialect; 27 import net.sf.hajdbc.ForeignKeyConstraint; 28 29 import org.easymock.EasyMock; 30 import org.testng.annotations.Test; 31 32 36 @Test 37 public class TestMaxDBDialect extends TestDefaultDialect 38 { 39 @Override  40 protected Dialect createDialect() 41 { 42 return new MaxDBDialect(); 43 } 44 45 @Override  46 public void testGetSimpleSQL() 47 { 48 String sql = this.dialect.getSimpleSQL(); 49 50 assert sql.equals("SELECT 1 FROM DUAL") : sql; 51 } 52 53 @Override  54 public void testGetTruncateTableSQL() 55 { 56 String schema = "schema"; 57 String table = "table"; 58 String quote = "'"; 59 60 try 61 { 62 EasyMock.expect(this.metaData.supportsSchemasInDataManipulation()).andReturn(true); 63 EasyMock.expect(this.metaData.getIdentifierQuoteString()).andReturn(quote).times(2); 64 65 this.control.replay(); 66 67 String sql = this.dialect.getTruncateTableSQL(this.metaData, schema, table); 68 69 this.control.verify(); 70 71 assert sql.equals("TRUNCATE TABLE 'schema'.'table'") : sql; 72 } 73 catch (SQLException e) 74 { 75 assert false : e; 76 } 77 } 78 79 82 @Override  83 public void testGetCreateForeignKeyConstraintSQL() 84 { 85 ForeignKeyConstraint constraint = new ForeignKeyConstraint("fk_name", "schema", "table"); 86 constraint.getColumnList().add("column1"); 87 constraint.getColumnList().add("column2"); 88 constraint.setForeignSchema("other_schema"); 89 constraint.setForeignTable("other_table"); 90 constraint.getForeignColumnList().add("other_column1"); 91 constraint.getForeignColumnList().add("other_column2"); 92 constraint.setUpdateRule(DatabaseMetaData.importedKeyNoAction); 93 constraint.setDeleteRule(DatabaseMetaData.importedKeyNoAction); 94 constraint.setDeferrability(DatabaseMetaData.importedKeyNotDeferrable); 95 96 String quote = "'"; 97 98 try 99 { 100 EasyMock.expect(this.metaData.getIdentifierQuoteString()).andReturn(quote); 101 EasyMock.expect(this.metaData.supportsSchemasInDataManipulation()).andReturn(true); 102 EasyMock.expect(this.metaData.getIdentifierQuoteString()).andReturn(quote).times(4); 103 EasyMock.expect(this.metaData.supportsSchemasInDataManipulation()).andReturn(true); 104 EasyMock.expect(this.metaData.getIdentifierQuoteString()).andReturn(quote).times(4); 105 106 this.control.replay(); 107 108 String sql = this.dialect.getCreateForeignKeyConstraintSQL(this.metaData, constraint); 109 110 this.control.verify(); 111 112 assert sql.equals("ALTER TABLE 'schema'.'table' ADD CONSTRAINT 'fk_name' FOREIGN KEY ('column1','column2') REFERENCES 'other_schema'.'other_table' ('other_column1','other_column2') ON DELETE NO ACTION") : sql; 113 } 114 catch (SQLException e) 115 { 116 assert false : e; 117 } 118 } 119 } 120 | Popular Tags |