org.pentaho.di.core.database.Database.openQuery()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(325)

本文整理了Java中org.pentaho.di.core.database.Database.openQuery()方法的一些代码示例,展示了Database.openQuery()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Database.openQuery()方法的具体详情如下:
包路径:org.pentaho.di.core.database.Database
类名称:Database
方法名:openQuery

Database.openQuery介绍

[英]Open a query on the database with a set of parameters stored in a Kettle Row
[中]在数据库上打开一个查询,其中一组参数存储在一行中

代码示例

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * Open a query on the database with a set of parameters stored in a Kettle Row
 *
 * @param sql    The SQL to launch with question marks (?) as placeholders for the parameters
 * @param params The parameters or null if no parameters are used.
 * @return A JDBC ResultSet
 * @throws KettleDatabaseException when something goes wrong with the query.
 * @data the parameter data to open the query with
 */
public ResultSet openQuery( String sql, RowMetaInterface params, Object[] data ) throws KettleDatabaseException {
 return openQuery( sql, params, data, ResultSet.FETCH_FORWARD );
}

代码示例来源:origin: pentaho/pentaho-kettle

public ResultSet openQuery( String sql ) throws KettleDatabaseException {
 return openQuery( sql, null, null );
}

代码示例来源:origin: pentaho/pentaho-kettle

/**
 * Reads the result of an SQL query into an ArrayList.
 *
 * @param sql            The SQL to launch
 * @param params         The types of any parameters to be passed to the query
 * @param data           The values of any parameters to be passed to the query
 * @param fetch_mode     The fetch mode for the query (ResultSet.FETCH_FORWARD, e.g.)
 * @param lazyConversion Whether to perform lazy conversion of the values
 * @param limit          <=0 means unlimited, otherwise this specifies the maximum number of rows read.
 * @param monitor        The progress monitor to update while getting the rows.
 * @return An ArrayList of rows.
 * @throws KettleDatabaseException if something goes wrong.
 */
public List<Object[]> getRows( String sql, RowMetaInterface params, Object[] data, int fetch_mode,
                boolean lazyConversion, int limit, ProgressMonitorListener monitor )
 throws KettleDatabaseException {
 if ( monitor != null ) {
  monitor.setTaskName( "Opening query..." );
 }
 ResultSet rset = openQuery( sql, params, data, fetch_mode, lazyConversion );
 return getRows( rset, limit, monitor );
}

代码示例来源:origin: pentaho/pentaho-kettle

@Override public String[] call() throws Exception {
  ResultSet resultSet = database.openQuery( ps, parameterMeta, parameterData );
  List<Object[]> rows = database.getRows( resultSet, 0, null );
  if ( Utils.isEmpty( rows ) ) {
   return new String[ 0 ];
  }
  // assemble the result
  //
  RowMetaInterface rowMeta = database.getReturnRowMeta();
  String[] strings = new String[ rows.size() ];
  for ( int i = 0; i < strings.length; i++ ) {
   Object[] row = rows.get( i );
   strings[ i ] = rowMeta.getString( row, 0 );
  }
  return strings;
 }
} );

代码示例来源:origin: pentaho/pentaho-kettle

@Override public ObjectId[] call() throws Exception {
  ResultSet resultSet = database.openQuery( ps, parameterMeta, parameterData );
  List<Object[]> rows = database.getRows( resultSet, 0, null );
  if ( Utils.isEmpty( rows ) ) {
   return new ObjectId[ 0 ];
  }
  RowMetaInterface rowMeta = database.getReturnRowMeta();
  ObjectId[] ids = new ObjectId[ rows.size() ];
  for ( int i = 0; i < ids.length; i++ ) {
   Object[] row = rows.get( i );
   ids[ i ] = new LongObjectId( rowMeta.getInteger( row, 0 ) );
  }
  return ids;
 }
} );

代码示例来源:origin: pentaho/pentaho-kettle

