|
|
|
Thursday 17 Feb 2022
Fixes for Oracle 19c: fix data types and interval calculation
reduce dependency on adp-level during rendering but get the information directly from the containing objects
Fixes for Oracle 19c: added missing Oracle support
Fixes for Oracle 19c: consistenly rely on uppercasing of the schema names in the called functions
Fixes for Oracle 19c: uppercase consistently in schema queries All names in the schema data model are in Oracle in uppercase.
Fixes for Oracle 19c: fixed more cases with Problems with Boolean data types This fixes e.g. the following problem [16/Feb/2022:20:55:19][3908.7fa5364fa700][-conn:oacs-5-10-0:default:1:9-] Error: SQL(): nsoracle.c:863:OracleExecPLSQLBind: error in `OCIStmtExecute ()': ORA-06550: line 1, column 13: : PLS-00382: expression is of wrong type : ORA-06550: line 1, column 7: : PL/SQL: Statement ignored : : SQL: BEGIN :1 := util.foreign_key_exists(table_name => :table_name,column => :column,reftable => :reftable,refcolumn => :refcolumn); END; [16/Feb/2022:20:55:19][3908.7fa5364fa700][-conn:oacs-5-10-0:default:1:9-] Notice: ### db_with_handle returned error <nsoracle.c:863:OracleExecPLSQLBind: error in `OCIStmtExecute ()': ORA-06550: line 1, column 13: : PLS-00382: expression is of wrong type : ORA-06550: line 1, column 7: : PL/SQL: Statement ignored :
Wednesday 16 Feb 2022
Fixes for Oracle 19c: output potential errors after command
Fixes for Oracle 19c: - added special rules for DML differences in Oracle ("MODIFY" option in ALTER TABLE) - fixed call of ns_pg_bind in Oracle applications - fixed call of an SQL function returning a table
Fixes for Oracle 19c: - types defined inside an package cannot be used from the outside; so utility function get_primary_keys() was not usable - fix various problems with boolean values Two sample errors raised before the fix: [16/Feb/2022:16:12:52][20833.7fa027de8940][-main:oacs-5-10-0-] Error: SQL(): nsoracle.c:863:OracleExecPLSQLBind: error in `OCIStmtExecute ()': ORA-06550: line 1, column 13: : PLS-00382: expression is of wrong type : ORA-06550: line 1, column 7: : PL/SQL: Statement ignored : : SQL: BEGIN :1 := util.table_column_exists(t_name => :t_name,c_name => :c_name); END; 16/Feb/2022:18:16:39][27419.7fb7a518a940][-main:oacs-5-10-0-] Error: SQL(): nsoracle.c:863:OracleExecPLSQLBind: error in `OCIStmtExecute ()': ORA-06550: line 1, column 13: : PLS-00382: expression is of wrong type : ORA-06550: line 1, column 7: : PL/SQL: Statement ignored : : SQL: BEGIN :1 := util.get_primary_keys(table_name => :table_name); END; [16/Feb/2022:18:16:39][27419.7fb7a518a940][-main:oacs-5-10-0-] Notice: ### db_with_handle returned error <nsoracle.c:863:OracleExecPLSQLBind: error in 'OCIStmtExecute ()': ORA-06550: line 1, column 13: : PLS-00382: expression is of wrong type : ORA-06550: line 1, column 7: : PL/SQL: Statement ignored : : SQL: BEGIN :1 := util.get_primary_keys(table_name => :table_name); END;> for statement : #:log "sql=BEGIN :1 := util.get_primary_keys($sql_args); END;, sql_command=ns_ora exec_plsql_bind $db $sql 1 """ : return [ ns_ora exec_plsql_bind $db $sql 1 "" ] :
Fixes for Oracle 19c: fix syntax and handling of boolean values This change fixes the following problems: Errors for PACKAGE ACS_EVENT: LINE/COL ERROR -------- ----------------------------------------------------------------- 3/5 PL/SQL: Declaration ignored 43/39 PLS-00302: component 'LOCATIONREDIRECT_TO_REL_LINK_P' must be declared Warning: Package Body created with compilation errors. Errors for PACKAGE BODY ACS_EVENT: LINE/COL ERROR -------- ----------------------------------------------------------------- 19/2 PLS-00103: Encountered the symbol "RELATED_LINK_URL" when expecting one of the following: ) , * & = - + < / > at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset The symbol "," was substituted for "RELATED_LINK_URL" to continue. 296/29 PLS-00103: Encountered the symbol "(" when expecting one of the following: mod <an identifier> <a double-quoted delimited-identifier> LINE/COL ERROR -------- ----------------------------------------------------------------- <a bind variable> continue current sql execute forall merge pipe purge json_exists json_value json_query json_object json_array
Fixes for Oracle 19c: make query portable to Oracle by replacing USING by explicit ON joins This fixed the following problem, where the problem is not easy to spot on first sight: [16/Feb/2022:13:26:09][12845.7efd2d3e1700][-sched:0:41:22-] Error: nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00904: "NOTIFICATION_REQUESTS"."USER_ID": invalid identifier : SQL: : select notification_id, : notif_subject, : notif_text, : notif_html, : file_ids, : user_id, : request_id, : type_id, : delivery_method_id, : response_id, : notif_date, : notif_user, : acs_permission.permission_p(notification_requests.object_id, !>>>!notification_requests.user_id, 'read') as still_valid_p : from notifications inner join notification_requests using (type_id, object_id) : inner join acs_objects on (notification_requests.request_id = acs_objects.object_id) : left outer join notification_user_map using (notification_id, user_id) : where sent_date is null : and creation_date <= notif_date : and (notif_date is null or notif_date < current_timestamp) : and interval_id = :interval_id
Fixes for Oracle 19c: fix broken variable references (introduced in oacs-5-9)
Fixes for Oracle 19c: added missing SQL package declaration
Tuesday 15 Feb 2022
Fixes for Oracle 19c: (temporary?) fix for message catalogs This change fixes the problem that after a fresh installation, all (!) messages keys are empty. I am not sure what the source of the problem is, why this has supposedly worked some years before, and whether there are undesired side-effects of this change. Without this change, the openacs installation leads to fully broken state.
Fixes for Oracle 19c: replaced "limit" by the portable idiom "fetch ... rows only" This fixes the following bug in Oracle installations: : SQL: : select aml_email_id from acs_mail_lite_from_external : where processed_p <>'1' : and release_p <>'1' : order by priority : !>>>!limit :email_max_ct : nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00933: SQL command not properly ended
Fixes for Oracle 19c: quick port of missing tables in acs-mail-lite from PostgreSQL This is q quick port of the table available from PostgreSQL, which assures that a new instance of OpenACS on Oracle can run without spitting out frequent error messages. In essence, the sequence handling was adjusted, and datatype "text" was replaced by "varchar(4000)" and in one case by "clob". Probably, some of the lengths and the update operations have to be adjusted.
Fixes for Oracle 19c: boolean types in query This fixes the following bug for Oracle: [13/Feb/2022:17:53:36][8701.7f9f62f0b700][-conn:oacs-5-10-0:default:0:0-] Error: nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00920: invalid relational operator : : SQL: : : select p.package_id, : p.instance_name, : n.node_id, : n.name, : :subsite_url || n.name as url, : (select count(*) : from group_approved_member_map m : where m.rel_type = 'membership_rel' : and m.group_id = ag.group_id) as num_members, : (select min(r2.member_state) : from group_member_map m2, : membership_rels r2 : where m2.group_id = ag.group_id : and m2.member_id = :untrusted_user_id : and r2.rel_id = m2.rel_id) as member_state, : g.group_id, : g.join_policy : from site_nodes n, : apm_packages p, : application_groups ag, : groups g : where n.parent_id = :subsite_node_id : and p.package_id = n.object_id : and p.package_key in ('acs-subsite') : and ag.package_id = p.package_id : and g.group_id = ag.group_id : and (g.join_policy !>>>!!= 'closed' or acs_permission.permission_p(p.package_id, :untrusted_user_id, 'read')) : order by lower(instance_name) :
Fixes for Oracle 19c: boolean types in query This fixes the following bug for Oracle: ': ORA-00920: invalid relational operator : : SQL: : select p.package_id, : p.instance_name, : n.node_id, : n.name : from site_nodes n, : apm_packages p, : apm_package_types t : where n.parent_id = :subsite_node_id : and p.package_id = n.object_id : and t.package_key = p.package_key : and t.package_type = 'apm_application' : and acs_permission.permission_p(p.package_id, :user_id, 'read') : !>>>!order by upper(instance_name) :
Fixes for Oracle 19c: invalid cast to integer This fixes the following bug for Oracle: : invalid positional variable `:', valid values start with 1 : while executing : "ns_ora 0or1row nsdb0 { : select acs_permission.permission_p(:object_id, :party_id, :privilege)::integer from dual : }"
fix editing bug V: ----------------------------------------------------------------------
Fixes for Oracle 19c boolean types in query This fixes the following bug for Oracle: : select u.user_id, : u.authority_id, : u.username, : u.screen_name, : u.priv_name, : u.priv_email, : u.email_verified_p, : u.email_bouncing_p, : u.no_alerts_until, : u.last_visit, : to_char(last_visit, 'YYYY-MM-DD HH24:MI:SS') as last_visit_ansi, : u.second_to_last_visit, : to_char(second_to_last_visit, 'YYYY-MM-DD HH24:MI:SS') as second_to_last_visit_ansi, : u.n_sessions, : u.password, : u.salt, : u.password_question, : u.password_answer, : u.password_changed_date, : extract(day from current_timestamp - password_changed_date) as password_age_days, : u.auth_token, : mm.rel_id, : mr.member_state !>>>!= 'approved' as registered_user_p, : mr.member_state : from users u : left join group_member_map mm on mm.member_id = u.user_id : and mm.group_id = mm.container_id : and mm.group_id = :registered_users_group_id : and mm.rel_type = 'membership_rel' : left join membership_rels mr on mr.rel_id = mm.rel_id : where u.user_id = :user_id
Fixes for Oracle 19c boolean types in query This fixes the following bug for Oracle: : SQL: : select locale : from ad_locales l : where language = :language : and enabled_p : !>>>!and (default_p or not exists (select 1 from ad_locales : where language = :language : and locale <> l.locale)) :
Subst commands as well, include the artifact is in the websocket message
Port the downstream only websocket enpoint
file proctoring-websocket.tcl was initially added on branch oacs-5-10.
file websocket.tcl was initially added on branch oacs-5-10.
file websocket.adp was initially added on branch oacs-5-10.
|