This avoids asking the driver for the same data twice.
This is particularly important for ODBC data sources, because when asking for (VAR)CHAR data the second time, one gets no data (and status SQL_NO_DATA) because of the "retrieve in parts" semantics of these datatypes.
Change-Id: I96f2df9927fda72ccf19f78ec5c561f5626c003f
Instead, try to do the least unreasonable thing:
Fetch a new row
If that fails because no new row to fetch, at least we are properly positioned after last row. Calling code may not expect that and get confused, but that is the best we can do.
Change-Id: Ib7248e99ae3deee8344e9386cac2c9440e8bccd8
It makes no sense, because non-nullable columns can have NULL value.
E.g. in "foo LEFT JOIN bar ON condition", the non-nullable columns of "bar"
when it has no row matching "condition".
Even when we are about to insert/update a row, we should not put a
hard-coded value (that just happens to be the one constructed by the
C++ default constructor for that type) in non-nullable columns: there
is no guarantee that this value makes sense in that database's context.
The database may or may not have a default value set for that column.
If it has, we should leave it up to the database to set it automatically.
If it has not, an error *is* the right reaction.
Another place where this substitution does damage is when we refresh a
row. We use the values we have read from the primary key to select the
row again. So we should not mangle those, else the select returns no
row and we mistakingly think the row has been deleted.
* commit 'ooo/DEV300_m101': (76 commits)
masterfix DEV300: #i10000# usage of L10N build_type
removetooltypes01: Fix build problems after rebase to DEV300m99 in basctl, cui, reportdesign, sw
hr75: #i116747#: remove obsolete copyright notices
gnumake3: remove comphelper version; fix including extract.hxx
removetooltypes01: #i112600# Replace missing tools types replacement
removetooltypes01: #i112600# remove tooltypes from reportdesign
removetooltypes01: #i112600# remove tooltypes from dbaccess
undoapi: don't use deprecated JUnit API, this seems to fail now (but didn't before the rebase)
undoapi: those two classes do not belong into JAVATESTFILES, but JAVAFILES only
undoapi: (I|Sfx)UndoManager now working with size_t instead of USHORT
gridsort: give the UnoControl(Model/Base) classes a ctor taking a service factory, so we have access to the factory which created us, and don't need to resort to the process'es service factory
dba34b: #109956# notify column value in correct order
dba34b: #i114309# set default values for bit boolean and reset when we are on the insertrow
undoapi: assert unknown slots in ImplInvalidateFeature
dba34b: #i110907# check if design handle event
dba34b: #i109956# notify column values when row is refreshed
dba34b: #i115753# add test again
undoapi: renamed Undo.* to RptUndo.*, to not confuse a certain IDE with different same-named files in the source tree ...
undoapi: migrated report designer to use an own, model-bound UndoManager, instead of the UndoManager formerly bound to the controller
undoapi: split OSingleDocumentController into DBSubComponentController (which the report design's controller will be derived from) and the still-so-named OSingleDocumentController. Module reportdesign does not compile with this change, this is yet to come.
...
Conflicts:
dbaccess/inc/IEnvironment.hxx
dbaccess/inc/dataview.hxx
dbaccess/qa/complex/dbaccess/RowSet.java
dbaccess/source/core/api/CacheSet.cxx
dbaccess/source/core/api/KeySet.hxx
dbaccess/source/core/api/OptimisticSet.hxx
dbaccess/source/core/api/RowSet.cxx
dbaccess/source/core/api/RowSetCache.cxx
dbaccess/source/ext/adabas/Acomponentmodule.cxx
dbaccess/source/ext/adabas/Aservices.cxx
dbaccess/source/filter/migration/cfgimport.cxx
dbaccess/source/filter/migration/cfgimport.hxx
dbaccess/source/filter/migration/cfgservices.cxx
dbaccess/source/filter/migration/makefile.mk
dbaccess/source/inc/cfg_reghelper.hxx
dbaccess/source/sdbtools/misc/sdbt_services.cxx
dbaccess/source/shared/cfg_reghelper.cxx
dbaccess/source/shared/cfgstrings.cxx
dbaccess/source/shared/registrationhelper.cxx
dbaccess/source/ui/app/AppController.cxx
dbaccess/source/ui/app/AppDetailPageHelper.cxx
dbaccess/source/ui/app/AppDetailPageHelper.hxx
dbaccess/source/ui/app/AppDetailView.cxx
dbaccess/source/ui/app/AppIconControl.cxx
dbaccess/source/ui/app/AppSwapWindow.cxx
dbaccess/source/ui/browser/brwctrlr.cxx
dbaccess/source/ui/browser/dataview.cxx
dbaccess/source/ui/browser/unodatbr.cxx
dbaccess/source/ui/control/dbtreelistbox.cxx
dbaccess/source/ui/control/opendoccontrols.cxx
dbaccess/source/ui/control/tabletree.cxx
dbaccess/source/ui/dlg/ConnectionHelper.cxx
dbaccess/source/ui/dlg/ConnectionPage.src
dbaccess/source/ui/dlg/ExtensionNotPresent.cxx
dbaccess/source/ui/dlg/ExtensionNotPresent.hrc
dbaccess/source/ui/dlg/ExtensionNotPresent.src
dbaccess/source/ui/dlg/TablesSingleDlg.cxx
dbaccess/source/ui/dlg/adodatalinks.hxx
dbaccess/source/ui/dlg/dbadmin2.src
dbaccess/source/ui/dlg/dbadminsetup.src
dbaccess/source/ui/dlg/dlgattr.cxx
dbaccess/source/ui/dlg/dlgsize.src
dbaccess/source/ui/dlg/makefile.mk
dbaccess/source/ui/dlg/sqlmessage.cxx
dbaccess/source/ui/inc/ExtensionNotPresent.hxx
dbaccess/source/ui/inc/TokenWriter.hxx
dbaccess/source/ui/inc/imageprovider.hxx
dbaccess/source/ui/misc/DExport.cxx
dbaccess/source/ui/misc/HtmlReader.cxx
dbaccess/source/ui/misc/RowSetDrop.cxx
dbaccess/source/ui/misc/RtfReader.cxx
dbaccess/source/ui/misc/TokenWriter.cxx
dbaccess/source/ui/misc/imageprovider.cxx
dbaccess/source/ui/misc/linkeddocuments.cxx
dbaccess/source/ui/misc/singledoccontroller.cxx
dbaccess/source/ui/querydesign/ConnectionData.hxx
dbaccess/source/ui/querydesign/JoinTableView.cxx
dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
dbaccess/source/ui/querydesign/TableConnectionData.cxx
dbaccess/source/ui/querydesign/TableWindowListBox.cxx
dbaccess/source/ui/relationdesign/RelationController.cxx
dbaccess/source/ui/relationdesign/RelationTableView.cxx
dbaccess/source/ui/tabledesign/table.src
reportdesign/inc/RptPage.hxx
reportdesign/qa/complex/reportdesign/ReportDesignerTest.java
reportdesign/source/core/api/ReportDefinition.cxx
reportdesign/source/core/sdr/ReportUndoFactory.cxx
reportdesign/source/core/sdr/UndoEnv.cxx
reportdesign/source/filter/xml/xmlservices.cxx
reportdesign/source/ui/dlg/GroupsSorting.cxx
reportdesign/source/ui/dlg/Navigator.cxx
reportdesign/source/ui/inspection/metadata.cxx
reportdesign/source/ui/misc/RptUndo.cxx
reportdesign/source/ui/misc/UITools.cxx
reportdesign/source/ui/misc/rptuiservices.cxx
reportdesign/source/ui/report/DesignView.cxx
reportdesign/source/ui/report/FixedTextColor.cxx
reportdesign/source/ui/report/ReportController.cxx
reportdesign/source/ui/report/ReportSection.cxx
reportdesign/source/ui/report/SectionView.cxx
reportdesign/source/ui/report/SectionWindow.cxx
reportdesign/source/ui/report/StartMarker.cxx
reportdesign/source/ui/report/ViewsWindow.cxx
reportdesign/source/ui/report/dlgedfunc.cxx
reportdesign/source/ui/report/report.src
This reverts commit 8d33d95cde5f423aee284bbbcff810cbba1a910a.
I've been told by a german native speaker that the translation was mostly babelish
and quite incomprehensible, so revert for now.
I think I've translated most of the german stuff correctly (I speak
german somewhat, and used babelfish to help) .
From f203be2f74f8ea4df960876434f8e55cd7973ab9 Mon Sep 17 00:00:00 2001
From: Wol <anthony@youngman.org.uk>
Date: Sun, 7 Nov 2010 01:52:20 +0000
Subject: [PATCH] Miscellaneous spelling mistakes, german, and commented code