Added CSV Support

In our latest build, we have added beta support for importing csv delimited files. You can declare a CSV datasource by using the CSV Keyword in the DATASOURCE command in irdbImport. The following is an example CSV DATASOURCE command. DATASOURCE a1=CSV ‘Data Source=C:\irdb\data\csvtest;Delimiter=,;Has Quotes=True;Skip Rows=0;Has Header=True;Comment Prefix=#;Trim Spaces=False;Ignore Empty Lines=True;encoding=default’ By default the encoding is the system default text encoding. Other supported options…

Intersect / Except Set Operations

Today we’ve added a new build that adds support for INTERSECT and EXCEPT set operations. These take two SELECT statements before and after. The INTERSECT set operation will return the common rows between the two tables, and EXCEPT , will remove any rows contained in Query2  from query1. An example query using INTERSECT would like: SELECT * FROM table1 INTERSECT…

Parameterizing Imports

Our command line import tool, irdbImports, provides a variety of methods for parameterizing your imports. Command Line Parameters First of all the command line parameters are available within the script as special variables, @param1, @param2, @param3 and so on, for each parameter. @param1 will generally be the name of the import script. A script called param.imp with the following contents.…

New Uncolumnized Import Mode

Before in IRDBImport, when you imported data, it would take whatever data was imported, and once the import statement was finished, it would columnize the result. If you imported a second or more tables with the same name, it would then uncolumnize the previous result, and append the new data. This is fine for a few tables, but if you are…

Improved Null Support

We recently overhauled InMemory.Net to add improved support for NULL operations. In general now we have added null support for most expressions. All functions should also accept null parameters, and return null if their parameters are null. You can also use cast with null, e.g. cast ( null as bigint ) to force a null of a specific type. MIN…

For those it may concern: the InMemory.net Feature list.

InMemory.Net Feature List Pure Dot Net In Memory Database Runs on Windows, Mac, Linux Easily Import data through ODBC/OLE DB/ Dot Net Data Drivers, through simple text scripts or via a Dot Net API. E.g. DATASOURCE a1=ODBC ‘dsn=your_DSN’ IMPORT sales=a1.sales SAVE 32 Bit / 64 Bit Odbc Drivers DISTINCT/MIN/MAX/SUM/AVG/COUNT/COUNT DISTINCT Support INNER / LEFT Join Support on multiple fields UNION…

New SQL Functions

We’ve added the following new SQL Function to the InMemory.Net database. Wanted to thank Jônatas Hudler for the suggestion. Substring(someString, startPos) Ascii(someChar) – Returns the ASCII code for a given char – or the first char, in case of a char array (string) Char(number) – Returns a char from an ASCII code Reverse(someString) – Reverse character positions of the given…

Performance Enhancements

We have deployed 2 changes that should improve performance in InMemory.Net Index Creation Indexes between tables should now be created at least 5 times faster than before. Constant Expression Refactory If you have an expression that involves multiple constants, or has constants involved in a series of functions, InMemory.Net will now evaluate that constant one time only, and avoid recalculating it…

Linux and Mac OS X Support

We recently released an updated version of InMemory.Net that runs on Mac OS C and Linux. Using the latest version of  Mono , we were able to get InMemory.Net up on these platforms. Currently we provide a zip of the relevant InMemory.Net files that can be extracted. The relevant InMemory.Net programs can then be run by prefixing mono before the name…

Case Studies:

Here are two case studies of previous clients that have benefited from InMemory.net: Homestore & More are an Irish based chain of stores selling a huge number of home and garden products. All this data was being run on an SQL server and their reporting might have taken them considerable amount of time with each query taking up to 30…