KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dml > deletestatementpositioned


1 package com.daffodilwoods.daffodildb.server.sql99.dml;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*;
6 import com.daffodilwoods.daffodildb.server.datasystem.utility.*;
7 import com.daffodilwoods.daffodildb.server.datasystem.utility._Record;
8 import com.daffodilwoods.daffodildb.server.serversystem.*;
9 import com.daffodilwoods.daffodildb.server.serversystem.datatriggersystem.*;
10 import com.daffodilwoods.daffodildb.server.serversystem.dmlvalidation.statementtriggersystem.*;
11 import com.daffodilwoods.daffodildb.server.sessionsystem.*;
12 import com.daffodilwoods.daffodildb.server.sql99.*;
13 import com.daffodilwoods.daffodildb.server.sql99.common.*;
14 import com.daffodilwoods.daffodildb.server.sql99.dml.declarecursor.*;
15 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
16 import com.daffodilwoods.daffodildb.server.sql99.dql.semanticchecker.*;
17 import com.daffodilwoods.daffodildb.server.sql99.token.*;
18 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
19 import com.daffodilwoods.database.general.*;
20 import com.daffodilwoods.database.resource.*;
21
22 public class deletestatementpositioned implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, SQLdatachangestatement, _Executer {
23
24    public cursorname _cursorname0;
25    public targettable _targettable4;
26    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
27    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439222;
28    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439223;
29    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439225;
30    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439226;
31
32    _StatementExecutionContext sec = null;
33    QualifiedIdentifier tableName = null;
34    _Cursor cursor = null;
35    _DataTriggerTable dataTriggerTable = null;
36    _StatementTriggerTable statementTriggerTable = null;
37    _Iterator iterator = null;
38
39    public _Reference[] checkSemantic(_ServerSession serverSession) throws DException {
40       TableDetails tableDetails = (TableDetails) _targettable4.run(serverSession);
41       SemanticChecker.initializeCatalogNameAndSchemaNameOfTable(tableDetails, serverSession);
42       _ColumnCharacteristics cc = serverSession.getColumnCharacteristics(tableDetails.getQualifiedIdentifier());
43       tableDetails.cc = cc;
44       tableDetails.setTableType(cc.getTableType());
45
46       if (tableDetails.getTableType() == TypeConstants.VIEW) {
47          throw new DmlStatementException("DSE1276", new Object JavaDoc[] {tableDetails.getQualifiedTableName()}
48                                          , new DException("DSE1267", null));
49       }
50       cursor = (_Cursor) serverSession.getCursor( (String JavaDoc) _cursorname0.run(serverSession));
51       if (!cursor.getUpdatabilityClause()) {
52          throw new DException("DSE1195", null);
53       }
54       return null;
55    }
56
57    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
58       sec = (_StatementExecutionContext) object;
59       _ServerSession serverSession = sec.getServerSession();
60       tableName = (QualifiedIdentifier) _targettable4.run(object);
61       ArrayList allQueryTables = new ArrayList();
62       ( (cursorspecification) cursor.getCursorSpecification())._queryexpression2.getTablesIncluded(allQueryTables);
63       if (!allQueryTables.contains(tableName)) {
64          throw new DException("DSE1196", null);
65       }
66       dataTriggerTable = sec.getDataTriggerTable(tableName);
67       statementTriggerTable = sec.getStatementTriggerTable(tableName);
68       iterator = cursor.getIterator();
69       return this;
70    }
71
72    public Object JavaDoc execute(_VariableValues parm1) throws com.daffodilwoods.database.resource.DException {
73       _UserSession childUserSession = sec.getUserSession();
74       boolean createChildSession = false;
75       if (childUserSession == null) {
76          childUserSession = sec.getServerSession().getUserSession();
77          createChildSession = true;
78       }
79       _TriggerExecutionContext tec = new TriggerExecutionContext();
80       sec.setUserSession(childUserSession);
81       sec.setTriggerExecutionContext(tec);
82       int count = 0;
83       _Record record = null;
84       try {
85          record = iterator.getRecord();
86          RecordVersion recordVersion = new RecordVersion(record);
87          sec.setRecordVersion(recordVersion);
88          statementTriggerTable.fireBeforeDeleteStatementLevelTriggers(sec);
89          Object JavaDoc deleteEvent = dataTriggerTable.delete(iterator, sec);
90          statementTriggerTable.fireAfterDeleteStatementLevelTriggers(sec);
91          count++;
92       } catch (DException de) {
93          if (createChildSession) {
94             childUserSession.rollback(sec);
95          }
96          throw de;
97       }
98       if (createChildSession) {
99          childUserSession.commit(sec);
100       }
101       return new Integer JavaDoc(count);
102    }
103
104    public Object JavaDoc execute(Object JavaDoc[] parm1) throws com.daffodilwoods.database.resource.DException {
105       return execute( (_VariableValues)null);
106    }
107
108    public Object JavaDoc executeForFresh(Object JavaDoc[] obj) throws DException {
109       return execute(obj);
110    }
111
112    public Object JavaDoc[] getParameters(Object JavaDoc object) throws DException {
113       throw new DException("DSE388", null);
114    }
115
116    public String JavaDoc toString() {
117       StringBuffer JavaDoc clause = new StringBuffer JavaDoc();
118       clause.append(" ");
119       clause.append(_SRESERVEDWORD12065439226.toString());
120       clause.append(" ");
121       clause.append(_SRESERVEDWORD12065439225.toString());
122       clause.append(" ");
123       clause.append(_targettable4.toString());
124       clause.append(" ");
125       clause.append(_SRESERVEDWORD12065439223.toString());
126       clause.append(" ");
127       clause.append(_SRESERVEDWORD12065439222.toString());
128       clause.append(" ");
129       clause.append(_SRESERVEDWORD12065439221.toString());
130       clause.append(" ");
131       clause.append(_cursorname0.toString());
132       return clause.toString().trim();
133    }
134
135    public _Reference[] getReferences() throws com.daffodilwoods.database.resource.DException {
136       return null;
137    }
138
139    public _Reference[] syntaxChecking(_ServerSession object) throws DException {
140       return null;
141    }
142
143    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
144       return this;
145    }
146
147    public ParameterInfo[] getParameterInfo() throws DException {
148       return null;
149    }
150 }
151
Popular Tags