[Libreoffice-commits] Changes to 'features/base-preview'

Lionel Elie Mamane lmamane at kemper.freedesktop.org
Tue Jul 3 11:17:26 PDT 2012


New branch 'features/base-preview' available with the following commits:
commit 0aff429e7606eac6018d1163b2f94b6ef6ad5739
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 f711f9561719a1c450ff10bf75a682dfe67f7810
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Jul 3 20:00:06 2012 +0200

    fdo#36824 hsqldb properly escape automatically built names
    
    Change-Id: Id2c36fb24d1f7c8f8e9800c10226323594bb766e

commit 637018271e6bde5af180bfde124173af2c8f2b71
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Mon Jul 2 19:33:38 2012 +0200

    LEM notes
    
    Change-Id: I16939e5d6e1f7c0a83f7f2b2dbc9a5b397b45c36

commit 847a70c418c8da0b773027ad3b8280c9716efb77
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 9a2c760bc2b54e3e5af8f797dd99c23b502494ca
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 6f29429a844f18fbe490281c23e3a25e20e9cfea
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 0355a0baf5a64c96a84ba6b6bee372f7a2d27354
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 03a21c22b46146c3394ceeed57e603ec52f2ba16
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 71c083a7d806b8e46b4b88005dba1b1e2c8c4e37
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jun 6 14:23:50 2012 +0200

    cleanup
    
    Change-Id: I1ce4279d434ffa58328e17863b2e68af1e813a99

commit fbfa20ca3a063efd403895feca256795353ff3ab
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jun 6 14:23:30 2012 +0200

    untabify
    
    Change-Id: I984c84534cb4c6cda8bd73a43d79ec8e49afcdeb

commit 408e8222e2764c3658e8da06487fa8437c55f948
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 145e3b7c91b5bd81b8b5c068c371629b87dfcbbd
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 501d2e32d5f2095c47a74676e2b071fe84f6c2e8
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 03e37693f8d44c7f601e579fca085e35913ed98c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Mon Jun 4 17:35:52 2012 +0200

    typos in comments
    
    Change-Id: I1dbb1990033602d7909ecdee72b8b699cce44cab

commit a08c895f5d35bfa5f13e2f9ba073c11ca9ea4561
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 f3259b95e4adea66fd9951d1ce32f06501ca4021
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 69ad7d92a0d992ba7084257d38f550c54510b109
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 e7371aa855d4878022bf736d1e8807748d04d842
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Fri Jun 1 14:49:02 2012 +0200

    Update comments
    
    Change-Id: I7e3f09d61cb35165000a35c8d3c3f2d284cf164e

commit ffd44d7360b3967302c8b9d16b64a634bae39a0e
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 84ae3446d878691140ce2aa8d572c63681a280d7
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 17e5e8a714969b9a8593c9442c898e5da6bc2d70
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Mon Feb 27 13:47:24 2012 +0100

    fdo#46675: fixup

commit 7a12fb299fed58e4fa82e8f3bcba74d927cc16e6
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 34c2b7303e756280ebc6341c429f1f69e920a360
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Feb 16 09:29:54 2012 +0100

    correct indentation

commit 133ccb127baa576b68cd5dd0e74fe269f956f4c4
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 069e321c97695d69ae9aa0221df1e87992646dcd
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 988b9d09b0a3e63118b45df2ed21123659df45df
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 9ed1b57458d712bfe95f3383fd26dc68a646d6f3
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Feb 14 19:39:01 2012 +0100

    comphelper: add getINT64

commit b2e05fc021cb2d77e2f09254499b4c694ad030b5
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 047cbd02865655e402f011b6092d174ab9234d19
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 68c81fb53dade3ea3e5e4a5336b4e72aa8073f71
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 5e9b68f00f6e3e6044def32fda8bef7dda07d2ce
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Mon Feb 13 17:53:19 2012 +0100

    ResMgr::TestStack more robust

commit 333c6837fa11b6afb63a3da9eeaed91865044f81
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 a0ae1bab22c570ae2d1c9d14d6c121dcaa53e16d
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Feb 9 13:04:34 2012 +0100

    typo in comment

commit 16506c7ccce685351ac0665e9a1c37e5854aca27
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 71f036ae55697cd300a9f6c99c4f89b8cba21140
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 13562bcbb8cb301e8afd4ea10efd166547816500
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 82e93757a9793030a2643966bcbfd0c201e3b374
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 8f83ca43a30b13d143b633e2b6926f05f84a40ed
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 af3e4c4928313219685504f7880737d1a8e001f8
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Feb 1 18:03:40 2012 +0100

    pgsql: clean comments

commit 8810efc13b84da36943d0465b90dcb37fdebec5c
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 9ca0dbd9636bef60fd9e9497cc379a857afef194
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 7195242607a0a27f1c9c3dd77cfbc379c37190d1
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 cefa793bda5585473de6764aba94d3e8c67c8b91
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 bd571fc9b6a0940446470ced90dab79df9217f3c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Jan 19 20:20:06 2012 +0100

    ORowSetCache: overhaul internals

commit c6ebed44596884a4f1c693008df40a8a02728633
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 b8c5ab07c5cfb09b66e8ffd9be14e23de50a006d
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 f4d5d6f57851027db54ed1b8ee84cefa17f1bed2
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 ca39bc200014eb9b963640f29c208b6fe6319db7
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 5efabca02e91a0d2e3e3bfbe1ff5de72e37984d5
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jan 18 12:31:06 2012 +0100

    janitorial: typo in comments

commit 1808350e69e47c69e1c7ee9d6d0c4b0582264a53
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 d8912fa41938aee749a42e763a51c1c71c2dbd2f
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Jan 17 09:27:40 2012 +0100

    janitorial: typo in private member name

commit dcc18263ece68ae12ebe430b0193efd1d0d1c797
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 38d4067adc3bc54b902e978f6533f4380b805137
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 d1647a6a7391b9ac4bc2fa29fa428b3b87bbd864
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 e81fac84dd08546fe1a27c15b9aa90f41dabea12
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sun Nov 20 17:37:39 2011 +0100

    LEM TODO note

commit 5a1ce228858e3ce16b27c9080af1cdd6e893bd34
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