summaryrefslogtreecommitdiff
path: root/connectivity/registry
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2018-01-02 22:49:31 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2018-01-04 07:50:22 +0100
commita29d97e6ddab8ec002ba9827bd5fc874117712e0 (patch)
treecbedfb8885b7980a4ea6ebb1347e2170a969b01a /connectivity/registry
parent1bbadad79d91005dc18a3c1e34de14d02660f6ab (diff)
tdf#104986 move named parameters substitution into generic layer
Previously, drivers were responsible for making the substitution themselves. In practice they all (Firebird, ODBC and JDBC) used the LibreOffice SQL parser to parse the SQL statement and do the substitution. This had a few negative consequences: * The substitition was applied to _all_ SQL commands, including queries having the "execute SQL directly" bit set. Which means that the SQL was _not_ sent to the DBMS exactly as typed by the user. Even if there was no substitution to be made, since the SQL command was always round-tripped through the parser, thus "normalising" it (which is what led to tdf#104986). * "execute SQL directly" queries "magically" behaved slightly differently depending on whether the LibreOffice SQL parser succeeded in parsing them or not. Change-Id: Ieedc643f33467435a139e2565a01e6f398af041f Reviewed-on: https://gerrit.libreoffice.org/47283 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
Diffstat (limited to 'connectivity/registry')
-rw-r--r--connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu10
1 files changed, 10 insertions, 0 deletions
diff --git a/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu b/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
index e5ff61f28262..03896aff4412 100644
--- a/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
+++ b/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
@@ -61,6 +61,11 @@
<value>false</value>
</prop>
</node>
+ <node oor:name="ParameterNameSubstitution" oor:op="replace">
+ <prop oor:name="Value" oor:type="xs:boolean">
+ <value>true</value>
+ </prop>
+ </node>
</node><!--Properties-->
<node oor:name="Features">
</node><!--Features-->
@@ -95,6 +100,11 @@
<value>false</value>
</prop>
</node>
+ <node oor:name="ParameterNameSubstitution" oor:op="replace">
+ <prop oor:name="Value" oor:type="xs:boolean">
+ <value>true</value>
+ </prop>
+ </node>
</node>
<node oor:name="Features">
</node>