[Libreoffice-commits] Changes to 'features/base-preview'
Lionel Elie Mamane
lmamane at kemper.freedesktop.org
Thu Jul 12 14:35:46 PDT 2012
New branch 'features/base-preview' available with the following commits:
commit de427ae0b5aa5c678756a0da7ba7ad58281fc000
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jul 12 23:28:10 2012 +0200
errors to stderr
Change-Id: I01756622dd7700d3918d156f118cd69c8a15879a
commit 5f2edd3dce58cf5241d926968b4572b90bd2a95a
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jul 12 23:23:03 2012 +0200
fdo#50800 populate composedCommandNames ASAP, not at call of getFromClause
In particular com/sun/star/wizards/ui/FilterComponent calls getSelectClause before calling getFromClause, and then all hell breaks loose: composedCommandNames is empty, thus cannot find the proper Alias column name, thus the column names in the select list were not properly escaped, ...
We have just made getFromClause quadratic instead of linear, but:
1) I do not think this would be a problem (small datastructures)
2) If it is, rather use a hashmap or something like that, wich will also make getSelectClause faster
Also make the fallback case of "unknown table" more robust: escape the table name (if any) and column name!
Change-Id: I474adc51fc6378d836bd5865d9eb9505983dcbc5
commit 4b971f0d37d262b5a6d60461af1eb6bdbd49f2af
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jul 12 18:10:14 2012 +0200
debug unexpected exception
Change-Id: I404072caf6ddab0ed833586066507c7d332fcea4
commit 495bdeeb3a5c12f3bc017832d58dac44b13d2308
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jul 12 13:07:03 2012 +0200
fix hsqldb java version detection
1) The values were not properly exclusive.
E.g. when compiling under OpenJDK 1.6, iscjava12 was set (!)
2) On Java 1.6, should not enable the parts that are (only) for Java7!
3) When non-JAVA7, need to preprocess the files that have JAVA7-only code, so that it gets removed
Change-Id: I99b6bd9e781fee1007a04a4dc3d3f952c1b2eb00
commit ae2653c27a40c3b284b7ad531376dcc497a2b508
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jul 3 20:17:01 2012 +0200
embedded HSQLDB: reclaim space occupied by deleted rows
Disadvantage is that saving/closing the file may take a significantly longer time
Change-Id: I1cc35c34b49e60d73e8d341549c5a3c5ef314b6d
commit 68ac90218242f3fdec5dd87ed6d1dcf5c2f056f9
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jul 2 19:33:38 2012 +0200
LEM notes
Change-Id: I16939e5d6e1f7c0a83f7f2b2dbc9a5b397b45c36
commit 46bf7d186474b2599280d09d033b4a5f5c122027
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jul 2 14:48:03 2012 +0200
janitorial: remove unused xParamsAsNames variable
Change-Id: Ic4fe24faf75d38a8123a8f0e8304c054760bad85
commit 92345e31f5f5f0b76aa1e30bc65557a3b3eaa509
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 45eaecf32e5baecc01e43c18682346571a5621e8
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 9ec8dce7d0a48293f460cffb65be37bd03585ef9
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 f1ba4fc0b016c419b0d48aad20902e1571ed0a42
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 a1b33c586d6c332a2d44a2c73106d5a7fb7a8087
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:50 2012 +0200
cleanup
Change-Id: I1ce4279d434ffa58328e17863b2e68af1e813a99
commit 74ee9e71708d4ecaf44e1e74a3cca212eeaf07b2
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:30 2012 +0200
untabify
Change-Id: I984c84534cb4c6cda8bd73a43d79ec8e49afcdeb
commit 4dbd5facab82221e55b0cd57787e55acdfd14978
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 b37bc9770c7837ad224256a8cd7926e2559ee6ba
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 d7b8a80cd52e4a0775a2c48672d8637084623f8e
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 53cba6214946b6a080bcaa48e2e6fd67a678e723
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Jun 4 17:35:52 2012 +0200
typos in comments
Change-Id: I1dbb1990033602d7909ecdee72b8b699cce44cab
commit 4b7663d73a40f703f09650872589ab0ea29922cb
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 f9fab620f1293226c5cc543c29943c38ddeecb0c
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 6681f523acfc8e729239183e219274d804844fda
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 0d5bf87d70401f19e31c0a87b457acee449f3bf7
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Fri Jun 1 14:49:02 2012 +0200
Update comments
Change-Id: I7e3f09d61cb35165000a35c8d3c3f2d284cf164e
commit fbed09ea6c712a4cf869add5dd193ac8ba4d31c2
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 3ef7d2c68c949cf7a24de4f32a86ac252811847d
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 1c0b9d7853e379873109612a2ec183575d3b3b3d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Feb 27 13:47:24 2012 +0100
fdo#46675: fixup
commit a8246df844fcb4d18563382b3f45f8f7bd03275a
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 cfc3ee1bc52c20632d91f709e3cffa2c1c1705c2
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 16 09:29:54 2012 +0100
correct indentation
commit 70235c3842f2b567608ee0346bfc32a782d14fe9
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 9d61e9995f3b434d35d1315b19f1664986b3755c
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 8663512d63552c800697f3c2a28d9b6809db5e65
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 d2ef857c96d3d66ba87d5f994ec77025fbfbada6
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Feb 14 19:39:01 2012 +0100
comphelper: add getINT64
commit 4f32bee95ca8e9b3f3066d88913dcbc47acef75a
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 2007c3d525fe4adfb804e02efc2c5906ac77db07
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 4666f825b8e477990389663e7ceb4bb5c22851ad
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 91410fccf43f5613d76ab0620d43f93bb0c6fd54
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Feb 13 17:53:19 2012 +0100
ResMgr::TestStack more robust
commit 4dbf530884df30c6300f3f198be634b2c15f61d4
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 445a964a8184516b1ee43ca1cdc8b768cb614a2d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Feb 9 13:04:34 2012 +0100
typo in comment
commit 0abe95d89c662af0ca4d08b3ea654214da43412d
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 d50a31741edd1fb3f48a2312d19d2a3d64bd8be0
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 aa4bfe850570817919f551e453f5585a59028a65
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 a80f6aa3749b7c68df74906ccaac234b06bb296e
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 65093a6af9d6208c1181aab04d215fa5af701740
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 68d84c511f926c0d15726740a31c0b00a3f60eb6
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Feb 1 18:03:40 2012 +0100
pgsql: clean comments
commit 3d76752136ba39eb1423d59706b28467b0f84e6a
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 ede8e37d42772c45682091b192ce17bf614ee617
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 1720d90a5271682f25a1724a3cc9d1ad6ebc0546
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 b3f1f74c06c2f59517e4232947a0fbad96fb79c5
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 fda0fc1be26ef4804acbe59d0a173973a0200408
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jan 19 20:20:06 2012 +0100
ORowSetCache: overhaul internals
commit 1faa533c1949564ae7e197adff2a62b44ae5a2dd
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 042d764bafab91fba72d2a893fcf253cf3f457a3
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 83e151f9849e90928068191179a9c05e5178bbad
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 37c63cadb5b21bd672a66cf837409bf7a283eb2a
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 d49bae5bd13ad9b7292de142dd2b677fc95603f7
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jan 18 12:31:06 2012 +0100
janitorial: typo in comments
commit a8465346c136764b6c8b2d8c18a2187a2ff766b3
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 c6ceb7ea1e0944eff401dcf8638f776b6c384cbd
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue Jan 17 09:27:40 2012 +0100
janitorial: typo in private member name
commit 059cdf8ce7e6495fc38f190a621a6b44121db5bf
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 e6d42f6d584f609c50a26ff56e11ba26a0eb62f3
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 8f03dd11e53e27a653046d5963243e329edfbcb6
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 ffed2c7e45629cffad667581bc906ee5e7a777fc
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Sun Nov 20 17:37:39 2011 +0100
LEM TODO note
commit 496e148d688e615025cd31fa848924770b3377e9
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