dbaccess/source/core/api/KeySet.cxx | 2 - wizards/com/sun/star/wizards/db/SQLQueryComposer.java | 26 +++++++++++++++--- wizards/com/sun/star/wizards/ui/FilterComponent.java | 4 +- 3 files changed, 25 insertions(+), 7 deletions(-)
New commits: commit 0bc79eef361334040b41385953aaebb81e82b33c Author: Lionel Elie Mamane <lio...@mamane.lu> Date: Wed Oct 28 17:41:44 2015 +0100 base new query wizard: fix confusion between display name and field name Change-Id: I75354ffea2daede55b34e4cf3321d57196be3d9b diff --git a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java index 8305f09..4a7a679 100644 --- a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java +++ b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java @@ -77,7 +77,7 @@ public class SQLQueryComposer int iAggregate = CurDBMetaData.getAggregateIndex(CurDBMetaData.FieldColumns[i].getDisplayFieldName()); if (iAggregate > -1) { - sSelectClause += CurDBMetaData.AggregateFieldNames[iAggregate][1] + "(" + getComposedAliasFieldName(CurDBMetaData.AggregateFieldNames[iAggregate][0]) + ")"; + sSelectClause += CurDBMetaData.AggregateFieldNames[iAggregate][1] + "(" + getComposedAliasDisplayName(CurDBMetaData.AggregateFieldNames[iAggregate][0]) + ")"; if (_baddAliasFieldNames) { sSelectClause += getAliasFieldNameClause(CurDBMetaData.AggregateFieldNames[iAggregate][0]); @@ -85,7 +85,7 @@ public class SQLQueryComposer } else { - sSelectClause += getComposedAliasFieldName(CurDBMetaData.FieldColumns[i].getDisplayFieldName()); + sSelectClause += getComposedAliasDisplayName(CurDBMetaData.FieldColumns[i].getDisplayFieldName()); if (_baddAliasFieldNames) { sSelectClause += getAliasFieldNameClause(CurDBMetaData.FieldColumns[i].getDisplayFieldName()); @@ -181,7 +181,7 @@ public class SQLQueryComposer { sOrder += ", "; } - sOrder += CurDBMetaData.AggregateFieldNames[iAggregate][1] + "(" + getComposedAliasFieldName(CurDBMetaData.AggregateFieldNames[iAggregate][0]) + ")"; + sOrder += CurDBMetaData.AggregateFieldNames[iAggregate][1] + "(" + getComposedAliasDisplayName(CurDBMetaData.AggregateFieldNames[iAggregate][0]) + ")"; sOrder += " " + CurDBMetaData.getSortFieldNames()[i][1]; m_queryComposer.setOrder(sOrder); } @@ -307,7 +307,7 @@ public class SQLQueryComposer } } - private String getComposedAliasFieldName(String _fieldname) + private String getComposedAliasDisplayName(String _fieldname) { FieldColumn CurFieldColumn = CurDBMetaData.getFieldColumnByDisplayName(_fieldname); final String curCommandName = CurFieldColumn.getCommandName(); @@ -325,6 +325,24 @@ public class SQLQueryComposer return quoteName(curAliasName) + "." + quoteName(curFieldName); } + private String getComposedAliasFieldName(String _fieldname) + { + FieldColumn CurFieldColumn = CurDBMetaData.getFieldColumnByFieldName(_fieldname); + final String curCommandName = CurFieldColumn.getCommandName(); + final String curFieldName = CurFieldColumn.getFieldName(); + CommandName curComposedCommandName = getComposedCommandByDisplayName(curCommandName); + if (curComposedCommandName == null) + { + //return _fieldname; + if ( curCommandName.length() > 0 ) + return quoteName(curCommandName) + "." + quoteName(curFieldName); + else + return quoteName(curFieldName); + } + String curAliasName = curComposedCommandName.getAliasName(); + return quoteName(curAliasName) + "." + quoteName(curFieldName); + } + private CommandName getComposedCommandByAliasName(String _AliasName) { if (composedCommandNames != null) diff --git a/wizards/com/sun/star/wizards/ui/FilterComponent.java b/wizards/com/sun/star/wizards/ui/FilterComponent.java index ab6fa7a..38af3bc 100644 --- a/wizards/com/sun/star/wizards/ui/FilterComponent.java +++ b/wizards/com/sun/star/wizards/ui/FilterComponent.java @@ -119,7 +119,7 @@ public class FilterComponent String sControlNameSuffix = sIncSuffix + "_" + getIndexNumber(sControlName); XListBox xCurFieldListBox = UnoRuntime.queryInterface(XListBox.class, CurUnoDialog.xDlgContainer.getControl(sControlName)); String CurDisplayFieldName = xCurFieldListBox.getSelectedItem(); - FieldColumn CurFieldColumn = new FieldColumn(oQueryMetaData, CurDisplayFieldName); + FieldColumn CurFieldColumn = oQueryMetaData.getFieldColumnByDisplayName(CurDisplayFieldName); String sControlNameTextValue = "txtValue" + sControlNameSuffix; XControl xValueControl = CurUnoDialog.xDlgContainer.getControl(sControlNameTextValue); @@ -303,7 +303,7 @@ public class FilterComponent String FieldName; if (_CurDBMetaData != null) { - FieldColumn CurDBFieldColumn = _CurDBMetaData.getFieldColumnByDisplayName(_filtercondition.Name); + FieldColumn CurDBFieldColumn = _CurDBMetaData.getFieldColumnByFieldName(_filtercondition.Name); FieldName = CurDBFieldColumn.getFieldTitle(); } else commit 189c3a553ed962ed6d024f3a7c920e2f0c8f7138 Author: Lionel Elie Mamane <lio...@mamane.lu> Date: Wed Oct 28 17:39:40 2015 +0100 dbaccess KeySet: on insert, set NULL only when there is no default value Change-Id: I4f9ea6760a7e47d28fe378c8429fb286d6e7f33e diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx index 0497ec3..42b0c62 100644 --- a/dbaccess/source/core/api/KeySet.cxx +++ b/dbaccess/source/core/api/KeySet.cxx @@ -696,7 +696,7 @@ void OKeySet::executeInsert( const ORowSetRow& _rInsertRow,const OUString& i_sSQ { if ( !(_rInsertRow->get())[aIter->second.nPosition].isModified() ) { - if(aIter->second.bNullable) + if(aIter->second.bNullable && aIter->second.sDefaultValue.isEmpty()) { (_rInsertRow->get())[aIter->second.nPosition].setTypeKind(aIter->second.nType); (_rInsertRow->get())[aIter->second.nPosition].setNull(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits