[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