[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2010-12-06 Thread oj
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User oj changed the following:

What|Old value |New value

  Status|UNCONFIRMED   |RESOLVED

  Resolution|  |FIXED





--- Additional comments from o...@openoffice.org Mon Dec  6 08:55:44 + 
2010 ---
The reason why we need the first one is to fetch the complete row. The requering
of a row should now only happen when you move the cursor to a place where the
cursor from the rowset already was. The rowset uses a forward only cursor. The
keyset which is used below the rowset fetch rows by key but only when needed.
This I changed. In former versions all rows was refetched even the the cursor
from the rowset was still valid.

So in our case the first fetch like select * from key = ? only happen when you
move the cursor to a position where the forward-only cursor from the rowset
already visited and the position is not in the window (fetch size). A second way
to go would be to check if the cursor from the rowset can be moved back and
forward. But history shows that some cursor say yes we can, but the don't ;-)

In my test no call was done for select * from y where key = ? when displaying
the table.

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2010-12-06 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625





--- Additional comments from lu...@openoffice.org Mon Dec  6 10:22:08 + 
2010 ---
OK, I see where you are coming from. You need to refetch backward cursor
positions since some drivers don't implement this correctly or lie about it. So
your fix removed unnecessary refetching. As long as you scroll down, there
should be no refetching. You looked at reducing the select * from y where key 
= ? 
I look at it from different perspective. I have a problem with the initial
select * from y. Why fetch the full table if you look at the table through a
window (limited number of rows at a time)? Why load blobs or binary data when
they are not displayed and when you can't do anything with them? No insert, no
save. Opening large tables can be really slow (long time to first display) or
simply impossible due to an out of memory condition (too many rows, blobs, ...).
OOO internally is memorywise OK storing only the data for the window displayed
but it forces the driver to fetch the whole lot... 
An overall minimum memory and bandwidth solution would consist of a select
key(s) from y followed by a series of select displayable fields from y where
key(s) = ?. To further reduce bandwidth, replace the where key(s) = ? by
where key(s) = ? or key(s) = ? ... or key(s) = ? to retrieve multiple rows in
one go. MSAccess uses a fixed number of rows (10), but obviously a variable
number (the rows needed to fill the window and not already displayed and not
cached in OOO) would be optimal.  

I'm not going to reopen the issue again as it will be closed by the next reply
but you will understand that for me the solution proposed only addresses a small
and minor part of the problem (if there is no out of memory before displaying
the first line...).

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2010-12-03 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User ludob changed the following:

What|Old value |New value

  Status|RESOLVED  |UNCONFIRMED

  Resolution|FIXED |





--- Additional comments from lu...@openoffice.org Fri Dec  3 16:55:58 + 
2010 ---
I had a look at the changeset for dba34c: #i102625# only fetch rows when the
view moves outside the scope of the rowset window . Apparently we are talking
about different things...
When opening a table in a table view, one or more SELECT * FROM table WHERE 1=0
is executed. Then a SELECT * FROM table. Then, to fill the form, a number of
SELECT * from xx where key = ?. You addressed a problem with the last part while
the problem reported is with the second part (the get the complete table). The
complete table needs to be traversed to get the key values but there is no
reason to get all the data from the table to use only the key values to re-get
everything again one row at the time. 
   
I did some debugging: here is the stacktrace for the
OPreparedStatement::executeQuery that does the select * from xx:

odbcbasemi!connectivity::odbc::OPreparedStatement::executeQuery+0x94
[g:\ooo\dev300_m92\connectivity\source\drivers\odbcbase\opreparedstatement.cxx @
293]
dbami!dbaccess::OPreparedStatement::executeQuery+0xde
[g:\ooo\dev300_m92\dbaccess\source\core\api\preparedstatement.cxx @ 227]
dbami!dbaccess::ORowSet::impl_prepareAndExecute_throw+0x4ed
[g:\ooo\dev300_m92\dbaccess\source\core\api\rowset.cxx @ 1681]
dbami!dbaccess::ORowSet::execute_NoApprove_NoNewConn+0xe0
[g:\ooo\dev300_m92\dbaccess\source\core\api\rowset.cxx @ 1805]
dbami!dbaccess::ORowSet::execute+0x17f
[g:\ooo\dev300_m92\dbaccess\source\core\api\rowset.cxx @ 1588]
frmmi!frm::ODatabaseForm::executeRowSet+0x35b
[g:\ooo\dev300_m92\forms\source\component\databaseform.cxx @ 1261]
frmmi!frm::ODatabaseForm::load_impl+0x388
[g:\ooo\dev300_m92\forms\source\component\databaseform.cxx @ 2919]
frmmi!frm::ODatabaseForm::load+0x4f
[g:\ooo\dev300_m92\forms\source\component\databaseform.cxx @ 2702]
dbumi!dbaui::SbaXDataBrowserController::reloadForm+0xf7
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\brwctrlr.cxx @ 733]
dbumi!dbaui::SbaTableQueryBrowser::implLoadAnything+0x5ec
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\unodatbr.cxx @ 2333]
dbumi!dbaui::SbaTableQueryBrowser::implSelect+0x1bfb
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\unodatbr.cxx @ 2612]
dbumi!dbaui::SbaTableQueryBrowser::implSelect+0x92
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\unodatbr.cxx @ 2389]
dbumi!dbaui::SbaTableQueryBrowser::impl_initialize+0x1e95
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\unodatbr.cxx @ 3160]
dbumi!dbaui::OGenericUnoController::initialize+0x51b
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\genericcontroller.cxx @ 408]
dbumi!DBContentLoader::load+0x1949
[g:\ooo\dev300_m92\dbaccess\source\ui\browser\dbloader.cxx @ 320]
fwkmi!framework::LoadEnv::impl_loadContent+0x4b8
fwkmi!framework::LoadEnv::startLoading+0x87
fwkmi!framework::LoadEnv::loadComponentFromURL+0x81
fwkmi!framework::Frame::loadComponentFromURL+0x94
dbumi!dbaui::DatabaseObjectView::doDispatch+0x7a4
[g:\ooo\dev300_m92\dbaccess\source\ui\misc\databaseobjectview.cxx @ 164]
dbumi!dbaui::DatabaseObjectView::doCreateView+0x86
[g:\ooo\dev300_m92\dbaccess\source\ui\misc\databaseobjectview.cxx @ 119]
dbumi!dbaui::DatabaseObjectView::openExisting+0x4b
[g:\ooo\dev300_m92\dbaccess\source\ui\misc\databaseobjectview.cxx @ 106]
dbumi!dbaui::OApplicationController::openElementWithArguments+0xefa
[g:\ooo\dev300_m92\dbaccess\source\ui\app\appcontroller.cxx @ 1926]
dbumi!dbaui::OApplicationController::openElement+0x69
[g:\ooo\dev300_m92\dbaccess\source\ui\app\appcontroller.cxx @ 1827]
dbumi!dbaui::OApplicationController::onEntryDoubleClick+0xf7
[g:\ooo\dev300_m92\dbaccess\source\ui\app\appcontroller.cxx @ 1787]
dbumi!dbaui::OAppDetailPageHelper::OnEntryDoubleClick+0x76
[g:\ooo\dev300_m92\dbaccess\source\ui\app\appdetailpagehelper.cxx @ 1060]
dbumi!dbaui::OAppDetailPageHelper::LinkStubOnEntryDoubleClick+0xf
[g:\ooo\dev300_m92\dbaccess\source\ui\app\appdetailpagehelper.cxx @ 1057]
tlmi!Link::Call+0x11
dbumi!dbaui::DBTreeListBox::DoubleClickHdl+0x1c
[g:\ooo\dev300_m92\dbaccess\source\ui\control\dbtreelistbox.cxx @ 468]
svtmi!SvImpLBox::MouseButtonDown+0x18c