public RowMetaAndData getOneRow( String sql, RowMetaInterface param, Object[] data ) throws KettleDatabaseException {
 ResultSet rs = openQuery( sql, param, data );
 if ( rs != null ) {

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet rs = openQuery( sql );
if ( rs != null ) {

代码示例来源:origin: pentaho/pentaho-kettle

res = database.openQuery( sql.toString() );
if ( res != null ) {
 Object[] row = database.getRow( res );

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet rs = db.openQuery( strSQL );
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();

代码示例来源:origin: pentaho/pentaho-kettle

@Override public Collection<RowMetaAndData> call() throws Exception {
  ResultSet resultSet = null;
  try {
   resultSet = database.openQuery( ps, parameterMeta, parameterData );
   List<Object[]> rows = database.getRows( resultSet, 0, null );
   for ( Object[] row : rows ) {
    RowMetaAndData rowWithMeta = new RowMetaAndData( database.getReturnRowMeta(), row );
    long id =
     rowWithMeta.getInteger(
      quote( KettleDatabaseRepository.FIELD_DATABASE_ATTRIBUTE_ID_DATABASE_ATTRIBUTE ), 0 );
    if ( id > 0 ) {
     attrs.add( rowWithMeta );
    }
   }
   return attrs;
  } catch ( KettleDatabaseException e ) {
   throw e;
  } finally {
   database.closeQuery( resultSet );
  }
 }
} );

代码示例来源:origin: pentaho/pentaho-kettle

@Override public List<RepositoryElementMetaInterface> call() throws Exception {
  List<RepositoryElementMetaInterface> repositoryObjects = new ArrayList<RepositoryElementMetaInterface>();
  ResultSet rs = database.openQuery( sql, directoryIdRow.getRowMeta(), directoryIdRow.getData() );
  if ( rs != null ) {
   List<Object[]> rows = database.getRows( rs, -1, null );
   if ( rs != null ) {
    database.closeQuery( rs );
   }
   RowMetaInterface rowMeta = database.getReturnRowMeta();
   for ( Object[] r : rows ) {
    ObjectId id = new LongObjectId( rowMeta.getInteger( r, 4 ) );
    repositoryObjects.add( new RepositoryObject( id, rowMeta.getString( r, 0 ), repositoryDirectory, rowMeta
     .getString( r, 1 ), rowMeta.getDate( r, 2 ), objectType, rowMeta.getString( r, 3 ), false ) );
   }
  }
  return repositoryObjects;
 }
} );

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet rs = db.openQuery( strSQL );
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet res = openQuery( sql );
if ( res != null ) {
 Object[] row = getRow( res );

代码示例来源:origin: pentaho/pentaho-kettle

@Override public RowMetaAndData call() throws Exception {
  ResultSet resultSet = null;
  resultSet = database.openQuery( ps, parameterMeta, parameterData );
  Object[] result = database.getRow( resultSet );
  if ( resultSet != null ) {
   database.closeQuery( resultSet );
  }
  if ( result == null ) {
   return new RowMetaAndData( database.getReturnRowMeta(), RowDataUtil.allocateRowData( database
    .getReturnRowMeta().size() ) );
  }
  return new RowMetaAndData( database.getReturnRowMeta(), result );
 }
} );

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet res = null;
try {
 res = database.openQuery( sql );
 if ( res != null ) {
  Object[] row = database.getRow( res );

代码示例来源:origin: pentaho/pentaho-kettle

public synchronized void fillStepAttributesBuffer( ObjectId id_transformation ) throws KettleException {
 String sql =
  "SELECT "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_STEP ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_CODE ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_NR ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_VALUE_NUM ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_VALUE_STR ) + " " + "FROM "
   + databaseMeta.getQuotedSchemaTableCombination( null, KettleDatabaseRepository.TABLE_R_STEP_ATTRIBUTE )
   + " " + "WHERE " + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_TRANSFORMATION ) + " = ? "
   + "ORDER BY " + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_ID_STEP ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_CODE ) + ", "
   + quote( KettleDatabaseRepository.FIELD_STEP_ATTRIBUTE_NR );
 PreparedStatement ps = getPreparedStatement( sql );
 RowMetaAndData parameter = getParameterMetaData( id_transformation );
 stepAttributesBuffer = callRead(
  () -> database.getRows( database.openQuery( ps, parameter.getRowMeta(), parameter.getData() ), -1, null ) );
 stepAttributesRowMeta = database.getReturnRowMeta();
 // must use java-based sort to ensure compatibility with binary search
 // database ordering may or may not be case-insensitive
 // in case db sort does not match our sort
 //
 Collections.sort( stepAttributesBuffer, new StepAttributeComparator() ); //
}

代码示例来源:origin: pentaho/pentaho-kettle

data.rs = data.db.openQuery( sql, null, null, ResultSet.FETCH_FORWARD, meta.isLazyConversionActive() );
} else {
 data.rs =
  data.db.openQuery( sql, parametersMeta, parameters, ResultSet.FETCH_FORWARD, meta
   .isLazyConversionActive() );

代码示例来源:origin: pentaho/pentaho-kettle

public ResultSet openQuery( String sql, RowMetaInterface params, Object[] data, int fetch_mode,
              boolean lazyConversion ) throws KettleDatabaseException {
 ResultSet res;
 // Create a Statement
 try {
  log.snap( Metrics.METRIC_DATABASE_OPEN_QUERY_START, databaseMeta.getName() );
  if ( params != null ) {
   log.snap( Metrics.METRIC_DATABASE_PREPARE_SQL_START, databaseMeta.getName() );
   pstmt =
    connection.prepareStatement(
     databaseMeta.stripCR( sql ), ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY );
   log.snap( Metrics.METRIC_DATABASE_PREPARE_SQL_STOP, databaseMeta.getName() );
   log.snap( Metrics.METRIC_DATABASE_SQL_VALUES_START, databaseMeta.getName() );
   setValues( params, data ); // set the dates etc!
   log.snap( Metrics.METRIC_DATABASE_SQL_VALUES_STOP, databaseMeta.getName() );
   if ( canWeSetFetchSize( pstmt ) ) {
    int maxRows = pstmt.getMaxRows();
    int fs = Const.FETCH_SIZE <= maxRows ? maxRows : Const.FETCH_SIZE;
    if ( databaseMeta.isMySQLVariant() ) {
     setMysqlFetchSize( pstmt, fs, maxRows );
    } else {
     pstmt.setFetchSize( fs );
    }
    pstmt.setFetchDirection( fetch_mode );
   }

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet rs = null;
try {
 rs = openQuery( sql, params, data );
 if ( rs != null ) {
  Object[] row = getRow( rs );

代码示例来源:origin: pentaho/pentaho-kettle

ResultSet rs = data.db.openQuery( data.pstmt, data.lookupRowMeta, lookupRowData );

相关文章

微信公众号

最新文章

更多