Webobjects-dev
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1996 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1995 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1994 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1993 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1992 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1991 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1990 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1989 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1988 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1987 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1986 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1985 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1984 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1983 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1982 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1981 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1980 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1979 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1978 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1977 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1976 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1975 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1974 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1973 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1972 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1971 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1970 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
August 2021
- 1 participants
- 1 discussions
Re: ERAttachment Framework Broken by Anjo Krank's ERXDatabaseContect "HACK"
by Kwasi O-Ahoofe via Webobjects-dev 09 Aug '21
by Kwasi O-Ahoofe via Webobjects-dev 09 Aug '21
09 Aug '21
site_archiver(a)lists.apple.com
Delivered-To: webobjects-dev(a)lists.apple.com
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1628522211; bh=SahwFzIWQlTtSPQ6au0VTCPzs1pHDvZ8vvZaMu6do5o=; h=From:Content-Type:Mime-Version:Subject:Message-Id:Date:To; b=Kwu4LO8mi3sINYGHsmLgKdaaR7x7ajgMjhPnAIpnEwLKInF45FxdJNRt/lYLUwmls FJNCKFGsENQGveC7mwlUlA61FxQdGcK5b8QVyexuv2kN8+XDuqLxMGPWvvqhYtiDC4 UDkmuWIYzngunKzz6ybtHTRy8Wj2bhdWFdIyC9NrKfE87P05e841LtZjggVwuhbxad 5MEeO0MIyLReVvK7cq7geOeAJUPRDG+BnEIfBC1KOak+kcWa7boA3HqBSoHPo++n9M 24M4hncDBH2HXOwo1qTBI89kWOKwE4mxUA8nm2YGaUALTXw8olUHYrBdUVa1Hyw6xn XFI6GQQ/Jqcpw==
Hi Paul:
Anjo’s “HACK” should test for EMPY and/or NONE-EXISTENT Snapshots for
RELATIONSHIPS that have not-been-fetched/accessed yet, meaning dbSnapshot
isNULL and dbSnapshot.objectForKey(key) throws exceptions and aborts the save
operations!!
Thanks.
This update is required to FIX the error, I hope:
// HACK: ak these methods are protected, so we call them via KVC
if (dbOp.databaseOperator() == 2 && ((Boolean)
NSKeyValueCoding.Utility.valueForKey(entity,
"_hasNonUpdateableAttributes")).booleanValue()) {
NSArray keys = (NSArray)
NSKeyValueCoding.Utility.valueForKey(entity, "dbSnapshotKeys");
NSDictionary dbSnapshotX = dbOp.dbSnapshot();
NSDictionary newRow = dbOp.newRow();
NSDictionary dbSnapshot =
ERXDictionaryUtilities.removeNullValues(dbSnapshotX);
if (dbSnapshot.isEmpty())
{
// do nothing
}
else
{
for (int i = keys.count() - 1; i >= 0; i--) {
String key = (String)
keys.objectAtIndex(i);
EOAttribute att =
entity.attributeNamed(key);
// FIX: ak when you have single-table
inheritance and in the
// child there are foreign keys that are not in
the parent
// THEN, if the entity
_hasNonUpdateableAttributes (public PK or
// read only props) the DB op is checked
// against the attributes. BUT this dictionary
has all entries,
// even from the child (most likely NULL values)
// and the current implementation doesn't check
against the case
// when the attribute isn't present in the
first place.
// SO we add this check and live happily ever
after
if (att != null &&
att._isNonUpdateable() &&
!dbSnapshot.objectForKey(key).equals(newRow.objectForKey(key))) {
if (att.isReadOnly()) {
throw new
IllegalStateException("cannot update read-only key '" + key + "' on object:" +
dbOp.object() + " of entity: " + entity.name() + " in databaseContext " + this);
}
throw new IllegalStateException("cannot
update primary-key '" + key + "' from '" + dbSnapshot.objectForKey(key) + "' to
'" + newRow.objectForKey(key) + "' on object:" + dbOp.object() + " of entity: "
+ entity.name() + " in databaseContext " + this);
}
}
}
}
/* */
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (Webobjects-dev(a)lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/site_archiver%40list…
This email sent to site_archiver(a)lists.apple.com
1
0