Skip to content

Smart schema re-parse #117

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

Merged
merged 4 commits into from
Dec 12, 2016
Merged

Smart schema re-parse #117

merged 4 commits into from
Dec 12, 2016

Conversation

Pazus
Copy link
Member

@Pazus Pazus commented Dec 7, 2016

Issue #114 in a simplified form.
Now schema cache becomes invalidated when the last_ddl_time of any package in the schema change
Also corrected examples to eliminate calls to deprecated procedures:
run_schema_suites
run_schema_suites_static
run_cur_schema_suites
run_cur_schema_suites_static

Pazus added 2 commits December 7, 2016 23:03
`run_schema_suites`
`run_schema_suites_static`
`run_cur_schema_suites`
`run_cur_schema_suites_static`
Copy link
Contributor

@GolezTrol GolezTrol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good to me. Tested it from your branch and it does pick up on test package changes.

--end if;
config_schema(a_schema_name);
if not g_schema_suites.exists(a_schema_name)
or g_schema_suites(a_schema_name).changed_at<nvl(get_schema_max_ddl(a_schema_name), date'2999-12-31') then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would put the NVL into the get_schema_max_ddl.

@@ -1,14 +1,26 @@
create or replace package body ut_suite_manager is

type tt_schema_suits is table of ut_test_suite index by varchar2(4000 char);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo in type name here and in line 5


procedure run_cur_schema_suites(a_reporter in out nocopy ut_reporter, a_force_parse_again boolean default false);

procedure run_cur_schema_suites_static(a_reporter in ut_reporter, a_force_parse_again boolean default false);

procedure run(a_path in varchar2, a_reporter in ut_reporter);
-- to be implemented
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would enable this run procedure anyway (even if it only runs for one element of array at the moment).
This way we have a complete API and can start implementing on top of it.
Internal implementation can change for run( list ) later. But if we're OK with the entry point signature, it should be enabled I think.

@jgebal jgebal merged commit 463f64b into utPLSQL:version3 Dec 12, 2016
@Pazus Pazus deleted the feature/smart-reparse branch July 15, 2017 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants