Merge branch 'METAMODEL-142'

Conflicts:
        jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCreateTableBuilder.java


Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/d5dee995
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/d5dee995
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/d5dee995

Branch: refs/heads/master
Commit: d5dee995f1191e48c707ef79042e523078a71dbd
Parents: 8cb88ff f9ba247
Author: Kasper Sørensen <[email protected]>
Authored: Tue May 19 18:54:47 2015 +0200
Committer: Kasper Sørensen <[email protected]>
Committed: Tue May 19 18:54:47 2015 +0200

----------------------------------------------------------------------
 .../metamodel/jdbc/JdbcCreateTableBuilder.java  | 153 +++++++++----------
 .../apache/metamodel/jdbc/JdbcDataContext.java  |  11 +-
 .../metamodel/jdbc/JdbcDropTableBuilder.java    |   9 +-
 .../metamodel/jdbc/JdbcMetadataLoader.java      |  71 ++++++---
 .../org/apache/metamodel/jdbc/JdbcSchema.java   |  73 +++++----
 .../apache/metamodel/jdbc/MetadataLoader.java   |  22 ++-
 .../AbstractJdbIntegrationTest.java             |  29 ++--
 .../SQLServerJtdsDriverTest.java                |  34 ++++-
 8 files changed, 252 insertions(+), 150 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel/blob/d5dee995/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCreateTableBuilder.java
----------------------------------------------------------------------
diff --cc 
jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCreateTableBuilder.java
index 404f7ea,5170dd9..d20f369
--- a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCreateTableBuilder.java
+++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCreateTableBuilder.java
@@@ -38,86 -38,87 +38,85 @@@ import org.slf4j.LoggerFactory
   */
  final class JdbcCreateTableBuilder extends 
