Sponsored Content
Full Discussion: Roll back problem
Top Forums Shell Programming and Scripting Roll back problem Post 75078 by tmarikle on Wednesday 15th of June 2005 10:22:14 AM
Old 06-15-2005
...or you could use something like a semaphore. Keep a status flag in an OS table for all of your processes to check. When one updates this to say that a failure occurred, start rolling back.

If you are periodically committing records, then use some kind of common batch update identifier in your table. This will help you delete all records common to the batch. If you can't add columns to the table that you are loading, create a new table that keeps key values of records that you are working with.

Thomas
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

back up problem

Hi all I am facing some problem taking INCREMENTAL Back up of file systems...........Actually i have mounted the file system of one server in another server..as i don't have tape drive in both servers...............i am using HPUX(L class and C class)servers.. can any one help me ... (1 Reply)
Discussion started by: Prafulla
1 Replies

2. UNIX for Dummies Questions & Answers

automated back up problem

Hi.. I am using HP UX 11.0 i want to make automated back up from SAM back up tool.... so i mentioned the file systems and back up device /dev/rmt/0m and time 0:00 and days of the week........ but it was not successful.....the back up job was not started on specified time..... i am in... (7 Replies)
Discussion started by: Prafulla
7 Replies

3. UNIX for Advanced & Expert Users

problem while getting the response back..plz help

Hi ALL: I am not able to get the response back from weblogic in the shell script. The weblogic server in different account. I am able to login to that account and bring the server up but while doing a ping, the script is failing. While the same script is running fine if I run it on the account... (1 Reply)
Discussion started by: splax
1 Replies

4. UNIX for Advanced & Expert Users

p570 - Problem bringing it back up

I have a p570 server with 2 LPARs on it. One of my colleagues did a firmware upgrade on it over the weekend but I have not been able to bring it back online since. I go to activate the partition from the HMC and it gets stuck on the C20082FF operator panel and just freezes from there. Does... (2 Replies)
Discussion started by: KeesH
2 Replies

5. Shell Programming and Scripting

Puzzling Problem: Going back to the previous directory

Hi, I am trying to figure out if there is a way to make linux take me back to the previous directory I was working in. For instance, I am in /home/username/directory1 Then if I cd into /home/username/directory1/temp1/temp2/temp3 I would like to immediately go back to the previous... (2 Replies)
Discussion started by: Legend986
2 Replies

6. Solaris

Patching Roll-back

What is the easiest or preferred way to roll back the solaris cluster patches? My guess is to do a flash archive pre-patch and then install off of that if it doesn't work. Any other ideas? (4 Replies)
Discussion started by: adelsin
4 Replies

7. Solaris

Roll back latest Solaris Patches

Is there an easy way to roll back or uninstall the latest Solaris patch cluster? I'm hoping I don't have to go into each patch that was applied and uninstall them one-by-one. Thanks! (0 Replies)
Discussion started by: bluescreen
0 Replies

8. Red Hat

Roll back patches for RHEL 5

Hi, I want to roll back the packages that are installed during the patch installation of RHEL 5 server. There are in all 110 packages including the kernel package... kernel-2.6.18-274.el5.x86_64.rpm kernel-headers-2.6.18-274.el5.x86_64.rpm How should I proceed ? I don't want to run rpm... (4 Replies)
Discussion started by: aksijain
4 Replies

9. Shell Programming and Scripting

Roll back the code

Hi is there any shell script to roll back the code when the code is deployed in a wrong way in production servers (3 Replies)
Discussion started by: Purushotham
3 Replies

10. Homework & Coursework Questions

Back quote problem

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Print out problem with line follow: echo There are '$cat $fname | wc -l' contacts in database how do I replace... (2 Replies)
Discussion started by: scopiop
2 Replies
Parse::Dia::SQL::Output::SQLite3(3pm)			User Contributed Perl Documentation		     Parse::Dia::SQL::Output::SQLite3(3pm)

