25490: ALF-5260 - MyBatis: AVM (-> MySQL)
- includes SerializableTypeHandler
- also, for consistency, remove SqlSessionDaoSupport from Activtities (r25466)
- TODO: test EliminateDuplicates patch
- TODO: inserts for non-MySQL dbs
25504: ALF-5260 - MyBatis: part III
- AppliedPatch, Content/MimeType/Encoding, Locale, Locks, QName, Usage
- also minor updates to AVM & Activities (for consistency)
25517: ALF-5260 - MyBatis: part IV
- DAOs - Patch, Permissions/ACLs, PropVal, SOLR
- NOTE: includes fixup for SOLRDAOTest - also return nodeRef
- TODO: batching (for ContentUrl patch)
25541: ALF-5260 - MyBatis: add missing file (r25517)
25556: ALF-5260 - MyBatis: V - PostgreSQL support (for migrated DAOs - does not yet include Audit + Node)
25576: ALF-5260 - MyBatis: VI - Audit & Control DAOs (MySQL + PostgreSQL)
- also replaced SqlExecutor.NO_MAXIMUM_RESULTS with RowBounds.NO_ROW_LIMIT
25589: ALF-5260 - MyBatis: part VII - Node DAO (MySQL + PostgreSQL)
25612: ALF-5260 - MyBatis: part VIII - Oracle / DB2 / SQL Server
- sanity checked only (bootstrap -> RepositoryStartupTest, DomainTestSuite, ModelTestSuite)
- also remove remaining references to iBatis (and jar)
Note:
- Currently LockDAOTest is failing on an update
- Fixed up DAo code changes from V3.4 - expect some to have been missed
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28004 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Ensure uniqueness across any three (incl. null) Serializable values
- Required to support RM rma:identifier contextual uniqueness
DB Update for MySQL:
drop table if exists alf_prop_unique_ctx;
CREATE TABLE alf_prop_unique_ctx
(
id BIGINT NOT NULL AUTO_INCREMENT,
version SMALLINT NOT NULL,
value1_prop_id BIGINT NOT NULL,
value2_prop_id BIGINT NOT NULL,
value3_prop_id BIGINT NOT NULL,
UNIQUE INDEX idx_alf_prop_unique_ctx (value1_prop_id, value2_prop_id, value3_prop_id),
CONSTRAINT fk_alf_prop_unique_ctx_1 FOREIGN KEY (value1_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_prop_unique_ctx_2 FOREIGN KEY (value2_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_prop_unique_ctx_3 FOREIGN KEY (value3_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
PRIMARY KEY (id)
);
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16417 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- alf_prop_xxx tables
- Added alf_prop_root table
- alf_prop_value_xxx tables enforce uniqueness
- Better splitting up of Collections and Maps (attempt to use exact storage type)
- Moved some indexes around to reduce size but maintain index data lookups
- Allow updates and deletes of properties via alf_prop_root (entry-point table)
- Audit Application
- Unique by name
- Add 'disabled paths' to control audit behaviour (not wired into services)
- Added concurrency checks for updates to the Audit Application (model change, etc)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Turned namespacing on
- Collapsed SqlMapConfig.xml files with the exception of that for activities, which uses a different datasource bean
- Tried to use it and discovered a "feature": If any ID has a '.' in it, then it is assumed to be namespaced already ...
- Fixed up all IDs for iBatis objects; replaced '.' with '_' except in our namespaces
- Don't panic! It's a find/replace job of ID strings. Errors will be hard and fast, if there are any. All DAO and activities tests run.
- The AVM refactor will get some conflicts in the ibatis-context.xml
- Either follow the same pattern and fix up the IDs, or
- Keep a separate bean until some later time.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16106 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261