Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

oracle.javatools.parser.plsql.symtab
Class SqlOpndef

java.lang.Object
  extended by oracle.javatools.parser.plsql.symtab.SqlOpndef
All Implemented Interfaces:
PlsqlNode, PtnodConstants, SqlConstants, SqlExpression, SqlOperators
Direct Known Subclasses:
SqlAjndef, SqlColdef, SqlFrodef, SqlGbydef, SqlLogdef, SqlOdmCost, SqlOdmModel, SqlOptdef, SqlOrddef, SqlPvtdef, SqlSeldef, SqlStrdef, SqlTypdef, SqlXmtdef

public class SqlOpndef
extends java.lang.Object
implements SqlExpression, SqlConstants, SqlOperators, PtnodConstants


Field Summary
protected static SqlOpndef[] EMPTY_ARRAY
           
 int m_startOffset
          Start offset
 byte opntyp
          type of operand
 
Fields inherited from interface oracle.javatools.parser.plsql.data.SqlConstants
OPNTATTR, OPNTCOL, OPNTGBY, OPNTLAZ, OPNTLOG, OPNTODM, OPNTOPT, OPNTPLS, OPNTQBP, OPNTSEL, OPNTSTR, OPNTSYS, OPNTTYP, QBCNALL, QBCNANY, QBCNCOLL, QBCNEXISTS, QBCNFORSPCELL, QBCNLEVEL1, QBCNNOTEXISTS, QBCNSINGLE, QBCNSSQ, STRTANY, STRTBIND, STRTCBR, STRTCIOUT, STRTCONS, STRTCORR, STRTCTS, STRTDATE, STRTDBTZ, STRTDFT, STRTFMT, STRTINL, STRTISCYL, STRTITNK, STRTITRT, STRTLEAF, STRTLEVL, STRTMAXV, STRTMQHBC, STRTNULL, STRTPRIO, STRTRNUM, STRTSETR, STRTSTS, STRTSYST, STRTTQC_OBSOLETE, STRTTRG, STRTTVNM, STRTUID, STRTUSER, STRTVAR, STRTVARC
 