AbstractTableCreationBuilder<JdbcUpdateCallback> {
  
-       private static final Logger logger = 
LoggerFactory.getLogger(JdbcCreateTableBuilder.class);
+     private static final Logger logger = 
LoggerFactory.getLogger(JdbcCreateTableBuilder.class);
  
-       public JdbcCreateTableBuilder(JdbcUpdateCallback updateCallback, Schema 
schema, String name) {
-               super(updateCallback, schema, name);
-               if (!(schema instanceof JdbcSchema)) {
-                       throw new IllegalArgumentException("Not a valid JDBC 
schema: " + schema);
-               }
-       }
- 
-       @Override
-       public Table execute() {
-               final String sql = createSqlStatement();
-               logger.info("Create table statement created: {}", sql);
+     public JdbcCreateTableBuilder(JdbcUpdateCallback updateCallback, Schema 
schema, String name) {
+         super(updateCallback, schema, name);
+         if (!(schema instanceof JdbcSchema)) {
+             throw new IllegalArgumentException("Not a valid JDBC schema: " + 
schema);
+         }
+     }
  
-               Connection connection = getUpdateCallback().getConnection();
-               Statement st = null;
-               try {
-                       st = connection.createStatement();
-                       int rowsAffected = st.executeUpdate(sql);
-                       logger.debug("Create table statement executed, {} rows 
affected", rowsAffected);
-               } catch (SQLException e) {
-                       throw JdbcUtils.wrapException(e, "execute create table 
statement: " + sql);
-               } finally {
-                       FileHelper.safeClose(st);
-               }
+     @Override
+     public Table execute() {
+         final String sql = createSqlStatement();
+         logger.info("Create table statement created: {}", sql);
  
-               JdbcSchema schema = (JdbcSchema) getSchema();
-               schema.refreshTables();
-               return schema.getTableByName(getTable().getName());
-       }
+         final Connection connection = getUpdateCallback().getConnection();
+         Statement st = null;
+         try {
+             st = connection.createStatement();
+             final int rowsAffected = st.executeUpdate(sql);
+             logger.debug("Create table statement executed, {} rows affected", 
rowsAffected);
+         } catch (SQLException e) {
+             throw JdbcUtils.wrapException(e, "execute create table statement: 
" + sql);
+         } finally {
+             FileHelper.safeClose(st);
+         }
  
-       protected String createSqlStatement() {
-               return createSqlStatement(getTable());
-       }
+         final JdbcSchema schema = (JdbcSchema) getSchema();
+         schema.refreshTables(connection);
+         return schema.getTableByName(getTable().getName());
+     }
  
-       private String createSqlStatement(Table table) {
-               final IQueryRewriter queryRewriter = 
getUpdateCallback().getDataContext().getQueryRewriter();
-               final StringBuilder sb = new StringBuilder();
-               sb.append("CREATE TABLE ");
-               final Schema schema = getSchema();
-               if (schema != null && schema.getName() != null) {
-                       sb.append(schema.getQualifiedLabel());
-                       sb.append(".");
-               }
-               
sb.append(getUpdateCallback().quoteIfNescesary(table.getName()));
-               sb.append(" (");
-               final Column[] columns = table.getColumns();
-               for (int i = 0; i < columns.length; i++) {
-                       final Column column = columns[i];
-                       if (i != 0) {
-                               sb.append(", ");
-                       }
-                       
sb.append(getUpdateCallback().quoteIfNescesary(column.getName()));
-                       sb.append(' ');
-                       final String nativeType = column.getNativeType();
-                       final Integer columnSize = column.getColumnSize();
-                       if (nativeType == null) {
-                               ColumnType columnType = column.getType();
-                               if (columnType == null) {
-                                       columnType = ColumnType.VARCHAR;
-                               }
+     protected String createSqlStatement() {
+         return createSqlStatement(getTable());
+     }
  
-                               final String columnTypeString = 
queryRewriter.rewriteColumnType(columnType, columnSize);
-                               sb.append(columnTypeString);
-                       } else {
-                               sb.append(nativeType);
-                               if (columnSize != null) {
-                                   sb.append('(');
-                                   sb.append(columnSize.intValue());
-                                   sb.append(')');
-                               }
-                       }
-                       if (column.isNullable() != null && 
!column.isNullable().booleanValue()) {
-                               sb.append(" NOT NULL");
-                       }
-               }
+     private String createSqlStatement(Table table) {
+         final IQueryRewriter queryRewriter = 
getUpdateCallback().getDataContext().getQueryRewriter();
+         final StringBuilder sb = new StringBuilder();
+         sb.append("CREATE TABLE ");
+         final Schema schema = getSchema();
+         if (schema != null && schema.getName() != null) {
+             sb.append(schema.getQualifiedLabel());
+             sb.append(".");
+         }
+         sb.append(getUpdateCallback().quoteIfNescesary(table.getName()));
+         sb.append(" (");
+         final Column[] columns = table.getColumns();
+         for (int i = 0; i < columns.length; i++) {
+             final Column column = columns[i];
+             if (i != 0) {
+                 sb.append(", ");
+             }
+             sb.append(getUpdateCallback().quoteIfNescesary(column.getName()));
+             sb.append(' ');
+             final String nativeType = column.getNativeType();
++            final Integer columnSize = column.getColumnSize();
+             if (nativeType == null) {
+                 ColumnType columnType = column.getType();
+                 if (columnType == null) {
+                     columnType = ColumnType.VARCHAR;
+                 }
 -
 -                final String columnTypeString = 
queryRewriter.rewriteColumnType(columnType);
 -
++                final String columnTypeString = 
queryRewriter.rewriteColumnType(columnType, columnSize);
+                 sb.append(columnTypeString);
+             } else {
+                 sb.append(nativeType);
 -            }
 -            final Integer columnSize = column.getColumnSize();
 -            if (columnSize != null) {
 -                sb.append('(');
 -                sb.append(columnSize.intValue());
 -                sb.append(')');
++                if (columnSize != null) {
++                    sb.append('(');
++                    sb.append(columnSize.intValue());
++                    sb.append(')');
++                }
+             }
+             if (column.isNullable() != null && 
!column.isNullable().booleanValue()) {
+                 sb.append(" NOT NULL");
+             }
+         }
          boolean primaryKeyExists = false;
-         for(int i = 0 ; i < columns.length ; i++) {
-             if(columns[i].isPrimaryKey()) {
-                 if(!primaryKeyExists) {
+         for (int i = 0; i < columns.length; i++) {
+             if (columns[i].isPrimaryKey()) {
+                 if (!primaryKeyExists) {
                      sb.append(", PRIMARY KEY(");
                      sb.append(columns[i].getName());
                      primaryKeyExists = true;

http://git-wip-us.apache.org/repos/asf/metamodel/blob/d5dee995/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataContext.java
----------------------------------------------------------------------
diff --cc jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataContext.java
index 4c55b15,b4e3795..8c9f663
--- a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataContext.java
+++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataContext.java
@@@ -807,4 -808,4 +812,4 @@@ public class JdbcDataContext extends Ab
      public String getCatalogName() {
          return _catalogName;
      }
--}
++}

Reply via email to