Writing to multiple PackagePart streams causes deadlock. Is this fixed? kb951731

We are trying to use OpenXML to create Excel spreadsheets from a database and we are running into this documented problem (kb951731) when excels are above a certain size.
What is the status of this bug? Is it fixed in a later version of .net? We are using .net 4.5
Are there any ways to work around it when using OpenXML?
James.

We can not use the work around because the bug is in OpenXML, not in our code.
OpenXML when called under .net45 uses isolated storage if file size is greater than 10MB. This is not thread safe as documented in Microsoft kb 951731. When OpenXML hits an uncompressed file size greater than 10MB it jumps into using isolated
storage. If you have two processes going on at the same time then you are dead in the water with this. Worst of all it does not easily recover from this; the next single file greater than 10mb will also fail.
As I mention above EPPlus guys have identified this issue and fixed it. It is a current problem in OpenXML
The stack trace if you hit this problem is below:
System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, IsolatedStorageFile isf)
   at System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, IsolatedStorageFile isf)
   at MS.Internal.IO.Packaging.PackagingUtilities.SafeIsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, ReliableIsolatedStorageFileFolder folder)
   at MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount, String& fileName)
   at MS.Internal.IO.Packaging.SparseMemoryStream.EnsureIsolatedStoreStream()
   at MS.Internal.IO.Packaging.SparseMemoryStream.SwitchModeIfNecessary()
   at MS.Internal.IO.Packaging.CompressEmulationStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Packaging.CompressStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.Xml.XmlUtf8RawTextWriter.FlushBuffer()
   at System.Xml.XmlUtf8RawTextWriter.RawText(Char* pSrcBegin, Char* pSrcEnd)
   at System.Xml.XmlUtf8RawTextWriter.WriteStartElement(String prefix, String localName, String ns)
   at System.Xml.XmlWellFormedWriter.WriteStartElement(String prefix, String localName, String ns)
   at DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter)
   at DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w)
   at DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter)
   at DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w)
   at DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter)
   at DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w)
   at DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter)
   at DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w)
   at DocumentFormat.OpenXml.OpenXmlPartRootElement.WriteTo(XmlWriter xmlWriter)
   at DocumentFormat.OpenXml.OpenXmlPartRootElement.SaveToPart(OpenXmlPart openXmlPart)
   at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.SavePartContents()
   at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.Dispose(Boolean disposing)
   at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.Dispose()
James.

