mono.git
9 years agoMerge pull request #1781 from alexrp/master
Alex Rønne Petersen [Fri, 8 May 2015 16:10:06 +0000 (18:10 +0200)]
Merge pull request #1781 from alexrp/master

[runtime] Improve context static LocalDataStoreSlot support

9 years agoMerge pull request #1782 from alexrp/profiler-symbol-fix
Alex Rønne Petersen [Fri, 8 May 2015 13:00:03 +0000 (15:00 +0200)]
Merge pull request #1782 from alexrp/profiler-symbol-fix

[utils] Export concurrent hash table and lock free queue functions

9 years ago[system.xml] System.Xml.Serialization.Advanced from reference sources
Marek Safar [Fri, 8 May 2015 11:52:28 +0000 (13:52 +0200)]
[system.xml] System.Xml.Serialization.Advanced from reference sources

9 years ago[system.xml] serialization handlers from reference sources
Marek Safar [Fri, 8 May 2015 11:14:12 +0000 (13:14 +0200)]
[system.xml] serialization handlers from reference sources

9 years ago[threadpool-ms] Reenable threadpool cleanup
Ludovic Henry [Thu, 7 May 2015 18:19:18 +0000 (19:19 +0100)]
[threadpool-ms] Reenable threadpool cleanup

9 years ago[threadpool-ms] Refactor worker creation and domain unloading
Ludovic Henry [Thu, 7 May 2015 17:01:47 +0000 (18:01 +0100)]
[threadpool-ms] Refactor worker creation and domain unloading

9 years ago[threadpool-ms] Ensure monitor thread does not start if runtime is shutting down
Ludovic Henry [Thu, 7 May 2015 16:28:37 +0000 (17:28 +0100)]
[threadpool-ms] Ensure monitor thread does not start if runtime is shutting down

9 years ago[threadpool-ms] Fix potential bug on monitor thread interuption
Ludovic Henry [Thu, 7 May 2015 16:27:55 +0000 (17:27 +0100)]
[threadpool-ms] Fix potential bug on monitor thread interuption

9 years ago[threadpool-ms] Refactor lock for working and parked threads
Ludovic Henry [Thu, 7 May 2015 16:25:14 +0000 (17:25 +0100)]
[threadpool-ms] Refactor lock for working and parked threads

9 years ago[threadpool-ms] Guarantee icall parameter size
Ludovic Henry [Thu, 7 May 2015 15:10:57 +0000 (16:10 +0100)]
[threadpool-ms] Guarantee icall parameter size

9 years ago[utils] Export concurrent hash table and lock free queue functions.
Alex Rønne Petersen [Fri, 8 May 2015 10:53:31 +0000 (12:53 +0200)]
[utils] Export concurrent hash table and lock free queue functions.

9 years ago[system.xml] System.Xml.Serialization.Configuration from reference sources
Marek Safar [Fri, 8 May 2015 09:15:50 +0000 (11:15 +0200)]
[system.xml] System.Xml.Serialization.Configuration from reference sources

9 years ago[runtime] Improve context static LocalDataStoreSlot support.
Alex Rønne Petersen [Fri, 8 May 2015 03:55:11 +0000 (05:55 +0200)]
[runtime] Improve context static LocalDataStoreSlot support.

The context-specific code now mirrors the thread-specific code and uses the
internal NamedDataSlot class. The runtime code now correctly frees context
static data allocated via this class.

9 years agoFix make dist.
Zoltan Varga [Fri, 8 May 2015 09:01:04 +0000 (05:01 -0400)]
Fix make dist.

9 years agoFix the build.
Zoltan Varga [Fri, 8 May 2015 08:59:08 +0000 (04:59 -0400)]
Fix the build.

9 years ago[corlib] Bump reference souces. Fixes #29808
Marek Safar [Fri, 8 May 2015 08:33:50 +0000 (10:33 +0200)]
[corlib] Bump reference souces. Fixes #29808

9 years ago[system.data] remove unused files from mobile profile
Marek Safar [Fri, 8 May 2015 06:49:01 +0000 (08:49 +0200)]
[system.data] remove unused files from mobile profile

9 years ago[sdb] Remove the usage of WaitForSingleObject (), use cond vars instead on all platforms.
Zoltan Varga [Fri, 8 May 2015 03:17:27 +0000 (23:17 -0400)]
[sdb] Remove the usage of WaitForSingleObject (), use cond vars instead on all platforms.

