diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-04-25 19:49:33 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-05-03 14:33:32 +0300 |
commit | 68ff3d1fa1c8eb86bf89b7b9cbad78a45f362672 (patch) | |
tree | cdaaf84ceeb7f5c4ee7e06f84fed383a18d40350 | |
parent | 6fad72ea59dca2f2cc9e431bcc5a026bda17fdf2 (diff) |
Add support for testing of libodb-mssql to odb-tests
116 files changed, 1286 insertions, 1511 deletions
@@ -41,11 +41,13 @@ bdep config create @host ../odb-host --type host cc config.cxx=g++ bdep config create @sqlite ../odb-sqlite cc config.cxx=g++ bdep config create @pgsql ../odb-pgsql cc config.cxx=g++ bdep config create @mysql ../odb-mysql cc config.cxx=g++ +bdep config create @mssql ../odb-mssql cc config.cxx=g++ bdep init @host -d odb bdep init @sqlite -d libodb -d libodb-sqlite -d odb-tests bdep init @pgsql -d libodb -d libodb-pgsql -d odb-tests bdep init @mysql -d libodb -d libodb-mysql -d odb-tests +bdep init @mssql -d libodb -d libodb-mssql -d odb-tests ``` Note that while the target configurations can use any compiler (and you can @@ -65,6 +67,9 @@ bdep init @pgsql -d libodb -d libodb-pgsql -d odb-tests ?sys:libpq { @host }+ ?s bdep init @mysql -d libodb -d libodb-mysql -d odb-tests ?sys:libmysqlclient { @host }+ ?sys:mysql-client/* ``` +Note that the client libraries and tools for Oracle and Microsoft SQL Server +are supposed to be system-installed. + You can also create a target configuration for testing multi-database support. For example: diff --git a/libodb-mssql/manifest b/libodb-mssql/manifest index 856b67a..9d4c165 100644 --- a/libodb-mssql/manifest +++ b/libodb-mssql/manifest @@ -25,23 +25,124 @@ depends: * bpkg >= 0.16.0- depends: libodb == $ depends: * cli ^1.2.0- ? ($config.libodb_mssql.develop) -# @@ TMP: drop develop (also drop in odb-tests/build/root.build). -# tests: odb-tests == $ \ - ? ($config.odb_tests.develop && !$defined(config.odb_tests.database)) config.odb_tests.database=mssql + ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mssql + +# Note: common for all the build configurations. +# +build-auxiliary: *-mssql_* + +# Note that we can only test on custom bots since the proprietary software +# needs to be installed into the system. +# +builds: none ; Requires proprietary software. -# @@ TMP +# Instead of the default configuration (see odb-tests for background). # -builds: windows ; Requires not yet packaged libunixodbc (unixODBC). -#builds: windows mssql +custom-builds: latest ; Requires proprietary software. +custom-builds: &( +( +windows &msvc ) +( +linux &gcc ) ) ; Only test on Windows and Linux with main compiler. +custom-builds: -static ; Implementation uses plugins and requires -fPIC. +#custom-build-bot: -- see below. +custom-build-config: +\ +{ + config.odb_tests.mssql.user=$getenv(DATABASE_USER) + config.odb_tests.mssql.passwd=$getenv(DATABASE_PASSWORD) + config.odb_tests.mssql.database=$getenv(DATABASE_NAME) + config.odb_tests.mssql.host=$getenv(DATABASE_HOST) + config.odb_tests.mssql.port=$getenv(DATABASE_PORT) + config.odb_tests.mssql.driver=$getenv(MSSQL_ODBC_DRIVER) +}+ odb-tests +\ -# Only build this package configuration where it can be tested via odb-tests -# package (see its manifest for details). +# Instead of the multi configuration (see odb-tests for background). # -#multi-builds: mssql -#multi-build-config: -#\ -#{ 'config.odb_tests.database=mssql sqlite' }+ odb-tests -#; -#Enable testing in dynamic multi-database mode. -#\ +custom-multi-builds: latest ; Requires proprietary software. +custom-multi-builds: &( +( +windows &msvc ) +( +linux &gcc ) ) ; Only test on Windows and Linux with main compiler. +custom-multi-builds: -static ; Implementation uses plugins and requires -fPIC. +#custom-multi-build-bot: -- see below. +custom-multi-build-config: +\ +{ + config.odb_tests.multi_database=true + + config.odb_tests.mssql.user=$getenv(DATABASE_USER) + config.odb_tests.mssql.passwd=$getenv(DATABASE_PASSWORD) + config.odb_tests.mssql.database=$getenv(DATABASE_NAME) + config.odb_tests.mssql.host=$getenv(DATABASE_HOST) + config.odb_tests.mssql.port=$getenv(DATABASE_PORT) + config.odb_tests.mssql.driver=$getenv(MSSQL_ODBC_DRIVER) +}+ odb-tests +\ + +custom-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuF4YmJmPHY52Q6N+YO0M +lt/fCovdezleb2tVplyTnvbyAiPdmYCIIjVrsqUn3y46PdFtWEiSdsrCcncoxi6H +8KelOB/oQ9pNTyEvwGKEH5ZIU7noLZYdXEfoNdvdL/pbY/7uLBZOSekfdQShZtbe +uOZCM2Mhg2DD76TP/VAwaXuDCnEvxxU/yneUl5ZaBo62AWNrYJuSGAliCOpVpl6X +X1kbHOvnCx7c9e3LxgaVivPaeZRKYg0OaFt96SBYEZzNPvjA8pMuKuj/vatHaCQ3 +NO9+r3TJ+4dQd7qN6Ju3zUJq9J/ndSh4lPvUalvvhdykecefhcyHwRZOG4xyFMFE +nJM4sM+aZu6WoKATIKtk7On70inVr0sZJXwJ4Lt4oqaK2VthcSTby3wf2Yv4p5hL +zNo31cCPmBRYzABcIc6ADYvexVK4uCwaim8xs7RK5Ug2Gv6vUWoRNZW8grIgDwUY +5pZ4Zk3hW4ii2vehTaVrrmdW6XipIsT+ayiVX7eWuHHNxAeCojXVjOJu9B0ExMlD +5tHZCs+SNdV5MceexecbptB7fZtRebP120yjLiSnZ5FpaQ1stusr0hSg+VQaX4np +f5m1W/CcDr53PKWg/ayY9nWMUQaIwH4b69kLM+VTpYSbzu5UQJkmNBNq2EOHgoTv +9MLA+cE/nNJ/rMI//MZ1+kcCAwEAAQ== +-----END PUBLIC KEY----- +\ + +custom-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuLYZ68rotGDAtWViFHOe +XEsmZB8BGI+af1ixh9JOy9BE4ohGTfPr1YsjGDzh+PhOVLAtyykOoT/qG7cuGB0T +gBInoRrgVB2/ZKTMwxeDGb/TA3uykaXxcw7/liTsizHAY+phCNTbke8iER5Y78js +9GlnTPmNhwFqEj2fwCz+2o08eyZvZ9Vj1fH/bFDCmDmU33JR3crtJlC8wPiF70Ho +FJzHFdaFQl3MxvEV92HjOsyqozMi6tAVVefN1vapVQeNtjkB0Di18p0/EMugEuGU +OxktjDHQWNaV8Ao6cCDk6OkJnM3ZNL1no3cV4cuF+/xI8UZzwfPoBnwg/s183Qzu +pHHKOSHmuO0oVE/XohJhepSw3tb+wf5BwejRhYHikIjqCxJdm9H0QTiqXT82y24K +yg3gkRMOgqnVxERKKP4ZknLSMQCEKiND/t2zdLJ/lxH9eHZdPHKk3OZZG292j+Bh +fknxcTKNk1Dmf32Irs5hVrjsoU8eAutbItovzXdBaj//rn/ry/kUlCa1Ov6iLIDJ +gyxmsDlgKNR/uE9ogmDn0ishJIoCmxeqenRfJkttr9pEsDsUFuB425QGqiSxa1jh +PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U +dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== +-----END PUBLIC KEY----- +\ + +custom-multi-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuF4YmJmPHY52Q6N+YO0M +lt/fCovdezleb2tVplyTnvbyAiPdmYCIIjVrsqUn3y46PdFtWEiSdsrCcncoxi6H +8KelOB/oQ9pNTyEvwGKEH5ZIU7noLZYdXEfoNdvdL/pbY/7uLBZOSekfdQShZtbe +uOZCM2Mhg2DD76TP/VAwaXuDCnEvxxU/yneUl5ZaBo62AWNrYJuSGAliCOpVpl6X +X1kbHOvnCx7c9e3LxgaVivPaeZRKYg0OaFt96SBYEZzNPvjA8pMuKuj/vatHaCQ3 +NO9+r3TJ+4dQd7qN6Ju3zUJq9J/ndSh4lPvUalvvhdykecefhcyHwRZOG4xyFMFE +nJM4sM+aZu6WoKATIKtk7On70inVr0sZJXwJ4Lt4oqaK2VthcSTby3wf2Yv4p5hL +zNo31cCPmBRYzABcIc6ADYvexVK4uCwaim8xs7RK5Ug2Gv6vUWoRNZW8grIgDwUY +5pZ4Zk3hW4ii2vehTaVrrmdW6XipIsT+ayiVX7eWuHHNxAeCojXVjOJu9B0ExMlD +5tHZCs+SNdV5MceexecbptB7fZtRebP120yjLiSnZ5FpaQ1stusr0hSg+VQaX4np +f5m1W/CcDr53PKWg/ayY9nWMUQaIwH4b69kLM+VTpYSbzu5UQJkmNBNq2EOHgoTv +9MLA+cE/nNJ/rMI//MZ1+kcCAwEAAQ== +-----END PUBLIC KEY----- +\ + +custom-multi-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuLYZ68rotGDAtWViFHOe +XEsmZB8BGI+af1ixh9JOy9BE4ohGTfPr1YsjGDzh+PhOVLAtyykOoT/qG7cuGB0T +gBInoRrgVB2/ZKTMwxeDGb/TA3uykaXxcw7/liTsizHAY+phCNTbke8iER5Y78js +9GlnTPmNhwFqEj2fwCz+2o08eyZvZ9Vj1fH/bFDCmDmU33JR3crtJlC8wPiF70Ho +FJzHFdaFQl3MxvEV92HjOsyqozMi6tAVVefN1vapVQeNtjkB0Di18p0/EMugEuGU +OxktjDHQWNaV8Ao6cCDk6OkJnM3ZNL1no3cV4cuF+/xI8UZzwfPoBnwg/s183Qzu +pHHKOSHmuO0oVE/XohJhepSw3tb+wf5BwejRhYHikIjqCxJdm9H0QTiqXT82y24K +yg3gkRMOgqnVxERKKP4ZknLSMQCEKiND/t2zdLJ/lxH9eHZdPHKk3OZZG292j+Bh +fknxcTKNk1Dmf32Irs5hVrjsoU8eAutbItovzXdBaj//rn/ry/kUlCa1Ov6iLIDJ +gyxmsDlgKNR/uE9ogmDn0ishJIoCmxeqenRfJkttr9pEsDsUFuB425QGqiSxa1jh +PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U +dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== +-----END PUBLIC KEY----- +\ diff --git a/libodb-mysql/manifest b/libodb-mysql/manifest index e0b04f7..2dca846 100644 --- a/libodb-mysql/manifest +++ b/libodb-mysql/manifest @@ -28,9 +28,12 @@ depends: * cli ^1.2.0- ? ($config.libodb_mysql.develop) tests: odb-tests == $ \ ? (!$defined(config.odb_tests.database)) config.odb_tests.database=mysql -builds: all -builds: -wasm +# Note: common for all the build configurations. +# build-auxiliary: *-mysql_* + +default-builds: all +default-builds: -wasm default-build-config: \ { @@ -64,8 +67,6 @@ multi-build-config: # Complements the default configuration (see odb-tests for background). # -# Note: derives build-auxiliary from default. -# custom-builds: latest custom-builds: -wasm custom-builds: -static ; Implementation uses plugins and requires -fPIC. @@ -82,8 +83,6 @@ custom-build-config: # Complements the multi configuration (see odb-tests for background). # -# Note: derives build-auxiliary from default. -# custom-multi-builds: latest custom-multi-builds: -wasm custom-multi-builds: -static ; Implementation uses plugins and requires -fPIC. diff --git a/libodb-pgsql/manifest b/libodb-pgsql/manifest index df62904..86952d4 100644 --- a/libodb-pgsql/manifest +++ b/libodb-pgsql/manifest @@ -27,9 +27,12 @@ depends: * cli ^1.2.0- ? ($config.libodb_pgsql.develop) tests: odb-tests == $ \ ? (!$defined(config.odb_tests.database)) config.odb_tests.database=pgsql -builds: all -builds: -wasm +# Note: common for all the build configurations. +# build-auxiliary: *-postgresql_* + +default-builds: all +default-builds: -wasm default-build-config: \ { @@ -63,8 +66,6 @@ multi-build-config: # Complements the default configuration (see odb-tests for background). # -# Note: derives build-auxiliary from default. -# custom-builds: latest custom-builds: -wasm custom-builds: -static ; Implementation uses plugins and requires -fPIC. @@ -81,8 +82,6 @@ custom-build-config: # Complements the multi configuration (see odb-tests for background). # -# Note: derives build-auxiliary from default. -# custom-multi-builds: latest custom-multi-builds: -wasm custom-multi-builds: -static ; Implementation uses plugins and requires -fPIC. diff --git a/libodb/manifest b/libodb/manifest index 725fc16..2eab739 100644 --- a/libodb/manifest +++ b/libodb/manifest @@ -100,6 +100,41 @@ custom-multi-build-config: }+ odb-tests \ +# Complements the multi configuration (see libodb-mssql for background). +# +custom-multi-mssql-builds: latest ; Requires proprietary software. +custom-multi-mssql-builds: -wasm ; Not supported by libodb-{mysql,pgsql,mssql}. +custom-multi-mssql-builds: &( +( +windows &msvc ) +( +linux &gcc ) ) ; Only test on Windows and Linux with main compiler. +custom-multi-mssql-builds: -static ; Implementation uses plugins and requires -fPIC. +custom-multi-mssql-build-auxiliary-mysql: *-mysql_* +custom-multi-mssql-build-auxiliary-pgsql: *-postgresql_* +custom-multi-mssql-build-auxiliary-mssql: *-mssql_* +#custom-multi-mssql-build-bot: -- see below. +custom-multi-mssql-build-config: +\ +{ + config.odb_tests.libodb_test=true + config.odb_tests.database='mysql sqlite pgsql mssql' + + config.odb_tests.mysql.user=$getenv(MYSQL_DATABASE_USER) + config.odb_tests.mysql.database=$getenv(MYSQL_DATABASE_NAME) + config.odb_tests.mysql.host=$getenv(MYSQL_DATABASE_HOST) + config.odb_tests.mysql.port=$getenv(MYSQL_DATABASE_PORT) + + config.odb_tests.pgsql.user=$getenv(PGSQL_DATABASE_USER) + config.odb_tests.pgsql.database=$getenv(PGSQL_DATABASE_NAME) + config.odb_tests.pgsql.host=$getenv(PGSQL_DATABASE_HOST) + config.odb_tests.pgsql.port=$getenv(PGSQL_DATABASE_PORT) + + config.odb_tests.mssql.user=$getenv(MSSQL_DATABASE_USER) + config.odb_tests.mssql.passwd=$getenv(MSSQL_DATABASE_PASSWORD) + config.odb_tests.mssql.database=$getenv(MSSQL_DATABASE_NAME) + config.odb_tests.mssql.host=$getenv(MSSQL_DATABASE_HOST) + config.odb_tests.mssql.port=$getenv(MSSQL_DATABASE_PORT) + config.odb_tests.mssql.driver=$getenv(MSSQL_ODBC_DRIVER) +}+ odb-tests +\ + custom-build-bot: \ -----BEGIN PUBLIC KEY----- @@ -171,3 +206,39 @@ PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== -----END PUBLIC KEY----- \ + +custom-multi-mssql-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuF4YmJmPHY52Q6N+YO0M +lt/fCovdezleb2tVplyTnvbyAiPdmYCIIjVrsqUn3y46PdFtWEiSdsrCcncoxi6H +8KelOB/oQ9pNTyEvwGKEH5ZIU7noLZYdXEfoNdvdL/pbY/7uLBZOSekfdQShZtbe +uOZCM2Mhg2DD76TP/VAwaXuDCnEvxxU/yneUl5ZaBo62AWNrYJuSGAliCOpVpl6X +X1kbHOvnCx7c9e3LxgaVivPaeZRKYg0OaFt96SBYEZzNPvjA8pMuKuj/vatHaCQ3 +NO9+r3TJ+4dQd7qN6Ju3zUJq9J/ndSh4lPvUalvvhdykecefhcyHwRZOG4xyFMFE +nJM4sM+aZu6WoKATIKtk7On70inVr0sZJXwJ4Lt4oqaK2VthcSTby3wf2Yv4p5hL +zNo31cCPmBRYzABcIc6ADYvexVK4uCwaim8xs7RK5Ug2Gv6vUWoRNZW8grIgDwUY +5pZ4Zk3hW4ii2vehTaVrrmdW6XipIsT+ayiVX7eWuHHNxAeCojXVjOJu9B0ExMlD +5tHZCs+SNdV5MceexecbptB7fZtRebP120yjLiSnZ5FpaQ1stusr0hSg+VQaX4np +f5m1W/CcDr53PKWg/ayY9nWMUQaIwH4b69kLM+VTpYSbzu5UQJkmNBNq2EOHgoTv +9MLA+cE/nNJ/rMI//MZ1+kcCAwEAAQ== +-----END PUBLIC KEY----- +\ + +custom-multi-mssql-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuLYZ68rotGDAtWViFHOe +XEsmZB8BGI+af1ixh9JOy9BE4ohGTfPr1YsjGDzh+PhOVLAtyykOoT/qG7cuGB0T +gBInoRrgVB2/ZKTMwxeDGb/TA3uykaXxcw7/liTsizHAY+phCNTbke8iER5Y78js +9GlnTPmNhwFqEj2fwCz+2o08eyZvZ9Vj1fH/bFDCmDmU33JR3crtJlC8wPiF70Ho +FJzHFdaFQl3MxvEV92HjOsyqozMi6tAVVefN1vapVQeNtjkB0Di18p0/EMugEuGU +OxktjDHQWNaV8Ao6cCDk6OkJnM3ZNL1no3cV4cuF+/xI8UZzwfPoBnwg/s183Qzu +pHHKOSHmuO0oVE/XohJhepSw3tb+wf5BwejRhYHikIjqCxJdm9H0QTiqXT82y24K +yg3gkRMOgqnVxERKKP4ZknLSMQCEKiND/t2zdLJ/lxH9eHZdPHKk3OZZG292j+Bh +fknxcTKNk1Dmf32Irs5hVrjsoU8eAutbItovzXdBaj//rn/ry/kUlCa1Ov6iLIDJ +gyxmsDlgKNR/uE9ogmDn0ishJIoCmxeqenRfJkttr9pEsDsUFuB425QGqiSxa1jh +PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U +dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== +-----END PUBLIC KEY----- +\ diff --git a/odb-tests/build/root.build b/odb-tests/build/root.build index 41f0556..5ef27f8 100644 --- a/odb-tests/build/root.build +++ b/odb-tests/build/root.build @@ -95,6 +95,32 @@ config [bool] config.odb_tests.libodb_test ?= false # Database connections. # +# MySQL +# +# The database user. +# +config [string] config.odb_tests.mysql.user ?= 'odb_test' + +# The database password. +# +config [string] config.odb_tests.mysql.passwd + +# The database name. Note that it WILL BE MODIFIED by the tests. +# +config [string] config.odb_tests.mysql.database ?= 'odb_test' + +# The database host. +# +config [string] config.odb_tests.mysql.host + +# The database port. +# +config [uint64] config.odb_tests.mysql.port + +# The database socket path. +# +config [path] config.odb_tests.mysql.socket + # PostgreSQL # # The database user. Note that the named user must be allowed to connect to @@ -133,31 +159,45 @@ config [bool] config.odb_tests.pgsql.bulk ?= ($cxx.target.class != 'windows' && $config.odb_tests.pgsql.bulk_default) pgsql_bulk = $config.odb_tests.pgsql.bulk -# MySQL +# Microsoft SQL Server # # The database user. # -config [string] config.odb_tests.mysql.user ?= 'odb_test' +config [string] config.odb_tests.mssql.user ?= 'odb_test' # The database password. # -config [string] config.odb_tests.mysql.passwd +config [string] config.odb_tests.mssql.passwd # The database name. Note that it WILL BE MODIFIED by the tests. # -config [string] config.odb_tests.mysql.database ?= 'odb_test' +config [string] config.odb_tests.mssql.database ?= 'odb_test' # The database host. # -config [string] config.odb_tests.mysql.host +config [string] config.odb_tests.mssql.host # The database port. # -config [uint64] config.odb_tests.mysql.port +config [uint64] config.odb_tests.mssql.port -# The database socket path. +# The SQL Server instance address. # -config [path] config.odb_tests.mysql.socket +# Note: mutually exclusive with config.odb_tests.mssql.{host,port}. +# +config [string] config.odb_tests.mssql.server + +assert (!$defined(config.odb_tests.mssql.server) || \ + !$defined(config.odb_tests.mssql.host)) \ + 'variables config.odb_tests.mssql.server and config.odb_tests.mssql.host cannot be specified both' + +assert (!$defined(config.odb_tests.mssql.server) || \ + !$defined(config.odb_tests.mssql.port)) \ + 'variables config.odb_tests.mssql.server and config.odb_tests.mssql.port cannot be specified both' + +# The SQL Server ODBC Driver. +# +config [string, null] config.odb_tests.mssql.driver if! $skeleton { @@ -196,6 +236,16 @@ if! $skeleton testscript{*}: pgsql_client = $pgsql_client } + # Import the sqlcmd client for creating the database schemas, etc. + # + # Note: supposed to be system-installed. + # + if $mssql + { + import! mssql_client = sqlcmd%exe{sqlcmd} + testscript{*}: mssql_client = $mssql_client + } + # Notes: # # - The second prerequisite ($<[1]) is expected to be a metadata library diff --git a/odb-tests/buildfile b/odb-tests/buildfile index 82e8fe9..574875d 100644 --- a/odb-tests/buildfile +++ b/odb-tests/buildfile @@ -6,6 +6,7 @@ ./: mysql/: include = ($mysql && !$multi) ./: sqlite/: include = ($sqlite && !$multi) ./: pgsql/: include = ($pgsql && !$multi) +./: mssql/: include = ($mssql && !$multi) ./: evolution/: include = (!$multi) diff --git a/odb-tests/common/access/testscript b/odb-tests/common/access/testscript index 04f0ec0..3b2618f 100644 --- a/odb-tests/common/access/testscript +++ b/odb-tests/common/access/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/as/testscript b/odb-tests/common/as/testscript index 12d9753..4f445ff 100644 --- a/odb-tests/common/as/testscript +++ b/odb-tests/common/as/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/blob/testscript b/odb-tests/common/blob/testscript index 4fb9955..f568d9b 100644 --- a/odb-tests/common/blob/testscript +++ b/odb-tests/common/blob/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/bulk/buildfile b/odb-tests/common/bulk/buildfile index 68e3c8b..61d4fac 100644 --- a/odb-tests/common/bulk/buildfile +++ b/odb-tests/common/bulk/buildfile @@ -7,7 +7,8 @@ if ($build.meta_operation != 'dist') "bulk operations are disabled for pgsql which is specified as single database" } -import libodb = libodb%lib{odb} +import libodb = libodb%lib{odb} +import libcommon = lib{common} libs = @@ -17,14 +18,12 @@ for db: $databases import libs += libodb-$db%lib{odb-$db} } -import libs += lib{common} - exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript # Introduce the metadata library target to make sure the libodb library is # resolved for the odb_compile ad hoc rule (see build/root.build for details). # -libue{test-meta}: $libodb +libue{test-meta}: $libodb $libcommon <{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} diff --git a/odb-tests/common/bulk/driver.cxx b/odb-tests/common/bulk/driver.cxx index 23b49ad..f598dcc 100644 --- a/odb-tests/common/bulk/driver.cxx +++ b/odb-tests/common/bulk/driver.cxx @@ -1091,7 +1091,7 @@ main (int argc, char* argv[]) // Test SQL Server optimistic concurrency with ROWVERSION. // -#ifdef DATABASE_MSSQL +#if !defined(MULTI_DATABASE) && defined(DATABASE_MSSQL) { using namespace test8; diff --git a/odb-tests/common/bulk/test.hxx b/odb-tests/common/bulk/test.hxx index 71755f2..60663f7 100644 --- a/odb-tests/common/bulk/test.hxx +++ b/odb-tests/common/bulk/test.hxx @@ -9,6 +9,8 @@ #include <odb/core.hxx> +#include <libcommon/config.hxx> // DATABASE_XXX + // Test basic functionality. // #pragma db namespace table("t1_") @@ -186,7 +188,7 @@ namespace test7 // Test SQL Server optimistic concurrency with ROWVERSION. // -#if defined(ODB_DATABASE_MSSQL) || defined(DATABASE_MSSQL) +#if !defined(MULTI_DATABASE) && defined(DATABASE_MSSQL) #pragma db namespace table("t8_") namespace test8 { diff --git a/odb-tests/common/bulk/testscript b/odb-tests/common/bulk/testscript index e7567c9..6e4e610 100644 --- a/odb-tests/common/bulk/testscript +++ b/odb-tests/common/bulk/testscript @@ -501,3 +501,18 @@ if ($pgsql && $pgsql_bulk) end end } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + + if $multi + $* # Noop. + else + $* >>>../output + end +} diff --git a/odb-tests/common/callback/testscript b/odb-tests/common/callback/testscript index c7d03ee..6e71d67 100644 --- a/odb-tests/common/callback/testscript +++ b/odb-tests/common/callback/testscript @@ -98,3 +98,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/changelog/testscript b/odb-tests/common/changelog/testscript index 9368938..af8dcf5 100644 --- a/odb-tests/common/changelog/testscript +++ b/odb-tests/common/changelog/testscript @@ -64,3 +64,22 @@ if $pgsql diff $src_base/$n-pgsql-patch.xml $(n).xml end } + +: mssql +: +if $mssql +{ + odb_options += --database 'mssql' --changelog-dir $~ + + for h: $headers + n = $base($leaf($h)) + + $* $odb_options -DBVER=1 -DCVER=1 --init-changelog $h &$(n).xml &$(n).sql + + $* $odb_options -DBVER=1 -DCVER=2 $h + diff $src_base/$n-mssql-diff.xml $(n).xml + + $* $odb_options -DBVER=2 -DCVER=3 $h + diff $src_base/$n-mssql-patch.xml $(n).xml + end +} diff --git a/odb-tests/common/circular/multiple/testscript b/odb-tests/common/circular/multiple/testscript index 6a05dc6..6c46a3f 100644 --- a/odb-tests/common/circular/multiple/testscript +++ b/odb-tests/common/circular/multiple/testscript @@ -29,3 +29,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $* +} diff --git a/odb-tests/common/circular/single/testscript b/odb-tests/common/circular/single/testscript index b870306..6429aa7 100644 --- a/odb-tests/common/circular/single/testscript +++ b/odb-tests/common/circular/single/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/composite/testscript b/odb-tests/common/composite/testscript index 0747507..8b95a89 100644 --- a/odb-tests/common/composite/testscript +++ b/odb-tests/common/composite/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/const-member/testscript b/odb-tests/common/const-member/testscript index c81d856..ca05a3b 100644 --- a/odb-tests/common/const-member/testscript +++ b/odb-tests/common/const-member/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/const-object/testscript b/odb-tests/common/const-object/testscript index 3885e96..20595ef 100644 --- a/odb-tests/common/const-object/testscript +++ b/odb-tests/common/const-object/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/container/basics/testscript b/odb-tests/common/container/basics/testscript index ea99498..644231b 100644 --- a/odb-tests/common/container/basics/testscript +++ b/odb-tests/common/container/basics/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/container/change-tracking/testscript b/odb-tests/common/container/change-tracking/testscript index 2169869..bd585a6 100644 --- a/odb-tests/common/container/change-tracking/testscript +++ b/odb-tests/common/container/change-tracking/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/ctor/testscript b/odb-tests/common/ctor/testscript index 8946ddb..e786073 100644 --- a/odb-tests/common/ctor/testscript +++ b/odb-tests/common/ctor/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/default/testscript b/odb-tests/common/default/testscript index f29cef4..e71da52 100644 --- a/odb-tests/common/default/testscript +++ b/odb-tests/common/default/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/definition/testscript b/odb-tests/common/definition/testscript index c9dea6d..d825d37 100644 --- a/odb-tests/common/definition/testscript +++ b/odb-tests/common/definition/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/enum/testscript b/odb-tests/common/enum/testscript index d2ca28c..417663c 100644 --- a/odb-tests/common/enum/testscript +++ b/odb-tests/common/enum/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/erase-query/testscript b/odb-tests/common/erase-query/testscript index 90862ab..f0d6cfd 100644 --- a/odb-tests/common/erase-query/testscript +++ b/odb-tests/common/erase-query/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/id/auto/testscript b/odb-tests/common/id/auto/testscript index bb2a3a4..9e3aac8 100644 --- a/odb-tests/common/id/auto/testscript +++ b/odb-tests/common/id/auto/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/id/composite/testscript b/odb-tests/common/id/composite/testscript index f87d4bc..75891ec 100644 --- a/odb-tests/common/id/composite/testscript +++ b/odb-tests/common/id/composite/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/id/nested/testscript b/odb-tests/common/id/nested/testscript index 89e8d7a..d6c4c43 100644 --- a/odb-tests/common/id/nested/testscript +++ b/odb-tests/common/id/nested/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/include/testscript b/odb-tests/common/include/testscript index 089f7a1..4c7219f 100644 --- a/odb-tests/common/include/testscript +++ b/odb-tests/common/include/testscript @@ -29,3 +29,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $* +} diff --git a/odb-tests/common/index/testscript b/odb-tests/common/index/testscript index cbce341..e5cf55d 100644 --- a/odb-tests/common/index/testscript +++ b/odb-tests/common/index/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/inheritance/polymorphism/testscript b/odb-tests/common/inheritance/polymorphism/testscript index 89e5726..dbe4b41 100644 --- a/odb-tests/common/inheritance/polymorphism/testscript +++ b/odb-tests/common/inheritance/polymorphism/testscript @@ -78,3 +78,16 @@ if $pgsql $* ($multi ? 'pgsql' : ) $pgsql_options } + +: mssql +: +if $mssql +{ + .include ../../../mssql-schema.testscript + + for s: $schemas + $create_schema_cmd -i $out_base/"$s"($multi ? '-mssql' : '').sql + end; + + $* ($multi ? 'mssql' : ) $mssql_options +} diff --git a/odb-tests/common/inheritance/reuse/testscript b/odb-tests/common/inheritance/reuse/testscript index 995b3f5..6522a60 100644 --- a/odb-tests/common/inheritance/reuse/testscript +++ b/odb-tests/common/inheritance/reuse/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/inheritance/transient/testscript b/odb-tests/common/inheritance/transient/testscript index bce91de..2d6a170 100644 --- a/odb-tests/common/inheritance/transient/testscript +++ b/odb-tests/common/inheritance/transient/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/inverse/buildfile b/odb-tests/common/inverse/buildfile index 63fa1cb..bea135b 100644 --- a/odb-tests/common/inverse/buildfile +++ b/odb-tests/common/inverse/buildfile @@ -35,6 +35,9 @@ odb_options = --table-prefix t_inverse_ \ --generate-query \ --generate-session +if $mssql + odb_options += --fkeys-deferrable-mode mssql:not_deferrable + cxx.poptions =+ "-I$out_base" "-I$src_base" # Testscript's run-time prerequisites. diff --git a/odb-tests/common/inverse/testscript b/odb-tests/common/inverse/testscript index c2a4e3e..3b55c41 100644 --- a/odb-tests/common/inverse/testscript +++ b/odb-tests/common/inverse/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/lazy-ptr/testscript b/odb-tests/common/lazy-ptr/testscript index 736fa4c..7aa727a 100644 --- a/odb-tests/common/lazy-ptr/testscript +++ b/odb-tests/common/lazy-ptr/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/lifecycle/testscript b/odb-tests/common/lifecycle/testscript index 0337bba..faf30ed 100644 --- a/odb-tests/common/lifecycle/testscript +++ b/odb-tests/common/lifecycle/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/no-id/testscript b/odb-tests/common/no-id/testscript index 5ec57ee..dd3d74e 100644 --- a/odb-tests/common/no-id/testscript +++ b/odb-tests/common/no-id/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/object/testscript b/odb-tests/common/object/testscript index 6982409..7bb3bb5 100644 --- a/odb-tests/common/object/testscript +++ b/odb-tests/common/object/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/optimistic/testscript b/odb-tests/common/optimistic/testscript index 9ebafb2..b1c0b48 100644 --- a/odb-tests/common/optimistic/testscript +++ b/odb-tests/common/optimistic/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/pragma/testscript b/odb-tests/common/pragma/testscript index 089f7a1..4c7219f 100644 --- a/odb-tests/common/pragma/testscript +++ b/odb-tests/common/pragma/testscript @@ -29,3 +29,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $* +} diff --git a/odb-tests/common/prepared/testscript b/odb-tests/common/prepared/testscript index 3530c5b..05df04f 100644 --- a/odb-tests/common/prepared/testscript +++ b/odb-tests/common/prepared/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/query/array/testscript b/odb-tests/common/query/array/testscript index 631ae24..628d2d7 100644 --- a/odb-tests/common/query/array/testscript +++ b/odb-tests/common/query/array/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/query/basics/testscript b/odb-tests/common/query/basics/testscript index 9086b66..c5d9af0 100644 --- a/odb-tests/common/query/basics/testscript +++ b/odb-tests/common/query/basics/testscript @@ -148,3 +148,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/query/one/testscript b/odb-tests/common/query/one/testscript index 963a206..002e723 100644 --- a/odb-tests/common/query/one/testscript +++ b/odb-tests/common/query/one/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/readonly/driver.cxx b/odb-tests/common/readonly/driver.cxx index b207627..3531e57 100644 --- a/odb-tests/common/readonly/driver.cxx +++ b/odb-tests/common/readonly/driver.cxx @@ -12,7 +12,7 @@ #include <odb/database.hxx> #include <odb/transaction.hxx> -#include <libcommon/config.hxx> // DATABASE_* +#include <libcommon/config.hxx> // MULTI_DATABASE #include <libcommon/common.hxx> #include "test.hxx" diff --git a/odb-tests/common/readonly/testscript b/odb-tests/common/readonly/testscript index c798201..f2f364b 100644 --- a/odb-tests/common/readonly/testscript +++ b/odb-tests/common/readonly/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/relationship/basics/testscript b/odb-tests/common/relationship/basics/testscript index b498bfa..c4df5e9 100644 --- a/odb-tests/common/relationship/basics/testscript +++ b/odb-tests/common/relationship/basics/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/relationship/on-delete/buildfile b/odb-tests/common/relationship/on-delete/buildfile index 965a2eb..5cdb585 100644 --- a/odb-tests/common/relationship/on-delete/buildfile +++ b/odb-tests/common/relationship/on-delete/buildfile @@ -30,11 +30,14 @@ exe{driver}: libue{test-meta} $libs # Specify the ODB custom options to be used by the odb_compile ad hoc rule # (see build/root.build for details). # -odb_options = --table-prefix t_rel_on_d_ \ - --generate-schema \ - --fkeys-deferrable-mode mysql:not_deferrable \ - --fkeys-deferrable-mode mssql:not_deferrable +odb_options = --table-prefix t_rel_on_d_ \ + --generate-schema +if $mysql + odb_options += --fkeys-deferrable-mode mysql:not_deferrable + +if $mssql + odb_options += --fkeys-deferrable-mode mssql:not_deferrable cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/common/relationship/on-delete/testscript b/odb-tests/common/relationship/on-delete/testscript index 8288ebc..5a48bb6 100644 --- a/odb-tests/common/relationship/on-delete/testscript +++ b/odb-tests/common/relationship/on-delete/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/relationship/query/testscript b/odb-tests/common/relationship/query/testscript index d5ad419..0fa5ec5 100644 --- a/odb-tests/common/relationship/query/testscript +++ b/odb-tests/common/relationship/query/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/schema/embedded/basics/testscript b/odb-tests/common/schema/embedded/basics/testscript index 24448c0..ef58fc0 100644 --- a/odb-tests/common/schema/embedded/basics/testscript +++ b/odb-tests/common/schema/embedded/basics/testscript @@ -29,3 +29,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../../../mssql.testscript + + $* +} diff --git a/odb-tests/common/schema/embedded/order/testscript b/odb-tests/common/schema/embedded/order/testscript index 6dfe58c..5257d87 100644 --- a/odb-tests/common/schema/embedded/order/testscript +++ b/odb-tests/common/schema/embedded/order/testscript @@ -29,3 +29,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../../../mssql.testscript + + $* +} diff --git a/odb-tests/common/schema/namespace/testscript b/odb-tests/common/schema/namespace/testscript index 0fabe6e..9e4cd78 100644 --- a/odb-tests/common/schema/namespace/testscript +++ b/odb-tests/common/schema/namespace/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/section/basics/testscript b/odb-tests/common/section/basics/testscript index c0c6617..e49828a 100644 --- a/odb-tests/common/section/basics/testscript +++ b/odb-tests/common/section/basics/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/section/polymorphism/testscript b/odb-tests/common/section/polymorphism/testscript index f2cd536..55f5028 100644 --- a/odb-tests/common/section/polymorphism/testscript +++ b/odb-tests/common/section/polymorphism/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/session/cache/testscript b/odb-tests/common/session/cache/testscript index 6d013eb..351dfda 100644 --- a/odb-tests/common/session/cache/testscript +++ b/odb-tests/common/session/cache/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/session/custom/testscript b/odb-tests/common/session/custom/testscript index 39c281d..47efed9 100644 --- a/odb-tests/common/session/custom/testscript +++ b/odb-tests/common/session/custom/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/threads/testscript b/odb-tests/common/threads/testscript index 87e03e0..18eb88f 100644 --- a/odb-tests/common/threads/testscript +++ b/odb-tests/common/threads/testscript @@ -48,3 +48,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/transaction/basics/testscript b/odb-tests/common/transaction/basics/testscript index 94c58b6..ae24106 100644 --- a/odb-tests/common/transaction/basics/testscript +++ b/odb-tests/common/transaction/basics/testscript @@ -60,3 +60,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $* +} diff --git a/odb-tests/common/transaction/callback/testscript b/odb-tests/common/transaction/callback/testscript index 7229ecd..9ff0a89 100644 --- a/odb-tests/common/transaction/callback/testscript +++ b/odb-tests/common/transaction/callback/testscript @@ -70,3 +70,12 @@ if $pgsql $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $* +} diff --git a/odb-tests/common/view/basics/testscript b/odb-tests/common/view/basics/testscript index faa8408..3b03534 100644 --- a/odb-tests/common/view/basics/testscript +++ b/odb-tests/common/view/basics/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/view/olv/testscript b/odb-tests/common/view/olv/testscript index 160426d..865338e 100644 --- a/odb-tests/common/view/olv/testscript +++ b/odb-tests/common/view/olv/testscript @@ -37,3 +37,16 @@ if $pgsql $* ($multi ? 'pgsql' : ) $pgsql_options } + +: mssql +: +if $mssql +{ + .include ../../../mssql-schema.testscript + + for s: $schemas + $create_schema_cmd -i $out_base/"$s"($multi ? '-mssql' : '').sql + end; + + $* ($multi ? 'mssql' : ) $mssql_options +} diff --git a/odb-tests/common/virtual/testscript b/odb-tests/common/virtual/testscript index 769c7f9..508da6d 100644 --- a/odb-tests/common/virtual/testscript +++ b/odb-tests/common/virtual/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/common/wrapper/testscript b/odb-tests/common/wrapper/testscript index 6630813..a5aa392 100644 --- a/odb-tests/common/wrapper/testscript +++ b/odb-tests/common/wrapper/testscript @@ -31,3 +31,13 @@ if $pgsql $create_schema; $* } + +: mssql +: +if $mssql +{ + .include ../../mssql.testscript + + $create_schema; + $* +} diff --git a/odb-tests/database-options.testscript b/odb-tests/database-options.testscript index 0e97522..5a2c3dd 100644 --- a/odb-tests/database-options.testscript +++ b/odb-tests/database-options.testscript @@ -14,23 +14,23 @@ --database $config.odb_tests.mysql.database if $defined(config.odb_tests.mysql.passwd) - mysql_options += --password $config.odb_tests.mysql.passwd - mysql_client_options += --password=$config.odb_tests.mysql.passwd + mysql_options += --password $config.odb_tests.mysql.passwd + mysql_client_options += --password=$config.odb_tests.mysql.passwd end if $defined(config.odb_tests.mysql.host) - mysql_options += --host $config.odb_tests.mysql.host - mysql_client_options += --host $config.odb_tests.mysql.host + mysql_options += --host $config.odb_tests.mysql.host + mysql_client_options += --host $config.odb_tests.mysql.host end if $defined(config.odb_tests.mysql.port) - mysql_options += --port $config.odb_tests.mysql.port - mysql_client_options += --port $config.odb_tests.mysql.port + mysql_options += --port $config.odb_tests.mysql.port + mysql_client_options += --port $config.odb_tests.mysql.port end if $defined(config.odb_tests.mysql.socket) - mysql_options += --socket $config.odb_tests.mysql.socket - mysql_client_options += --socket $config.odb_tests.mysql.socket + mysql_options += --socket $config.odb_tests.mysql.socket + mysql_client_options += --socket $config.odb_tests.mysql.socket end mysql_client_cmd = $path($mysql_client) $mysql_client_options @@ -69,6 +69,47 @@ end export PGOPTIONS=--client-min-messages=warning end ++if $mssql + mssql_options = --user $config.odb_tests.mssql.user \ + --database $config.odb_tests.mssql.database + + mssql_client_options = -C -x -r 1 -b \ + -U $config.odb_tests.mssql.user \ + -d $config.odb_tests.mssql.database + + if $defined(config.odb_tests.mssql.passwd) + mssql_options += --password $config.odb_tests.mssql.passwd + mssql_client_options += -P $config.odb_tests.mssql.passwd + end + + if ($defined(config.odb_tests.mssql.host) || \ + $defined(config.odb_tests.mssql.port)) + mssql_server = \ + "tcp:($defined(config.odb_tests.mssql.host) ? $config.odb_tests.mssql.host : localhost)" + + if $defined(config.odb_tests.mssql.port) + mssql_server = "$mssql_server,$config.odb_tests.mssql.port" + end + elif $defined(config.odb_tests.mssql.server) + mssql_server = $config.odb_tests.mssql.server + else + mssql_server = [null] + end + + if ($mssql_server != [null]) + mssql_options += --server $mssql_server + mssql_client_options += -S $mssql_server + end + + if ($defined(config.odb_tests.mssql.driver) && \ + $config.odb_tests.mssql.driver != [null] && \ + $config.odb_tests.mssql.driver != '') + mssql_options += --driver $config.odb_tests.mssql.driver + end + + mssql_client_cmd = $path($mssql_client) $mssql_client_options +end + # Set the default schema file name, which can be overridden by the subsequent # tests in their own scopes. # diff --git a/odb-tests/evolution/add-column/testscript b/odb-tests/evolution/add-column/testscript index f4e3d99..fc1e4d8 100644 --- a/odb-tests/evolution/add-column/testscript +++ b/odb-tests/evolution/add-column/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/add-foreign-key/testscript b/odb-tests/evolution/add-foreign-key/testscript index 5447082..a1ce1c4 100644 --- a/odb-tests/evolution/add-foreign-key/testscript +++ b/odb-tests/evolution/add-foreign-key/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/add-index/testscript b/odb-tests/evolution/add-index/testscript index ceb17ff..d369602 100644 --- a/odb-tests/evolution/add-index/testscript +++ b/odb-tests/evolution/add-index/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/add-table/testscript b/odb-tests/evolution/add-table/testscript index 9317e37..9c63aca 100644 --- a/odb-tests/evolution/add-table/testscript +++ b/odb-tests/evolution/add-table/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/alter-column/testscript b/odb-tests/evolution/alter-column/testscript index 83e1a0f..18d2c62 100644 --- a/odb-tests/evolution/alter-column/testscript +++ b/odb-tests/evolution/alter-column/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/combined/testscript b/odb-tests/evolution/combined/testscript index a7bb826..f141bf0 100644 --- a/odb-tests/evolution/combined/testscript +++ b/odb-tests/evolution/combined/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/data/testscript b/odb-tests/evolution/data/testscript index 5c91396..4f98b4d 100644 --- a/odb-tests/evolution/data/testscript +++ b/odb-tests/evolution/data/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/drop-column/testscript b/odb-tests/evolution/drop-column/testscript index abb81a8..8cf20b0 100644 --- a/odb-tests/evolution/drop-column/testscript +++ b/odb-tests/evolution/drop-column/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/drop-foreign-key/testscript b/odb-tests/evolution/drop-foreign-key/testscript index 637093b..1902e60 100644 --- a/odb-tests/evolution/drop-foreign-key/testscript +++ b/odb-tests/evolution/drop-foreign-key/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/drop-index/testscript b/odb-tests/evolution/drop-index/testscript index 3bb6271..19e9a47 100644 --- a/odb-tests/evolution/drop-index/testscript +++ b/odb-tests/evolution/drop-index/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/drop-table/testscript b/odb-tests/evolution/drop-table/testscript index a67ec7d..6672e0f 100644 --- a/odb-tests/evolution/drop-table/testscript +++ b/odb-tests/evolution/drop-table/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/soft-add/testscript b/odb-tests/evolution/soft-add/testscript index 9563f33..67c48e7 100644 --- a/odb-tests/evolution/soft-add/testscript +++ b/odb-tests/evolution/soft-add/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/soft-delete/testscript b/odb-tests/evolution/soft-delete/testscript index 615bdb1..4bea5c6 100644 --- a/odb-tests/evolution/soft-delete/testscript +++ b/odb-tests/evolution/soft-delete/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/evolution/version/testscript b/odb-tests/evolution/version/testscript index 1a41b2d..36ae5f2 100644 --- a/odb-tests/evolution/version/testscript +++ b/odb-tests/evolution/version/testscript @@ -35,6 +35,8 @@ if! $sqlite cat $f | $create_schema_cmd elif $pgsql $create_schema_cmd -f $f + elif $mssql + $create_schema_cmd -i $f end if ($s == 'test3-002-post') diff --git a/odb-tests/libcommon/common.cxx b/odb-tests/libcommon/common.cxx index 4b4603d..ba2e5da 100644 --- a/odb-tests/libcommon/common.cxx +++ b/odb-tests/libcommon/common.cxx @@ -167,7 +167,7 @@ create_mssql_database (int& argc, char* argv[], bool, size_t max_connections) f.reset (new mssql::connection_pool_factory (max_connections)); return unique_ptr<database> ( - new mssql::database (argc, argv, false, "", + new mssql::database (argc, argv, false, "TrustServerCertificate=yes", mssql::isolation_read_committed, 0, move (f))); } #endif // SQL Server diff --git a/odb-tests/manifest b/odb-tests/manifest index 22e03d9..10e7d1e 100644 --- a/odb-tests/manifest +++ b/odb-tests/manifest @@ -44,8 +44,9 @@ depends: libpq >= 14.0.0 ? ($pgsql) config.odb_tests.pgsql.bulk_default=true | \ # @@ TODO/LATER: use an alternative to automatically detect whether we are # using MySQL or MariaDB? But maybe we don't need to know? -depends: * mysql-client >= 5.0.3 ? ($mysql) -depends: * psql >= 7.4.0 ? ($pgsql) +depends: * mysql-client >= 5.0.3 ? ($mysql) +depends: * psql >= 7.4.0 ? ($pgsql) +requires: * sqlcmd ? ($mssql) # This package configuration is for building with the default bots on target # configurations where GCC is the host compiler. @@ -73,6 +74,10 @@ custom-multi-builds: latest custom-multi-builds: -static ; Implementation uses plugins and requires -fPIC. #custom-multi-build-bot: -- see below. +custom-multi-mssql-builds: latest +custom-multi-mssql-builds: -static ; Implementation uses plugins and requires -fPIC. +#custom-multi-mssql-build-bot: -- see below. + custom-build-bot: \ -----BEGIN PUBLIC KEY----- @@ -144,3 +149,39 @@ PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== -----END PUBLIC KEY----- \ + +custom-multi-mssql-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuF4YmJmPHY52Q6N+YO0M +lt/fCovdezleb2tVplyTnvbyAiPdmYCIIjVrsqUn3y46PdFtWEiSdsrCcncoxi6H +8KelOB/oQ9pNTyEvwGKEH5ZIU7noLZYdXEfoNdvdL/pbY/7uLBZOSekfdQShZtbe +uOZCM2Mhg2DD76TP/VAwaXuDCnEvxxU/yneUl5ZaBo62AWNrYJuSGAliCOpVpl6X +X1kbHOvnCx7c9e3LxgaVivPaeZRKYg0OaFt96SBYEZzNPvjA8pMuKuj/vatHaCQ3 +NO9+r3TJ+4dQd7qN6Ju3zUJq9J/ndSh4lPvUalvvhdykecefhcyHwRZOG4xyFMFE +nJM4sM+aZu6WoKATIKtk7On70inVr0sZJXwJ4Lt4oqaK2VthcSTby3wf2Yv4p5hL +zNo31cCPmBRYzABcIc6ADYvexVK4uCwaim8xs7RK5Ug2Gv6vUWoRNZW8grIgDwUY +5pZ4Zk3hW4ii2vehTaVrrmdW6XipIsT+ayiVX7eWuHHNxAeCojXVjOJu9B0ExMlD +5tHZCs+SNdV5MceexecbptB7fZtRebP120yjLiSnZ5FpaQ1stusr0hSg+VQaX4np +f5m1W/CcDr53PKWg/ayY9nWMUQaIwH4b69kLM+VTpYSbzu5UQJkmNBNq2EOHgoTv +9MLA+cE/nNJ/rMI//MZ1+kcCAwEAAQ== +-----END PUBLIC KEY----- +\ + +custom-multi-mssql-build-bot: +\ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuLYZ68rotGDAtWViFHOe +XEsmZB8BGI+af1ixh9JOy9BE4ohGTfPr1YsjGDzh+PhOVLAtyykOoT/qG7cuGB0T +gBInoRrgVB2/ZKTMwxeDGb/TA3uykaXxcw7/liTsizHAY+phCNTbke8iER5Y78js +9GlnTPmNhwFqEj2fwCz+2o08eyZvZ9Vj1fH/bFDCmDmU33JR3crtJlC8wPiF70Ho +FJzHFdaFQl3MxvEV92HjOsyqozMi6tAVVefN1vapVQeNtjkB0Di18p0/EMugEuGU +OxktjDHQWNaV8Ao6cCDk6OkJnM3ZNL1no3cV4cuF+/xI8UZzwfPoBnwg/s183Qzu +pHHKOSHmuO0oVE/XohJhepSw3tb+wf5BwejRhYHikIjqCxJdm9H0QTiqXT82y24K +yg3gkRMOgqnVxERKKP4ZknLSMQCEKiND/t2zdLJ/lxH9eHZdPHKk3OZZG292j+Bh +fknxcTKNk1Dmf32Irs5hVrjsoU8eAutbItovzXdBaj//rn/ry/kUlCa1Ov6iLIDJ +gyxmsDlgKNR/uE9ogmDn0ishJIoCmxeqenRfJkttr9pEsDsUFuB425QGqiSxa1jh +PCNca3iRtO44wADXaQMTGpvLzBfdfVc8LoFpn+kynN0V1MvxAX4mHRXxw8ERXd3U +dpHDhOthPLolJQrYKb/YyW8CAwEAAQ== +-----END PUBLIC KEY----- +\ diff --git a/odb-tests/mssql-schema.testscript b/odb-tests/mssql-schema.testscript new file mode 100644 index 0000000..5f56536 --- /dev/null +++ b/odb-tests/mssql-schema.testscript @@ -0,0 +1,6 @@ +# file : mssql-schema.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the Microsoft SQL Server database schema creation canned command base. +# +create_schema_cmd = [cmdline] $mssql_client_cmd diff --git a/odb-tests/mssql.testscript b/odb-tests/mssql.testscript new file mode 100644 index 0000000..574137b --- /dev/null +++ b/odb-tests/mssql.testscript @@ -0,0 +1,12 @@ +# file : mssql.testscript +# license : GNU GPL v2; see accompanying LICENSE file + +# Create the Microsoft SQL Server database schema creation canned command and +# setup the test driver command line for the subsequent tests. +# +.include mssql-schema.testscript + +schema_file = [path] $out_base/"$schema"($multi ? '-mssql' : '').sql +create_schema = [cmdline] $create_schema_cmd -i $schema_file + +test.arguments += ($multi ? 'mssql' : ) $mssql_options diff --git a/odb-tests/mssql/custom/buildfile b/odb-tests/mssql/custom/buildfile new file mode 100644 index 0000000..fdac2d9 --- /dev/null +++ b/odb-tests/mssql/custom/buildfile @@ -0,0 +1,37 @@ +# file : mssql/custom/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libodb = libodb%lib{odb} + +import libs = libodb-mssql%lib{odb-mssql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} sql{custom} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mssql_custom_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --hxx-prologue '#include "traits.hxx"' \ + --hxx-prologue '#include "query.hxx"' \ + --sql-interlude ":r $src_base/custom.sql" + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/custom/driver.cxx b/odb-tests/mssql/custom/driver.cxx index bde7eb6..5a47a90 100644 --- a/odb-tests/mssql/custom/driver.cxx +++ b/odb-tests/mssql/custom/driver.cxx @@ -4,18 +4,20 @@ // Test custom database type mapping in SQL Server. // -#include <memory> // std::auto_ptr -#include <cassert> +#include <memory> // std::unique_ptr #include <iostream> #include <odb/mssql/database.hxx> #include <odb/mssql/transaction.hxx> -#include <common/common.hxx> +#include <libcommon/common.hxx> #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include <cassert> + using namespace std; namespace mssql = odb::mssql; using namespace mssql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); + unique_ptr<database> db (create_specific_database<database> (argc, argv)); object o (1); @@ -54,7 +56,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr<object> o1 (db->load<object> (1)); + unique_ptr<object> o1 (db->load<object> (1)); t.commit (); assert (o == *o1); @@ -121,7 +123,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr<object> o1 (db->load<object> (1)); + unique_ptr<object> o1 (db->load<object> (1)); t.commit (); assert (o == *o1); diff --git a/odb-tests/mssql/custom/testscript b/odb-tests/mssql/custom/testscript new file mode 100644 index 0000000..4f0ec5a --- /dev/null +++ b/odb-tests/mssql/custom/testscript @@ -0,0 +1,11 @@ +# file : mssql/custom/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + ++$create_schema + +: basics +: +$* diff --git a/odb-tests/mssql/database/buildfile b/odb-tests/mssql/database/buildfile new file mode 100644 index 0000000..438fe9a --- /dev/null +++ b/odb-tests/mssql/database/buildfile @@ -0,0 +1,14 @@ +# file : mssql/database/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libs = libodb-mssql%lib{odb-mssql} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/database/driver.cxx b/odb-tests/mssql/database/driver.cxx index 08ad34f..22be240 100644 --- a/odb-tests/mssql/database/driver.cxx +++ b/odb-tests/mssql/database/driver.cxx @@ -5,10 +5,12 @@ // #include <string> -#include <cassert> #include <odb/mssql/database.hxx> +#undef NDEBUG +#include <cassert> + namespace mssql = odb::mssql; using namespace mssql; @@ -73,32 +75,34 @@ main (int argc, char* argv[]) // Test transaction isolation levels. // + const char* tsc ("TrustServerCertificate=yes"); + { - database d (argc, argv, false, "", isolation_read_uncommitted); + database d (argc, argv, false, tsc, isolation_read_uncommitted); connection_ptr c (d.connection ()); assert (check_isolation (*c, isolation_read_uncommitted)); } { - database d (argc, argv, false, ""); + database d (argc, argv, false, tsc); connection_ptr c (d.connection ()); assert (check_isolation (*c, isolation_read_committed)); } { - database d (argc, argv, false, "", isolation_repeatable_read); + database d (argc, argv, false, tsc, isolation_repeatable_read); connection_ptr c (d.connection ()); assert (check_isolation (*c, isolation_repeatable_read)); } { - database d (argc, argv, false, "", isolation_snapshot); + database d (argc, argv, false, tsc, isolation_snapshot); connection_ptr c (d.connection ()); assert (check_isolation (*c, isolation_snapshot)); } { - database d (argc, argv, false, "", isolation_serializable); + database d (argc, argv, false, tsc, isolation_serializable); connection_ptr c (d.connection ()); assert (check_isolation (*c, isolation_serializable)); } diff --git a/odb-tests/mssql/database/testscript b/odb-tests/mssql/database/testscript new file mode 100644 index 0000000..a415cd0 --- /dev/null +++ b/odb-tests/mssql/database/testscript @@ -0,0 +1,9 @@ +# file : mssql/database/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + +: basics +: +$* diff --git a/odb-tests/mssql/native/buildfile b/odb-tests/mssql/native/buildfile new file mode 100644 index 0000000..4761b3f --- /dev/null +++ b/odb-tests/mssql/native/buildfile @@ -0,0 +1,15 @@ +# file : mssql/native/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libs = libodb-mssql%lib{odb-mssql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{*} $libs testscript + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/native/driver.cxx b/odb-tests/mssql/native/driver.cxx index f4b4fd7..cfc7bbe 100644 --- a/odb-tests/mssql/native/driver.cxx +++ b/odb-tests/mssql/native/driver.cxx @@ -4,14 +4,16 @@ // Test native SQL execution. // -#include <memory> // std::auto_ptr -#include <cassert> +#include <memory> // std::unique_ptr #include <iostream> #include <odb/mssql/database.hxx> #include <odb/mssql/transaction.hxx> -#include <common/common.hxx> +#include <libcommon/common.hxx> + +#undef NDEBUG +#include <cassert> using namespace std; namespace mssql = odb::mssql; @@ -22,7 +24,7 @@ main (int argc, char* argv[]) { try { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); + unique_ptr<database> db (create_specific_database<database> (argc, argv)); // Create the database schema. // diff --git a/odb-tests/mssql/native/testscript b/odb-tests/mssql/native/testscript new file mode 100644 index 0000000..8536a93 --- /dev/null +++ b/odb-tests/mssql/native/testscript @@ -0,0 +1,9 @@ +# file : mssql/native/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + +: basics +: +$* diff --git a/odb-tests/mssql/query/buildfile b/odb-tests/mssql/query/buildfile new file mode 100644 index 0000000..9061fe5 --- /dev/null +++ b/odb-tests/mssql/query/buildfile @@ -0,0 +1,35 @@ +# file : mssql/query/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libodb = libodb%lib{odb} + +import libs = libodb-mssql%lib{odb-mssql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mssql_query_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --mssql-server-version 9.0 + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/query/driver.cxx b/odb-tests/mssql/query/driver.cxx index 5600c81..08d8d77 100644 --- a/odb-tests/mssql/query/driver.cxx +++ b/odb-tests/mssql/query/driver.cxx @@ -4,18 +4,20 @@ // Test SQL Server-specific query support aspects. // -#include <memory> // std::auto_ptr -#include <cassert> +#include <memory> // std::unique_ptr #include <iostream> #include <odb/mssql/database.hxx> #include <odb/mssql/transaction.hxx> -#include <common/common.hxx> +#include <libcommon/common.hxx> #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include <cassert> + using namespace std; namespace mssql = odb::mssql; using namespace mssql; @@ -25,7 +27,7 @@ main (int argc, char* argv[]) { try { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); + unique_ptr<database> db (create_specific_database<database> (argc, argv)); { object o1; diff --git a/odb-tests/mssql/query/testscript b/odb-tests/mssql/query/testscript new file mode 100644 index 0000000..73c55bd --- /dev/null +++ b/odb-tests/mssql/query/testscript @@ -0,0 +1,11 @@ +# file : mssql/query/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + ++$create_schema + +: basics +: +$* diff --git a/odb-tests/mssql/stored-proc/buildfile b/odb-tests/mssql/stored-proc/buildfile new file mode 100644 index 0000000..c92eabd --- /dev/null +++ b/odb-tests/mssql/stored-proc/buildfile @@ -0,0 +1,34 @@ +# file : mssql/stored-proc/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libodb = libodb%lib{odb} + +import libs = libodb-mssql%lib{odb-mssql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mssql_stored_proc_ \ + --generate-schema \ + --default-database common \ + --generate-query + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/stored-proc/driver.cxx b/odb-tests/mssql/stored-proc/driver.cxx index 2389798..36f8d82 100644 --- a/odb-tests/mssql/stored-proc/driver.cxx +++ b/odb-tests/mssql/stored-proc/driver.cxx @@ -4,18 +4,20 @@ // Test SQL Server stored procedure support. // -#include <memory> // std::auto_ptr -#include <cassert> +#include <memory> // std::unique_ptr #include <iostream> #include <odb/mssql/database.hxx> #include <odb/mssql/transaction.hxx> -#include <common/common.hxx> +#include <libcommon/common.hxx> #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include <cassert> + using namespace std; namespace mssql = odb::mssql; using namespace mssql; @@ -43,7 +45,7 @@ main (int argc, char* argv[]) { try { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); + unique_ptr<database> db (create_specific_database<database> (argc, argv)); object o1 (1, "a"); object o2 (2, "b"); @@ -139,7 +141,7 @@ main (int argc, char* argv[]) db->query_one<insert_object> ( query::_val (4) + "," + query::_val ("d")); - auto_ptr<object> o (db->load<object> (4)); + unique_ptr<object> o (db->load<object> (4)); cout << o->num << " " << o->str << endl << endl; @@ -154,7 +156,7 @@ main (int argc, char* argv[]) db->query_one<no_result> ( "EXEC insert_object_id" + query::_val (5) + "," + query::_val ("e")); - auto_ptr<object> o (db->load<object> (5)); + unique_ptr<object> o (db->load<object> (5)); cout << o->num << " " << o->str << endl << endl; diff --git a/odb-tests/mssql/stored-proc/testscript b/odb-tests/mssql/stored-proc/testscript new file mode 100644 index 0000000..0de46a7 --- /dev/null +++ b/odb-tests/mssql/stored-proc/testscript @@ -0,0 +1,29 @@ +# file : mssql/stored-proc/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + ++$create_schema + +: basics +: +$* >>EOO + 1 a + 2 b + 3 c + + a + b + + 1 3 + + 4 d + + 5 e + + 123 6 + + 123 7 + + EOO diff --git a/odb-tests/mssql/template/driver.cxx b/odb-tests/mssql/template/driver.cxx deleted file mode 100644 index ded03f1..0000000 --- a/odb-tests/mssql/template/driver.cxx +++ /dev/null @@ -1,40 +0,0 @@ -// file : mssql/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include <memory> // std::auto_ptr -#include <cassert> -#include <iostream> - -#include <odb/mssql/database.hxx> -#include <odb/mssql/transaction.hxx> - -#include <common/common.hxx> - -#include "test.hxx" -#include "test-odb.hxx" - -using namespace std; -namespace mssql = odb::mssql; -using namespace mssql; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); - - { - transaction t (db->begin ()); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} diff --git a/odb-tests/mssql/template/template-vc10.vcxproj b/odb-tests/mssql/template/template-vc10.vcxproj deleted file mode 100644 index 5875d9b..0000000 --- a/odb-tests/mssql/template/template-vc10.vcxproj +++ /dev/null @@ -1,180 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{__uuid__()}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>__value__(name)</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> -__ifelse__(__value__(odb_options),,, -m4_dnl - <ItemGroup> -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - </ItemGroup>) - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> diff --git a/odb-tests/mssql/template/template-vc10.vcxproj.filters b/odb-tests/mssql/template/template-vc10.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/odb-tests/mssql/template/template-vc10.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>cxx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>h;hxx;ixx;txx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/odb-tests/mssql/template/template-vc11.vcxproj b/odb-tests/mssql/template/template-vc11.vcxproj deleted file mode 100644 index 0bee18f..0000000 --- a/odb-tests/mssql/template/template-vc11.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{__uuid__()}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>__value__(name)</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> -__ifelse__(__value__(odb_options),,, -m4_dnl - <ItemGroup> -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - </ItemGroup>) - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> diff --git a/odb-tests/mssql/template/template-vc11.vcxproj.filters b/odb-tests/mssql/template/template-vc11.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/odb-tests/mssql/template/template-vc11.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>cxx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>h;hxx;ixx;txx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/odb-tests/mssql/template/template-vc12.vcxproj b/odb-tests/mssql/template/template-vc12.vcxproj deleted file mode 100644 index 35ffb0f..0000000 --- a/odb-tests/mssql/template/template-vc12.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{__uuid__()}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>__value__(name)</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(Platform)\$(Configuration)\</OutDir> - <TargetName>driver</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <SDLCheck>true</SDLCheck> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <SDLCheck>true</SDLCheck> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common-d.lib;odb-mssql-d.lib;odb-d.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <SDLCheck>true</SDLCheck> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)\..\libcommon</AdditionalIncludeDirectories> - <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <SDLCheck>true</SDLCheck> - </ClCompile> - <Link> - <AdditionalDependencies>$(SolutionDir)\..\libcommon\lib64\common.lib;odb-mssql.lib;odb.lib;%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> -__ifelse__(__value__(odb_options),,, -m4_dnl - <ItemGroup> -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1700 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) - </ItemGroup>) - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> diff --git a/odb-tests/mssql/template/template-vc12.vcxproj.filters b/odb-tests/mssql/template/template-vc12.vcxproj.filters deleted file mode 100644 index 8ac18a3..0000000 --- a/odb-tests/mssql/template/template-vc12.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>cxx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{__uuid__()}</UniqueIdentifier> - <Extensions>h;hxx;ixx;txx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> -__ifelse__(__value__(odb_options),,, -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx)) -__header_filter_entries__(extra_headers) - </ItemGroup> - <ItemGroup> -__source_filter_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_filter_entry__(test-odb.cxx)) -__source_filter_entries__(extra_sources) - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/odb-tests/mssql/template/template-vc8.vcproj b/odb-tests/mssql/template/template-vc8.vcproj deleted file mode 100644 index cfd697f..0000000 --- a/odb-tests/mssql/template/template-vc8.vcproj +++ /dev/null @@ -1,354 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="__value__(name)" - ProjectGUID="{__uuid__()}" - RootNamespace="__value__(name)" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="x64" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common-d.lib odb-mssql-d.lib odb-d.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common.lib odb-mssql.lib odb.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="1" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common-d.lib odb-mssql-d.lib odb-d.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common.lib odb-mssql.lib odb.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="1" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cxx" - UniqueIdentifier="{__uuid__()}" - > -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - </Filter> - <Filter - Name="Header Files" - Filter="h;hxx;ixx;txx" - UniqueIdentifier="{__uuid__()}" - > -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/odb-tests/mssql/template/template-vc9.vcproj b/odb-tests/mssql/template/template-vc9.vcproj deleted file mode 100644 index 72a95d9..0000000 --- a/odb-tests/mssql/template/template-vc9.vcproj +++ /dev/null @@ -1,361 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="__value__(name)" - ProjectGUID="{__uuid__()}" - RootNamespace="__value__(name)" - Keyword="Win32Proj" - TargetFrameworkVersion="196613" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="x64" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common-d.lib odb-mssql-d.lib odb-d.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="2" - EnableIntrinsicFunctions="true" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H" - RuntimeLibrary="2" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common.lib odb-mssql.lib odb.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="1" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common-d.lib odb-mssql-d.lib odb-d.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" - Optimization="2" - EnableIntrinsicFunctions="true" - AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon" - PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H" - RuntimeLibrary="2" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common.lib odb-mssql.lib odb.lib" - OutputFile="$(OutDir)\driver.exe" - LinkIncremental="1" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cxx" - UniqueIdentifier="{__uuid__()}" - > -__source_entry__(driver.cxx) -__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) - </Filter> - <Filter - Name="Header Files" - Filter="h;hxx;ixx;txx" - UniqueIdentifier="{__uuid__()}" - > -__ifelse__(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) -__file_entries__(extra_headers) - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/odb-tests/mssql/template/test.hxx b/odb-tests/mssql/template/test.hxx deleted file mode 100644 index 0bc1f95..0000000 --- a/odb-tests/mssql/template/test.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : mssql/template/test.hxx -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include <odb/core.hxx> - -#pragma db object -struct object -{ - object (unsigned long id) - : id_ (id) - { - } - - object () - { - } - - #pragma db id - unsigned long id_; -}; - -#endif // TEST_HXX diff --git a/odb-tests/mssql/types/buildfile b/odb-tests/mssql/types/buildfile new file mode 100644 index 0000000..865980e --- /dev/null +++ b/odb-tests/mssql/types/buildfile @@ -0,0 +1,35 @@ +# file : mssql/types/buildfile +# license : GNU GPL v2; see accompanying LICENSE file + +if ($build.meta_operation != 'dist') +{ + assert ($mssql) "mssql should be configured for this test" + assert (!$multi) "multi-database mode is not supported by this test" +} + +import libodb = libodb%lib{odb} + +import libs = libodb-mssql%lib{odb-mssql} +import libs += lib{common} + +exe{driver}: {hxx cxx}{* -*-odb} {hxx ixx cxx}{test-odb} testscript + +# Introduce the metadata library target to make sure the libodb library is +# resolved for the odb_compile ad hoc rule (see build/root.build for details). +# +libue{test-meta}: $libodb + +<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta} + +exe{driver}: libue{test-meta} $libs + +# Specify the ODB custom options to be used by the odb_compile ad hoc rule +# (see build/root.build for details). +# +odb_options = --table-prefix mssql_types_ \ + --generate-schema \ + --default-database common \ + --generate-query \ + --hxx-prologue '#include "traits.hxx"' + +cxx.poptions =+ "-I$out_base" "-I$src_base" diff --git a/odb-tests/mssql/types/driver.cxx b/odb-tests/mssql/types/driver.cxx index d900a95..8e9a405 100644 --- a/odb-tests/mssql/types/driver.cxx +++ b/odb-tests/mssql/types/driver.cxx @@ -4,19 +4,21 @@ // Test SQL Server type conversion. // -#include <memory> // std::auto_ptr -#include <cassert> +#include <memory> // std::unique_ptr #include <iostream> #include <odb/exceptions.hxx> #include <odb/mssql/database.hxx> #include <odb/mssql/transaction.hxx> -#include <common/common.hxx> +#include <libcommon/common.hxx> #include "test.hxx" #include "test-odb.hxx" +#undef NDEBUG +#include <cassert> + using namespace std; namespace mssql = odb::mssql; using namespace mssql; @@ -26,7 +28,7 @@ main (int argc, char* argv[]) { try { - auto_ptr<database> db (create_specific_database<database> (argc, argv)); + unique_ptr<database> db (create_specific_database<database> (argc, argv)); { object o (1); @@ -123,7 +125,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr<object> o1 (db->load<object> (1)); + unique_ptr<object> o1 (db->load<object> (1)); t.commit (); assert (o == *o1); @@ -214,8 +216,8 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr<long_null> p1 (db->load<long_null> (1)); - auto_ptr<long_null> p2 (db->load<long_null> (2)); + unique_ptr<long_null> p1 (db->load<long_null> (1)); + unique_ptr<long_null> p2 (db->load<long_null> (2)); t.commit (); assert (o1 == *p1); @@ -243,7 +245,7 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); - auto_ptr<long_cont> p (db->load<long_cont> (1)); + unique_ptr<long_cont> p (db->load<long_cont> (1)); t.commit (); assert (o == *p); @@ -286,9 +288,9 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr<char_array> p1 (db->load<char_array> (1)); - auto_ptr<char_array> p2 (db->load<char_array> (2)); - auto_ptr<char_array> p3 (db->load<char_array> (3)); + unique_ptr<char_array> p1 (db->load<char_array> (1)); + unique_ptr<char_array> p2 (db->load<char_array> (2)); + unique_ptr<char_array> p3 (db->load<char_array> (3)); t.commit (); assert (o1 == *p1); @@ -312,7 +314,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr<rowversion> p (db->load<rowversion> (o.id_)); + unique_ptr<rowversion> p (db->load<rowversion> (o.id_)); assert (p->ver == o.ver); p->str += 'd'; db->update (*p); @@ -321,7 +323,7 @@ main (int argc, char* argv[]) // Double-check object version was updated. // { - auto_ptr<rowversion> p1 (db->load<rowversion> (o.id_)); + unique_ptr<rowversion> p1 (db->load<rowversion> (o.id_)); assert (p->ver == p1->ver); } @@ -353,7 +355,7 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); - auto_ptr<rowversion_auto> p (db->load<rowversion_auto> (o.id_)); + unique_ptr<rowversion_auto> p (db->load<rowversion_auto> (o.id_)); assert (p->ver == o.ver); p->str += 'd'; db->update (*p); diff --git a/odb-tests/mssql/types/test.hxx b/odb-tests/mssql/types/test.hxx index 5d651a8..6673bd9 100644 --- a/odb-tests/mssql/types/test.hxx +++ b/odb-tests/mssql/types/test.hxx @@ -19,11 +19,9 @@ typedef struct _GUID } GUID; #endif -#include <common/config.hxx> // HAVE_CXX11 - #include <string> #include <vector> -#include <memory> // std::auto_ptr +#include <memory> // std::unique_ptr #include <cstring> // std::memcmp, std::memcpy, std::str[n]cmp, std::strlen #include <cwchar> // std::wcslen, std::wcs[n]cmp @@ -322,11 +320,7 @@ struct long_null unsigned int id_; #pragma db type ("VARCHAR(max)") null -#ifdef HAVE_CXX11 std::unique_ptr<std::string> str_; -#else - std::auto_ptr<std::string> str_; -#endif bool operator== (const long_null& y) const diff --git a/odb-tests/mssql/types/testscript b/odb-tests/mssql/types/testscript new file mode 100644 index 0000000..e825433 --- /dev/null +++ b/odb-tests/mssql/types/testscript @@ -0,0 +1,11 @@ +# file : mssql/types/testscript +# license : GNU GPL v2; see accompanying LICENSE file + +.include ../../database-options.testscript +.include ../../mssql.testscript + ++$create_schema + +: basics +: +$* |