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

Reply via email to