9 years ago[runtime] Implement support for condition variables on windows using the win32 CONDIT...
Zoltan Varga [Fri, 8 May 2015 03:06:11 +0000 (23:06 -0400)]
[runtime] Implement support for condition variables on windows using the win32 CONDITION_VARIABLE type available from Windows Vista.

9 years ago[runtime] Fix the windows build.
Zoltan Varga [Fri, 8 May 2015 02:47:47 +0000 (22:47 -0400)]
[runtime] Fix the windows build.

9 years ago[runtime] Update LocalDataStoreSlot code to the new special static offset format.
Alex Rønne Petersen [Fri, 8 May 2015 02:15:12 +0000 (04:15 +0200)]
[runtime] Update LocalDataStoreSlot code to the new special static offset format.

9 years agoMerge pull request #1778 from JetBrains/xbuild_do_not_stop_buildnodemanager
Atsushi Eno [Fri, 8 May 2015 01:58:39 +0000 (10:58 +0900)]
Merge pull request #1778 from JetBrains/xbuild_do_not_stop_buildnodemanager

xbuild: do not stop BuildNodeManager after one build

9 years ago[runtime] Disable the broken code which aligns small structs to 4/8 bytes. Add a...
Zoltan Varga [Fri, 8 May 2015 01:23:20 +0000 (21:23 -0400)]
[runtime] Disable the broken code which aligns small structs to 4/8 bytes. Add a MONO_DEBUG option to enable it.

9 years agoMerge pull request #1780 from alexrp/master
Zoltan Varga [Fri, 8 May 2015 01:03:18 +0000 (21:03 -0400)]
Merge pull request #1780 from alexrp/master

[runtime] Initialize contexts after the GC

9 years ago[runtime] Initialize contexts after the GC.
Alex Rønne Petersen [Fri, 8 May 2015 00:52:35 +0000 (02:52 +0200)]
[runtime] Initialize contexts after the GC.

This is necessary since they use GC handles. So the handles_section must
be initialized before we try to use it.

9 years ago[runtime] Fix a few warnings.
Mark Probst [Thu, 7 May 2015 21:45:07 +0000 (14:45 -0700)]
[runtime] Fix a few warnings.

9 years agoMerge pull request #1777 from alexrp/sgen-separation
Alex Rønne Petersen [Thu, 7 May 2015 20:48:30 +0000 (22:48 +0200)]
Merge pull request #1777 from alexrp/sgen-separation

[sgen] Move bridge debugging code out of the independent SGen code

9 years agoRevert "[genmdesc] Improved unknown specifier error handling for Perl version."
triton [Thu, 7 May 2015 19:31:12 +0000 (20:31 +0100)]
Revert "[genmdesc] Improved unknown specifier error handling for Perl version."

This reverts commit 05ce4f6ee1d52c4d4edd599f271988875efae763.

It's giving some problems on Monodroid build:

/Users/builder/data/lanes/1196/012ff355/source/mono/mono/mini/cpu-arm.md
Invalid specifier len:4 at line 51 at /Users/builder/data/lanes/1196/012ff355/source/mono/mono/mini/genmdesc.pl line 153, <DESC> line 51.

9 years ago[system.data] SqlConnectionStringBuilder from reference sources. Fixes #29823
Marek Safar [Thu, 7 May 2015 18:57:53 +0000 (20:57 +0200)]
[system.data] SqlConnectionStringBuilder from reference sources. Fixes #29823

9 years ago[mcs] Flow analysis assignment from field expressions is now aware of special cased...
Marek Safar [Thu, 7 May 2015 16:23:42 +0000 (18:23 +0200)]
[mcs] Flow analysis assignment from field expressions is now aware of special cased value types. Fixes #29276

9 years agoRemove unused System.Runtime.Serialization code.
Atsushi Eno [Thu, 7 May 2015 16:13:32 +0000 (01:13 +0900)]
Remove unused System.Runtime.Serialization code.

System.ServiceModel.Web/System.Runtime.Serialization.Json is left as is
because they seem to be used by System.Json build...

9 years ago[arm] Fix a problem introduced by 3469c138c67e4b7e0afcc6a31046fcca7931d660.
Zoltan Varga [Thu, 7 May 2015 15:55:39 +0000 (11:55 -0400)]
[arm] Fix a problem introduced by 3469c138c67e4b7e0afcc6a31046fcca7931d660.

