本文整理汇总了Java中org.pentaho.di.core.SQLStatement.getSQL方法的典型用法代码示例。如果您正苦于以下问题:Java SQLStatement.getSQL方法的具体用法?Java SQLStatement.getSQL怎么用?Java SQLStatement.getSQL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.pentaho.di.core.SQLStatement
的用法示例。
在下文中一共展示了SQLStatement.getSQL方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSQLStatementsString
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
/**
* Get the SQL statements, needed to run this transformation, as one String.
*
* @return the SQL statements needed to run this transformation.
*/
public String getSQLStatementsString() throws KettleStepException
{
String sql = ""; //$NON-NLS-1$
List<SQLStatement> stats = getSQLStatements();
for (int i = 0; i < stats.size(); i++)
{
SQLStatement stat = stats.get(i);
if (!stat.hasError() && stat.hasSQL())
{
sql += stat.getSQL();
}
}
return sql;
}
示例2: getData
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
/**
* Copy information from the meta-data input to the dialog fields.
*/
public void getData()
{
for (int i=0;i<stats.size();i++)
{
SQLStatement stat = (SQLStatement)stats.get(i);
TableItem ti = wFields.table.getItem(i);
String name = stat.getStepname();
DatabaseMeta dbinfo = stat.getDatabase();
String sql = stat.getSQL();
String error = stat.getError();
if (name!=null) ti.setText(1, name);
if (dbinfo!=null) ti.setText(2, dbinfo.getName() );
if (sql!=null) ti.setText(3, sql);
if (error!=null) ti.setText(4, error);
Color col = ti.getBackground();
if (stat.hasError()) col=red;
ti.setBackground(col);
}
wFields.setRowNums();
wFields.optWidth(true);
}
示例3: getSQLStatementsString
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
/**
* Get the SQL statements (needed to run this transformation) as a single String.
*
* @return the SQL statements needed to run this transformation
* @throws KettleStepException if any errors occur during SQL statement generation
*/
public String getSQLStatementsString() throws KettleStepException
{
String sql = ""; //$NON-NLS-1$
List<SQLStatement> stats = getSQLStatements();
for (int i = 0; i < stats.size(); i++)
{
SQLStatement stat = stats.get(i);
if (!stat.hasError() && stat.hasSQL())
{
sql += stat.getSQL();
}
}
return sql;
}
示例4: autoAdjustSchema
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
public void autoAdjustSchema( MonetDBBulkLoaderMeta meta ) throws KettleException {
if (log.isDetailed()) logDetailed("Attempting to auto adjust table structure" );
drop();
if (log.isDetailed()) logDetailed("getTransMeta: "+getTransMeta() );
if (log.isDetailed()) logDetailed("getStepname: "+getStepname() );
SQLStatement statement = meta.getTableDdl(getTransMeta(), getStepname(), true, data, true);
if (log.isDetailed()) logDetailed("Statement: "+statement );
if (log.isDetailed() && statement != null) logDetailed("Statement has SQL: "+statement.hasSQL() );
if(statement != null && statement.hasSQL()) {
String cmd = statement.getSQL();
try {
executeSql(cmd);
} catch (Exception e) {
throw new KettleException("Error while creating table " + data.schemaTable, e);
}
}
if (log.isDetailed()) logDetailed("Successfull");
}
示例5: autoAdjustSchema
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
public void autoAdjustSchema( Runtime rt, String mClientCmd ) throws KettleException {
try {
if (log.isDetailed()) logDetailed("Attempting to auto adjust table structure" );
Process p = rt.exec(mClientCmd);
OutputStream stdIn = p.getOutputStream();
if (log.isDetailed()) logDetailed("getTransMeta: "+getTransMeta() );
if (log.isDetailed()) logDetailed("getStepname: "+getStepname() );
SQLStatement statement = meta.getTableDdl(getTransMeta(), getStepname(), true, data);
if (log.isDetailed()) logDetailed("Statement: "+statement );
if (log.isDetailed() && statement != null) logDetailed("Statement has SQL: "+statement.hasSQL() );
if(statement != null && statement.hasSQL()) {
String cmd = statement.getSQL();
if (log.isDetailed()) logDetailed("Trying: "+cmd);
stdIn.write(cmd.getBytes());
if (log.isDetailed()) logDetailed("Successfull: "+cmd);
}
stdIn.flush();
stdIn.close();
// wait for the process to finish and check for any error...
int exitVal = p.waitFor();
logBasic(BaseMessages.getString(PKG, "MonetDBBulkLoader.Log.ExitValuePsqlPath", "" + exitVal)); //$NON-NLS-1$
}
catch(Exception e) {
throw new KettleException("An error occurred writing data to the mclient process", e);
}
}
示例6: testUseDefaultSchemaName
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
public void testUseDefaultSchemaName() throws Exception {
String schemaName = "";
String tableName = "tableName";
String schemaTable = "default.tableName";
String technicalKeyField = "technicalKeyField";
DatabaseMeta databaseMeta = spy( new DatabaseMeta( databasesXML[0] ) {
@Override
public String getFieldDefinition( ValueMetaInterface v, String tk, String pk, boolean use_autoinc ) {
return "someValue";
}
} );
when( databaseMeta.getQuotedSchemaTableCombination( schemaName, tableName ) ).thenReturn( schemaTable );
CombinationLookupMeta clm = new CombinationLookupMeta();
clm.setTechnicalKeyField( technicalKeyField );
clm.setKeyLookup( new String[] { "keyLookup1", "keyLookup2" } );
clm.setDatabaseMeta( databaseMeta );
clm.setTablename( tableName );
clm.setSchemaName( schemaName );
StepMeta stepMeta = mock( StepMeta.class );
RowMetaInterface rowMetaInterface = mock( RowMetaInterface.class );
when( rowMetaInterface.size() ).thenReturn( 1 );
Repository repository = mock( Repository.class );
IMetaStore metaStore = mock( IMetaStore.class );
SQLStatement sqlStatement =
clm.getSQLStatements( new TransMeta(), stepMeta, rowMetaInterface, repository, metaStore );
String sql = sqlStatement.getSQL();
Assert.assertTrue( StringUtils.countMatches( sql, schemaTable ) == 3 );
}
示例7: autoAdjustSchema
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
public void autoAdjustSchema( MonetDBBulkLoaderMeta meta ) throws KettleException {
if ( log.isDetailed() ) {
logDetailed( "Attempting to auto adjust table structure" );
}
drop();
if ( log.isDetailed() ) {
logDetailed( "getTransMeta: " + getTransMeta() );
}
if ( log.isDetailed() ) {
logDetailed( "getStepname: " + getStepname() );
}
SQLStatement statement = meta.getTableDdl( getTransMeta(), getStepname(), true, data, true );
if ( log.isDetailed() ) {
logDetailed( "Statement: " + statement );
}
if ( log.isDetailed() && statement != null ) {
logDetailed( "Statement has SQL: " + statement.hasSQL() );
}
if ( statement != null && statement.hasSQL() ) {
String cmd = statement.getSQL();
try {
executeSql( cmd );
} catch ( Exception e ) {
throw new KettleException( "Error while creating table " + data.schemaTable, e );
}
}
if ( log.isDetailed() ) {
logDetailed( "Successfull" );
}
}
示例8: getSQLStatementsString
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
/**
* Get the SQL statements (needed to run this transformation) as a single String.
*
* @return the SQL statements needed to run this transformation
* @throws KettleStepException
* if any errors occur during SQL statement generation
*/
public String getSQLStatementsString() throws KettleStepException {
String sql = "";
List<SQLStatement> stats = getSQLStatements();
for ( int i = 0; i < stats.size(); i++ ) {
SQLStatement stat = stats.get( i );
if ( !stat.hasError() && stat.hasSQL() ) {
sql += stat.getSQL();
}
}
return sql;
}
示例9: testUseDefaultSchemaName
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
@Test
public void testUseDefaultSchemaName() throws Exception {
String schemaName = "";
String tableName = "tableName";
String schemaTable = "default.tableName";
DatabaseMeta databaseMeta = spy( new DatabaseMeta( databaseXML ) {
@Override
public String getFieldDefinition( ValueMetaInterface v, String tk, String pk, boolean use_autoinc ) {
return "someValue";
}
} );
when( databaseMeta.getQuotedSchemaTableCombination( schemaName, tableName ) ).thenReturn( schemaTable );
ValueMetaInterface valueMeta = mock( ValueMetaInterface.class );
when( valueMeta.clone() ).thenReturn( mock( ValueMetaInterface.class ) );
RowMetaInterface rowMetaInterface = mock( RowMetaInterface.class );
when( rowMetaInterface.size() ).thenReturn( 1 );
when( rowMetaInterface.searchValueMeta( anyString() ) ).thenReturn( valueMeta );
UpdateMeta updateMeta = new UpdateMeta();
updateMeta.setDatabaseMeta( databaseMeta );
updateMeta.setTableName( tableName );
updateMeta.setSchemaName( schemaName );
updateMeta.setKeyLookup( new String[] { "KeyLookup1", "KeyLookup2" } );
updateMeta.setKeyStream( new String[] { "KeyStream1", "KeyStream2" } );
updateMeta.setUpdateLookup( new String[] { "updateLookup1", "updateLookup2" } );
updateMeta.setUpdateStream( new String[] { "UpdateStream1", "UpdateStream2" } );
SQLStatement sqlStatement =
updateMeta.getSQLStatements( new TransMeta(), mock( StepMeta.class ), rowMetaInterface,
mock( Repository.class ), mock( IMetaStore.class ) );
String sql = sqlStatement.getSQL();
Assert.assertTrue( StringUtils.countMatches( sql, schemaTable ) == 2 );
}
示例10: getData
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
/**
* Copy information from the meta-data input to the dialog fields.
*/
public void getData() {
for ( int i = 0; i < stats.size(); i++ ) {
SQLStatement stat = stats.get( i );
TableItem ti = wFields.table.getItem( i );
String name = stat.getStepname();
DatabaseMeta dbinfo = stat.getDatabase();
String sql = stat.getSQL();
String error = stat.getError();
if ( name != null ) {
ti.setText( 1, name );
}
if ( dbinfo != null ) {
ti.setText( 2, dbinfo.getName() );
}
if ( sql != null ) {
ti.setText( 3, sql );
}
if ( error != null ) {
ti.setText( 4, error );
}
Color col = ti.getBackground();
if ( stat.hasError() ) {
col = red;
}
ti.setBackground( col );
}
wFields.setRowNums();
wFields.optWidth( true );
}
示例11: adjustSchema
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
@Override
public boolean adjustSchema() {
TableOutputMeta meta = getMeta();
TableOutputData data = getData();
TransMeta transMeta = getTransMeta();
StepMeta stepMeta = meta.getParentStepMeta();
DBCache dbcache = transMeta.getDbCache();
StringBuffer messageBuffer = new StringBuffer();
try {
RowMetaInterface prev = transMeta.getPrevStepFields(stepMeta.getName());
if (log.isDetailed()) logDetailed("Attempting to auto adjust table structure" );
if (log.isDetailed()) logDetailed("getTransMeta: "+getTransMeta() );
if (log.isDetailed()) logDetailed("getStepname: "+getStepname() );
SQLStatement statement = meta.getSQLStatements(transMeta, stepMeta, prev);
if (log.isDetailed()) logDetailed("Statement: "+statement );
if (log.isDetailed() && statement != null) logDetailed("Statement has SQL: "+statement.hasSQL() );
if(statement != null && statement.hasSQL()) {
String sql = statement.getSQL();
if (log.isDetailed()) logDetailed("Trying: "+sql);
try
{
log.logDetailed("Executing SQL: "+Const.CR+sql);
data.db.execStatement(sql);
// Clear the database cache, in case we're using one...
if (dbcache!=null) dbcache.clear(data.databaseMeta.getName());
}
catch(Exception dbe)
{
String error = BaseMessages.getString(PKG, "SQLEditor.Log.SQLExecError", sql, dbe.toString());
messageBuffer.append(error).append(Const.CR);
return false;
}
if (log.isDetailed()) logDetailed("Successfull: "+sql);
}
else if(statement.getError() == null) {
// there were no changes to be made
return true;
} else {
this.message = statement.getError();
logError(statement.getError());
return false;
}
}
catch(Exception e) {
logError("An error ocurred trying to adjust the table schema", e);
}
return true;
}
示例12: adjustSchema
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
@Override
public boolean adjustSchema() {
TableOutputMeta meta = getMeta();
TableOutputData data = getData();
TransMeta transMeta = getTransMeta();
StepMeta stepMeta = meta.getParentStepMeta();
DBCache dbcache = transMeta.getDbCache();
StringBuilder messageBuffer = new StringBuilder();
try {
RowMetaInterface prev = transMeta.getPrevStepFields( stepMeta.getName() );
if ( log.isDetailed() ) {
logDetailed( "Attempting to auto adjust table structure" );
}
if ( log.isDetailed() ) {
logDetailed( "getTransMeta: " + getTransMeta() );
}
if ( log.isDetailed() ) {
logDetailed( "getStepname: " + getStepname() );
}
SQLStatement statement = meta.getSQLStatements( transMeta, stepMeta, prev, repository, metaStore );
if ( log.isDetailed() ) {
logDetailed( "Statement: " + statement );
}
if ( log.isDetailed() && statement != null ) {
logDetailed( "Statement has SQL: " + statement.hasSQL() );
}
if ( statement != null && statement.hasSQL() ) {
String sql = statement.getSQL();
if ( log.isDetailed() ) {
logDetailed( "Trying: " + sql );
}
try {
log.logDetailed( "Executing SQL: " + Const.CR + sql );
data.db.execStatement( sql );
// Clear the database cache, in case we're using one...
if ( dbcache != null ) {
dbcache.clear( data.databaseMeta.getName() );
}
} catch ( Exception dbe ) {
String error = BaseMessages.getString( PKG, "SQLEditor.Log.SQLExecError", sql, dbe.toString() );
messageBuffer.append( error ).append( Const.CR );
return false;
}
if ( log.isDetailed() ) {
logDetailed( "Successfull: " + sql );
}
} else if ( statement.getError() == null ) {
// there were no changes to be made
return true;
} else {
this.message = statement.getError();
logError( statement.getError() );
return false;
}
} catch ( Exception e ) {
logError( "An error ocurred trying to adjust the table schema", e );
}
return true;
}
示例13: testUseDefaultSchemaName
import org.pentaho.di.core.SQLStatement; //导入方法依赖的package包/类
@Test
public void testUseDefaultSchemaName() throws Exception {
KettleEnvironment.init();
String schemaName = "";
String tableName = "tableName";
String schemaTable = "default.tableName";
String keyField = "keyField";
DatabaseMeta databaseMeta = spy( new DatabaseMeta( databaseXML ) {
@Override
public String getFieldDefinition( ValueMetaInterface v, String tk, String pk, boolean use_autoinc ) {
return "someValue";
}
} );
when( databaseMeta.getQuotedSchemaTableCombination( schemaName, tableName ) ).thenReturn( schemaTable );
DimensionLookupMeta dlm = new DimensionLookupMeta();
dlm.setUpdate( true );
dlm.setDatabaseMeta( databaseMeta );
dlm.setTableName( tableName );
dlm.setSchemaName( schemaName );
dlm.setKeyLookup( new String[] { "keyLookup1", "keyLookup2" } );
dlm.setKeyStream( new String[] { "keyStream1", "keyStream2" } );
dlm.setFieldLookup( new String[] { "fieldLookup1", "fieldLookup2" } );
dlm.setFieldStream( new String[] { "FieldStream1", "FieldStream2" } );
dlm.setFieldUpdate( new int[] { 1, 2 } );
dlm.setKeyField( keyField );
StepMeta stepMeta = mock( StepMeta.class );
RowMetaInterface rowMetaInterface = mock( RowMetaInterface.class );
when( rowMetaInterface.size() ).thenReturn( 1 );
Repository repository = mock( Repository.class );
IMetaStore metaStore = mock( IMetaStore.class );
SQLStatement sqlStatement =
dlm.getSQLStatements( new TransMeta(), stepMeta, rowMetaInterface, repository, metaStore );
String sql = sqlStatement.getSQL();
assertEquals( 3, StringUtils.countMatches( sql, schemaTable ) );
}