From what I can see, in ORowSet::execute_NoApprove_NoNewConn in
dbaccess/source/core/api/RowSet.cxx, line 1809 impl_prepareAndExecute_throw()
causes the SELECT * from xx using statementhandle 1, line 1830
m_pCache-setFetchSize(m_nFetchSize) and 1831 m_pCache-createIterator(this);
does the SELECT * from xx 

[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2010-12-02 Thread oj
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User oj changed the following:

What|Old value |New value

 Assigned to|dbaneedsconfirm   |oj

Target milestone|---   |OOo 3.4





--- Additional comments from o...@openoffice.org Thu Dec  2 12:17:22 + 
2010 ---
Grabbing

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2010-12-02 Thread oj
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User oj changed the following:

What|Old value |New value

  Status|UNCONFIRMED   |RESOLVED

  Resolution|  |FIXED





--- Additional comments from o...@openoffice.org Thu Dec  2 12:25:18 + 
2010 ---
Fixed in cws dba34c.

Now 

SELECT * from xx where key = ?

will only be called when the view jumps from last to first row. 

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-07-28 Thread atjensen
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User atjensen changed the following:

What|Old value |New value

  CC|''|'atjensen'





-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-06-19 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625





--- Additional comments from lu...@openoffice.org Fri Jun 19 06:22:50 + 
2009 ---
Same as Issue 66846?

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-06-18 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625





--- Additional comments from lu...@openoffice.org Thu Jun 18 14:29:48 + 
2009 ---
Same as issue 101280?

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-06-14 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625





--- Additional comments from lu...@openoffice.org Sun Jun 14 08:09:38 + 
2009 ---
Same as issue 98548 ??

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-06-10 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625


User ludob changed the following:

What|Old value |New value

 Summary|Table Data View + ODBC iss|Table Data View + ODBC iss
|ues select * from table to|ues select * from table to
| get only key data| get only key data





--- Additional comments from lu...@openoffice.org Wed Jun 10 08:27:43 + 
2009 ---
same behavior in OOO310m11

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org



[dba-issues] [Issue 102625] Table Data View + ODBC is sues select * from table to get only key data

2009-06-09 Thread ludob
To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=102625
 Issue #|102625
 Summary|Table Data View + ODBC issues select * from table to g
|et only key data 
   Component|Database access
 Version|OOO300m9
Platform|PC
 URL|
  OS/Version|Windows XP
  Status|UNCONFIRMED
   Status whiteboard|
Keywords|
  Resolution|
  Issue type|DEFECT
Priority|P3
Subcomponent|none
 Assigned to|dbaneedsconfirm
 Reported by|ludob





--- Additional comments from lu...@openoffice.org Tue Jun  9 17:40:48 + 
2009 ---
Opening a table for viewing issues a few select * from table where 0=1 to get
the table metadata. One should be fine but, unless the underlying database has a
long ping (over the net), the extra traffic is not problematic. What is a big
problem is the select * from table followed by as many select * from table
where id='?' statements as there are lines to display. The first select * is
used to get only the primary key or other index. A select id[,id2,...] from
table should do if one does only a SQLGetData on the key field(s). Or..., since
you have the select *, use the data that you just retrieved and forget about the
select * where id=?. But not both. Imagine the extra traffic when the table
contains blobs: they are not displayed in the Table view and are retrieved from
the database twice... 
Things get even worse when the ODBC driver, for one reason or another, gets all
the data into the client's memory when SQLExecute is called on the select * for
a large table. 
Here is how ms access is doing it:
Select id from table followed by a series of select field1,field2,... from
table where id=? or id=? or [total of 10 ids] or id=? to get ten rows at a
time. The select where 0=1 is done when you create the link, which is OK for how
ms access uses linked tables but is in my opinion a minus for ms access.
Blobs, Clobs, memos, etc are only retrieved, using a separate select, when the
field is visible in the view. Time to first screen and scrolling speed is much
faster than for OOO.
Overall, the way how OOO handles ODBC databases and what you can do with them is
great compared to ms Access. Larger tables, especially on networked databases,
can however be a show stopper. Replacing the select * by a select ids should
already be a big improvement. 

Ludo Brands

-
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

-
To unsubscribe, e-mail: issues-unsubscr...@dba.openoffice.org
For additional commands, e-mail: issues-h...@dba.openoffice.org


-
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org