9 years agoremove old System.Data code.
Atsushi Eno [Thu, 7 May 2015 15:50:27 +0000 (00:50 +0900)]
remove old System.Data code.

9 years agoxbuild: do not stop BuildNodeManager after one build (prevents subsequent builds...
Leonid Shalupov [Thu, 7 May 2015 14:22:42 +0000 (16:22 +0200)]
xbuild: do not stop BuildNodeManager after one build (prevents subsequent builds from executing)

9 years ago[genmdesc] Fixed generator to allow instructions lengths equal to 0.
João Matos [Thu, 7 May 2015 15:10:31 +0000 (16:10 +0100)]
[genmdesc] Fixed generator to allow instructions lengths equal to 0.

I was induced in error because of the following comment in the machine read specs:

`# len:number         describe the maximun length in bytes of the instruction
# number is a positive integer`

9 years ago[tools] Fix sgen-grep-binprot after sgen code move to mono/sgen
Ludovic Henry [Thu, 7 May 2015 15:07:27 +0000 (16:07 +0100)]
[tools] Fix sgen-grep-binprot after sgen code move to mono/sgen

9 years ago[threadpool-ms] Change the meaning of ThreadPoolCounter active and working
Ludovic Henry [Wed, 6 May 2015 17:44:12 +0000 (18:44 +0100)]
[threadpool-ms] Change the meaning of ThreadPoolCounter active and working

9 years ago[arm] Fixed regression related to invalid specifier for vcall2 instruction in ARM...
João Matos [Thu, 7 May 2015 14:33:07 +0000 (15:33 +0100)]
[arm] Fixed regression related to invalid specifier for vcall2 instruction in ARM machine description.

Introduced in https://github.com/mono/mono/commit/3469c138c67e4b7e0afcc6a31046fcca7931d660.

9 years ago[genmdesc] Improved unknown specifier error handling for Perl version.
João Matos [Thu, 7 May 2015 14:31:50 +0000 (15:31 +0100)]
[genmdesc] Improved unknown specifier error handling for Perl version.

Should help catch regressions like the one introduced in https://github.com/mono/mono/commit/3469c138c67e4b7e0afcc6a31046fcca7931d660#diff-e3dadd3f8246691b408c41c0441d49fcR358 at build time.

9 years ago[genmdesc] Improved instruction length error handling for Perl version.
João Matos [Thu, 7 May 2015 14:31:18 +0000 (15:31 +0100)]
[genmdesc] Improved instruction length error handling for Perl version.

Should help catch regressions like the one introduced in https://github.com/mono/mono/commit/3469c138c67e4b7e0afcc6a31046fcca7931d660#diff-e3dadd3f8246691b408c41c0441d49fcR358 at build time.

9 years ago[genmdesc] Improved instruction length error handling for C version.
João Matos [Thu, 7 May 2015 14:30:08 +0000 (15:30 +0100)]
[genmdesc] Improved instruction length error handling for C version.

9 years agoMerge pull request #1773 from ztzg/sql-server-datetime2
Atsushi Eno [Thu, 7 May 2015 10:03:11 +0000 (19:03 +0900)]
Merge pull request #1773 from ztzg/sql-server-datetime2

Allow transferring datetime2/datetimeoffset to/from SQL Server 2012

9 years agoMerge pull request #1772 from ztzg/sql-server-variant
Atsushi Eno [Thu, 7 May 2015 09:54:49 +0000 (18:54 +0900)]
Merge pull request #1772 from ztzg/sql-server-variant

Fix SQL Server 2012 variant parameters and return values

9 years agoMerge pull request #1771 from ztzg/sql-server-bulk-insert
Atsushi Eno [Thu, 7 May 2015 09:53:41 +0000 (18:53 +0900)]
Merge pull request #1771 from ztzg/sql-server-bulk-insert

Fix SQL Server 2012 bulk insert issues

9 years ago[xbuild] for resolving assemblies from pkg-config, prefer specified version
Atsushi Eno [Thu, 7 May 2015 07:25:32 +0000 (16:25 +0900)]
[xbuild] for resolving assemblies from pkg-config, prefer specified version

... even if SpecificVersion is false. There is no reason to prefer any
mismatching version when SpecificVersion=false.

That behavior caused monodevelop build failures because of incorrectly-
resolved gtk# packages. After this fix, this issue goes away.
https://github.com/mono/monodevelop/blob/2436ad1874694ec811871dacf9a659a79b5fad0d/README.md#known-problems

9 years ago[sgen] Move bridge debugging code out of the independent SGen code.
Alex Rønne Petersen [Thu, 7 May 2015 02:52:28 +0000 (04:52 +0200)]
[sgen] Move bridge debugging code out of the independent SGen code.

9 years ago[tests] Trim whitespace from testname in dummy unit test XML, Jenkins test display...
Alexander Köplinger [Thu, 7 May 2015 01:28:11 +0000 (03:28 +0200)]
[tests] Trim whitespace from testname in dummy unit test XML, Jenkins test display doesn't like it

9 years ago[tests] Small fixes to the dummy unit test XML output to make it a compliant NUnit...
Alexander Köplinger [Wed, 6 May 2015 21:36:13 +0000 (17:36 -0400)]
[tests] Small fixes to the dummy unit test XML output to make it a compliant NUnit file

9 years ago[jit] Treat MONO_ARCH_IMT_REG as allways defined.
Zoltan Varga [Wed, 6 May 2015 21:31:23 +0000 (17:31 -0400)]
[jit] Treat MONO_ARCH_IMT_REG as allways defined.

9 years ago[runtime] Fix configure so it really uses -fvisibility=hidden.
Zoltan Varga [Wed, 6 May 2015 20:15:54 +0000 (16:15 -0400)]
[runtime] Fix configure so it really uses -fvisibility=hidden.

9 years ago[threading] Fix a race during shutdown where a thread could have a suspend requested...
Rodrigo Kumpera [Wed, 6 May 2015 20:11:41 +0000 (16:11 -0400)]
[threading] Fix a race during shutdown where a thread could have a suspend requested after it's too late for it to be served.

During thread shutdown, it gets to a point where the thread can no longer server suspend requests. To fix that
we ensure the thread gets one last suspend opportunity before going down.

9 years ago[runtime] Don't call managed code when OVF.
Rodrigo Kumpera [Fri, 1 May 2015 19:31:18 +0000 (15:31 -0400)]
[runtime] Don't call managed code when OVF.

9 years ago[coop] Fix marshal code of reset-abort calls to use an IntPtr cookie var instead...
Rodrigo Kumpera [Thu, 30 Apr 2015 20:14:40 +0000 (16:14 -0400)]
[coop] Fix marshal code of reset-abort calls to use an IntPtr cookie var instead of int32.

9 years ago[coop] Ensure the polling tramp has a wrapper.
Rodrigo Kumpera [Thu, 30 Apr 2015 18:45:48 +0000 (14:45 -0400)]
[coop] Ensure the polling tramp has a wrapper.

9 years agoMerge pull request #1750 from alexrp/precise-ctx-static-scan
Alex Rønne Petersen [Wed, 6 May 2015 19:02:04 +0000 (21:02 +0200)]
Merge pull request #1750 from alexrp/precise-ctx-static-scan

Improve thread/context static field scanning

9 years agoMerge pull request #1742 from alexrp/symbol-renaming
Alex Rønne Petersen [Wed, 6 May 2015 18:56:13 +0000 (20:56 +0200)]
Merge pull request #1742 from alexrp/symbol-renaming

Clean up some C symbols polluting the global namespace

9 years agoMerge pull request #1776 from evincarofautumn/fix-independent-sgen
João Matos [Wed, 6 May 2015 18:51:47 +0000 (19:51 +0100)]
Merge pull request #1776 from evincarofautumn/fix-independent-sgen

[sgen] Fix non-Mono SGen clients.

9 years ago[sgen] Fix non-Mono SGen clients.
Jon Purdy [Wed, 6 May 2015 18:17:05 +0000 (11:17 -0700)]
[sgen] Fix non-Mono SGen clients.

9 years ago[jit] Print out the numeric opcode name in mono_inst_name () when logging is disabled.
Zoltan Varga [Wed, 6 May 2015 18:37:39 +0000 (14:37 -0400)]
[jit] Print out the numeric opcode name in mono_inst_name () when logging is disabled.

9 years agoMerge pull request #1775 from StephenMcConnel/bug-29724A
João Matos [Wed, 6 May 2015 16:37:46 +0000 (17:37 +0100)]
Merge pull request #1775 from StephenMcConnel/bug-29724A

Fix bug in new SWF.MWFFileView.Dispose method (Xamarin 29724)

9 years agoFix bug in new SWF.MWFFileView.Dispose method (Xamarin 29724)
Stephen McConnel [Wed, 6 May 2015 16:34:52 +0000 (11:34 -0500)]
Fix bug in new SWF.MWFFileView.Dispose method (Xamarin 29724)

The fix for Xamarin 29724 submitted a day or two ago wasn't quite right.

9 years ago[build] Fixes reference sources hash
Marek Safar [Wed, 6 May 2015 15:17:00 +0000 (17:17 +0200)]
[build] Fixes reference sources hash

9 years ago[bcl] Mobile profiles fixes
Marek Safar [Wed, 6 May 2015 15:11:02 +0000 (17:11 +0200)]
[bcl] Mobile profiles fixes

9 years ago[runtime] Fixed `always_inline function might not be inlinable` warning on GCC.
João Matos [Wed, 6 May 2015 14:08:17 +0000 (15:08 +0100)]
[runtime] Fixed `always_inline function might not be inlinable` warning on GCC.

This fix was suggested by @schani to the warning spam that we've started to see.

9 years ago[runtime] Fixed warning by including <winsock2.h> before <windows.h>.
João Matos [Wed, 6 May 2015 14:05:04 +0000 (15:05 +0100)]
[runtime] Fixed warning by including <winsock2.h> before <windows.h>.

9 years ago[runtime] Fixed unused `count` variable warning by moving some code around.
João Matos [Wed, 6 May 2015 14:04:30 +0000 (15:04 +0100)]
[runtime] Fixed unused `count` variable warning by moving some code around.

9 years ago[runtime] Fixed warning by including <winsock2.h> before <windows.h>.
João Matos [Wed, 6 May 2015 14:03:58 +0000 (15:03 +0100)]
[runtime] Fixed warning by including <winsock2.h> before <windows.h>.

9 years ago[runtime] Fixed warning by only using #pragma warning on MSVC.
João Matos [Wed, 6 May 2015 14:02:32 +0000 (15:02 +0100)]
[runtime] Fixed warning by only using #pragma warning on MSVC.

9 years ago[mini] Do not try to set the usermode exception policy unless we're targeting Windows.
João Matos [Wed, 6 May 2015 14:01:40 +0000 (15:01 +0100)]
[mini] Do not try to set the usermode exception policy unless we're targeting Windows.

Fixes Windows cross-compilation.

9 years ago[mini] Do not use the ELF writer when hosting on Windows.
João Matos [Wed, 6 May 2015 14:00:18 +0000 (15:00 +0100)]
[mini] Do not use the ELF writer when hosting on Windows.

9 years ago[runtime] Fix support for callvirt delegates with a vtype first argument. Fixes ...
Zoltan Varga [Wed, 6 May 2015 08:56:52 +0000 (04:56 -0400)]
[runtime] Fix support for callvirt delegates with a vtype first argument. Fixes #29665.

9 years agoMerge pull request #1774 from akoeplinger/unit-test-reporting-improvements
Marek Safar [Wed, 6 May 2015 07:28:04 +0000 (09:28 +0200)]
Merge pull request #1774 from akoeplinger/unit-test-reporting-improvements

[RFC] Improve unit test reporting when test runner crashes

9 years ago[RFC] Improve unit test reporting when test runner crashes
Alexander Köplinger [Wed, 6 May 2015 01:39:35 +0000 (21:39 -0400)]
[RFC] Improve unit test reporting when test runner crashes

9 years ago[sgen] Fix an accidental symbol export in sgen-workers.c.
Alex Rønne Petersen [Wed, 6 May 2015 01:02:54 +0000 (03:02 +0200)]
[sgen] Fix an accidental symbol export in sgen-workers.c.

9 years ago[mini] Rename machine description symbol names to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 10:10:44 +0000 (12:10 +0200)]
[mini] Rename machine description symbol names to avoid global namespace pollution.

9 years ago[utils] Rename JSON writer symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 10:03:18 +0000 (12:03 +0200)]
[utils] Rename JSON writer symbols to avoid global namespace pollution.

9 years ago[mini] Rename image writer symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 09:59:19 +0000 (11:59 +0200)]
[mini] Rename image writer symbols to avoid global namespace pollution.

9 years ago[runtime] Rename seq point symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 09:11:27 +0000 (11:11 +0200)]
[runtime] Rename seq point symbols to avoid global namespace pollution.

9 years ago[runtime] Remove unused _mono_debug_address_from_il_offset function.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:50:03 +0000 (10:50 +0200)]
[runtime] Remove unused _mono_debug_address_from_il_offset function.

9 years ago[utils] Avoid symbol namespace pollution in iomap code.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:48:15 +0000 (10:48 +0200)]
[utils] Avoid symbol namespace pollution in iomap code.

9 years ago[utils] Rename SHA-1 symbols to not pollute the global namespace.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:44:13 +0000 (10:44 +0200)]
[utils] Rename SHA-1 symbols to not pollute the global namespace.

9 years ago[runtime] Rename GCHandle_CheckCurrentDomain to not pollute the global namespace.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:42:06 +0000 (10:42 +0200)]
[runtime] Rename GCHandle_CheckCurrentDomain to not pollute the global namespace.