NAME
Parse::Dia::SQL::Output::SQLite3 - Create SQL for SQLite version 3. SYNOPSIS
use Parse::Dia::SQL; my $dia = Parse::Dia::SQL->new(file => 'foo.dia', db => 'sqlite3'); print $dia->get_sql(); DESCRIPTION
This sub-class creates SQL for the SQLite database version 3. new The constructor. Object names in SQLite have no inherent limit. 60 has been arbitrarily chosen. _get_create_table_sql Generate create table statement for a single table using SQLite syntax: Includes class comments before the table definition. Includes autoupdate triggers based on the class comment. autoupdate triggers If the class comment includes a line like: <autoupdate:foo/> Then an 'after update' trigger is generated for this table which executes the statement foo for the updated row. Examples of use include tracking record modification dates ("<autoupdate:dtModified=datetime('now')/">) or deriving a value from another field ("<autoupdate:sSoundex=soundex(sName)/">) get_schema_drop Generate drop table statments for all tables using SQLite syntax: drop table {foo} if exists get_view_drop Generate drop view statments for all tables using SQLite syntax: drop view {foo} if exists _get_fk_drop Drop foreign key enforcement triggers using SQLite syntax: drop trigger {foo} if exists The automatically generated foreign key enforcement triggers are: See "_get_create_association_sql" for more details. constraint_name_bi_tr constraint_name_bu_tr constraint_name_buparent_tr constraint_name_bdparent_tr _get_drop_index_sql drop index statement using SQLite syntax: drop index {foo} if exists get_permissions_create SQLite doesn't support permissions, so supress this output. get_permissions_drop SQLite doesn't support permissions, so supress this output. _get_create_association_sql Create the foreign key enforcement triggers using SQLite syntax: create trigger {fkname}[_bi_tr|_bu_tr|_bdparent_tr|_buparent_tr] Because SQLite doesn't natively enforce foreign key constraints (see <http://www.sqlite.org/omitted.html>), we use triggers to emulate this behaviour. The trigger names are the default contraint name (something like child_table_fk_child_fkcolumn) with suffixes described below. {constraint_name} is the name of the association, either specified or generated. {child_table} is the name of the dependent or child table. {child_fkcolumn} is the field in the dependent table that hold the foreign key. {parent_table} is the name of the parent table. {parent_key} is the key field of the parent table. Before insert - Dependent Table constraint_name_bi_tr Before insert on the child table require that the parent key exists. create trigger {constraint_name}_bi_tr before insert on {child_table} for each row begin select raise(abort, 'insert on table {child_table} violates foreign key constraint {constraint_name}') where new.{child_fkcolumn} is not null and (select {parent_key} from {parent_table} where {parent_key}=new.{child_fkcolumn}) is null; end; Before update - Dependent Table constraint_name_bu_tr Before update on the child table require that the parent key exists. create trigger {constraint_name}_bu_tr before update on {table_name} for each row begin select raise(abort, 'update on table {child_table} violates foreign key constraint {constraint_name}') where new.{child_fkcolumn} is not null and (select {parent_key} from {parent_table} where {parent_key}=new.{child_fkcolumn}) is null; end; Before update - Parent Table constraint_name_buparent_tr Before update on the primary key of the parent table ensure that there are no dependent child records. Note that cascading updates don't work. create trigger {constraint_name}_buparent_tr before update on {parent_table} for each row when new.{parent_key} <> old.{parent_key} begin select raise(abort, 'update on table {parent_table} violates foreign key constraint {constraint_name} on {child_table}') where (select {child_fkcolumn} from {child_table} where {child_fkcolumn}=old.{parent_key}) is not null; end; Before delete - Parent Table constraint_name_bdparent_tr The default behaviour can be modified through the contraint (in the multiplicity field) of the association. Default (On Delete Restrict) Before delete on the parent table ensure that there are no dependent child records. create trigger {constraint_name}_bdparent_tr before delete on {parent_table} for each row begin select raise(abort, 'delete on table {parent_table} violates foreign key constraint {constraint_name} on {child_table}') where (select {child_fkcolumn} from {child_table} where {child_fkcolumn}=old.{parent_key}) is not null; end; On Delete Cascade Before delete on the parent table delete all dependent child records. create trigger {constraint_name}_bdparent_tr before delete on {parent_table} for each row begin delete from {child_table} where {child_table}.{child_fkcolumn}=old.{parent_key}; end; On Delete Set Null Before delete on the parent table set the foreign key field(s) in all dependent child records to NULL. create trigger {constraint_name}_bdparent_tr before delete on {parent_table} for each row begin update {child_table} set {child_table}.{child_fkcolumn}=null where {child_table}.{child_fkcolumn}=old.{parent_key}; end; TODO
Things that might get added in future versions: Mandatory constraints The current foreign key triggers allow NULL in the child table. This might use a keyword in the multiplicity field (perhaps 'required') or could check the 'not null' state of the child fkcolumn. Views Views haven't been tested. They might already work, but who knows... Other stuff Bugs etc perl v5.14.2 2011-02-15 Parse::Dia::SQL::Output::SQLite3(3pm)
All times are GMT -4. The time now is 03:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy