def drop_samples(conn): print("Dropping sample schemas and edition...") sample_env.run_sql_script(conn, "drop_samples", main_user=sample_env.get_main_user(), edition_user=sample_env.get_edition_user(), edition_name=sample_env.get_edition_name())
# This script demonstrates the use of Edition-Based Redefinition, available # in Oracle# Database 11.2 and higher. See the Oracle documentation on the # subject for additional information. Adjust the contants at the top of the # script for your own database as needed. # # This script requires cx_Oracle 5.3 and higher. #------------------------------------------------------------------------------ import os import cx_Oracle as oracledb import sample_env # connect to the editions user and create a procedure edition_connect_string = sample_env.get_edition_connect_string() edition_name = sample_env.get_edition_name() connection = oracledb.connect(edition_connect_string) print("Edition should be None, actual value is:", repr(connection.edition)) cursor = connection.cursor() cursor.execute(""" create or replace function TestEditions return varchar2 as begin return 'Base Procedure'; end;""") result = cursor.callfunc("TestEditions", str) print("Function should return 'Base Procedure', actually returns:", repr(result)) # next, change the edition and recreate the procedure in the new edition cursor.execute("alter session set edition = %s" % edition_name) print("Edition should be", repr(edition_name.upper()), "actual value is:",