9 years ago[wapi] Fix some symbol names to be remapped the same way as the rest.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:41:55 +0000 (10:41 +0200)]
[wapi] Fix some symbol names to be remapped the same way as the rest.

This is in the interest of reducing namespace pollution.

9 years ago[runtime] Rework special static offset handling.
Alex Rønne Petersen [Fri, 1 May 2015 19:27:58 +0000 (21:27 +0200)]
[runtime] Rework special static offset handling.

Special static offsets now have a less magical format:

 [0]   6-bit index into the array of chunks.
 [6]   25-bit offset into the array.
 [31]  Bit indicating thread or context static.

Also wrapped accesses to these fields in macros and a bitfield struct.

9 years ago[runtime] Unify thread/context static field scanning and management.
Alex Rønne Petersen [Wed, 29 Apr 2015 07:00:17 +0000 (09:00 +0200)]
[runtime] Unify thread/context static field scanning and management.

Context static data is now scanned precisely in the same way as thread static
data. To facilitate this, the memory management of context static data has been
fixed to work similarly to thread static data. This further required that all
contexts be available for iteration, so contexts are now added to a global hash
table (by GC handle) when they are created.

9 years ago[remoting] Increment the context ID counter atomically.
Alex Rønne Petersen [Wed, 29 Apr 2015 06:59:16 +0000 (08:59 +0200)]
[remoting] Increment the context ID counter atomically.

