• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Can't Update Primary Key in PostgreSQL
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can't Update Primary Key in PostgreSQL


  • Subject: Re: Can't Update Primary Key in PostgreSQL
  • From: Gary Teter <email@hidden>
  • Date: Thu, 15 Jun 2006 12:06:34 -0700

Turn off the class property on the pk for the entity, and use a method like this to get the pk:

public static Integer id(EOEnterpriseObject anEnterpriseObject) {
EOEditingContext ec = anEnterpriseObject.editingContext();
if (ec != null) {
EOGlobalID globalID = anEnterpriseObject.editingContext ().globalIDForObject(anEnterpriseObject);
if (!globalID.isTemporary()) {
return (Integer)((EOKeyGlobalID) globalID).keyValuesArray().objectAtIndex(0);
}
}
return null;
}


Note that this method could be made more defensive, and doesn't handle non-integer primary keys, compound primary keys, etc.

On Jun 15, 2006, at 11:59 AM, Mac Dev wrote:

Hello,

It's me again. The guy who just recently moved the database from MSSQL 7 to PostgreSQL 8.1.

I am getting errors like this whenever I try to save changes in my defaultEditingContext:

java.lang.IllegalStateException: cannot update primary-key 'user_ID' from '11795' to '11795' on object:{values ...

This was not happening when I was using the old MSSQL. I searched the list archive and found this:

Hunter,

By any chance, would you have set the pk to be a class property, would you?

r.

On 21/04/2004, at 7:49, Hunter Hillegas wrote:

I have an issue with EOF that I can't figure out. I've seen some discussion of similar issues on the list but no solution...

WO 5.2.3/Java 1.4.2 Panther 10.3.3

Basically, EOF is trying to update my primary key but it hasn't changed.

1. Create entity.
2. Save entity.
3. Fetch entity.
4. Update entity.
5. Save entity.

Step 5 generates this exception:

java.lang.IllegalStateException: cannot update primary-key 'recNum' from '4' to '4' on object:{values = {recNum = 4; season = "Spring 2007"; summary = "sdfasdfasdf"; coverImageUri = "1300989293-5838.jpg"; issueDepartments = ("<IssueDepartment 9ce8f3 ...
_______________________________________________

I have the PK set as class property because it is used as key for some direct action pages. Is there anyway to not have the PK updated when saving?


Any help is greatly appreciated.  Thank you very much for reading.

Regards,

Nick Yang


-- WireHose: Smart metadata and personalization for WebObjects. http://www.wirehose.com/

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Can't Update Primary Key in PostgreSQL (From: Mac Dev <email@hidden>)

  • Prev by Date: Can't Update Primary Key in PostgreSQL
  • Next by Date: Re: Can't Update Primary Key in PostgreSQL
  • Previous by thread: Can't Update Primary Key in PostgreSQL
  • Next by thread: Re: Can't Update Primary Key in PostgreSQL
  • Index(es):
    • Date
    • Thread