Fields inherited from interface oracle.javatools.parser.plsql.data.SqlOperators
OPT_base, OPT_invalid, OPT_max, OPT_words, OPT112, OPT186, OPT188, OPT534, OPTACLCHK, OPTACN, OPTADJD, OPTADT2B, OPTAEQ, OPTAGE, OPTAGGOBY, OPTAGT, OPTALANYCONS, OPTALE, OPTALSCRVAL, OPTALT, OPTAND, OPTANE, OPTANOVAONE, OPTANOVAONED, OPTAPPXML, OPTASCNF, OPTASCS, OPTASN, OPTASNPT, OPTATG, OPTATN, OPTATOC, OPTATS, OPTATT, OPTAUD, OPTAWOG, OPTB2ADT, OPTB2N, OPTBETWEEN, OPTBF2RAW, OPTBFIL, OPTBLCST, OPTBLOB, OPTBLOBIMG, OPTBNPT, OPTBTEST, OPTBTR, OPTBTUR, OPTC2C, OPTC2IDS, OPTC2ITZ, OPTC2IYM, OPTC2OP, OPTC2ST, OPTC2STZ, OPTC2TM, OPTC2TMZ, OPTCARD, OPTCAST, OPTCAST2, OPTCAST3, OPTCCG, OPTCCN, OPTCDL, OPTCDN, OPTCDY, OPTCEG, OPTCELEM, OPTCFN, OPTCFX, OPTCHGTZ, OPTCIDN, OPTCIOUT, OPTCL2NCL, OPTCLCST, OPTCLOB, OPTCND, OPTCNF, OPTCNV, OPTCOERCE, OPTCOLES, OPTCOLLCONS, OPTCOMP, OPTCONS, OPTCORR, OPTCORRK, OPTCORRS, OPTCOS, OPTCOVARP, OPTCOVARS, OPTCPRESENT, OPTCPSE, OPTCROSSTAB, OPTCSCNV, OPTCSH, OPTCSID, OPTCSIV, OPTCSNAME, OPTCSR, OPTCTUR, OPTCTX, OPTCTZ, OPTCURRENT_ROW, OPTDAM, OPTDAN, OPTDAT2TS1, OPTDAT2TS2, OPTDBURIGEN, OPTDCAST, OPTDCC, OPTDDI, OPTDDJ, OPTDDS, OPTDDSUB, OPTDECOMP, OPTDECP, OPTDELXML, OPTDEREF, OPTDESC, OPTDESNF, OPTDESNL, OPTDFNR, OPTDFS, OPTDGRF, OPTDIADD, OPTDID, OPTDIF, OPTDIJ, OPTDIPR, OPTDIS, OPTDIST, OPTDISUB, OPTDJN, OPTDJS, OPTDLD, OPTDM, OPTDMCLUS, OPTDMCLUSP, OPTDMCLUSS, OPTDMFEAT, OPTDMFEATS, OPTDMFEATV, OPTDMPRED, OPTDMPREDC, OPTDMPREDD, OPTDMPREDP, OPTDMPREDS, OPTDND, OPTDNJ, OPTDOF, OPTDOMCMP, OPTDOT, OPTDPC, OPTDRA, OPTDRO, OPTDSC, OPTDSD, OPTDSI, OPTDSM, OPTDSN, OPTDSU, OPTDSY, OPTDTR, OPTDTZ, OPTEBLOB, OPTECLOB, OPTEQUALS_ALL, OPTEQUALS_ANY, OPTEQUALS_SOME, OPTEXP, OPTFCDEI, OPTFCDF, OPTFCDI, OPTFCDIE, OPTFCDINT, OPTFCDST, OPTFCDSTCF, OPTFCDSTN, OPTFCFD, OPTFCFEI, OPTFCFI, OPTFCFIE, OPTFCFINT, OPTFCFST, OPTFCFSTCF, OPTFCFSTN, OPTFCID, OPTFCIF, OPTFCINTD, OPTFCINTF, OPTFCONS, OPTFCSTD, OPTFCSTDCF, OPTFCSTF, OPTFCSTFCF, OPTFDAB, OPTFDACN, OPTFDADD, OPTFDASN, OPTFDATN, OPTFDATT, OPTFDAV, OPTFDCE, OPTFDCOS, OPTFDCSH, OPTFDDIV, OPTFDEXP, OPTFDFL, OPTFDINF, OPTFDLN, OPTFDLOG, OPTFDMO, OPTFDMUL, OPTFDNAN, OPTFDNANVL, OPTFDNEG, OPTFDNINF, OPTFDNNAN, OPTFDPO, OPTFDREM, OPTFDRO, OPTFDRTN, OPTFDSDV, OPTFDSG, OPTFDSIN, OPTFDSM, OPTFDSNH, OPTFDSQR, OPTFDSUB, OPTFDTNH, OPTFDTR, OPTFDVAR, OPTFDWNAV, OPTFDWNSDV, OPTFDWNSM, OPTFDWNVAR, OPTFFAB, OPTFFADD, OPTFFAV, OPTFFCE, OPTFFDIV, OPTFFFL, OPTFFINF, OPTFFMO, OPTFFMUL, OPTFFNAN, OPTFFNANVL, OPTFFNEG, OPTFFNINF, OPTFFNNAN, OPTFFREM, OPTFFRO, OPTFFSDV, OPTFFSG, OPTFFSM, OPTFFSQR, OPTFFSUB, OPTFFTR, OPTFFVAR, OPTFFWNAV, OPTFFWNSDV, OPTFFWNSM, OPTFFWNVAR, OPTFOLLOWING, OPTFRMTZ, OPTFSTLST, OPTFSTLSTM, OPTFTEST, OPTFTESTD, OPTGPID, OPTGRE, OPTGREATER_THAN_ALL, OPTGREATER_THAN_ANY, OPTGREATER_THAN_OR_EQUALS_ALL, OPTGREATER_THAN_OR_EQUALS_ANY, OPTGREATER_THAN_OR_EQUALS_SOME, OPTGREATER_THAN_SOME, OPTGSID, OPTGUID, OPTHAKSL, OPTHASH, OPTHCDIST, OPTHCDISTM, OPTHDRANK, OPTHDRANKM, OPTHPRANK, OPTHPRANKM, OPTHRANK, OPTHRANKM, OPTHTR, OPTIAND, OPTICMP, OPTICONVERT, OPTIDN, OPTIDS2C, OPTIDSI, OPTIIADD, OPTIIDS, OPTIIDSS, OPTIISUB, OPTIIX, OPTIIYM, OPTIIYMS, OPTIMGBLOB, OPTIN, OPTINDIV, OPTINMUL, OPTINS2, OPTINS4, OPTINSC, OPTINSERTXML, OPTINSXML, OPTINTN, OPTIOR, OPTISEMPTY, OPTISNOTEMPTY, OPTISNOTSET, OPTISSET, OPTISTM, OPTISTMS, OPTISTYPE, OPTISTZ, OPTISTZS, OPTITME, OPTITMES, OPTITN, OPTITR, OPTITTZ, OPTITTZS, OPTITZ2C1, OPTITZ2C2, OPTITZ2TS, OPTITZ2TSTZ, OPTITZA2S, OPTITZS2A, OPTIYM2C, OPTIYMI, OPTKSTEST, OPTLBC, OPTLBID, OPTLBL2R, OPTLCAT, OPTLCL2C, OPTLCNV, OPTLCNVT, OPTLDIIF, OPTLDIOF, OPTLEA, OPTLEN2, OPTLEN4, OPTLENC, OPTLESS_THAN_ALL, OPTLESS_THAN_ANY, OPTLESS_THAN_OR_EQUALS_ALL, OPTLESS_THAN_OR_EQUALS_ANY, OPTLESS_THAN_OR_EQUALS_SOME, OPTLESS_THAN_SOME, OPTLICONVERT, OPTLIK2, OPTLIK2E, OPTLIK2N, OPTLIK2NE, OPTLIK4, OPTLIK4E, OPTLIK4N, OPTLIK4NE, OPTLIKC, OPTLIKCE, OPTLIKCN, OPTLIKCNE, OPTLINS, OPTLINSB, OPTLIST, OPTLKO, OPTLLEN, OPTLLENB, OPTLLIK, OPTLLOW, OPTLLPD, OPTLLTR, OPTLN, OPTLNLIK, OPTLNLOW, OPTLNN, OPTLNUPR, OPTLNVL, OPTLOG, OPTLREPL, OPTLRPD, OPTLRTR, OPTLRXINSTR, OPTLRXLIKE, OPTLRXNLIKE, OPTLRXREPLACE, OPTLRXSUBSTR, OPTLSBS, OPTLSBSB, OPTLSVI, OPTLTOB, OPTLTR, OPTLTRM, OPTLUPR, OPTLVL, OPTMEDIAN, OPTMEMBER, OPTMINE, OPTMKNULL, OPTMKXML, OPTMNN, OPTMODE, OPTMOID, OPTMREF, OPTMRG, OPTMSEA, OPTMSED, OPTMSIA, OPTMSID, OPTMSR, OPTMST, OPTMSUA, OPTMSUD, OPTMWTEST, OPTN2R, OPTNCLOB, OPTNCR, OPTNDGRF, OPTNDY, OPTNICOMBINE, OPTNIEXTRACT, OPTNII, OPTNIIDS, OPTNIIYM, OPTNINF, OPTNISTYP, OPTNIX, OPTNLC, OPTNLIF, OPTNLS, OPTNNAN, OPTNNANVL, OPTNNINF, OPTNNNAN, OPTNOTBETWEEN, OPTNOTEQUALS_ALL, OPTNOTEQUALS_ANY, OPTNOTEQUALS_SOME, OPTNOTIN, OPTNOTMEMBER, OPTNOTSUBMS, OPTNPTB, OPTNREM, OPTNTI, OPTNTIN, OPTNTUB4, OPTNTUB8, OPTOBY, OPTOCHK, OPTOID, OPTOLCIC, OPTOP2C, OPTOPASN, OPTOR, OPTOVLPC, OPTOVLPS, OPTPAR, OPTPAR_1, OPTPARGID, OPTPARGID_1, OPTPCONS, OPTPCONT, OPTPDISC, OPTPKOV, OPTPLS, OPTPMSC, OPTPMST, OPTPNUM, OPTPRECEDING, OPTR2C, OPTR2N, OPTR2OID, OPTRANGE, OPTRAVGX, OPTRAVGY, OPTRAW2BF, OPTRCNT, OPTRDTM, OPTREF, OPTREFVAL, OPTRES, OPTREW, OPTRICT, OPTRMTD, OPTROWS, OPTRPL, OPTRR2, OPTRSLP, OPTRSXX, OPTRSXY, OPTRSYY, OPTRTB, OPTRTN, OPTRTOH, OPTRTR, OPTRTRI, OPTRTUR, OPTRXCOMPILE, OPTRXINSTR, OPTRXLIKE, OPTRXNLIKE, OPTRXREPLACE, OPTRXSUBSTR, OPTSBS2, OPTSBS4, OPTSBSC, OPTSDV, OPTSDVP, OPTSDVS, OPTSESTZ, OPTSET, OPTSETZN, OPTSIIDS, OPTSIIYM, OPTSIN, OPTSISTM, OPTSISTZ, OPTSITME, OPTSITTZ, OPTSM2CM, OPTSMCSE, OPTSNH, OPTSPAIS, OPTSPALIAS, OPTSPASSIGN, OPTSPCELL, OPTSPCURRENT, OPTSPCURRENT2, OPTSPFORINLIST, OPTSPFORLIKE, OPTSPFORLOOP, OPTSPIS, OPTSPISANY, OPTSPISPRESENT, OPTSPPNTV, OPTSPPRES, OPTSPPREVIOUS, OPTSPPTNNV, OPTSQR, OPTSRCSE, OPTST2C, OPTSTMI, OPTSTZ2C, OPTSTZI, OPTSUBMS, OPTT2TTZ1, OPTT2TTZ2, OPTTAB, OPTTAD, OPTTAN, OPTTAV, OPTTCA, OPTTCE, OPTTCN, OPTTCO, OPTTCR, OPTTDE, OPTTDI, OPTTDP, OPTTEQ, OPTTFB, OPTTFD, OPTTFDF, OPTTFL, OPTTFN, OPTTGE, OPTTGP, OPTTGP2, OPTTGT, OPTTHX, OPTTIC, OPTTINLA, OPTTINLO, OPTTIS, OPTTLB, OPTTLC, OPTTLE, OPTTLK, OPTTLK2, OPTTLN, OPTTLO, OPTTLP, OPTTLT, OPTTM2C, OPTTMEI, OPTTMI, OPTTML, OPTTMN, OPTTMO, OPTTMU, OPTTMX, OPTTMZ2C, OPTTNC, OPTTNE, OPTTNG, OPTTNH, OPTTNHX, OPTTNK, OPTTNK2, OPTTNN, OPTTNNC, OPTTNS, OPTTNU, OPTTNV, OPTTNV2, OPTTOREF, OPTTPA, OPTTPO, OPTTPR, OPTTRA, OPTTRC, OPTTREAT, OPTTRIM, OPTTRIM_BOTH, OPTTRMLD, OPTTRMTR, OPTTRNC, OPTTRO, OPTTRP, OPTTRTB, OPTTS2DAT1, OPTTS2DAT2, OPTTS2ITZ, OPTTS2TSTZ1, OPTTS2TSTZ2, OPTTSB, OPTTSG, OPTTSI, OPTTSM, OPTTSS, OPTTST, OPTTSTCF, OPTTSTN, OPTTSTZ2ITZ, OPTTSTZ2TS1, OPTTSTZ2TS2, OPTTSU, OPTTSX, OPTTSZ, OPTTTESTIP, OPTTTESTIPD, OPTTTESTIU, OPTTTESTIUD, OPTTTESTO, OPTTTESTOD, OPTTTESTP, OPTTTESTPD, OPTTTR, OPTTTZ2T1, OPTTTZ2T2, OPTTTZI, OPTTUA, OPTTUC, OPTTUN, OPTTUP, OPTTVL, OPTTVLCF, OPTTXI, OPTTXL, OPTTXU, OPTTZOFF, OPTUAG, OPTUB4TN, OPTUB8TN, OPTUDC, OPTUEN, OPTUMKXML, OPTUNBOUNDED_FOLLOWING, OPTUNBOUNDED_PRECEDING, OPTUNIS, OPTUOP, OPTUPDX, OPTUREQ, OPTURGE, OPTURGT, OPTURLE, OPTURLT, OPTURNE, OPTURTB, OPTURTC, OPTVAR, OPTVARP, OPTVARS, OPTVECAND, OPTVECBIT, OPTVECOR, OPTVECXOR, OPTVFIL, OPTVREF, OPTVVD, OPTWIDBUC, OPTWITH, OPTWNAVG, OPTWNCNT, OPTWNDRANK, OPTWNFNNV, OPTWNFRST, OPTWNFSTLST, OPTWNLAG, OPTWNLAST, OPTWNLEAD, OPTWNLNNV, OPTWNMAX, OPTWNMIN, OPTWNNTILE, OPTWNOBY, OPTWNPBY, OPTWNPCONT, OPTWNPDISC, OPTWNPRANK, OPTWNPTILE, OPTWNRANK, OPTWNRAT2R, OPTWNROWNUM, OPTWNSTD, OPTWNSUM, OPTWNUAG, OPTWNVAR, OPTWSRTEST, OPTWSRTESTD, OPTXCONC, OPTXISVLD, OPTXMLCDATA, OPTXMLCNV, OPTXMLCOLATTVAL, OPTXMLCOLELEM, OPTXMLCOMMENT, OPTXMLCONT, OPTXMLELEMENT, OPTXMLEXSTS, OPTXMLEXTR, OPTXMLEXVAL, OPTXMLGEN, OPTXMLPARSE, OPTXMLPI, OPTXMLROOT, OPTXMLTRANS, OPTXPTHATG, OPTXPTHIDX, OPTXPTHOP, OPTXTRCT, OPTXTXT2SQLT, OPTXUTC
 
