Skip to content

Oracle support is broken #15

@maxbes

Description

@maxbes

Oracle support on this module is currently broken. There is a syntax error at

use Apache::Session::Serialize::JSON

(missing semicolon)

and incorrect module references at

$self->{serialize} = \&Apache::Session::Serialize::JSONserialize;
(should be JSON::(un)serialize)

However, a more grave issue is that Oracle does not allow starting with an underscore in unquoted column names. So in order to support Oracle, you would need to replace all

WHERE _uid="dwho"

with

WHERE `_uid`="dwho"

Which looks like a pretty big change potentially impacting all other modules, just for Oracle's benefit.

Since this bug seems like it's been around for a while, I'm wondering if Oracle is being used in the wild with this module at all?

(One of my clients is running an intrusively patched version of Apache::Session::Browseable in order to mitigate those problems, but they might be the only ones)

I'm wondering what's best between fixing Oracle support in its current state (using underscore-prefixed column names), or changing the module to instead make use of native JSON data types in oracle ( https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6399) similar to PgJson

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions