Pivot Table data provider extension framework (removal possibility)

Kohei Yoshida kohei.yoshida at gmail.com
Tue Mar 12 08:41:32 PDT 2013


Hi there,

I'd like to ask whether someone actually uses this Pivot Table data 
provider extension framework, because I'd like to remove this if nobody 
is using it, or only few people are using it.

Currently, Calc's pivot table supports 4 different backends.  They are:

1. cell range on sheet
2. named range on sheet
3. database (registered via database manager)
4. extension acting as a data provider.

The 4th one is what I'd like to get rid of.  When creating a pivot table 
via Data > Pivot Table > Create..., you'll get a dialog with these 4 
choices.  The 4th one, labeled "External source/interface" is usually 
disabled *unless* you have extension installed that implements all pivot 
table interfaces necessary to act as a data provider.  These are UNO 
interfaces that are recently *un*-published in the 4.0 release.

On this page:

https://wiki.documentfoundation.org/ReleaseNotes/4.0

All UNO services/interfaces/etc starting with

com.sun.star.sheet.DataPilotSource

and below are the ones that are relevant for this data provider 
functionality.

I believe the same functionality can be achieve via database 
connectivity, by having such external data provider register as a 
database, and use it to act as a data provider for pivot tables.  So, I 
don't see a reason why we need to keep this as a separate data source 
category.

The way it is currently implemented also makes it *extremely* difficult 
for us to optimize the pivot table engine, because all its functionality 
has to go through the UNO API which forces us to do data conversion 
*twice* for every single transaction.  That's very very expensive 
especially as the data size grows (and it always does).

So, I'd *love* to get rid of this sooner rather than later, and I'd like 
to know whether there are people who would absolutely need this 
functionality, and if so why.  As I said above, I believe the same 
functionality could be achieved via the database connectivity backend 
even if we remove the extension backend.

Thanks,

-- 
Kohei Yoshida, LibreOffice hacker, Calc


More information about the LibreOffice mailing list