9 years ago[runtime] Rewrite TLS slot marking to use MonoBitSet.
Alex Rønne Petersen [Tue, 28 Apr 2015 14:21:29 +0000 (16:21 +0200)]
[runtime] Rewrite TLS slot marking to use MonoBitSet.

9 years ago[utils] Add MONO_BITSET_FOREACH macro.
Alex Rønne Petersen [Tue, 28 Apr 2015 14:18:05 +0000 (16:18 +0200)]
[utils] Add MONO_BITSET_FOREACH macro.

9 years ago[sgen] Fix logging format specifiers. `t` modifier is not standard.
Mark Probst [Tue, 5 May 2015 22:21:58 +0000 (15:21 -0700)]
[sgen] Fix logging format specifiers. `t` modifier is not standard.

9 years ago[Mono.Data.Tds] Serialize GUIDs as 16-byte arrays (rather than zero)
Damien Diederen [Wed, 21 Jan 2015 19:07:30 +0000 (20:07 +0100)]
[Mono.Data.Tds] Serialize GUIDs as 16-byte arrays (rather than zero)

Make sure we do not accidentally to encode an object by breaking out for
unknown TypeCode.Object instances (this is where the zero bytes used to
silently come from).

9 years ago[System.Data.SqlClient] Enable bulk insert of DateTime{,Offset} instances
Damien Diederen [Wed, 21 Jan 2015 21:17:49 +0000 (22:17 +0100)]
[System.Data.SqlClient] Enable bulk insert of DateTime{,Offset} instances

This commit adds the missing mapping from DateTimeOffset to its SqlDbType,
and makes sure they are converted to string 1. in a locale-insensitive
manner, and 2. with maximum precision.

9 years ago[System.Data.SqlClient] Avoid "invalid source table" exception in bulk inserts
Damien Diederen [Tue, 5 May 2015 19:55:28 +0000 (21:55 +0200)]
[System.Data.SqlClient] Avoid "invalid source table" exception in bulk inserts

