• last updated 2 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Use 'revision_id' as a tiebreaker in case creation_date is the same, which can happen if different revisions were created inside a single transaction.

  1. … 2 more files in changeset.
Fix more typos

  1. … 84 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
- Align type of parameter "storage_type" with type definition of cr_items.storage_type

- bump version to 5.9.1d27

  1. … 3 more files in changeset.
- fix cr_revision_latest_tr once more to reduce the number of dead tuples generated for xo* classes

- bump version number to 5.9.1d25

  1. … 2 more files in changeset.
Reduced generation of dead tuples in postgres.

Background: In the old version, the fields latest and live

revisions were updated always via two separate dmlDML statements.

Every update causes in PostgreSQL (tested to pg 9.6) one more dead

tuple, such that on busy systems, we see 30k + dead tuples per

hour. These dead tuples in turn cause more auto vacuum operations

and can lead to abandoned query plans.

This change can reduce the number of dead tuples on cr_items into

half, by allowing both fields to be set in one operation (namely

content_item__set_live_revision). This function has an optional 4th

argument that can cause this optimization. For legacy applications,

nothing changes.

Btw: since all commonly used applications use the live revision, the

fallback of the latest_revision is unused. One can consider to

remove the cr_revision_latest_tr, at least on on certain


bump revision to 5.1.9d23

  1. … 3 more files in changeset.
Content-Repository Reform : Reduction of number of functions in

the content repository for PostgreSQL by using using argument defaults

(while providing compatibility for clients using old versions):

- reduced number of versions of content_item__new from 12 (!) to 6 by using defaults

- commented differences

- commented arguments of plpgsql functions with long argument lists

- reduced code duplication by basing one version of content_item__new/17 directly on /20

- marking on version of content_item__new/17 and content_item__new/6 as deprecated

- reduced number of versions of content_revision__new from 7 to 4 by using defaults

- commented differences

- marking on version of content_revision__new/7 as deprecated

- let automatically generated functions call directly content_revision__new/13

- remove space from automatically generated functions

- updated automatically generated functions for all types of the content repository

- reduced number of versions of image__new from 4 to 2by using defaults

- reduced number of versions of image__new_revision from 2 to 1 by using defaults

  1. … 7 more files in changeset.
Scalability reform part 3 (content-repository):

- content_revision__del:

* Removed manual nulling of live_revision and latest_revision

by using appropriate ond delete actions on foreign keys

* Removed manual deletion of old_revision and new_revision in

cr_item_publish_audit by using "on delete cascade"

- content_item__del:

* Removed manual deletion of item_id in cr_item_publish_audit

by using "on delete cascade"

* Removed manual deletion of item_id in cr_release_periods

by using "on delete cascade"

* Removed manual deletion of item_id in cr_item_template_map

by using "on delete cascade"

* Removed manual deletion of item_id in cr_item_keyword_map

by using "on delete cascade"

* Removed manual deletion of direct permissions (was already


- Added missing index for child_id to cr_child_rels.

This index was in the create scripts (with a non-conformant name),

but not in the upgrade scripts

- bump version number of acs-content-repository to 5.9.0d3

  1. … 4 more files in changeset.
Bring PostgreSQL functions closer to the current level of PL/pgSQL:

- upgrade PL/pgSQL functions to the $$ notation (recommended since pg8.0, jan 2005).

- get rid of backslash usages in function definitions

- drop aliases in favor of named function arguments (recommended since pg8.0)

- fix wrong function_args, add missing function_args, align default semantics

with the defaults in pg (providing "null" as default means the argument is


- change return types of triggers from "opaque" to "trigger" (recommended since pg8.0)

- unify names of triggers *_tr

- removed some version dependencies of pg 7.2 and 7.3

  1. … 54 more files in changeset.
switch foo_id_seq.netval to nextval('t_foo_id_seq') calls to placate postgresql 8.

  1. … 8 more files in changeset.
Merged acs-core oacs-5-2 (currently 5.2.3) -> HEAD.


1. Bump acs-core package version numbers to 5.3.0d1

2. Would be nice to do a test install, wouldn't it?

  1. … 721 more files in changeset.
Aesthetic changes, removed oracle cruft left in as comments by Dan Wickstrom's

original conservsion scripts ( while working on allowing null type table names).

  1. … 2 more files in changeset.
Fix bug#1937 with patch#548. Use full syntax for inserts so integer

values work on content_revision__copy in PostgreSQL.

  1. … 1 more file in changeset.
fix laundry list of bugs in content repository copy code.

duplicate version of the 11arg content_folder__new

copy_creation_ip rather than copy__creation_ip in content_revision__copy

content_folder__copy did not preserve context_id properly

content_item__copy2 had a bunch of unused varaibles -- removed them.

content_item__copy now preserves live_revision so things which copy an

item with a live revision to not have to explicitly publish the new copy

(which eg file storage did not do).

content_revision__copy did an insert into acs_objects without specifying

column names which breaks on a new install since the order is not as expected.

  1. … 3 more files in changeset.
Add content_revision__del

commit to HEAD of merge of changes on oacs-5-1 branch between tags jcd-merge-5-1-20040724 and jcd-merge-5-1-20050111

  1. … 2275 more files in changeset.
Properly create content_revision__del. Fixes bug#2251

Fix __delete functions to have __del variant.

  1. … 5 more files in changeset.
Add __del function to match oracle so package_exec_plsql will work

  1. … 2 more files in changeset.
Add CR Tcl API from HEAD.

  1. … 17 more files in changeset.
fixing bug with the copy_content function, moving the call to lob_copy before the update

add define_function_args definitions for most functions, bump to 5.2.0d5, upgrade script

  1. … 9 more files in changeset.
various bug fixes for package_id, title addition to acs_objects

  1. … 12 more files in changeset.
Remerge Timo's changes for tip 42,43, cf tip 53

  1. … 97 more files in changeset.
rollback of Timo's name, package_id commit; see TIP 53

  1. … 96 more files in changeset.
TIP#42,43: adding package_id and title to acs_objects table

  1. … 96 more files in changeset.
Added define_function_arg calls to non-content-revision objects and to

create_type and create_attributes, so we can do these operations via

Tcl. Content revisions, due to LOB/non-LOB issues and the incompatibility

of LOB operations between DBs need their own "smart" Tcl API.

  1. … 10 more files in changeset.
merge of changes on oacs-5-0 branch to oacs-5-0-0b4 tag

  1. … 598 more files in changeset.
Fixes bug#1255, correctly set context_id on revision copy.

  1. … 3 more files in changeset.
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__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


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.