Skip to content
László Dobos edited this page Aug 5, 2013 · 5 revisions

Welcome to the SqlArray wiki!

This library implements array support for Microsoft SQL Server. Supported versions are: 2008, 2008 R2 and 2012, only 64 bit.

The project started as a pilot to demonstrate the feasibility of adding array support to SQL Server using CLR extensions only. The core of the library is written in C++/CLI (managed C++) and uses templates to support arrays of various base types (numerical types including complex numbers). Because of this, the library uses many non-standard techniques, like code recompilation, etc. to compile code which, although uses templates, is callable from both SQL and standard .Net.

Please read the documentations for details: https://github.com/dobos/sqlarray/blob/master/docs/SqlArray.pdf

SqlLibrary is built for scientific applications and is free for non-commercial academic use only. We currently do not licence the code for any commercial use. If you use our library for research, please reference the following paper: http://dl.acm.org/citation.cfm?doid=1966895.1966897

Array manipulation is implemented as a (quite large) set of user-defined functions. While implementing arrays as user-defined types were more convenient, due to certain performance limitations of UDTs, UDF work much better.

You need both Visual Studio 2008 and 2010 to compile the code because only VC 2008 can compile .Net 2.0 code (required by SQL Server 2008) and .Net 2.0 has a bug which prevents reflecting assemblies containing user-defined aggregates. (see: https://connect.microsoft.com/VisualStudio/feedback/details/586964/microsoft-sqlserver-server-sqluserdefinedaggregateattribute-maxbytesize-1-bug)

Clone this wiki locally