Mono's implementation of DataTableMappingCollection used not to care,
but MS', merged from the .NET reference sources, throws an exception
if the source table name is empty.

9 years ago[System.Data.SqlClient] Bulk copy: Query metadata in pending transaction
Damien Diederen [Tue, 20 Jan 2015 19:03:55 +0000 (20:03 +0100)]
[System.Data.SqlClient] Bulk copy: Query metadata in pending transaction

Without this, the bulk copy engine fails with a nested transaction error.

We now just reuse the current transaction to do the work.

9 years ago[Mono.Data.Tds] Deserialize variant-wrapped fixed-size integers (1-8 bytes)
Damien Diederen [Fri, 16 Jan 2015 14:05:51 +0000 (15:05 +0100)]
[Mono.Data.Tds] Deserialize variant-wrapped fixed-size integers (1-8 bytes)

Without this, variant output parameters are left unconsumed in the
input stream, and null is returned.

The new code skips the max length uint, and decodes a subset of the
variant types.  What is not recognized is skipped, and we return null
as the previous code used to do.

(Ideally, the subset of GetColumnValue which decodes types which can
be embedded in a variant should be factored out to a different method,
and reused from GetVariantValue.)

9 years ago[Mono.Data.Tds] Register TdsColumnType.Variant as a "blob" type
Damien Diederen [Fri, 16 Jan 2015 13:45:50 +0000 (14:45 +0100)]
[Mono.Data.Tds] Register TdsColumnType.Variant as a "blob" type

On the wire, Variants are preceded by uint-encoded max length and
actual length (not bytes like smaller types).  Without this patch,
SQL Server 2008 SP2 rejects our requests as truncated.

9 years ago[Mono.Data.Tds] Add "sql_variant" case to TdsMetaParameter.GetMetaType
Damien Diederen [Fri, 16 Jan 2015 13:41:02 +0000 (14:41 +0100)]
[Mono.Data.Tds] Add "sql_variant" case to TdsMetaParameter.GetMetaType

9 years ago[System.Data.SqlClient] Set SqlParameter.SqlDbType even for SqlDbType.Variant
Damien Diederen [Fri, 16 Jan 2015 13:39:49 +0000 (14:39 +0100)]
[System.Data.SqlClient] Set SqlParameter.SqlDbType even for SqlDbType.Variant

Without this, the TdsMetaParameter.TypeName ends up being null, which
crashes TdsMetaParameter.GetMetaType () when the variant value is
about to be serialized on the wire.

9 years ago[Mono.Data.Tds] Serialize SqlDbType.DateTime{2,Offset} as char(n)
Damien Diederen [Fri, 16 Jan 2015 17:30:31 +0000 (18:30 +0100)]
[Mono.Data.Tds] Serialize SqlDbType.DateTime{2,Offset} as char(n)

DateTime2 and DateTimeOffset are not directly supported by the TDS 7.1
wire protocol, which is the version implemented by Mono's current TDS
driver.  (Tds80.cs does in fact advertise version 0x00000071.)

Bumping the protocol version to 0x03000a73 or 0x03000b73, for TDS
7.3.A/7.3.B, is not sufficient; the stream generated by the driver
causes SQL Server to kill the connection right after the login packet.
More investigation is needed on that front.

SQL Server is fine, however, with us sending timestamps in
literal (ISO 8601) format down the wire, packed within ASCII char(n)
strings.  Which is what this patch does, which allows client code
perform inserts using, e.g.:

    var param = new SqlParameter("@Value", SqlDbType.DateTime2);
    param.Value = DateTime.Now;
    command.Parameters.Add(param);

9 years ago[System.Data.SqlClient] Map SqlDbType.DateTime{2,Offset}
Damien Diederen [Fri, 16 Jan 2015 17:12:32 +0000 (18:12 +0100)]
[System.Data.SqlClient] Map SqlDbType.DateTime{2,Offset}

9 years ago[threadpool-ms] Disable cleanup
Ludovic Henry [Tue, 5 May 2015 18:30:01 +0000 (19:30 +0100)]
[threadpool-ms] Disable cleanup

The cleanup code would wait for all worker threads to finish, but that could lead to some workload that would block. By disabling the cleanup code, we do not wait on anything to happen, we count on the OS to clean everything up.