Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Requirement #73 (closed)

Opened 18 years ago

Closed 13 years ago

Last modified 12 years ago

Enable multi-database support

Reported by: jamoore Owned by: jamoore
Priority: critical Milestone: OMERO-Beta4.3
Component: Deployment Keywords: n.a.
Cc: jburel, cxallan Business Value: n.a.
Total Story Points: n.a. Roif: n.a.
Mandatory Story Points: n.a.

Description (last modified by jmoore)

The current OMERO code base (4.2.0) makes several assumptions about the database, namely that PostgreSQL is used. In order to allow for other database support as promised by Hibernate, several smaller changes need to be made, such as the introduction of configuration parameters and a few interfaces.

Change History (63)

comment:1 Changed 18 years ago by jmoore

  • Owner changed from jmoore, sfrank to sfrank

comment:2 Changed 18 years ago by sfrank

  • Milestone changed from 3.0-M2 to 3.0-M3

This has to be done together with the move to jpa - then platform-neutrality should come out of the box (we'll have to touch the templates anyway...).

Add some testing-tasks for supported DB-Platforms.

comment:3 Changed 17 years ago by sfrank

  • Milestone changed from 3.0-M3 to 3.0-M4
  • Version changed from 3.0-M1 to 3.0-M4

comment:4 Changed 17 years ago by jmoore

  • Milestone changed from 3.0-Beta2 to GatherReqs
  • Priority changed from major to critical

Exactly which platforms are we going to initially support. With the addition of db version management (#373) this is now significantly more difficult.

comment:5 Changed 17 years ago by jmoore

  • Owner changed from sfrank to jmoore

comment:6 Changed 14 years ago by jmoore

  • Cc jburel cxallan added
  • Description modified (diff)
  • Milestone changed from GatherReqs to Unscheduled
  • Summary changed from Patch trunk for MySQL & Oracle DB to Enable multi-database support
  • Type changed from User Story to Requirement

comment:7 Changed 14 years ago by jmoore

  • Milestone changed from Unscheduled to OMERO-Beta4.2.1

comment:8 Changed 13 years ago by jmoore

  • Milestone changed from OMERO-Beta4.2.1 to Unscheduled

comment:9 Changed 13 years ago by jmoore

  • Milestone changed from Unscheduled to OMERO-Beta4.3

comment:10 Changed 13 years ago by jmoore

(In [8791/omero]) Upgrading btm to 2.1.0 (See #73)

The previous btm version was throwing a NullPointerException
in some cases. The upgrade was needed to workaround.

Possibly related: http://jira.codehaus.org/browse/BTM-60

comment:11 Changed 13 years ago by jmoore

(In [8793/omero]) DSL modifications for complying with omero.db.profile (See #73)

These changes are fairly complex and involve lots of back
and forth in determining what works with other DBs and what
does not. Especially the RESTRICTED_ fields in SemanticType
as well as the SemanticType.typeAnnotation() method are
critical to making this work.

comment:12 Changed 13 years ago by jmoore

(In [8798/omero]) Specifying explicit CLOB handler for Hibernate (See #73)

comment:13 Changed 13 years ago by jmoore

(In [8799/omero]) Fix for unsupported where TRUE OR ... syntax (See #73)

comment:14 Changed 13 years ago by jmoore

(In [8800/omero]) Various test fixes and other minor changes (See #73)

comment:15 Changed 13 years ago by jmoore

(In [8801/omero]) Refactoring SQL Array support for multiple RDBMs (See #73)

comment:16 Changed 13 years ago by jmoore

(In [8802/omero]) Removing unused hibernate tools classes. (See #73)

comment:17 Changed 13 years ago by jmoore

(In [8803/omero]) Removing old unused hbm.xml file (See #73)

comment:18 Changed 13 years ago by jmoore

(In [8804/omero]) Using patched 3.5.6 hibernate jar for ColumnTransformer (See #73)

To properly handle clob columns in some databases, we need the
3.6 ColumnTransformer annotations. The functionality is available
in 3.5 when using hbm.xml files, but mixing hbm.xml files and
annotations is not fully supported. Upgrading to 3.6 was also too
invasive.

comment:19 Changed 13 years ago by jmoore

(In [8805/omero]) Various fixes found during initial testing (See #73)

comment:20 Changed 13 years ago by jmoore

(In [8806/omero]) Testing empty password (See #73)

Some databases consider an empty string a null. Since
OMERO uses an empty password (trimmed) as "any password
allowed" and a null as "no password allowed", we will
need special handling in the concrete SqlAction
implementations.

comment:21 Changed 13 years ago by jmoore

(In [8812/omero]) Changes for functioning psql profile and clean separation (See #73)

comment:22 Changed 13 years ago by jmoore

(In [8813/omero]) Modifications to bin/omero perf for testing different dbs (See #73)

comment:23 Changed 13 years ago by jmoore

(In [8816/omero]) trunk code fixes for merge of multi-db code (See #73)

comment:24 Changed 13 years ago by jmoore

(In [8844/omero]) Upgrading btm to 2.1.0 (See #73)

The previous btm version was throwing a NullPointerException
in some cases. The upgrade was needed to workaround.

Possibly related: http://jira.codehaus.org/browse/BTM-60

original-svn-id: file:///home/svn/omero/trunk@8791 05709c45-44f0-0310-885b-81a1db45b4a6

comment:25 Changed 13 years ago by jmoore

(In [8846/omero]) DSL modifications for complying with omero.db.profile (See #73)

These changes are fairly complex and involve lots of back
and forth in determining what works with other DBs and what
does not. Especially the RESTRICTED_ fields in SemanticType
as well as the SemanticType.typeAnnotation() method are
critical to making this work.

original-svn-id: file:///home/svn/omero/trunk@8793 05709c45-44f0-0310-885b-81a1db45b4a6

comment:26 Changed 13 years ago by jmoore

(In [8851/omero]) Specifying explicit CLOB handler for Hibernate (See #73)

original-svn-id: file:///home/svn/omero/trunk@8798 05709c45-44f0-0310-885b-81a1db45b4a6

comment:27 Changed 13 years ago by jmoore

(In [8852/omero]) Fix for unsupported where TRUE OR ... syntax (See #73)

original-svn-id: file:///home/svn/omero/trunk@8799 05709c45-44f0-0310-885b-81a1db45b4a6

comment:28 Changed 13 years ago by jmoore

(In [8853/omero]) Various test fixes and other minor changes (See #73)

original-svn-id: file:///home/svn/omero/trunk@8800 05709c45-44f0-0310-885b-81a1db45b4a6

comment:29 Changed 13 years ago by jmoore

(In [8854/omero]) Refactoring SQL Array support for multiple RDBMs (See #73)

original-svn-id: file:///home/svn/omero/trunk@8801 05709c45-44f0-0310-885b-81a1db45b4a6

comment:30 Changed 13 years ago by jmoore

(In [8855/omero]) Removing unused hibernate tools classes. (See #73)

original-svn-id: file:///home/svn/omero/trunk@8802 05709c45-44f0-0310-885b-81a1db45b4a6

comment:31 Changed 13 years ago by jmoore

(In [8856/omero]) Removing old unused hbm.xml file (See #73)

original-svn-id: file:///home/svn/omero/trunk@8803 05709c45-44f0-0310-885b-81a1db45b4a6

comment:32 Changed 13 years ago by jmoore

(In [8857/omero]) Using patched 3.5.6 hibernate jar for ColumnTransformer (See #73)

To properly handle clob columns in some databases, we need the
3.6 ColumnTransformer annotations. The functionality is available
in 3.5 when using hbm.xml files, but mixing hbm.xml files and
annotations is not fully supported. Upgrading to 3.6 was also too
invasive.

original-svn-id: file:///home/svn/omero/trunk@8804 05709c45-44f0-0310-885b-81a1db45b4a6

comment:33 Changed 13 years ago by jmoore

(In [8858/omero]) Various fixes found during initial testing (See #73)

original-svn-id: file:///home/svn/omero/trunk@8805 05709c45-44f0-0310-885b-81a1db45b4a6

comment:34 Changed 13 years ago by jmoore

(In [8859/omero]) Testing empty password (See #73)

Some databases consider an empty string a null. Since
OMERO uses an empty password (trimmed) as "any password
allowed" and a null as "no password allowed", we will
need special handling in the concrete SqlAction
implementations.

original-svn-id: file:///home/svn/omero/trunk@8806 05709c45-44f0-0310-885b-81a1db45b4a6

comment:35 Changed 13 years ago by jmoore

(In [8865/omero]) Changes for functioning psql profile and clean separation (See #73)

original-svn-id: file:///home/svn/omero/trunk@8812 05709c45-44f0-0310-885b-81a1db45b4a6

comment:36 Changed 13 years ago by jmoore

(In [8866/omero]) Modifications to bin/omero perf for testing different dbs (See #73)

original-svn-id: file:///home/svn/omero/trunk@8813 05709c45-44f0-0310-885b-81a1db45b4a6

comment:37 Changed 13 years ago by jmoore <josh@…>

(In [856b51361373370693362e79f41f25f247b96d5f/ome.git] on branch dev_4_1_custom) Upgrading btm to 2.1.0 (See #73)

The previous btm version was throwing a NullPointerException
in some cases. The upgrade was needed to workaround.

Possibly related: http://jira.codehaus.org/browse/BTM-60

original-svn-id: file:///home/svn/omero/trunk@8791 05709c45-44f0-0310-885b-81a1db45b4a6

comment:38 Changed 13 years ago by jmoore <josh@…>

(In [2d42270e44211428e2162358b0db454511ddc5ef/ome.git] on branch dev_4_1_custom) DSL modifications for complying with omero.db.profile (See #73)

These changes are fairly complex and involve lots of back
and forth in determining what works with other DBs and what
does not. Especially the RESTRICTED_ fields in SemanticType
as well as the SemanticType.typeAnnotation() method are
critical to making this work.

original-svn-id: file:///home/svn/omero/trunk@8793 05709c45-44f0-0310-885b-81a1db45b4a6

comment:39 Changed 13 years ago by jmoore <josh@…>

(In [fca63bdaefea223c758720d6138b61a9726b0e66/ome.git] on branch dev_4_1_custom) Specifying explicit CLOB handler for Hibernate (See #73)

git-svn-id: file:///home/svn/omero/trunk@8798 05709c45-44f0-0310-885b-81a1db45b4a6

comment:40 Changed 13 years ago by jmoore <josh@…>

(In [b756a80d3df664365f14f2ed0155c79114da9661/ome.git] on branch dev_4_1_custom) Fix for unsupported where TRUE OR ... syntax (See #73)

original-svn-id: file:///home/svn/omero/trunk@8799 05709c45-44f0-0310-885b-81a1db45b4a6

comment:41 Changed 13 years ago by jmoore <josh@…>

(In [c346df5943d8e7c4bcff35a9d86a3ac695eb6a22/ome.git] on branch dev_4_1_custom) Various test fixes and other minor changes (See #73)

original-svn-id: file:///home/svn/omero/trunk@8800 05709c45-44f0-0310-885b-81a1db45b4a6

comment:42 Changed 13 years ago by jmoore <josh@…>

(In [12187d988bfca6c60e3e6b189955650b16663190/ome.git] on branch dev_4_1_custom) Removing unused hibernate tools classes. (See #73)

git-svn-id: file:///home/svn/omero/trunk@8802 05709c45-44f0-0310-885b-81a1db45b4a6

comment:43 Changed 13 years ago by jmoore <josh@…>

(In [0107da7d9c4f131eca25e85971259c3c2b3d3342/ome.git] on branch dev_4_1_custom) Removing old unused hbm.xml file (See #73)

git-svn-id: file:///home/svn/omero/trunk@8803 05709c45-44f0-0310-885b-81a1db45b4a6

comment:44 Changed 13 years ago by jmoore <josh@…>

(In [a47764bf4280220529fc8a8b35fd5f67ef825410/ome.git] on branch dev_4_1_custom) Using patched 3.5.6 hibernate jar for ColumnTransformer (See #73)

To properly handle clob columns in some databases, we need the
3.6 ColumnTransformer annotations. The functionality is available
in 3.5 when using hbm.xml files, but mixing hbm.xml files and
annotations is not fully supported. Upgrading to 3.6 was also too
invasive.

original-svn-id: file:///home/svn/omero/trunk@8804 05709c45-44f0-0310-885b-81a1db45b4a6

comment:45 Changed 13 years ago by jmoore <josh@…>

(In [31189c1ba58c6317af8e3fe744745cdaa88c4210/ome.git] on branch dev_4_1_custom) Various fixes found during initial testing (See #73)

git-svn-id: file:///home/svn/omero/trunk@8805 05709c45-44f0-0310-885b-81a1db45b4a6

comment:46 Changed 13 years ago by jmoore <josh@…>

(In [2a9a51980c0be73de4b896f20dda3c8f29bf3a6b/ome.git] on branch dev_4_1_custom) Testing empty password (See #73)

Some databases consider an empty string a null. Since
OMERO uses an empty password (trimmed) as "any password
allowed" and a null as "no password allowed", we will
need special handling in the concrete SqlAction
implementations.

git-svn-id: file:///home/svn/omero/trunk@8806 05709c45-44f0-0310-885b-81a1db45b4a6

comment:47 Changed 13 years ago by jmoore <josh@…>

(In [0f07608fed50ba79a7be571f114a275c69c16338/ome.git] on branch dev_4_1_custom) Changes for functioning psql profile and clean separation (See #73)

original-svn-id: file:///home/svn/omero/trunk@8812 05709c45-44f0-0310-885b-81a1db45b4a6

comment:48 Changed 13 years ago by jmoore <josh@…>

(In [78901b867e456619612dfd23393f517904297ddd/ome.git] on branch dev_4_1_custom) Refactoring security filter's bitand usage (See #73)

comment:49 Changed 13 years ago by jmoore <josh@…>

(In [c4bee04fcd34a8a7e5ebca8f1b5e732f0a9217a0/ome.git] on branch dev_4_1_custom) Adding SqlAction methods for redirector's IConfig usage (See #73)

comment:50 Changed 13 years ago by jmoore <josh@…>

(In [856b51361373370693362e79f41f25f247b96d5f/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Upgrading btm to 2.1.0 (See #73)

The previous btm version was throwing a NullPointerException
in some cases. The upgrade was needed to workaround.

Possibly related: http://jira.codehaus.org/browse/BTM-60

original-svn-id: file:///home/svn/omero/trunk@8791 05709c45-44f0-0310-885b-81a1db45b4a6

comment:51 Changed 13 years ago by jmoore <josh@…>

(In [2d42270e44211428e2162358b0db454511ddc5ef/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) DSL modifications for complying with omero.db.profile (See #73)

These changes are fairly complex and involve lots of back
and forth in determining what works with other DBs and what
does not. Especially the RESTRICTED_ fields in SemanticType
as well as the SemanticType.typeAnnotation() method are
critical to making this work.

original-svn-id: file:///home/svn/omero/trunk@8793 05709c45-44f0-0310-885b-81a1db45b4a6

comment:52 Changed 13 years ago by jmoore <josh@…>

(In [fca63bdaefea223c758720d6138b61a9726b0e66/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Specifying explicit CLOB handler for Hibernate (See #73)

git-svn-id: file:///home/svn/omero/trunk@8798 05709c45-44f0-0310-885b-81a1db45b4a6

comment:53 Changed 13 years ago by jmoore <josh@…>

(In [b756a80d3df664365f14f2ed0155c79114da9661/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Fix for unsupported where TRUE OR ... syntax (See #73)

original-svn-id: file:///home/svn/omero/trunk@8799 05709c45-44f0-0310-885b-81a1db45b4a6

comment:54 Changed 13 years ago by jmoore <josh@…>

(In [c346df5943d8e7c4bcff35a9d86a3ac695eb6a22/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Various test fixes and other minor changes (See #73)

original-svn-id: file:///home/svn/omero/trunk@8800 05709c45-44f0-0310-885b-81a1db45b4a6

comment:55 Changed 13 years ago by jmoore <josh@…>

(In [12187d988bfca6c60e3e6b189955650b16663190/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Removing unused hibernate tools classes. (See #73)

git-svn-id: file:///home/svn/omero/trunk@8802 05709c45-44f0-0310-885b-81a1db45b4a6

comment:56 Changed 13 years ago by jmoore <josh@…>

(In [0107da7d9c4f131eca25e85971259c3c2b3d3342/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Removing old unused hbm.xml file (See #73)

git-svn-id: file:///home/svn/omero/trunk@8803 05709c45-44f0-0310-885b-81a1db45b4a6

comment:57 Changed 13 years ago by jmoore <josh@…>

(In [a47764bf4280220529fc8a8b35fd5f67ef825410/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Using patched 3.5.6 hibernate jar for ColumnTransformer (See #73)

To properly handle clob columns in some databases, we need the
3.6 ColumnTransformer annotations. The functionality is available
in 3.5 when using hbm.xml files, but mixing hbm.xml files and
annotations is not fully supported. Upgrading to 3.6 was also too
invasive.

original-svn-id: file:///home/svn/omero/trunk@8804 05709c45-44f0-0310-885b-81a1db45b4a6

comment:58 Changed 13 years ago by jmoore <josh@…>

(In [31189c1ba58c6317af8e3fe744745cdaa88c4210/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Various fixes found during initial testing (See #73)

git-svn-id: file:///home/svn/omero/trunk@8805 05709c45-44f0-0310-885b-81a1db45b4a6

comment:59 Changed 13 years ago by jmoore <josh@…>

(In [2a9a51980c0be73de4b896f20dda3c8f29bf3a6b/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Testing empty password (See #73)

Some databases consider an empty string a null. Since
OMERO uses an empty password (trimmed) as "any password
allowed" and a null as "no password allowed", we will
need special handling in the concrete SqlAction
implementations.

git-svn-id: file:///home/svn/omero/trunk@8806 05709c45-44f0-0310-885b-81a1db45b4a6

comment:60 Changed 13 years ago by jmoore <josh@…>

(In [0f07608fed50ba79a7be571f114a275c69c16338/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Changes for functioning psql profile and clean separation (See #73)

original-svn-id: file:///home/svn/omero/trunk@8812 05709c45-44f0-0310-885b-81a1db45b4a6

comment:61 Changed 13 years ago by jmoore <josh@…>

(In [78901b867e456619612dfd23393f517904297ddd/ome.git]on branches 4_1_custom, dev_4_1_custom, josh/4.1-web-backport) Refactoring security filter's bitand usage (See #73)

comment:62 Changed 13 years ago by jmoore

  • Resolution set to fixed
  • Status changed from new to closed

Multi-database support is fully functional in dev_4_1_custom and being used actively. Most of the components are available in develop (i.e. dev_4_3) and can be brought up to speed as fixes are applied to dev_4_1_custom. The second phase of this work (#4974) is intended to contain all the tickets that weren't finished during 4.3.

comment:63 Changed 12 years ago by jmoore <josh@…>

(In [3e78ab49d90ac2f2f2304f42cee802bdfb1d853a/ome.git] on branch develop) Adding SqlAction methods for redirector's IConfig usage (See #73)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.46134 sec.)

We're Hiring!