{"id":18810038,"url":"https://github.com/pokle/transactional-maps","last_synced_at":"2026-01-10T14:30:17.357Z","repository":{"id":137102132,"uuid":"552516","full_name":"pokle/Transactional-Maps","owner":"pokle","description":"Adds the notion isolated transactions to a map. ","archived":false,"fork":false,"pushed_at":"2010-03-09T00:15:34.000Z","size":280,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-29T23:23:41.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pokle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-03-08T14:25:19.000Z","updated_at":"2012-12-14T02:05:39.000Z","dependencies_parsed_at":"2023-03-29T08:48:03.387Z","dependency_job_id":null,"html_url":"https://github.com/pokle/Transactional-Maps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pokle%2FTransactional-Maps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pokle%2FTransactional-Maps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pokle%2FTransactional-Maps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pokle%2FTransactional-Maps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pokle","download_url":"https://codeload.github.com/pokle/Transactional-Maps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239743959,"owners_count":19689576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T23:18:40.781Z","updated_at":"2026-01-10T14:30:17.300Z","avatar_url":"https://github.com/pokle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"A transactional map\n----\n\nAdds the notion of isolated transactions to a map.\n\nAll operations defined on the cut down map interface net.pokle.dbtb.Database can\nbe commited (or rolledback) in isolation to any changes made in other transactions.\nYou can also chain transactions ala patchsets in git or mercurial.\n\nHere's an example of what's possible: (From DatabaseSampleTest)\n\n        // A base database\n        HashMapDatabase\u003cString, String\u003e base = new HashMapDatabase\u003cString, String\u003e();\n        // And its un-commited transaction\n        Transaction\u003cString, String\u003e child = new Transaction\u003cString, String\u003e(base);\n\n        // A modification to the base...\n        base.put(\"The meaning of life\", \"0\");\n\n        // ... is visible to both the base and child transactions\n        assertEquals(\"0\", base.get(\"The meaning of life\"));\n        assertEquals(\"0\", child.get(\"The meaning of life\"));\n\n        // A modification of the child transaction...\n        child.put(\"The meaning of life\", \"42\");\n\n        // ... is only visible in the child transaction\n        assertEquals(\"42\", child.get(\"The meaning of life\"));\n        assertEquals(\"0\", base.get(\"The meaning of life\"));\n\n        // You can commit a child transaction to its parent\n        child.commit();\n        assertEquals(\"42\", child.get(\"The meaning of life\"));\n        assertEquals(\"42\", base.get(\"The meaning of life\"));","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpokle%2Ftransactional-maps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpokle%2Ftransactional-maps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpokle%2Ftransactional-maps/lists"}