• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Addresses bug 1148, bug 1149 (and performance problems generally with plpgsql functions).

eliminate with(isstrict,iscachable) in favor of the new syntax strict, immutable, stable.

bump version of acs-kernel, acs-content-repository to 5.0.0b4, upgrade scripts provided.

Fix bugs with the following plpgsql procs:

acs_object__initialize_attributes: raise exception on null input.

acs_object__set_attribute: exception on null input

acs_object_util__get_object_type: remove the exception after the return statement

apm__unregister_package: properly default cascade_p

apm__unregister_service: properly default cascade_p

content_item.get_parent_folder: infinite loop on input if not a direct descendent of a folder (fixed on oracle too)

content_item__get_context: exception on null input, fix bug in exception print (wrong variable name)

content_item__is_publishable: returned t on null and invalid items

content_item__is_subclass: did not short curcuit loop when subclass found

content_item__move: would silently ignore null target_id

content_revision__copy_attributes: generate an exception on null input

content_revision__export_xml: generate exception if called (unimplemented in postgres)

content_symlink__copy: generate exception if called (unimplemented)

apm_package__parent_id: returned -1 on not found rather than null

content_folder__is_registered: no default provided in code for include_subtypes

content_keyword__is_assigned: no default for recurse...

content_revision__import_xml: generate exception if called (unimplemented in postgres)

content_revision__index_attributes: generate exception if called (unimplemented in postgres)

content_type__trigger_insert_statement: now generates exception on null input (was silent failure)

number_src: infinite loop on null input

rule_exists: fix case folded lookup

Declare the following stable:

get_func_definition get_func_header acs_message__name

acs_object_type_insert_tr acs_message__message_p

acs_object_type__pretty_name acs_message__first_ancestor

acs_object_type__is_subtype_p acs_objects_get_tree_sortkey

acs_object__name acs_object__default_name

acs_object__get_attribute_storage acs_object__get_attribute

acs_object__check_path acs_mail_link__link_p

acs_object_util__object_type_exist_p acs_object_util__get_object_type

acs_object_util__type_ancestor_type_p

acs_object_util__object_ancestor_type_p acs_object_util__object_type_p

acs_rel_type__role_pretty_name acs_rel_type__role_pretty_plural

party__email person__name person__first_names person__last_name

application_group__group_id_from_package_id

acs_user__receives_alerts_p group_contains_p

acs_message_get_tree_sortkey acs_mail_body__body_p

acs_permission__permission_p acs_mail_multipart__multipart_p

content_keyword__get_heading acs_group__name acs_group__member_p

rel_segment__get rel_segment__name rel_constraint__get_constraint_id

rel_constraint__violation rel_constraint__violation_if_removed

content_keyword__get_description site_node_get_tree_sortkey

timezone__convert_to_local timezone__get_offset

timezone__get_rawoffset timezone__get_abbrev timezone__get_date

timezone__isdst_p rdbms_date apm__register_p timezone__get_id

doc__get_proc_header apm__parameter_p apm__id_for_name apm__get_value

apm__get_value apm_package__initial_install_p apm_package__singleton_p

apm_package__num_instances apm_package__name

apm_package__highest_version apm_package__parent_id

apm_package_type__num_parameters content_keyword__is_leaf

acs_sc_msg_type__get_id acs_sc_msg_type__get_name

acs_sc_contract__get_id acs_sc_contract__get_name

acs_sc_operation__get_id acs_sc_impl__get_id acs_sc_impl__get_name

acs_sc_binding__exists_p cr_items_get_tree_sortkey

content_keyword__is_assigned content_keyword__get_path

content_template__is_template cr_keywords_get_tree_sortkey

content_template__get_path table_exists column_exists trigger_exists

trigger_func_exists rule_exists content_folder__is_registered

content_folder__get_label content_folder__get_index_page

content_type__get_template content_type__trigger_insert_statement

content_type__is_content_type content_item__get_root_folder

content_item__is_published content_item__is_publishable

content_item__is_valid_child content_item__get_id

content_item__get_template content_item__get_content_type

content_item__get_live_revision content_item__get_revision_count

content_item__get_context content_item__get_latest_revision

content_item__get_best_revision content_item__get_title

content_item__get_title content_item__get_publish_date

content_item__is_subclass content_item__is_index_page

content_item__get_parent_folder content_revision__get_number

content_revision__revision_name content_revision__is_latest

content_revision__get_content content_symlink__is_symlink

content_symlink__resolve_content_type content_extlink__is_extlink

content_folder__is_folder content_folder__is_empty

file_storage__get_root_folder file_storage__get_package_id

forums_message__root_message_id content_symlink__resolve

  1. … 42 more files in changeset.
fixing creation of site_node under postgres

  1. … 2 more files in changeset.
added site_nodes_parent_id_idx based on results from scalability testing

  1. … 1 more file in changeset.

Added code to make use of David Walker's wonderfully abusive hack on the

pg_proc table that showed me how to write recursive SQL functions. We now

have good use of the index on tree_sortkey when climbing the tree, woo-hoo!

  1. … 18 more files in changeset.

Changed the representation of tree_sortkeys from "text" to "bit varying".

  1. … 62 more files in changeset.

1. Replaced more "tree_sortkey like" with "tree_sortkey between" expressions

2. Fixed a bad port of an Oracle query in site-nodes-procs.tcl and removed

a needless outer join from both versions in the process.

  1. … 11 more files in changeset.

1. Ripped out the '' vs. NULL string kludge, which was a stupid idea in the

first place (MY stupid idea, for the record).

2. More .xql file porting...

  1. … 23 more files in changeset.
added comments for default api values

  1. … 12 more files in changeset.
more cleanup of nullable strings in kernel

  1. … 8 more files in changeset.
fixed problem with infinite recursion on updates of tables with tree query triggers

  1. … 4 more files in changeset.
fixed acs-install problems

  1. … 2 more files in changeset.
fixed up some tree queries

  1. … 4 more files in changeset.
fixed exception messages, membership_rels delete trigger and composition_rels delete trigger

  1. … 5 more files in changeset.
more cleanup

  1. … 6 more files in changeset.
fixed up a bunch of typos

  1. … 8 more files in changeset.
added tree query support for acs_objects, site_nodes and fixed up tree queries for rel_constraints

  1. … 3 more files in changeset.
initial import of acs kernel data-model ported to postgresql - implementation of tree queries completed for acs_object_types. Still need to finish tree queries for acs_privilege_hierarchy and rel_constraints tables.

    • -0
    • +284
    ./site-nodes-create.sql
  1. … 37 more files in changeset.