Fields inherited from interface oracle.javatools.parser.plsql.data.PtnodConstants
PTNOD_ADT, PTNOD_ADT_CMPON_OBJECT, PTNOD_ADT_CMPON_SUBPRG, PTNOD_ADTBODY, PTNOD_ADTBODY_SUBPRG, PTNOD_base, PTNOD_C_ARRAY_DEF, PTNOD_CURSOR, PTNOD_ENUM_TY_DEF, PTNOD_ERROR, PTNOD_LITERAL, PTNOD_max, PTNOD_NAME, PTNOD_PKG, PTNOD_RECORD_TY_DEF, PTNOD_REF_CURSOR_TY_DEF, PTNOD_ROOT, PTNOD_SUBPRG, PTNOD_SUBTY_DEF, PTNOD_TABLE_TYPE, PTNOD_TBL_TY_DEF, PTNOD_TY_DEF, PTNOD_TYPE, PTNOD_UNCNSTRNED_ARRAY_DEF, PTNOD_VARIABLE, QCNOD_EXPRESSION
 
Constructor Summary
SqlOpndef()
           
 
Method Summary
 java.lang.String getColumnBaseName()
          The format of an OPNTCOL is "user.table.base@networknode".
 java.lang.String getColumnNodeName()
           
 java.lang.String getColumnTableName()
           
 java.lang.String getColumnUserName()
           
 short getOperandCount()
           
 SqlExpression[] getOperands()
           
 byte getOperandType()
           
 short getOperatorType()
           
 int getStartOffset()
          Offsets are not available for anything outputted by the SqlParser.
 java.lang.String getStringText()
           
 byte getStringType()
           
 int getTreeKind()
          The term "tree kind" comes directly out of the database and indicates what structure this tree is, e.g.
 boolean isWindowFuntion()
          Is this is a Window function.
 void setWif(boolean val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_ARRAY

protected static final SqlOpndef[] EMPTY_ARRAY

opntyp

public byte opntyp
type of operand


m_startOffset

public int m_startOffset
Start offset

Constructor Detail

SqlOpndef

public SqlOpndef()
Method Detail

getTreeKind

public int getTreeKind()
Description copied from interface: PlsqlNode
The term "tree kind" comes directly out of the database and indicates what structure this tree is, e.g. subprg.

Specified by:
getTreeKind in interface PlsqlNode
Returns:
The kind of this tree node.

getStartOffset

public int getStartOffset()
Description copied from interface: SqlExpression
Offsets are not available for anything outputted by the SqlParser.

Specified by:
getStartOffset in interface PlsqlNode
Specified by:
getStartOffset in interface SqlExpression
Returns:
Always returns -1.

getOperandType

public byte getOperandType()
Specified by:
getOperandType in interface SqlExpression
Returns:
The operand type. Found in SqlConstants under the prefix OPNT (OPeraNd Type).

getStringType

public byte getStringType()
Specified by:
getStringType in interface SqlExpression
Returns:
If this is a string (OPNTSTR, OPeraNd Type STRing), then this returns the string type. Found in SqlConstants under the prefix STRT (STRing Type). Note that zero == STRTCONS and hence is a valid STRT value.

getStringText

public java.lang.String getStringText()
Specified by:
getStringText in interface SqlExpression
Returns:
If this is a string, then this returns the text of the string.

getOperatorType

public short getOperatorType()
Specified by:
getOperatorType in interface SqlExpression
Returns:
If this is an operator (OPNTOPT, OPeraNd Type OPeraTor), then this returns the operator type. Found in SqlOperators. Otherwise, this returns SqlOperators.OPT_invalid.

getOperandCount

public short getOperandCount()
Specified by:
getOperandCount in interface SqlExpression
Returns:
If this is an operator, then this returns the number of operands to this operator. Otherwise, this returns zero.

getOperands

public SqlExpression[] getOperands()
Specified by:
getOperands in interface SqlExpression
Returns:
If this is an operator, then this returns a non-null array containing the operands to this operator (can this be zero-length?). Otherwise, this returns a zero-length array.

getColumnBaseName

public java.lang.String getColumnBaseName()
Description copied from interface: SqlExpression
The format of an OPNTCOL is "user.table.base@networknode". If one lhs name is omitted, then the format is "table.base@networknode". If two lhs names are omitted, then the format is "base@networknode". In all cases, "@networknode" may be omitted.

Specified by:
getColumnBaseName in interface SqlExpression
Returns:
If this is a column (OPNTCOL, OPeraNd Type COLumn), then this returns the column's base name. Null if this is not a column.

getColumnTableName

public java.lang.String getColumnTableName()
Specified by:
getColumnTableName in interface SqlExpression
Returns:
If this is a column, then this returns the name of the table. Null if none.

getColumnUserName

public java.lang.String getColumnUserName()
Specified by:
getColumnUserName in interface SqlExpression
Returns:
If this is a column, then this returns the name of the user. Null if none.

getColumnNodeName

public java.lang.String getColumnNodeName()
Specified by:
getColumnNodeName in interface SqlExpression
Returns:
If this is a column, then this returns the name of the network node. Null if none.

setWif

public void setWif(boolean val)

isWindowFuntion

public boolean isWindowFuntion()
Is this is a Window function. (Window functions also have thier own operator codes) eg SELECT COUNT(*) OVER (PARTITION BY deptno) DCOUNT FROM EMP

Window functions have an additional 5 arguments following the function arguments. So if we have function arguments, The window function arguments are :
Partition By clause
Order By clause
Not Used (C parser seems to have a flag string)
End1 ( used for BI functions - not currently implemented)
End2 ( ditto )


Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

Copyright © 1997, 2011, Oracle. All rights reserved.