Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install more than one copy of FTLDB to a database. #10

Closed
voidunit opened this issue Jun 27, 2015 · 1 comment
Closed

Unable to install more than one copy of FTLDB to a database. #10

voidunit opened this issue Jun 27, 2015 · 1 comment

Comments

@voidunit
Copy link
Contributor

Problem

When try to install a new copy of FTLDB into another schema, installation process fails.

Investigation

The problem appeared with the solution of issue #1.
The reason is in coincidence of using the genmissing option and granting execute privilege on FTLDB classes to PUBLIC. When the second installation runs, loadjava checks if the missing classes to be generated already exist in the system. It is done by selecting the all_objects dictionary view with no filter applied to owner. The installer sees the classes (actually owned by another user) and doesn't create them in the target schema. Then the dependent FreeMarker classes cannot be resolved (with the default resolver) and installation fails.

Possible solution

Add a new installation step for revoking privileges from autogenerated classes.

@voidunit voidunit self-assigned this Jun 27, 2015
voidunit pushed a commit that referenced this issue Jun 27, 2015
For Oracle 11+ divided loading of freemarker.jar classes into 2 steps:
1. Loading and generating missing classes.
2. Resolving and granting to public only for Freemarker classes, not the generated ones.

Also fixed some typos.
@voidunit
Copy link
Contributor Author

Finally did the following:

  1. For Oracle 10 nothing changes: some classes stay unresolved and everything works but suddenly may break and need re-installation.
  2. For Oracle 11+ freemarker.jar now is loaded in 2 steps:
    1. load and genmissing;
    2. resolve and grant privs only on FM classes (not generated ones).

@voidunit voidunit added this to the v1.4.0 milestone Jul 23, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant