I've got a fix here for the Oracle 8i permissions bug where 8i doesn't
support cross joins.

I've also found 8i doesn't support LEFT OUTER JOINS either. I haven't
had a chance to run through the rest of the core to see if there are any
more of these lying around, but this fix seems to work nicely for me -
YMMV on oracle 9i (I haven't been able to test on a newer box)

In /farcry_core/packages/security/authorisation.cfc, line 847 replace
with:

                                        switch (application.dbType)
                                        {
                                                case "ora":
                                                {
                                                        sql = "
                                                        SELECT
s.policyGroupId, s.permissionId, b.status 
                                                        FROM
                                                                (SELECT
g.policyGroupId, p.permissionId 
                                                                 FROM
#application.dbowner##stPolicyStore.policyGroupTable# g, dmPermission p 
                                                                 WHERE
upper(p.PermissionType)='#ucase(permissionType)#') s,
        
#application.dbowner##stPolicyStore.permissionBarnacleTable# b
                                                        WHERE
s.permissionId = b.permissionID(+)
                                                                AND
s.policyGroupId = b.policyGroupId(+)
                                                                AND
upper(b.Reference1)='#ucase(arguments.reference)#'";
                                                        break;
                                                }

My initial impressions are that oracle as the backend db runs slower
than the SQL Server install I have at home, but this oracle box is under
some load, so is probably a contributing factor. The default website
setup after a clean install takes 950ms to load on my dev box.

Cheers,
Craig

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Craig
McDonald
Sent: Thursday, 26 February 2004 1:56 PM
To: FarCry Developers
Subject: [farcry-dev] RE: Oracle permissions table error


Yep just found em looking thru the archives.

There was no fix committed I gather... ?

We'll be moving to oracle 9i but not till may... :-\

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Whiterod, David (PLNSA)
Sent: Thursday, 26 February 2004 1:52 PM
To: FarCry Developers
Subject: [farcry-dev] RE: Oracle permissions table error


Hi Craig,

I kicked off some traffic on this last week - it looks like some 8.x
revs of Oracle don't support CROSS JOINs (I was running 8.1.7 on Solaris
too).

I started down the work-around path then switched to MySQL. If you look
back in the archives I mentioned a site that spoke about Oracle cross
join work-arounds.

cheers

David

-----Original Message-----
From: Craig McDonald [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 26, 2004 1:12 PM
To: FarCry Developers
Subject: [farcry-dev] Oracle permissions table error


Hi guys,

I'm getting the following error upon logging in to farcry after a fresh
install on Oracle 

======================
"[Macromedia][Oracle JDBC Driver][Oracle]ORA-00907: missing right
parenthesis
 
The error occurred in
C:\FarCry\farcry_core\admin\includes\cfFunctionWrappers.cfm: line 34
Called from C:\FarCry\farcry_core\packages\security\authorisation.cfc:
line 907 Called from
C:\FarCry\farcry_core\packages\security\authorisation.cfc: line 185
Called from C:\FarCry\farcry_core\tags\navajo\Login.cfm: line 62 Called
from C:\FarCry\farcry_core\admin\login.cfm: line 34 Called from
C:\FarCry\farcry_core\admin\includes\cfFunctionWrappers.cfm: line 34
Called from C:\FarCry\farcry_core\packages\security\authorisation.cfc:
line 907 Called from
C:\FarCry\farcry_core\packages\security\authorisation.cfc: line 185
Called from C:\FarCry\farcry_core\tags\navajo\Login.cfm: line 62 Called
from C:\FarCry\farcry_core\admin\login.cfm: line 34

SELECT s.policyGroupId, s.permissionId, b.status FROM (SELECT
g.policyGroupId, p.permissionId FROM uccms_farcry.dmPolicyGroup g CROSS
JOIN dmPermission p WHERE upper(p.PermissionType)='POLICYGROUP' ) s LEFT
OUTER JOIN uccms_farcry.dmPermissionBarnacle b ON s.permissionId =
b.permissionID AND s.policyGroupId = b.policyGroupId AND
upper(b.Reference1)='POLICYGROUP'"
======================

I recall some discussion earlier that certain join syntax wasn't
supported on Oracle 8i?

Any help appreciated. I get a similar error browsing to the site.

Thanks,
Craig McDonald


---
You are currently subscribed to farcry-dev as:
[EMAIL PROTECTED] To unsubscribe send a blank email to
[EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004

---
You are currently subscribed to farcry-dev as: [EMAIL PROTECTED]
To unsubscribe send a blank email to
[EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004


---
You are currently subscribed to farcry-dev as: [EMAIL PROTECTED]
To unsubscribe send a blank email to
[EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004


---
You are currently subscribed to farcry-dev as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004

Reply via email to