protected RowMetaInterface getDatabaseTableFields( Database db, String schemaName, String tableName ) throws KettleDatabaseException { // First try without connecting to the database... (can be S L O W) RowMetaInterface extraFields = db.getTableFieldsMeta( schemaName, tableName ); if ( extraFields == null ) { // now we need to connect db.connect(); extraFields = db.getTableFieldsMeta( schemaName, tableName ); } return extraFields; }
private Database mockDatabase() throws KettleDatabaseException { Database databaseMock = mock( Database.class ); RowMeta databaseRowMeta = new RowMeta(); databaseRowMeta.addValueMeta( new ValueMetaString( "id" ) ); databaseRowMeta.addValueMeta( new ValueMetaString( "value" ) ); doReturn( databaseRowMeta ).when( databaseMock ).getTableFields( anyString() ); doReturn( databaseRowMeta ).when( databaseMock ).getTableFieldsMeta( anyString(), anyString() ); doReturn( Arrays.asList( new Object[][] { { "1", "value" } } ) ).when( databaseMock ).getRows( anyString(), anyInt() ); doReturn( databaseRowMeta ).when( databaseMock ).getReturnRowMeta(); return databaseMock; }
private Database createVirtualDb( DatabaseMeta meta ) throws Exception { ResultSet rs = mock( ResultSet.class ); when( rs.getMetaData() ).thenReturn( mock( ResultSetMetaData.class ) ); PreparedStatement ps = mock( PreparedStatement.class ); when( ps.executeQuery() ).thenReturn( rs ); Connection connection = mock( Connection.class ); when( connection.prepareStatement( anyString() ) ).thenReturn( ps ); Database db = new Database( mock( LoggingObjectInterface.class ), meta ); db.setConnection( connection ); db = spy( db ); doNothing().when( db ).normalConnect( anyString() ); ValueMetaInterface binary = new ValueMetaString( BINARY_FIELD ); binary.setStorageType( ValueMetaInterface.STORAGE_TYPE_BINARY_STRING ); ValueMetaInterface id = new ValueMetaInteger( ID_FIELD ); RowMetaInterface metaByQuerying = new RowMeta(); metaByQuerying.addValueMeta( binary ); metaByQuerying.addValueMeta( id ); doReturn( metaByQuerying ).when( db ).getTableFields( anyString() ); doReturn( metaByQuerying ).when( db ).getTableFieldsMeta( anyString(), anyString() ); return db; }
@Override public RowMetaInterface getTableFields() { RowMetaInterface fields = null; if ( databaseMeta != null ) { Database db = createDatabaseObject(); try { db.connect(); fields = db.getTableFieldsMeta( schemaName, tableName ); } catch ( KettleDatabaseException dbe ) { logError( BaseMessages.getString( PKG, "DimensionLookupMeta.Log.DatabaseErrorOccurred" ) + dbe.getMessage() ); } finally { db.disconnect(); } } return fields; }
/** * {@inheritDoc} * * @see org.pentaho.di.trans.step.BaseStepMeta#getRequiredFields(org.pentaho.di.core.variables.VariableSpace) */ @Override public RowMetaInterface getRequiredFields( final VariableSpace space ) throws KettleException { if ( !this.useControlFile.getValue() ) { final Database database = connectToDatabase(); database.shareVariablesWith( space ); RowMetaInterface fields = database.getTableFieldsMeta( StringUtils.EMPTY, space.environmentSubstitute( this.targetTable.getValue() ) ); database.disconnect(); if ( fields == null ) { throw new KettleException( MESSAGES.getString( "TeraFastMeta.Exception.TableNotFound" ) ); } return fields; } return null; }
@Override public RowMetaInterface getTableFields() { RowMetaInterface fields = null; if ( databaseMeta != null ) { Database db = new Database( loggingObject, databaseMeta ); databases = new Database[] { db }; // Keep track of this one for cancelQuery try { db.connect(); fields = db.getTableFieldsMeta( databaseMeta.environmentSubstitute( schemaName ), databaseMeta.environmentSubstitute( tablename ) ); } catch ( KettleDatabaseException dbe ) { logError( BaseMessages.getString( PKG, "DatabaseLookupMeta.ERROR0004.ErrorGettingTableFields" ) + dbe.getMessage() ); } finally { db.disconnect(); } } return fields; }
public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException { String realTableName = space.environmentSubstitute( tableName ); String realSchemaName = space.environmentSubstitute( schemaName ); if ( databaseMeta != null ) { Database db = new Database( loggingObject, databaseMeta ); try { db.connect(); if ( !Utils.isEmpty( realTableName ) ) { // Check if this table exists... if ( db.checkTableExists( realSchemaName, realTableName ) ) { return db.getTableFieldsMeta( realSchemaName, realTableName ); } else { throw new KettleException( BaseMessages.getString( PKG, "SynchronizeAfterMergeMeta.Exception.TableNotFound" ) ); } } else { throw new KettleException( BaseMessages.getString( PKG, "SynchronizeAfterMergeMeta.Exception.TableNotSpecified" ) ); } } catch ( Exception e ) { throw new KettleException( BaseMessages.getString( PKG, "SynchronizeAfterMergeMeta.Exception.ErrorGettingFields" ), e ); } finally { db.disconnect(); } } else { throw new KettleException( BaseMessages.getString( PKG, "SynchronizeAfterMergeMeta.Exception.ConnectionNotDefined" ) ); } }
public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException { String realTableName = space.environmentSubstitute( tablename ); String realSchemaName = space.environmentSubstitute( schemaName ); if ( databaseMeta != null ) { Database db = new Database( loggingObject, databaseMeta ); try { db.connect(); if ( !Utils.isEmpty( realTableName ) ) { // Check if this table exists... if ( db.checkTableExists( realSchemaName, realTableName ) ) { return db.getTableFieldsMeta( realSchemaName, realTableName ); } else { throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.TableNotFound" ) ); } } else { throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.TableNotSpecified" ) ); } } catch ( Exception e ) { throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.ErrorGettingFields" ), e ); } finally { db.disconnect(); } } else { throw new KettleException( BaseMessages.getString( PKG, "SQLFileOutputMeta.Exception.ConnectionNotDefined" ) ); } }
public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException { String realTableName = space.environmentSubstitute( tableName ); String realSchemaName = space.environmentSubstitute( schemaName ); if ( databaseMeta != null ) { Database db = new Database( loggingObject, databaseMeta ); try { db.connect(); if ( !Utils.isEmpty( realTableName ) ) { // Check if this table exists... if ( db.checkTableExists( realSchemaName, realTableName ) ) { return db.getTableFieldsMeta( realSchemaName, realTableName ); } else { throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.TableNotFound" ) ); } } else { throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.TableNotSpecified" ) ); } } catch ( Exception e ) { throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.ErrorGettingFields" ), e ); } finally { db.disconnect(); } } else { throw new KettleException( BaseMessages.getString( PKG, "TableOutputMeta.Exception.ConnectionNotDefined" ) ); } }
public RowMetaInterface getRequiredFields( VariableSpace space ) throws KettleException { String realSchemaName = space.environmentSubstitute( schemaName ); String realTableName = space.environmentSubstitute( tableName ); if ( databaseMeta != null ) { Database db = new Database( loggingObject, databaseMeta ); try { db.connect(); if ( !Utils.isEmpty( realTableName ) ) { // Check if this table exists... if ( db.checkTableExists( realSchemaName, realTableName ) ) { return db.getTableFieldsMeta( realSchemaName, realTableName ); } else { throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.TableNotFound" ) ); } } else { throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.TableNotSpecified" ) ); } } catch ( Exception e ) { throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.ErrorGettingFields" ), e ); } finally { db.disconnect(); } } else { throw new KettleException( BaseMessages.getString( PKG, "InsertUpdateMeta.Exception.ConnectionNotDefined" ) ); } }
db.connect(); RowMetaInterface r = db.getTableFieldsMeta( schemaName, tableName ); if ( null != r ) { String[] fieldNames = r.getFieldNames();
try { db.connect(); RowMetaInterface r = db.getTableFieldsMeta( wSchema.getText(), wTable.getText() ); if ( r != null && !r.isEmpty() ) { BaseStepDialog.getFieldsFromPrevious(
db.getTableFieldsMeta( transMeta.environmentSubstitute( schemaName ), transMeta.environmentSubstitute( tableName ) );
db.getTableFieldsMeta( transMeta.environmentSubstitute( schemaName ), transMeta.environmentSubstitute( tableName ) );
db.getTableFieldsMeta( transMeta.environmentSubstitute( schemaName ), transMeta.environmentSubstitute( tableName ) );
database.connect(); RowMetaInterface row = database.getTableFieldsMeta( wSchemaname.getText(), wTablename.getText() ); String[] available = row.getFieldNames();
database.connect(); RowMetaInterface row = database.getTableFieldsMeta( wSchemaname.getText(), wTablename.getText() ); String[] available = row.getFieldNames();
database.connect(); RowMetaInterface row = database.getTableFieldsMeta( jobMeta.environmentSubstitute( wSchemaname.getText() ), jobMeta.environmentSubstitute( wTablename.getText() ) );
data.db.getTableFieldsMeta( environmentSubstitute( meta.getSchemaName() ), environmentSubstitute( meta.getTableName() ) );
db.getTableFieldsMeta( db.environmentSubstitute( wSchema.getText() ), db.environmentSubstitute( wTable.getText() ) );