• last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Added optional name parameter to content_item content_folder content_extlink

content_symlink copy and move pl(pg)sql procedures. Oracle and Postgresql.

  1. … 7 more files in changeset.
merge of 4.6.3b1 to HEAD

  1. … 101 more files in changeset.
Removed the vile fs_simple_objects added by OF to store URLs in file

storage despite the existence of a non-versioned URL type in the content

repository. Upgrade scripts provided. I added Tcl API to the content

repository to honor our desire to export the SQL API to Tcl client code.

1. folder contents are now counted correctly (bug fix)

2. The fs_objects view is now usable in PG (it was a UNION view before and

therefore didn't scale)

3. Code in file storage is considerably simpler now and all file storage

objects are now stored in the content repository, as they should

be.

The Oracle version may need some work I'll finish testing this afternoon.

  1. … 46 more files in changeset.
Partial conversion from timestamp to timestamptz for PG 7.3 (need to keep

time zone timestamps so dumps from PG 7.2 installs will still work)

  1. … 18 more files in changeset.
register_child_type would only register one type per parent since it

ignored relation tag when checking if the relation existed.

is_valid_type failed with more than one type since it wanted to count

max_n but did not sum.

needs an upgrade script.

  1. … 4 more files in changeset.
merge bartt PG 7.3 fixes from HEAD

  1. … 54 more files in changeset.
Patches to make OpenACS PG 7.3 compatible.

  1. … 54 more files in changeset.
removed content_item.update_last_modified, use acs_object.update_last_modified instead

  1. … 3 more files in changeset.
added function for updating last_modified time of a content_item with cascading

  1. … 3 more files in changeset.
applied patches 130,131,132,133,134,135,137

  1. … 7 more files 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.

After importing openacs.org users, forums and messages I discovered that it

took literally several minutes to load the APM's home page. This was due

to a rather stupid subselect of the form:

select count(*)

from content_revisions r

where r.revision_id = content_item.get_latest_revision(item_id)

where item_id comes from the package versions table.

It's stupid in both PG and Oracle because get_latest_revision already

joins the latest_revision_id value from cr_items with the content

revisions table thus a simple check for a null return by get_latest_revision

would be sufficient.

It's *really* stupid in Oracle because Oracle won't use the index on

revision_id when checking NULLs so we get two sequential scans of the

cr_revisions table tucked into that one itty-bitty subquery (itself called

once for each package version in ths system).

Which explains why I hadn't noticed it while working on scalability testing

in PG - PG uses the index because its btree index structure handles NULLs.

Meaning this query only fell apart at a rate of O(log2(R)) rather than O(R)

as in Oracle (R being the number of revision objects in the system).

My solution was to rewrite the subselect using "case" rather than "count(*)"

and also to speed up get_latest_revision by having it check for NULL and

return NULL immediately rather than execute the query (in PG this is

accomplished by declaring the function "isstrict", and the executor won't

even call the function if the argument's NULL, making it REALLY fast!).

  1. … 3 more files in changeset.

1. Fixed permissions bug in the PG version (missing OR clause in a view)

2. Added (untested thus far) site-wide-search to glossary

3. Added centralized support for importing files into the CR (either into

the filesystem or the database).

4. Fixed wp-slim. Fixed it some more. Fixed it again. It still needs

more fixing.

  1. … 61 more files in changeset.

Dave Bauer's patches ...

  1. … 1 more file in changeset.
added support for multiple file storage areas

  1. … 11 more files in changeset.
fixed definition of item relationships

fixed insertion order for insert statement in content_revision__copy routine

  1. … 1 more file in changeset.
fixed image upload using lobs and file storage in CR

  1. … 5 more files in changeset.
modified content_item__get_path to match oracle version

removed circular dependency due to workflow

  1. … 4 more files in changeset.
fixed get_path to match oracle version

fixed exception message in content_type__drop_attribute

  1. … 2 more files in changeset.
patch supplied by Dave Bauer to pass in security_inherit_p flag when creating new content_item. Work-around for data-change violation

workaround for content_item__delete problem related to pg RI problems

various bugfixes

  1. … 4 more files in changeset.
more cleanup

  1. … 7 more files in changeset.
fixed a few pl/sql procs

  1. … 2 more files in changeset.
fixed tree query

moved content repository job scheduling from oracle to aolsrver, that it is compatible with postgresql

  1. … 4 more files in changeset.