KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > ddl > schemamanipulation > dropfulltextindexstatement


1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemamanipulation;
2
3 import com.daffodilwoods.daffodildb.server.serversystem.*;
4 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*;
5 import com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition.*;
6 import com.daffodilwoods.daffodildb.server.sql99.ddl.utility.*;
7 import com.daffodilwoods.daffodildb.server.sql99.dql.tableexpression.fromclause.*;
8 import com.daffodilwoods.daffodildb.server.sql99.token.*;
9 import com.daffodilwoods.database.resource.*;
10
11 public class dropfulltextindexstatement implements SQLschemamanipulationstatement {
12
13    public tablename _tablename0;
14    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
15    public indexname _indexname2;
16    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442553;
17    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442554;
18    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439225;
19
20    /** @todo algo
21     * 1. initialise currentUserSession
22     * 2. set table name
23     * 3. check access rules
24     * 4. delete descriptors
25     * 5. give the deletefulltextIndex call to currentsession
26     */

27
28    public Object JavaDoc run(Object JavaDoc object) throws DException {
29       _ServerSession currentSession = (_ServerSession) object;
30       if (currentSession.getDbVersion() < 3.0)
31         throw new DException("DSE8136", new Object JavaDoc[] {new Double JavaDoc(currentSession.getDbVersion())});
32      if (_Server.ISONEDOLLARDB)
33          throw new DException("DSE2054", new Object JavaDoc[] {"DropFullTextIndex"});
34       FullTextIndexDescriptor indexDescriptor = new FullTextIndexDescriptor();
35       indexDescriptor.indexname = (String JavaDoc) _indexname2.run(object);
36       setTableName(currentSession, indexDescriptor);
37       String JavaDoc schemaOwner = GeneralUtility.getSchemaOwner(indexDescriptor.
38           table_catalog, indexDescriptor.table_schema, currentSession);
39       GeneralUtility.validateUserRights(schemaOwner, currentSession);
40       dropIndex(indexDescriptor, currentSession);
41       refreshDataDictionary(currentSession, indexDescriptor);
42       return null;
43    }
44
45    private void refreshDataDictionary(_ServerSession currentSession,
46                                       FullTextIndexDescriptor indexDescriptor) throws DException {
47       currentSession.getDataDictionary()
48           .getFullTextIndexCharacteristics(indexDescriptor.getQualifiedTable()).refresh();
49    }
50
51    private void setTableName(_ServerSession serverSession,
52                              FullTextIndexDescriptor indexDescriptor) throws DException {
53       indexDescriptor.table_catalog = _tablename0.getCatalogName();
54       indexDescriptor.table_schema = _tablename0.getSchemaName();
55       indexDescriptor.table_name = _tablename0.getTableName();
56       if (indexDescriptor.table_schema == null)
57          indexDescriptor.table_schema = serverSession.getCurrentSchema();
58       if (indexDescriptor.table_catalog == null)
59          indexDescriptor.table_catalog = serverSession.getCurrentCatalog();
60       try {
61          indexDescriptor.load(serverSession);
62       } catch (DException ex) {
63          throw new DException("DSE7057", new Object JavaDoc[] {indexDescriptor.indexname,
64                               indexDescriptor.getQualifiedTable()});
65       }
66    }
67
68    public void dropIndex(FullTextIndexDescriptor indexDescriptor, _ServerSession currentSession) throws
69        DException {
70       /**
71        * give call to currentSession to delete fulltextindex
72        * */

73       currentSession.dropFullTextIndex(indexDescriptor.getQualifiedTable(),
74                                        indexDescriptor.indexname);
75       indexDescriptor.delete(currentSession);
76    }
77
78    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
79       SRESERVEDWORD1206543922 sRESERVEDWORD12065439225 = (SRESERVEDWORD1206543922) _SRESERVEDWORD12065439225.clone();
80       SNONRESERVEDWORD136444255 sFULLTEXT21146153564 = (SNONRESERVEDWORD136444255) _SNONRESERVEDWORD1364442554.clone();
81       SNONRESERVEDWORD136444255 sNONRESERVEDWORD1364442553 = (SNONRESERVEDWORD136444255) _SNONRESERVEDWORD1364442553.clone();
82       indexname Indexname2 = (indexname) _indexname2.clone();
83       SRESERVEDWORD1206543922 sRESERVEDWORD12065439221 = (SRESERVEDWORD1206543922) _SRESERVEDWORD12065439221.clone();
84       tablename Tablename0 = (tablename) _tablename0.clone();
85
86       dropfulltextindexstatement Dropfulltextindexstatement = new dropfulltextindexstatement();
87       Dropfulltextindexstatement._SRESERVEDWORD12065439225 = sRESERVEDWORD12065439225;
88       Dropfulltextindexstatement._SNONRESERVEDWORD1364442554 = sFULLTEXT21146153564;
89       Dropfulltextindexstatement._SNONRESERVEDWORD1364442553 = sNONRESERVEDWORD1364442553;
90       Dropfulltextindexstatement._indexname2 = Indexname2;
91       Dropfulltextindexstatement._SRESERVEDWORD12065439221 = sRESERVEDWORD12065439221;
92       Dropfulltextindexstatement._tablename0 = Tablename0;
93       return Dropfulltextindexstatement;
94    }
95
96    public String JavaDoc toString() {
97       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
98       sb.append(" ");
99       sb.append(_SRESERVEDWORD12065439225);
100       sb.append(" ");
101       sb.append(_SNONRESERVEDWORD1364442554);
102       sb.append(" ");
103       sb.append(_SNONRESERVEDWORD1364442553);
104       sb.append(" ");
105       sb.append(_indexname2);
106       sb.append(" ");
107       sb.append(_SRESERVEDWORD12065439221);
108       sb.append(" ");
109       sb.append(_tablename0);
110       return sb.toString();
111    }
112 }
113
Popular Tags