• 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: EOF inserts PK automatically
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EOF inserts PK automatically


  • Subject: Re: EOF inserts PK automatically
  • From: "Sako!" <email@hidden>
  • Date: Mon, 8 Nov 2004 13:05:13 +0100

----- Original Message -----
From: "Marek Wawrzyczny" <email@hidden>
To: "Sako!" <email@hidden>
Cc: <email@hidden>; "Chuck Hill"
<email@hidden>
Sent: Monday, November 08, 2004 1:59 AM
Subject: Re: EOF inserts PK automatically


>
> On 06/11/2004, at 23:10, Sako! wrote:
>
> >>> before i call EC.SaveChanges(). another Application has already
> >>> inserted a row in the Table with the same PK. after that WO tries to
> >>>  insert row with invalid PK.
> >>> this problem is also explaind in the WO documentation unfortunately
> >>> without really good solution :(
> >>>
> >> I don't know where you got that, its wrong.  The real PK is generated
> >>  during save changes as part of a transaction.  There is no danger of
> >>  duplication.  PK numbers can be skipped but never duplicated.
> >>
> > I think i miss something or something is here wrong.
> > When i don t set the PK as a ClassProperty, EOF creates its own table
> > "EO_PK_TABLE" in the database, and saves the last PK in the column
> > pk.
> > Another applications like ACCESS (what i really have as another
> > application) for example do not use this technique.
> >
> > let me give an example:
> > 1. EOF adds a row with the PK "27",  and   CHANGES the pk column in
> > the table EO_PK_TABLE  to "27"
> > 2. ACCESS adds a  row with the PK "28".
> > 3. EOF does not mention what happens to the table and pk. tries to
> > write with a PK "28" <== which is already used.
> >
> > Mr. Chuck, i know you are experienced developer here, but I am sure
> > what I am telling you and its 100% correct.
> >
> > I cant change ACCESS now. its expensive and complicated.
> > WO must be flexible with the database and ACCESS.
> > So I thought I use the database itself.
> > There is a feature in MS-SQL <IDENTITY>, what ALWAYS allows the
> > database to create the PK automatically.
> > The problem is, this works only if  all applications never try to
> > write in the PK column.
> > Its possible and easy to make ACCESS stop write in the PK column. And
> > now my question: "how can i make EOF stop inserting the PK?"
> >
> > This PK conflict is even in the WO books a big problem, even Apple has
> > no good suggestion for that.
> > If you have any suggestions for me please let me know.
>
> Actually as far as I can tell, the EO_PK_TABLE is not the table that
> WebObjects uses to get the next PK. It's easy to test this. On a
> development (not your production) database, start up your application,
> create some records in a table of your choice (either through another
> application or through the database) and don't update the EO_PK_TABLE.
> EOF will still generate records with the correct PK. In fact you can
> drop the entire EO_PK_TABLE table altogether and WebObjects will still
> happily create it and keep on working.
>
> I am not sure what EOF needs EO_PK_TABLE for, but it does not seem to
> need it for the generation of PKs. I remember reading on Omnigroup that
> EOF always gets the max() value on the PK column prior to generating
> the PK. You are always guaranteed to get a unique PK for your records.
>
Wrong. Make a test.

> I think what you're asking for is how to stop WebObjects from trying to
> generate the PK and make it use the SQL auto-increment feature... and
> the answer is, you cannot.
bad for me :)

>
>
> Marek Wawrzyczny
>
> software engineer
> -------------------------->
> ish group pty ltd
> http://www.ish.com.au
> 7 Darghan St Glebe 2037 Australia
> phone +61 2 9660 1400   fax +61 2 9660 7400
>
>
>

 _______________________________________________
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: 
 >Re: EOF inserts PK automatically (From: "Sako!" <email@hidden>)
 >Re: EOF inserts PK automatically (From: Chuck Hill <email@hidden>)
 >Re: EOF inserts PK automatically (From: "Sako!" <email@hidden>)
 >Re: EOF inserts PK automatically (From: Marek Wawrzyczny <email@hidden>)

  • Prev by Date: Re: EOF inserts PK automatically (Modified by Kieran Kelleher)
  • Next by Date: Re: EOF inserts PK automatically (Modified by Kieran Kelleher)
  • Previous by thread: Re: EOF inserts PK automatically
  • Next by thread: Re: EOF inserts PK automatically
  • Index(es):
    • Date
    • Thread