| |
| ||||||
Adding support for a new database to mondrianThis is a discussion on Adding support for a new database to mondrian within the Open Source News and Opinion forums, part of the Open Source Analytics category; Mondrian supports a large number of back-end databases. So many in fact, that we rely on contributors to add the support, and we have tried to standardize the steps to ... |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
| | #1 |
| News Bot Join Date: Nov 2007
Posts: 15,085
![]() | Mondrian supports a large number of back-end databases. So many in fact, that we rely on contributors to add the support, and we have tried to standardize the steps to support a new database. I thought it might be worthwhile to reiterate those steps. The steps are: 1. Write a dialect class. The dialect must implement the Dialect interface, and will probably be a subclass of JdbcDialectImpl. The only prerequisites are that your database has a JDBC driver and supports SQL-92: SELECT .. FROM .. JOIN .. GROUP BY. Mondrian will glean as much information as it can, such as how your database quotes identifiers that contain mixed-case or spaces, from the JDBC driver. But you will need to override methods to provide information that the JDBC does not provide (e.g. how to affect whether NULL values sort first or last) or if the JDBC driver lies. 2. Add your dialect to the META-INF/services/mondrian.spi.Dialect file so that mondrian can find it. 3. Modify MondrianFoodMartLoader and (optionally) bin/loadFoodMart.sh so that you can load data from demo/FoodMartData.sql into your database. (We prefer not to add a dump file for each database to the distro. The FoodMart data set is about 5MB compressed, so each dump file would bloat the size of the distro.) 4. Get the test suite to pass. We strongly recommend that you focus on getting DialectTest to pass first; once the dialect is accurate, most other mondrian tests should just pass. If you need help 5. Add a section to mondrian.properties describing a typical connect string for your database. When these steps are complete, post the files in a JIRA case. I will add your database to the list of supported databases and mention it in the release notes of the next mondrian release. Then, please join the mondrian developers email list and stay in touch. We are not able to test all supported databases each release. When we announce a beta of a mondrian release, run the test suite against your database, and let us know if we've broken anything. Supporting a large array of databases is not hard, but it is even easier if we do it as a community. More from Julian Hyde on Open Source OLAP Blog ... |
| | |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| mondrian heading for 4.0 | Latest News Headlines | Open Source News and Opinion | 0 | 24th July 2010 02:52 PM |
| Adding profiling and query plans to mondrian | Latest News Headlines | Open Source News and Opinion | 0 | 2nd June 2010 05:47 AM |
| SQL Server Data Analyst/Database Developer - Database Adminstrator (DBA)- Urgent | admin | 2010 Job Archive | 0 | 20th April 2010 03:29 AM |
| How Mondrian evaluates expressions | Latest News Headlines | Open Source News and Opinion | 0 | 25th November 2009 11:03 AM |
| A what-if scenario: musing about adding writeback capability to Mondrian | Latest News Headlines | Open Source News and Opinion | 0 | 25th November 2009 11:03 AM |
| | |
| | |