public SaxParserConsumer( ResultSet rs, RelationInformation rinfo, String fileName, String tName) throws OdaException
public SaxParserConsumer( ResultSet rs, RelationInformation rinfo, InputStream is, String tName) throws OdaException
	public SaxParserConsumer( ResultSet rs, RelationInformation rinfo, String fileName, String tName) throws OdaException	{		this.resultSet = rs;				//must start from 0		cachedResultSetRowNo = 0;				//must start from -1		currentAvailableMaxLineNo = -1;		tableName = tName;		relationInfo = rinfo;				//must start from 0		currentRowNo = 0;				cachedResultSet = new String[Constants.CACHED_RESULT_SET_LENGTH][resultSet.getMetaData().getColumnCount( )];		this.rootPath = relationInfo.getTableRootPath( tableName );		this.ancestorPath = relationInfo.getTableAncestor( tableName );		this.isNotNestedXMLTable = rootPath.equals( ancestorPath );				this.namesOfCachedColumns = relationInfo.getTableNestedXMLColumnNames( tableName );		this.namesOfColumns = relationInfo.getTableColumnNames( tableName );		if( !isNotNestedXMLTable )		{			spNestedQueryHelper = new SaxParserNestedQueryHelper(rinfo, fileName, tName);			while ( !spNestedQueryHelper.isPrepared( ) )			{				try				{					synchronized ( this )					{						wait( 1000 );					}				}				catch ( InterruptedException e )				{					throw new OdaException( e.getLocalizedMessage() );				}			}		}		sp = new SaxParser( fileName , this );		spThread = new Thread( sp );		spThread.start();	}