[Libreoffice-commits] Changes to 'features/base-preview'
Lionel Elie Mamane
lmamane at kemper.freedesktop.org
Tue Jun 19 21:40:50 PDT 2012
New branch 'features/base-preview' available with the following commits:
commit 2354cf3bc358ffb627a49ddc58f54b27addefd55
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Nov 24 19:37:46 2011 +0100
fdo#37626: form wizard recognise "#" also at beginning of line
This was keeping the Base form wizard from applying styles
commit aec2c75c94d4232bf02ad62b2149a085eb68d8eb
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:28:50 2012 +0200
legacy reports: unify treatment of query and table
In *both* cases, the value of hidden control "Sorting" (if non-empty)
decides the columns being sorted on.
Change-Id: I7f4b50c3af8c12e48e5dedd36b5877ad7a9e1b66
commit 60bcfe356bd4c18818210a0cacf5a4f7b2f1ba2d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:26:58 2012 +0200
legacy report wizard: when source is table, save name in QueryName
Change-Id: Ie0bdbed9578b95f7fccc3d9ff6d9c8b5b91ac0ab
commit 935c15eaf1bb83fb05233f059c5b2cb6c6e0fd2b
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:25:51 2012 +0200
SQLQueryComposer allow setQueryCommand with prependSorting instead of append
Change-Id: Ia06794537ea4d0f6f069c83709792ebbcc084804
commit bc9c7f54c1fea0adef0f5465f3df3a53d897a280
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:24:54 2012 +0200
db.SQLQueryComposer allow prependSortingCriteria call with addAliasFieldNames
Change-Id: I05889ccac213743a55c302bd7249b30f817c0428
commit e662d30a93d99c251a44e0605937717c13183ba3
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:50 2012 +0200
cleanup
Change-Id: I1ce4279d434ffa58328e17863b2e68af1e813a99
commit fc849458df8206938b5511a1e9ed7916f7815683
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:30 2012 +0200
untabify
Change-Id: I984c84534cb4c6cda8bd73a43d79ec8e49afcdeb
commit 07df9d1443b63fa9fc75521c2e84bf66c56222bd
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:54:30 2012 +0200
i#102625 avoid fetching same row twice in different queries
We do a "SELECT * FROM table" just to fetch the primary key columns;
so reuse the same XResultSet to fetch all columns.
Else, we immediately issue a "SELECT * FROM table WHERE
primary_key=current_value" to read the other columns, which is
wasteful and particularly silly.
Commit 1ae17f5b03cc14844fb600ca3573a96deb37ab3b already tried
to do that, but was essentially reverted piecewise because
it caused fdo#47520, fdo#48345, fdo#50372.
Commit c08067d6da94743d53217cbc26cffae00a22dc3a thought it did that,
but actually reverted commit 1ae17f5b03cc14844fb600ca3573a96deb37ab3b.
This implementation fetches the whole current row and caches it in memory;
only one row is cached: when the current row changes, the cache contains
the new current row.
This could be problematic (wrt to memory consumption) if the current
row is big (e.g. with BLOBs) and nobody is interested in the data
anyway (as would often be the case with BLOBs). Note that because of
our "SELECT *", the driver most probably has it in memory already
anyway, so we don't make the situation that much worse.
This could be incrementally improved with a heuristic of not
preemptively caching binary data (and also not LONGVARCHAR / TEXT /
MEMO / ...); a getFOO on these columns would issue a specific "SELECT
column FROM table WHERE primary_key=current_value" each time.
The *real* complete fix to all these issues would be to not do "SELECT
*" at all. Use "SELECT pkey_col1, pkey_col2, ..." when we are only
interested in the key columns. As to data, somehow figure out which
columns were ar interested in and "SELECT" only these (and maybe only
those with "small datatype"?). Interesting columns could be determined
by our caller (creator) as an argument to our constructor, or some
heuristic (no binary data, no "big" unbound data).
Also be extra smart and use *(m_aKeyIter) when getFOO is called
on a column included in it (and don't include it in any subsequent
SELECT).
However, there are several pitfalls.
One is buggy drivers that give use column names of columns that we
cannot fetch :-| Using "SELECT *" works around that because the driver
there *obviously* gives us only fetchable columns in the result.
Another one is the very restrictive nature of some database access
technologies. Take for example ODBC:
- Data can be fetched only *once* (with the SQLGetData interface;
bound columns offer a way around that, but that's viable only for
constant-length data, not variable-length data).
This could be addressed by an intelligent & lazy cache.
- Data must be fetched in increasing order of column number
(again, this is about SQLGetData).
This is a harder issue. The current solution has the nice advantage
of completely isolating the rest of LibO from these restrictions.
I don't currently see how to cleanly avoid (potentially
unnecessarily) caching column 4 if we are asked for column 3 then
column 5, just in case we are asked for column 4 later on, unless
we issue a specific "SELECT column4" later. But the latter would be
quite expensive in terms of app-to-database roudtripe times :-( and
thus creates another performance issue.
Change-Id: I999b3f8f0b8a215acb390ffefc839235346e8353
commit ad554ae63bf7f5b8effb2bfb11e1214dfd009731
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:41:33 2012 +0200
Need to refresh row after moving to bookmark!
Change-Id: Ia8d12d02829087309e248506a7d3b0f94b5a425e
commit 27ffc0cb983a436c87ccc35f6865ad00e2dabdc0
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:40:30 2012 +0200
Cleanup m_xSet in destructor
Change-Id: I3d7023fcb1857da1ef107a8af0d373b9ca464f03
commit 0ada9758eba13d9841d8c9208076e1c45ede6793
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:35:52 2012 +0200
typos in comments
Change-Id: I1dbb1990033602d7909ecdee72b8b699cce44cab
commit bf5c2560870cb8089b9f1b8560f817a359b1321b
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:31:25 2012 +0200
Remove wrong optimisation
fixup of d4ae29a37873843c20fe7d5f5f071f8fb201fed9
after the call to m_pCacheSet->absolute_checked, the data *is* used,
so we cannot anymore exempt m_pCacheSet from giving correct data.
Change-Id: I7d3644ca08ce43cb030a80984605a1f8a8a64211
commit 22cfddcc3cc57a6d734a2f0d83fcee83d9fded91
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Fri Jun 1 15:42:27 2012 +0200
OKeySet::refreshRow: Invalidate m_xRow/m_xSet when BeforeFirst or AfterLast
Change-Id: I0f48c099eddc077b2a89e3b7fab66b5da55b57c8
commit ed8b299f0226ee6c40e55e894cb4ecedc226edfc
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Fri Jun 1 14:52:46 2012 +0200
organise & comment code better
Continuation of commits to fix fdo#48345
Change-Id: Ie28f6a55cd8715a7180f5d88fe23c5b310440744
commit 2dbee49d5f577ed62ce7627003d18141e437ed09
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Fri Jun 1 14:49:02 2012 +0200
Update comments
Change-Id: I7e3f09d61cb35165000a35c8d3c3f2d284cf164e
commit 89176ae22d905d397916bb128a0874ac6af603cd
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Fri Jun 1 11:38:59 2012 +0200
dbaccess::OKeySet::wasNull(): OSL_ENSURE we have a m_xRow
Change-Id: I087d2893d853f431d27c592ba26bdc16e0a9cb84
commit afb35064a1caafdd2b1c44c326c9a56186f95475
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Apr 4 16:00:52 2012 +0200
ORowSetCache::moveWindow m_nEndPos == m_nStartPos == 0 is OK
commit ecab6ad7695b5e0b17cdba7213018b6fd4b543d5
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Feb 27 13:47:24 2012 +0100
fdo#46675: fixup
commit 96810356b658ea6ba4a5a547cd8a14ead5582001
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Feb 27 13:10:40 2012 +0100
fdo#46675: expand group memberships in get*Privileges
commit 4090e7438c1cbb1cc566bb3d9155f39489bc5edc
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 16 09:29:54 2012 +0100
correct indentation
commit 421e63374282e535e8f0941773493b8d2dce2ade
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 16 09:11:08 2012 +0100
typo & copy/paste error in error message
commit 3176b5dbb7502bd22b63be3e8b50b7f5685feb36
Author: Kate Goss <katherine.goss at gmail.com>
Date: Mon Feb 13 21:53:08 2012 +0000
Remove unused code from connectivity::odbc::OPreparedStatement
Remove methods getDataBuf(int), getParamLength(int), getPrecision(int).
commit bf5478a9d432cdf7a57e38c05c0899ab806f9c6a
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 19:41:08 2012 +0100
ODBC: align *all* the handling of SQLULEN properties with maximal ODBC size
commit 79b311ebec2568f41e2a73def81210fce66890c1
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 19:39:01 2012 +0100
comphelper: add getINT64
commit 86aa4d619bf3e3161817ce9e03fdcff452715847
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 18:34:52 2012 +0100
improve OTools::binParameter/bindData interaction
Don't duplicate the decision point for "data at execution or copied data"
commit 669302161facd2a4148b6126b7001f436a676377
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 09:49:19 2012 +0100
new[] already allocates each element of the array
And calls the default constructor, naturally.
commit bae845382cd154d51c2aaa6bbd312f8a7483d821
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 06:27:51 2012 +0100
odbc getTableTypes: ask the driver instead of guessing
commit d1f489e3c2d6d46e91dd466432f559fcfc5a1b64
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Feb 13 17:53:19 2012 +0100
ResMgr::TestStack more robust
commit 2851fce192bc7811d701a7c96438bf576ed515a9
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 9 13:06:27 2012 +0100
reorganise code for better readability
No behaviour change intended. However, if behaviour changed, probably the *old* behaviour is buggy, not new one.
commit 8efac51d9fb84f814a93eb2f90c24b853cd7db7e
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 9 13:04:34 2012 +0100
typo in comment
commit 8e19b4de40fbe1f9073195f8d9b19d4cb965a196
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 9 13:03:24 2012 +0100
ORowSetCache::moveWindow: yet another off-by-one error
commit 83fd0bea7d0511571220094e948b18366e434435
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Feb 8 19:08:20 2012 +0100
ORowSetCache::moveWindow fix variable inversion; fixes subsequentcheck
commit 726484af82f7c3bef21941e4ea09d2eecfb876d8
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Feb 8 12:41:54 2012 +0100
ORowSetCache: handle case total data < m_nFetchSize
As a drive-by: fillMatrix update m_nEndSize
commit c1a9022dd80922d136d0b83dab3d8b5386468cb8
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 31 11:39:47 2012 +0100
pgsql: simpler / safer check for system column
commit 69ef0aed640d2e3d379245aea62095e3221b0a7d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Feb 1 18:28:59 2012 +0100
pgsql: implement getColumnPrivileges, generate statement only once
commit e82156857f8b6fa763bfd93cd68d0a492c2c8d60
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Feb 1 18:03:40 2012 +0100
pgsql: clean comments
commit 3ee72daf6e3783244c81b549ac5dd2d6103ee39c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 31 22:53:31 2012 +0100
ORowSetCache: keep m_nEndPos better up-to-date
commit 87a94de25579c0a76a856a65dc7fc08d31e32e90
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 24 22:20:31 2012 +0100
make OTools::getValue insanely safe, factorise get{Int,Long,Byte,...}
commit 88b3a2a912ae5f69f441b9664611cd0b023b1379
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jan 23 10:19:55 2012 +0100
ORowSetCache::fillMatrix(): fix case m_nFetchsize > table size
When lowering m_nStartPos, do not duplicate rows above its old value
commit 75938cff5c863d86073b3e6a94f19423cfd63883
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Sun Jan 22 01:35:58 2012 +0100
ORowSetCache::fillMatrix(): correct off-by-one error
Symptom: segfault.
Thanks to Julien Nabet for precise pointer to problematic code.
commit 6be2a9e929ee9a4a77def4a87af98837ed225be9
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jan 19 20:20:06 2012 +0100
ORowSetCache: overhaul internals
commit 9de72c1b44ca631f10cf2364a336c71d4c0443d3
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jan 19 17:54:10 2012 +0100
janitorial: don't rely on detail of current OSL_ENSURE implementation
As in: that the compiler won't see the variables in the condition when OSL_DEBUG_LEVEL==0
commit f7f7e2c71615a9dd6c5272c3d00f84a574876bce
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jan 19 17:49:32 2012 +0100
column position 0 is perfectly valid
On the other hand, column position 1 is not guaranteed to exist.
nCurPos will be BROWSER_INVALID_ID, not 0, in case of error in setting it
commit a549b9898db3e29ced6bde5f8d242e1376cceda7
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jan 18 13:51:14 2012 +0100
Oups... where is my brown paper bag?
commit d868cac67e9afd5f1ca3a1fd2b98ab3310bad25a
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jan 18 13:10:12 2012 +0100
OKeySet: tryRefetch and refreshRow share most of their code
commit d8f1c28bee58c08ee4c0c6d69ed5fa6e8acb5dbe
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jan 18 12:31:06 2012 +0100
janitorial: typo in comments
commit 5afaf733796d79bc860ac9c21ebc5e712083095b
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 13:34:04 2012 +0100
DbGridControl::SeekCursor: show exception when seek fails (and debug build)
commit cb3ad8a67717fe980d90a91c333f444488f3d90c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 09:27:40 2012 +0100
janitorial: typo in private member name
commit c569fa06b38f155b47fd1ddaf96a131da8d48587
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 09:26:41 2012 +0100
janitorial: const iterator where may be, indentation
commit 341953886d0019487b34a8ba5c0b7aa5b589838d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 15:21:41 2012 +0100
Also teach "foo IS [NOT] bar" to our SQL parser (when bar is not NULL)
Syntax supported by at least SQLite.
commit 68ae26228481bbe64b13f8f73edb7a861db5c2da
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 09:03:17 2012 +0100
fdo#44813: teach "IS (NOT) DISTINCT FROM" to our SQL parser
commit e9c837514f6af59c6193fecf9dccd2a4061c0212
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Sun Nov 20 17:37:39 2011 +0100
LEM TODO note
commit f2ffc2f902cc741813775fe958a6d37d34e42974
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Nov 23 21:34:18 2011 +0100
maximal debugging information
More information about the Libreoffice-commits
mailing list