(file) Return to WQLSelectStatement.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / WQL

Diff for /pegasus/src/Pegasus/WQL/WQLSelectStatement.h between version 1.1.2.4 and 1.6

version 1.1.2.4, 2001/12/09 02:57:09 version 1.6, 2003/02/12 17:18:39
Line 1 
Line 1 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
 // The Open Group, Tivoli Systems // The Open Group, Tivoli Systems
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
Line 23 
Line 23 
 // //
 // Author: Mike Brasher (mbrasher@bmc.com) // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // Modified By:  // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
   //                (carolann_graves@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 31 
Line 32 
 #define Pegasus_WQLSelectStatement_h #define Pegasus_WQLSelectStatement_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/Array.h>  #include <Pegasus/Common/ArrayInternal.h>
 #include <Pegasus/Common/String.h>  #include <Pegasus/Common/CIMName.h>
   #include <Pegasus/Common/CIMPropertyList.h>
 #include <Pegasus/WQL/WQLOperation.h> #include <Pegasus/WQL/WQLOperation.h>
 #include <Pegasus/WQL/WQLOperand.h> #include <Pegasus/WQL/WQLOperand.h>
 #include <Pegasus/WQL/WQLPropertySource.h> #include <Pegasus/WQL/WQLPropertySource.h>
Line 51 
Line 53 
         WHERE &lt;where clause&gt;         WHERE &lt;where clause&gt;
     </pre>     </pre>
  
     The properties are obtained with the getProperties() method. The class      There are methods for obtaining the various elements of the select
     name is obtained with getClassName(). The where clause is evaluated by      statement.
     calling evaluateWhereClause() with the appropriate arguments. If  
     hasWhereClause() returns false, then there is no where clause.  
  
     The components of the where clause are stored in two arrays: one for     The components of the where clause are stored in two arrays: one for
     operands and one for operators (these are placed in proper order by the     operands and one for operators (these are placed in proper order by the
Line 79 
Line 79 
  
     /** Accessor.     /** Accessor.
     */     */
     const String& getClassName() const      const CIMName& getClassName() const
     {     {
         return _className;         return _className;
     }     }
Line 87 
Line 87 
     /** Modifier. This method should not be called by the user (only by the     /** Modifier. This method should not be called by the user (only by the
         parser).         parser).
     */     */
     void setClassName(const String& className)      void setClassName(const CIMName& className)
     {     {
         _className = className;         _className = className;
     }     }
  
       /**
           Returns true if the query selects all properties ("*")
       */
       Boolean getAllProperties() const;
   
       /**
           Used by the parser to indicate the query selects all properties ("*")
           This method should not be called by the user (only by the parser).
       */
       void setAllProperties(const Boolean allProperties);
   
     /** Returns the number of property names which were indicated in the     /** Returns the number of property names which were indicated in the
         selection list.         selection list.
           This function should only be used if getAllProperties() returns false.
     */     */
     Uint32 getPropertyNameCount() const      Uint32 getSelectPropertyNameCount() const
     {     {
         return _propertyNames.size();          return _selectPropertyNames.size();
     }     }
  
     /** Gets the i-th property name in the list.      /** Gets the i-th selected property name in the list.
           This function should only be used if getAllProperties() returns false.
     */     */
     const String& getPropertyName(Uint32 i)      const CIMName& getSelectPropertyName(Uint32 i) const
     {     {
         return _propertyNames[i];          return _selectPropertyNames[i];
     }     }
  
     /** Appends a property name to the property name list. This user should      /**
           Returns a CIMPropertyList containing the selected properties.
           The list is NULL if the query selects all properties (SELECT * FROM...).
       */
       const CIMPropertyList getSelectPropertyList() const;
   
       /** Appends a property name to the property name list. The user should
         not call this method; it should only be called by the parser.         not call this method; it should only be called by the parser.
     */     */
     void appendPropertyName(const String& x)      void appendSelectPropertyName(const CIMName& x)
     {     {
         _propertyNames.append(x);          _selectPropertyNames.append(x);
     }     }
  
       /** Returns the number of unique property names from the where clause.
       */
       Uint32 getWherePropertyNameCount() const
       {
           return _wherePropertyNames.size();
       }
   
       /** Gets the i-th unique property appearing in the where clause.
       */
       const CIMName& getWherePropertyName(Uint32 i) const
       {
           return _wherePropertyNames[i];
       }
   
       /**
           Returns a CIMPropertyList containing the unique properties used in the
           WHERE clause
       */
       const CIMPropertyList getWherePropertyList() const;
   
       /** Appends a property name to the where property name list. The user
           should not call this method; it should only be called by the parser.
   
           @param x name of the property.
           @return false if a property with that name already exists.
       */
       Boolean appendWherePropertyName(const CIMName& x);
   
     /** Appends an operation to the operation array. This method should only     /** Appends an operation to the operation array. This method should only
         be called by the parser itself.         be called by the parser itself.
     */     */
Line 156 
Line 203 
     //     WHERE ...     //     WHERE ...
     //     //
  
     String _className;      CIMName _className;
   
       //
       // Indicates that all properties are selected (i.e. SELECT * FROM ...)
       //
       Boolean _allProperties;
  
     //     //
     // The list of property names being selected. For example, see "firstName",     // The list of property names being selected. For example, see "firstName",
Line 166 
Line 218 
     //     FROM TargetClass     //     FROM TargetClass
     //     WHERE ...     //     WHERE ...
     //     //
       // NOTE: if the query selects all properties, this list is empty, and
       // _allProperties is true
       //
       // NOTE: duplicate property names are not removed from the select list
       // (e.g. SELECT firstName, firstName FROM...) results in a list of
       // two properties
       //
  
     Array<String> _propertyNames;      Array<CIMName> _selectPropertyNames;
   
       //
       // The unique list of property names appearing in the WHERE clause.
       // Although a property may occur many times in the WHERE clause, it will
       // only appear once in this list.
       //
   
       Array<CIMName> _wherePropertyNames;
  
     //     //
     // The list of operations encountered while parsing the WHERE clause.     // The list of operations encountered while parsing the WHERE clause.
Line 189 
Line 256 
     Array<WQLOperation> _operations;     Array<WQLOperation> _operations;
  
     //     //
     // The list of operands encountered while parsing the WHERE clause. They      // The list of operands encountered while parsing the WHERE clause. The
     // query just above would generate the following stream of operands:     // query just above would generate the following stream of operands:
     //     //
     //     count, 10, peak, 20, state, "OKAY"     //     count, 10, peak, 20, state, "OKAY"
     //     //
  
     Array<WQLOperand> _operands;     Array<WQLOperand> _operands;
   
       void f() const { }
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.1.2.4  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2