office-gobmx/connectivity/Module_connectivity.mk
David Ostrovsky 2bd856e643 ORowSetValue: clean up sign/unsigned union member
Also switch BOOLEAN constructor from sal_Bool to bool.

old/new signed/unsigned storage situation:

-------------------------------------------------------
 SQL type | signed    | unsigned old     | unsigned new
-------------------------------------------------------
 TINYINT  | sal_Int8  | sal_Int16        | sal_uInt8
 SMALLINT | sal_Int16 | sal_Int32        | sal_uInt16
 INTEGER  | sal_Int32 | sal_Int64        | sal_uInt32
 BIGINT   | sal_Int64 | pValue (String*) | sal_uInt64
-------------------------------------------------------

When sticking an UNSIGNED TINYINT into an Any,
silently promote it to UNSIGNED SMALLINT (that is sal_uInt16),
else Any would take it as a sal_Bool and normalise to
sal_True (1) or sal_False (0).

When constructing an ORowSetValue from a sal_Bool,
silently keep it as an unsigned 8 bit integer
(that is understand it as a sal_uInt8).
This will work in most cases,
since when asked back for a bool or sal_Bool,
we'll give back the right value.
Only code looking at the type tag could possibly
make a "wrong" decision.
The main (hopefully only?) path
through which this would happen is
through an implementation of
  XParameters::setBoolean
  XRowUpdate::updateBoolean
that would use its sal_Bool argument
to construct an ORowSetValue.
So make sure each implementation
constructs a proper BOOLEAN so as not to get confused.

For authorship/copyright purposes, this patch is a cooperation between
 Lionel Elie Mamane <lionel@mamane.lu>
and
 David Ostrovsky <david@ostrovsky.org>

Change-Id: I3f1f08716127147f077bff4edb6ec558b1b09e09
2013-02-05 15:46:17 +01:00

170 lines
3.8 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License or as specified alternatively below. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# Copyright (C) 2011 Peter Foley <pefoley2@verizon.net> (initial developer)
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
$(eval $(call gb_Module_Module,connectivity))
ifneq (,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_targets,connectivity,\
AllLangResTarget_cnr \
AllLangResTarget_sdbcl \
AllLangResTarget_sdberr \
Configuration_calc \
Configuration_dbase \
Configuration_flat \
Configuration_mysql \
Configuration_odbc \
Library_calc \
Library_dbase \
Library_dbpool2 \
Library_dbtools \
Library_file \
Library_flat \
Library_mysql \
$(if $(filter ANDROID IOS,$(OS)),, \
Library_odbc \
Library_odbcbase) \
Library_sdbc2 \
Package_generated \
Package_inc \
))
ifneq ($(SOLAR_JAVA),)
$(eval $(call gb_Module_add_targets,connectivity,\
AllLangResTarget_hsqldb \
Configuration_hsqldb \
Configuration_jdbc \
Jar_sdbc_hsqldb \
Library_hsqldb \
Library_jdbc \
))
endif
ifneq ($(OS),WNT)
ifeq ($(ENABLE_KAB),TRUE)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_kab \
Library_kab1 \
Library_kabdrv1 \
))
endif
ifeq ($(ENABLE_TDEAB),TRUE)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_tdeab \
Library_tdeab1 \
Library_tdeabdrv1 \
))
endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_macab \
Library_macab1 \
Library_macabdrv1 \
))
endif
endif
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_ado \
Library_ado \
))
endif
ifeq ($(ENABLE_EVOAB2),TRUE)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_evoab \
Library_evoab \
))
endif
ifeq ($(BUILD_POSTGRESQL_SDBC),YES)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_postgresql \
Library_postgresql-sdbc \
Library_postgresql-sdbc-impl \
Package_postgresql-sdbc \
Rdb_postgresql-sdbc \
))
endif
ifeq ($(OS),WNT)
ifeq ($(WITH_MOZAB4WIN),YES)
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_mozab \
Library_mozab \
Library_mozabdrv \
))
else
$(eval $(call gb_Module_add_targets,connectivity,\
Library_mozbootstrap \
))
endif
else ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_targets,connectivity,\
Configuration_mork \
Executable_mork_helper \
Library_mork \
Library_mozbootstrap \
))
$(eval $(call gb_Module_add_check_targets,connectivity,\
CppunitTest_connectivity_mork \
))
endif
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_check_targets,connectivity,\
CppunitTest_connectivity_ado \
))
endif
ifneq ($(filter QADEVOOO,$(BUILD_TYPE)),)
$(eval $(call gb_Module_add_subsequentcheck_targets,connectivity,\
Jar_ConnectivityTools \
))
# FIXME: Does not work. Convert to JUnit.
# JunitTest_complex \
endif
# general tests
$(eval $(call gb_Module_add_check_targets,connectivity,\
CppunitTest_connectivity_commontools \
))
endif
# vim: set noet sw=4 ts=4: