You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Esteban Franqueiro (JIRA)" <ji...@apache.org> on 2008/04/07 20:45:24 UTC

[jira] Created: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
------------------------------------------------------------------------------------------

                 Key: JCR-1525
                 URL: https://issues.apache.org/jira/browse/JCR-1525
             Project: Jackrabbit
          Issue Type: Improvement
          Components: jackrabbit-core
            Reporter: Esteban Franqueiro


In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Martijn Hendriks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Hendriks updated JCR-1525:
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0
         Assignee:     (was: Martijn Hendriks)
           Status: Resolved  (was: Patch Available)

Fixed in revision: 887881.

Please note that this change is not backwards compatible: the OracleFileSystem class now does not use special blob handling required for 10R1 and earlier. If you need that, use the Oracle9FileSystem. We migh want to add this in the RELEASE-NOTES.txt.


> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>             Fix For: 2.0.0
>
>         Attachments: JCR-1525.patch, JCR-1525.patch, JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Esteban Franqueiro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590494#action_12590494 ] 

Esteban Franqueiro commented on JCR-1525:
-----------------------------------------

Is it worth doing this work for the Oracle DB Persistence Managers (not the bundle PMs) too?
The bundle PMs for Oracle already support 10.2+, but there's a name mismatch because there's an Oracle9PM, and OraclePM is for 10+.

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Jared Roberts (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jared Roberts updated JCR-1525:
-------------------------------

    Attachment: JCR-1525.patch

I took the liberty of updating the patch with a couple of modifications. The first is to rename the classes to align with the conventions that Thomas mentioned. Instead of Oracle9FileSystem, I chose Oracle10R1FileSystem, though. It seemed to make more sense, because that's technically the last version it supports. The second change I made was to remove the user/password initialization in the OracleBaseFileSystem constructor. Initializing them to empty strings causes problems when a JNDI data source is being used. They should be left null unless explicitly configured.

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch, JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Esteban Franqueiro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Esteban Franqueiro updated JCR-1525:
------------------------------------

    Attachment: JCR-1525.patch

This patch applies the suggested fix. We should decide what to do regarding what I mentioned in my previous comments.
As suggested by Thomas, this doesn't include changes for the older PMs.
I tested it on Oracle 10.2.0.3.0 and all tests passed.

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590506#action_12590506 ] 

Thomas Mueller commented on JCR-1525:
-------------------------------------

Hi,
I don't know how much it is used. I would deprecate those persistence managers soon, as they are much slower then the bundle persistence managers. So in my view it doesn't make sense to work on non-bundle persistence managers any more.
Regards,
Thomas

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Martijn Hendriks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Hendriks updated JCR-1525:
----------------------------------

    Attachment: JCR-1525.patch

Attached a new version of the proposed patch because the previous ones do not match anymore after the JCR-1456 merge.

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>            Assignee: Martijn Hendriks
>         Attachments: JCR-1525.patch, JCR-1525.patch, JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Martijn Hendriks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Hendriks reassigned JCR-1525:
-------------------------------------

    Assignee: Martijn Hendriks

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>            Assignee: Martijn Hendriks
>         Attachments: JCR-1525.patch, JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Esteban Franqueiro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590197#action_12590197 ] 

Esteban Franqueiro commented on JCR-1525:
-----------------------------------------

I'm working on this refactoring and I ended up with an empty Oracle10R2FileSystem. From a code point of view this class should be removed, but from a user's perspective, I think its more clear to have a class with a more accurate name.
The other possibility is to rename the already mentioned OracleBaseFaileSystem as Oracle10R2FileSystem, and make OracleFileSystem inheriit from it. I don't like this either.
WDYYT?
Regards,


> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Martijn Hendriks (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12708791#action_12708791 ] 

Martijn Hendriks commented on JCR-1525:
---------------------------------------

We've been running your patch also and encountered no problems. It looks fine. +1 for committing the patch.

Can we solve the naming inconsistency now that the trunk is on 2.0-SNAPSHOT?



> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Sébastien Launay (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787370#action_12787370 ] 

Sébastien Launay commented on JCR-1525:
---------------------------------------

> Please note that this change is not backwards compatible: the OracleFileSystem class now does not use special blob handling required for 10R1 and earlier. If you need that, use the Oracle9FileSystem. We migh want to add this in the RELEASE-NOTES.txt.

Done in revision 888290.

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>             Fix For: 2.0.0
>
>         Attachments: JCR-1525.patch, JCR-1525.patch, JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Esteban Franqueiro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621820#action_12621820 ] 

Esteban Franqueiro commented on JCR-1525:
-----------------------------------------

Hi all.
What should we do regarding this issue? I've been running this code for some time now and haven't had any issues. Should we apply it to trunk? Or should we wait?
Regards,

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-1525:
-------------------------------

    Status: Patch Available  (was: Open)

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Serge Huber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Serge Huber updated JCR-1525:
-----------------------------

    Comment: was deleted

(was: Actually in the most recent versions of the Oracle driver (11) we no longer need the Oracle BLOB specific code. And the new driver solves this even for older versions of Oracle. If you're interested I have a patch for that also. But it's not clear to me if it's acceptable to Jackrabbit to have a dependency on the latest version of the driver ? 

Here is the extract from the README for the new driver : 

"New Factory Methods
The JDBC 4.0 spec for java.sql.Connection includes factory methods
for creating instances of the standard JDBC types, Array, Blob,
Clob, etc. Building on this concept Oracle JDBC 11R1
oracle.jdbc.OracleConnection provides factory methods for creating
instances of the Oracle specific types. Best practice is to use
the standard JDBC types and the new factory methods. When it is
necessary to use the Oracle specific types best practice is to
create them via the new factory methods. Direct customer access to
the the constructors for these types will be deprecated and later
desupported. The supported types are all those in oracle.sql,
including ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,
TIMESTAMP, etc."

Regards,
  Serge)

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12710294#action_12710294 ] 

Thomas Mueller commented on JCR-1525:
-------------------------------------

+1 for the patch except:

The class names should match the names used in the bundle PMs. Currently the patch uses:
Oracle10R2FileSystem (for Oracle 10 and newer)
OracleFileSystem (for Oracle 9)

The class names should be:
OracleFileSystem (for Oracle 10 and newer)
Oracle9FileSystem (for Oracle 9)


> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1525) Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2

Posted by "Serge Huber (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709752#action_12709752 ] 

Serge Huber commented on JCR-1525:
----------------------------------

Actually in the most recent versions of the Oracle driver (11) we no longer need the Oracle BLOB specific code. And the new driver solves this even for older versions of Oracle. If you're interested I have a patch for that also. But it's not clear to me if it's acceptable to Jackrabbit to have a dependency on the latest version of the driver ? 

Here is the extract from the README for the new driver : 

"New Factory Methods
The JDBC 4.0 spec for java.sql.Connection includes factory methods
for creating instances of the standard JDBC types, Array, Blob,
Clob, etc. Building on this concept Oracle JDBC 11R1
oracle.jdbc.OracleConnection provides factory methods for creating
instances of the Oracle specific types. Best practice is to use
the standard JDBC types and the new factory methods. When it is
necessary to use the Oracle specific types best practice is to
create them via the new factory methods. Direct customer access to
the the constructors for these types will be deprecated and later
desupported. The supported types are all those in oracle.sql,
including ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,
TIMESTAMP, etc."

Regards,
  Serge

> Jackrabbit depends on Oracle driver for BLOB support in Oracle versions previous than 10.2
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1525
>                 URL: https://issues.apache.org/jira/browse/JCR-1525
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Esteban Franqueiro
>         Attachments: JCR-1525.patch
>
>
> In Oracle versions previous to 10.2, Jackrabbit explicitly uses a class from the Oracle driver to provide BLOB support (see OracleFileSystem.init()). This special handling is no longer necesary for Oracle 10.2+, so we should provide a new implementation. As discussed on the list, we can create a new class for Oracle 10.2+, make it inherit from DbFileSystem, and override the createSchema(), and table space related methods, which are the ones that need special handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, one of them to keep the current behavior and a new one to keep the common code (which we could rename to OracleBaseFileSystem or similar, to maintain compatiblity with code that uses OracleFileSystem for versions previous to 10.2). Then we make the Oracle10FileSystem inherit from the latter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.