summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-04-25 19:49:33 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-05-03 14:33:32 +0300
commit68ff3d1fa1c8eb86bf89b7b9cbad78a45f362672 (patch)
treecdaaf84ceeb7f5c4ee7e06f84fed383a18d40350
parent6fad72ea59dca2f2cc9e431bcc5a026bda17fdf2 (diff)
Add support for testing of libodb-mssql to odb-tests
-rw-r--r--README.md5
-rw-r--r--libodb-mssql/manifest131
-rw-r--r--libodb-mysql/manifest11
-rw-r--r--libodb-pgsql/manifest11
-rw-r--r--libodb/manifest71
-rw-r--r--odb-tests/build/root.build66
-rw-r--r--odb-tests/buildfile1
-rw-r--r--odb-tests/common/access/testscript10
-rw-r--r--odb-tests/common/as/testscript10
-rw-r--r--odb-tests/common/blob/testscript10
-rw-r--r--odb-tests/common/bulk/buildfile7
-rw-r--r--odb-tests/common/bulk/driver.cxx2
-rw-r--r--odb-tests/common/bulk/test.hxx4
-rw-r--r--odb-tests/common/bulk/testscript15
-rw-r--r--odb-tests/common/callback/testscript10
-rw-r--r--odb-tests/common/changelog/testscript19
-rw-r--r--odb-tests/common/circular/multiple/testscript9
-rw-r--r--odb-tests/common/circular/single/testscript10
-rw-r--r--odb-tests/common/composite/testscript10
-rw-r--r--odb-tests/common/const-member/testscript10
-rw-r--r--odb-tests/common/const-object/testscript10
-rw-r--r--odb-tests/common/container/basics/testscript10
-rw-r--r--odb-tests/common/container/change-tracking/testscript10
-rw-r--r--odb-tests/common/ctor/testscript10
-rw-r--r--odb-tests/common/default/testscript10
-rw-r--r--odb-tests/common/definition/testscript10
-rw-r--r--odb-tests/common/enum/testscript10
-rw-r--r--odb-tests/common/erase-query/testscript10
-rw-r--r--odb-tests/common/id/auto/testscript10
-rw-r--r--odb-tests/common/id/composite/testscript10
-rw-r--r--odb-tests/common/id/nested/testscript10
-rw-r--r--odb-tests/common/include/testscript9
-rw-r--r--odb-tests/common/index/testscript10
-rw-r--r--odb-tests/common/inheritance/polymorphism/testscript13
-rw-r--r--odb-tests/common/inheritance/reuse/testscript10
-rw-r--r--odb-tests/common/inheritance/transient/testscript10
-rw-r--r--odb-tests/common/inverse/buildfile3
-rw-r--r--odb-tests/common/inverse/testscript10
-rw-r--r--odb-tests/common/lazy-ptr/testscript10
-rw-r--r--odb-tests/common/lifecycle/testscript10
-rw-r--r--odb-tests/common/no-id/testscript10
-rw-r--r--odb-tests/common/object/testscript10
-rw-r--r--odb-tests/common/optimistic/testscript10
-rw-r--r--odb-tests/common/pragma/testscript9
-rw-r--r--odb-tests/common/prepared/testscript10
-rw-r--r--odb-tests/common/query/array/testscript10
-rw-r--r--odb-tests/common/query/basics/testscript10
-rw-r--r--odb-tests/common/query/one/testscript10
-rw-r--r--odb-tests/common/readonly/driver.cxx2
-rw-r--r--odb-tests/common/readonly/testscript10
-rw-r--r--odb-tests/common/relationship/basics/testscript10
-rw-r--r--odb-tests/common/relationship/on-delete/buildfile11
-rw-r--r--odb-tests/common/relationship/on-delete/testscript10
-rw-r--r--odb-tests/common/relationship/query/testscript10
-rw-r--r--odb-tests/common/schema/embedded/basics/testscript9
-rw-r--r--odb-tests/common/schema/embedded/order/testscript9
-rw-r--r--odb-tests/common/schema/namespace/testscript10
-rw-r--r--odb-tests/common/section/basics/testscript10
-rw-r--r--odb-tests/common/section/polymorphism/testscript10
-rw-r--r--odb-tests/common/session/cache/testscript10
-rw-r--r--odb-tests/common/session/custom/testscript10
-rw-r--r--odb-tests/common/threads/testscript10
-rw-r--r--odb-tests/common/transaction/basics/testscript9
-rw-r--r--odb-tests/common/transaction/callback/testscript9
-rw-r--r--odb-tests/common/view/basics/testscript10
-rw-r--r--odb-tests/common/view/olv/testscript13
-rw-r--r--odb-tests/common/virtual/testscript10
-rw-r--r--odb-tests/common/wrapper/testscript10
-rw-r--r--odb-tests/database-options.testscript57
-rw-r--r--odb-tests/evolution/add-column/testscript2
-rw-r--r--odb-tests/evolution/add-foreign-key/testscript2
-rw-r--r--odb-tests/evolution/add-index/testscript2
-rw-r--r--odb-tests/evolution/add-table/testscript2
-rw-r--r--odb-tests/evolution/alter-column/testscript2
-rw-r--r--odb-tests/evolution/combined/testscript2
-rw-r--r--odb-tests/evolution/data/testscript2
-rw-r--r--odb-tests/evolution/drop-column/testscript2
-rw-r--r--odb-tests/evolution/drop-foreign-key/testscript2
-rw-r--r--odb-tests/evolution/drop-index/testscript2
-rw-r--r--odb-tests/evolution/drop-table/testscript2
-rw-r--r--odb-tests/evolution/soft-add/testscript2
-rw-r--r--odb-tests/evolution/soft-delete/testscript2
-rw-r--r--odb-tests/evolution/version/testscript2
-rw-r--r--odb-tests/libcommon/common.cxx2
-rw-r--r--odb-tests/manifest45
-rw-r--r--odb-tests/mssql-schema.testscript6
-rw-r--r--odb-tests/mssql.testscript12
-rw-r--r--odb-tests/mssql/custom/buildfile37
-rw-r--r--odb-tests/mssql/custom/driver.cxx14
-rw-r--r--odb-tests/mssql/custom/testscript11
-rw-r--r--odb-tests/mssql/database/buildfile14
-rw-r--r--odb-tests/mssql/database/driver.cxx16
-rw-r--r--odb-tests/mssql/database/testscript9
-rw-r--r--odb-tests/mssql/native/buildfile15
-rw-r--r--odb-tests/mssql/native/driver.cxx10
-rw-r--r--odb-tests/mssql/native/testscript9
-rw-r--r--odb-tests/mssql/query/buildfile35
-rw-r--r--odb-tests/mssql/query/driver.cxx10
-rw-r--r--odb-tests/mssql/query/testscript11
-rw-r--r--odb-tests/mssql/stored-proc/buildfile34
-rw-r--r--odb-tests/mssql/stored-proc/driver.cxx14
-rw-r--r--odb-tests/mssql/stored-proc/testscript29
-rw-r--r--odb-tests/mssql/template/driver.cxx40
-rw-r--r--odb-tests/mssql/template/template-vc10.vcxproj180
-rw-r--r--odb-tests/mssql/template/template-vc10.vcxproj.filters25
-rw-r--r--odb-tests/mssql/template/template-vc11.vcxproj184
-rw-r--r--odb-tests/mssql/template/template-vc11.vcxproj.filters25
-rw-r--r--odb-tests/mssql/template/template-vc12.vcxproj188
-rw-r--r--odb-tests/mssql/template/template-vc12.vcxproj.filters25
-rw-r--r--odb-tests/mssql/template/template-vc8.vcproj354
-rw-r--r--odb-tests/mssql/template/template-vc9.vcproj361
-rw-r--r--odb-tests/mssql/template/test.hxx25
-rw-r--r--odb-tests/mssql/types/buildfile35
-rw-r--r--odb-tests/mssql/types/driver.cxx30
-rw-r--r--odb-tests/mssql/types/test.hxx8
-rw-r--r--odb-tests/mssql/types/testscript11
116 files changed, 1286 insertions, 1511 deletions
diff --git a/README.md b/README.md
index 49a5a49..b5d1723 100644
--- a/README.md
+++ b/README.md
@@ -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
+:
+$*