Firebird SQL Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsDatabasesFirebird SQL Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old June 14th, 2005, 02:18 AM
wotaen wotaen is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2005
Posts: 10 wotaen User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 3 h 39 m 41 sec
Reputation Power: 0
Self-referencing table integrity

Hello, I'm developing a .NET appl and have problems with self-referencing tables. I got some tree structure a->b->c
->d
The server has forced writes off. The problem is that i add new field with id 12. Then i want to add a new child with parent 12, but the engine writes an error, because the field with id 12 has not been written yet. Turning forced writes on is not a good idea i suppose, because this is just a special case, any ideas?

Reply With Quote
  #2  
Old June 15th, 2005, 07:24 AM
IvanP IvanP is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Feb 2005
Posts: 12 IvanP User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 h 7 m 37 sec
Reputation Power: 0
Quote:
Originally Posted by wotaen
Hello, I'm developing a .NET appl and have problems with self-referencing tables. I got some tree structure a->b->c
->d
The server has forced writes off. The problem is that i add new field with id 12. Then i want to add a new child with parent 12, but the engine writes an error, because the field with id 12 has not been written yet. Turning forced writes on is not a good idea i suppose, because this is just a special case, any ideas?

Your problem has absolutely nothing to do with forced writes (that should be set to ON, btw), but with transactions.
When you insert (update) new data, they are visible only to the transaction that inserted them. After that transaction commits, than the data become visible to
- all read committed transactions,
- all snapshot transactions started after the commit.

Reply With Quote
  #3  
Old June 16th, 2005, 03:27 AM
upscene upscene is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2003
Posts: 223 upscene User rank is Corporal (100 - 500 Reputation Level)upscene User rank is Corporal (100 - 500 Reputation Level)upscene User rank is Corporal (100 - 500 Reputation Level)upscene User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 7 h 14 m 50 sec
Reputation Power: 8
In addition to IvanP's answer --

If adding records to this table is a "unit of work", do it in the same transaction and you'll be avoiding these problems as well.

--
Martijn Tonies
Database Workbench: IDE for Firebird, MySQL, InterBase, MSSQL Server and Oracle
Upscene Productions
http://www.upscene.com

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesFirebird SQL Development > Self-referencing table integrity


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 4 hosted by Hostway