Similar Messages

  • How to efficiently log multiple data streams with TDMS

    Ok, first off, I'll admit I am completely clueless when it comes to logging, TDMS in particular.  That said, I'm trying to work out the best way to log some data from an existing LabVIEW-based control system, so that users can later access that data in the event of catastrophic failure or other situations where they might want to see exactly what happened during a particular run.
    I've got a total of between 6 and 12 data points that need to be stored (depending on how many sensors are on the system).  These are values being read from a cRIO control system.  They can all be set to Single data type, if necessary - even the one Boolean value I'm tracking is already being put through the "convert to 0,1" for graph display purposes.  The data is currently read at 100ms intervals for display, but I will be toying with the rate that I want to dump data to the disk - a little loss is OK, just need general trending for long term history.  I need to keep file sizes manageable, but informative enough to be useful later.
    So, I am looking for advice on the best way to set this up.  It will need to be a file that can be concurrently be read as it is being written, when necessary - one of the reasons I am looking at TDMS in the first place (it was recommended to me previously).  I also need an accurate Date/Time stamp that can be used when displaying the data graphically on a chart, so they can sync up with the external camera recordings to correlate just what happened and when.
    Are there specific pitfalls I should watch for?  Should I bundle all of the data points into an array for each storage tick, then decimate the array on the other end when reading?  I've dug through many of the examples, even found a few covering manual timestamp writing, but is there a preferred method that keeps file size minimized (or extraction simplified)?
    I definitely appreciate any help...  It's easy to get overwhelmed and confused in all of the various methods I am finding for handling TDMS files, and determining which method is right for me.

    I need to bump this topic again...  I'll be honest, the TDMS examples and available help are completely letting me down here.
    As I stated, I have up to 12 data values that I need to stream into a log file, so TDMS was suggested to me.  The fact that I can concurrently read a file being written to was a prime reason I chose this format.  And, "it's super easy" as I was told...
    Here's the problem.  I have multiple data streams.  Streams that are not waveform data, but actual realtime data feedback from a control system, that is being read from a cRIO control system into a host computer (which is where I want to log the data).  I also need to log an accurate timestamp with this data.  This data will be streamed to a log file in a loop that consistently writes a data set every 200ms (that may change, not exactly sure on the timing yet).
    Every worthwhile example that I've found has assumed I'm just logging a single waveform, and the data formatting is totally different from what I need.  I've been flailing around with the code, trying to find a correct structure to write my data (put it all in an array, write individual points, etc) and it is, quite honestly, giving me a headache.  And finding the correct way for applying the correct timestamp (accurate data and time the data was collected) is so uncharacteristically obtuse and hard to track down...  This isn't even counting how to read the data back out of the file to display for later evaluation and/or troubleshooting...  Augh!
    It's very disheartening when a colleague can throw everthing I'm trying to do together in 12 minutes in the very limited SCADA user interface program he uses to monitor his PLCs...  Yet LabVIEW, the superior program I always brag about, is slowly driving me insane trying to do what seems like a relatively simple task like logging...
    So, does anyone have any actual useful examples of logging multiple DIFFERENT data points (not waveforms) and timestamps into a TDMS file?  Or real suggestions for how to accomplish it, other than "go look at the examples" which I have done (and redone).  Unless, of course, you have an actual relevant example that won't bring up more questions than it answers for me, in which case I say "bring it on!"
    Thanks for any help...  My poor overworked brain will be eternally grateful.

  • FLME to stream multiple audio streams

    Is it possible to stream multiple audio streams together with one video stream using FLME.
    I need to create a live streaming application that should be available in many languages. My idea is to send 1 video stream + n * audio streams.
    Any ideas are appreciated.

    FMLE is not able to stream multiple audio tracks.
    Perhaps a third party encoder is able to do, but the problem is I think the playback
    cause adobe´s pluggin does also not support multiple audio tracks.

  • How can I automatically connect to multiple connecting streams? to have 2 way communications foreach

    I need to setup a send stream that will only allow each farID to connect 1 time, and automatically connect to the connector so I ca have 2 way communication.
    I learned if in my onpeerconnect function i do this...:
    var c:Object = new Object;
    c.onPeerConnect = function(subscriber:NetStream):Boolean
       if(ready==ready)
       if(receiveStream==null)
        setupReceiveStream(subscriber.farID);
        return true;
        else
        return false;
    it seems to work fine, and they will start a 2 way connection BUT i want to potentially allow multiple connections, and setup multiple receive streams so im trying to com up with a solution to check if its already streaming to the peer. I wish I could just do this:
    var c:Object = new Object;
    c.onPeerConnect = function(subscriber:NetStream):Boolean
        setupReceiveStream(subscriber.farID);
        return true;
    But, for some reason it just keeps returning true over and over and over it doesnt just do it once on the connect, i get something like this:
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    NetStream.Play.Reset
    NetStream.Play.Start
    So, heres what im trying to do:
    protected function setupSendStream():void
    sendStream = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS);
    sendStream.addEventListener(NetStatusEvent.NET_STATUS, sendStreamHandler);
    var c:Object = new Object;
    c.onPeerConnect = function(subscriber:NetStream):Boolean
    var test:Boolean=true;
    var THEStream:NetStream = null;
    for each (var stream:NetStream in sendStream.peerStreams)
    if (stream["farID"] == subscriber.farID)
    well=false;
    trace("found it!");
    if(test)
    setupReceiveStream(subscriber.farID);
    trace("returned true");
    return true;
    else
    trace("returned false");
    return false;
    sendStream.client=c;
    sendStream.publish("MyChannel");
    trace("SETUP SEND STREAM");
    cirrusStatus=connectedReady;
    But it seems like after it returns true and runs the setup, so i can have 2 way communication, it runs the onpeerconnect function 1 more time after it returns true, and its a return false and then it makes the play fail and it ruins the connection.
    Any ideas on how I can listen for connects to my sendStream, then have it get the farID and then connect to that farID?
    keep in mind im trying to potentially support multiple connections to my sendstream which i think will be easy, but whats more confusing is having multiple receivestream connections

    "Method Three
    Create a separate iTunes library for each device. Note:It is important that you make a new iTunes Library file. Do not justmake a copy of your existing iTunes Library file. If iTunes is open,quit it.
    This one may work. I searched and searched on the website for something like this, I guess I just didn't search correctly, lol. I will give this a try later. My daughter is not be back for a few weekends, therefore I will have to try the Method 3 when she comes back for the weekend again. "
    I forgot to mention that she has a PC at her house that she also syncs to. Would this cause a problem. I am already getting that pop up saying that the iPod is synced to another library (even though she is signed in with her Apple ID to iTunes) and gives the pop up to Cancel, Erase & Sync, or Transfer Purchases. My question arose because she clicked on "Erase & Sync" by mistake when she plugged the iPod to her PC the first time. When the iPod was purchased and setup, it was synced to my PC first. When she went home, she hooked it up to her PC and then she erased it by accident. I was able to restore all the missing stuff yesterday using my PC. However, even after doing that it still told me the next time I hooked it up last night that the iPod was currently synced with a different library. Hopefully, you can help me understand all this. She wants to sync her iPod and also backup her iPod at both places. Both PCs have been authorised. Thanks

  • Writing to multiple tags with the same name

    Hi,
    I am writing to multiple tags with the same name but in different groups. I have noticed only the tag from the first group gets updated. How can I write to a tag in a specific group in this scenario?
    Regards,
    Chanti.

    Heres what I found.
    When I tried "http://<server>:<port>/XMII/Illuminator?Server=<Name of the TAG dataServer>&Mode=CurrentWrite&TagName=<Group>.<TagName>", the outcome was "Message
    Could not add "<Group>.<TagName>" to the response list.
    Message
    No tags selected."
    When I tried "http://<server>:<port>/XMII/Illuminator?Server=<Name of the TAG dataServer>&Mode=CurrentWrite&TagName=<TagName>", it seemed like it worked fine.
    Any thoughts?

  • Will multiple Lan cards cause problems using rmi?

    Will multiple Lan cards cause problems using rmi? If a host has two or more network cards (only one of which is Internet-enabled), how does RMI know which IP address to use? There seems to be a problem when such a client registers with an RMI service, and has a client-side callback method invoked by the server.

    You can tell RMI the address you want by defining java.rmi.server.hostname at the JVM which exports the remote object.

  • Home Theater need. Multiple Audio Streams from 1 card or possible to use 2 car

    I currently have 2 SB Li've's installed and a SB Audigy in the box.
    I would like to be able to send different audio out to different devices. I need to send audio from a game interface called MAME 32 to a speaker system connected to the PC. I also use this PC as a home theater PC and want to send audio from my DVD playing software out to my TV(in analog stereo mode) and/or to my receiver(in Dolby Digital mode using the digital connector).
    I would like to be able to run these seperatly without having to go into the Control Panel and switch the default sound card like I am doing now. I do not need to run them at the same time.

    Bummer. Are you guys working on something that might have this capability? Seems to me that the closer we integrate PC's into our entertainment systems the more need we will have for the ability to do multiple audio streams, i.e. MP3's to the living room. DVD movie audio to the family room, XM radio classical station to the kitchen for mom etc..
    Intel is offering this as an onboard solution that has the ability to do at least 2 different streams.
    http://www.intel.com/design/chipsets/hdaudio.htmMessage Edited by relay on 0-26-2004 05:02 PM

  • Multiple Forecast Streams in Demantra

    Hey,
    I've noticed release note for 7.2 includes the following enhancement:
    "You may want to create statistical forecasts from multiple demand streams.
    You can generate a forecast from any data stream, for example, booking history and shipment history. Each data stream has a unique engine profile and version."
    I haven't been able to find much documentation about this option.
    Has anyone implemented a solution using that ? Know any HOW-TO documents available?
    I'm thinking of using it for forecasting - item sales, and item returns from customers.
    How should SALES_DATA be loaded for that scenario? How should engine be run?
    Thanks alot for any reply,
    Aaron

    Hi All,
    Forecasting with multiple demand stream means that you can generate multiple forecasts based on different demand stream. By demand stream, i mean the historical data stream on which you want to generate the forecast.
    There can be situations where you may require to generate forecast for different purpose.Like Aaron mentioned, you may want to generate a forecast based on the order/booking history and/or you may want to generate a forecast based on the returns history. For this purpose you need to create different engine profiles.Engine profile is nothing but a set of engine parameters with specific values. Oracle Demantra provides some predefined profiles for different purposes, and you can define additional engine profiles, as needed. When you run the Analytical Engine, you specify the engine profile to use.
    Now coming to the HOW-TO part:
    1) The quantity_form (system parameter) contains an expression that is used by the engine to retrieve and aggregate demand stream data from the SALES_DATA table. Make sure that the quantity_form expression for a specific engine profile points to database columns containing the historical demand stream desired for the profile. Meaning, if you want to generate a forecast based on booking history then the quantity_form should point to the booking history stream in the sales_data table. Likewise for returns history, point the quantity_form to returns history stream in sales_data table.
    2) Create a series to view the forecast generated by the engine profile.
    3) The newly created engine profiles gets added to the list of engine profiles in the system parameters.You can select the required engine profile and generate the forecast.
    4) View, Edit or compare the forecast created in step 4 by creating a worksheet with all the forecast generated.
    I hope this brings more clarity to the queries/replies posted earlier.
    Regards,
    Shekhar
    Edited by: Shekhar on Feb 18, 2009 10:02 AM

  • Do multiple bindings still causing issues for PowerPivot workbook in SharePoint 2013

    Do multiple bindings still causing issues for PowerPivot workbook in SharePoint 2013 as they did in SP2010? Here is the link about 2010 issue :
    http://support.microsoft.com/kb/2712071

    Hi Norm,
    I searched internally, and I couldn't find any information related to this issue applied to SharePoint 2013, it shouldn't exist in SharePoint 2013.
    Thanks,
    Daniel Yang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Daniel Yang
    TechNet Community Support

  • Multiple input stream in one socket connection

    Can we have multiple input streams for a java socket connection? It means that in a client/server application (creates using java socket), can we have multiple input streams for the client side program. For example, the input streams are to cater for the need of letting the user to chat and downloading some files from the chat partner at the same time. And do we need to use thread to create the multiple input streams like the case when we create a multithreaded server? Anyone out there who knows the solution please post it. Thanks in advance.

    Can we have multiple input streams for a java socket
    connection? It means that in a client/server
    application (creates using java socket), can we have
    multiple input streams for the client side program.
    For example, the input streams are to cater for the
    need of letting the user to chat and downloading some
    files from the chat partner at the same time. And do
    we need to use thread to create the multiple input
    streams like the case when we create a multithreaded
    server? Anyone out there who knows the solution please
    post it. Thanks in advance.Ok im no expert here but this is what i learned:
    a Socket can have only one InputStream (Socket.getInputStream()) and one OutputStream Socket.getOutputStream()). So you will have to create a way to make multiple Socket connections in your client program. And yes, you have to use threads for your server. if you dont the client will have to wait until the user before them is finished with the connection before being able to connect. I hope this helps you out. BTW please check out http://www.javabible.com. they have the book online now for free.
    Joeyford1

  • Multiple input streams

    hey folks newbie here
    i am designing a client server program
    with my client i want to send serialized objects & primitive types across the socket to the server
    is it possible to creat two output streams on the same socket i.e an ObjectOutputStream & a DataOutputStream on the same socket, i have tried this but get some errors so i don't think this is possible
    if not possible how would i be able to send both primitive types & serialized objects across the same socket

    Forget about the first person's post. He his correct, but it is not the solution used by most developers.
    Multiple Input Streams/Output Streams are easy to create. A better "management" deal would be like FTP - FTP uses two port, one for data and one for commands.
    Socket objectSocket = new Socket("www.object-server.com", objectPort);
    Socket dataSocket = new Socket("www.data-server.com", dataPort);
    The server should implement a class which represents the connection of both sockets as a single client. Somethig like this:
    public class Connection {
        Socket dataSocket;
        Socket objectSocket;
        public Connection(Socket s1) {
            dataSocket = s1;
        public void addObjectSocket(Socket s2) {
            objectSocket = s2;
    }You can then use this class (permission given to copy and use without license hereby granted) to manage the task.
    There are also many other ways of doing this. You can also apply multiple i/o streams to the same socket - but your server/client needs to know which data type is being sent or to which stream the data needs to be read from.
    Example: Client sends binary file to server (such as FTP)
    ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
    PrintWriter out2 = new PrintWriter(socket.getOutputStream());
    The code above will work, but data send in one stream will not show up in the other stream. The server does the reverse for the input > adding different InputStreams to the socket, but when data is sent from the client's object stream both of the server's streams (BufferedReader or other text-based input) and the object stream will receieve the file, so you need to communicate between the client and server which stream to read from/write to.
    Client: Send file via socket to server by means of ObjectOutputStream
    Note: You should not need to implement the try-catch logic when passing the argument of the socket - since it would throw that in the class which was calling the constructor, but you CAN implement it here as long as it is not handled in the calling class. If you do, the complier should throw an error saying that the exception would not be thrown at this point.

  • Multiple Video Streams on Same Monitor or Screen

    Is it possible to merge multiple video streams on the same timeline in PP CS5? I have a customer thats wants me to do thisfor him.
    This would be like you see a security monitor with three or four small images on the same screen.
    C. Barker

    Charles,
    What the client is asking for is PiP (Picture in Picture), and Colin has outlined the method for creating the PiP.
    I also find it easiest, when doing a lot of PiP work, to use alignment grids, to help me with both the Scaling and the Position. This ARTICLE goes into a bit more detail. For PiP, I will usually create a custom alignment grid, similar to this:
    Good luck, and hope that this helps,
    Hunt

  • Multiple Step Error Caused by SQL Syntax?

    Hi All:
    I am getting a multiple step error when I do this:
    rs.Fields("MyField").Value = MyValue
    I finally tracked down the error to being caused by this syntax:
    SELECT a.* FROM MyTable a
    or
    SELECT a.MyField FROM MyTable a
    However, this syntax works just fine:
    SELECT * FROM MyTable
    or
    SELECT MyField FROM MyTable
    So what's the big deal here?
    Note: Both statements work fine in SQL Server; Oracle chokes on the aliased one.
    Doug.

    Hi Doug,
    I am having very similar problem while runnig the following statments:
    SELECT DESCRIPTION FROM ITEM, LOCATION WHERE ITEM.LOCATIONID = LOCATION.LOCATIONID "Updatable"
    SELECT DESCRIPTION FROM ITEM JOIN LOCATION ON ITEM.LOCATIONID = LOCATION.LOCATIONID " Not updatable"!
    if you figure out something pls let me know!
    Abdullah Obeid.
    Hi All:
    I am getting a multiple step error when I do this:
    rs.Fields("MyField").Value = MyValue
    I finally tracked down the error to being caused by this syntax:
    SELECT a.* FROM MyTable a
    or
    SELECT a.MyField FROM MyTable a
    However, this syntax works just fine:
    SELECT * FROM MyTable
    or
    SELECT MyField FROM MyTable
    So what's the big deal here?
    Note: Both statements work fine in SQL Server; Oracle chokes on the aliased one.
    Doug.

  • Troubles with Multiple Audio Streams.[ca0106]

    Hey everyone.
    I have a few issues on my hands that i just cannot seem to get a strait foward answer.
    First off, i have a Sound Blaster Live! 24bit pci sound card. Sound plays perfect as well as surround sound.
    My issue is that i cannot get mulitiple things to play sound at once. All of the correct modules are loaded just fine and working well. I do believe that when i was using gentoo and could play multiple audio streams, i had alsa built into my kernel.... in arch i dont believe i do.
    Im trying not to build my kernel all over again in arch because i think its something in arch i may be  doing wrong...
    Thanks
    Anthony
    Last edited by anthonyclark (2008-04-02 13:30:58)

    Thanks for the reply.
    I know for a fact im using ALSA. Since i made that post, ive been doing as much research as possible. I found on ubuntuforums, some dude posted some configs for his ca0106 sound card. I tried them and they take me to the same fork.
    Surround Sound .... or .... Multiple audio streams.
    So the big questions is, is it possible to have both? And would compiling a new kernel with ALSA and support for my card make a difference?
    Thanks!
    anthony
    Last edited by anthonyclark (2008-04-02 15:25:48)

  • Multiple video streams displayed on separate monitors

    I'm working on a project that will have 6 screens showing 6 different pieces running simultaneously. We'll be cutting all 6 pieces in FCP, but i was wondering if there is anyway to view multiple video streams on 6 different displays running at the same time in FCP? Obviously some sort of display hub or router needs to be had, or perhaps some other hardware/software.
    Anyone have any great ideas?

    My old video professor from school did a lot of video installations. He often had trouble keeping multiple DVD players in sync with one another, they would drift over time. If you are thinking about the DVD player route, make sure you're using the exact same model for each player, and make sure to run tests over a long period of time.
    Of course, using an external genlock would probably prevent that, too.

Maybe you are looking for

  • Receiving an error message when trying to do back up my files with windows backup and restore files

     I received this error message from my windows vista ultimate automatic backup did not complete. I clicked details  in the message and it says " An error occurred. The following information might help you reslove the error: (Access is denied 0x800700

  • Update was terminated on WSM8 " POSTING_ILLEGAL_STATEMENT"

    Hi all our system is ecc6 with IS -retail activated. support Stack level is 12 and database is oracle , os is windows. We are getting express document error " Update was terminated " when executing WSM8 . on ST22, we are getting following error POSTI

  • How to implement different Siebel visibility types in BI Apps

    Standard BI Apps approach to data level security does not allow for users to choose (on report runtime) different security levels/visibility types as in Siebel application (different visibility views - My, My Team, All,..) One possible approach is to

  • JDBC Reaciver

    Hi Guys, I have a problem when i am  passing a message from Idoc to Oracle  useig JDBC Reaciver i had problem in Runtime.. Below message  is my Error message.. channel Jdbc_Rec: processing started; party  , service DMZ_DEV 2006-09-07 11:56:33 Error N

  • 10g: parallel pipelined table func - distributing DISTINCT data sets

    Hi, i want to distribute data records, selected from cursor, via parallel pipelined table function to multiple worker threads for processing and returning result records. The tables, where i am selecting data from, are partitioned and subpartitioned.