home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEPLOY / INFORMAD.Z / InformixSQLExpression.h < prev    next >
Text File  |  1996-09-09  |  2KB  |  67 lines

  1. // InformixSQLExpression.h
  2. // Copyright (c) 1994, NeXT Software, Inc.  All rights reserved.
  3. //
  4.  
  5. #import <EOAccess/EOAccess.h>
  6. #import <stdio.h>
  7.  
  8. typedef enum {
  9.         InfCHAR        = 0,
  10.         InfSMINT    = 1,
  11.         InfINT        = 2,
  12.         InfFLOAT    = 3,
  13.         InfSMFLOAT    = 4,
  14.         InfDECIMAL    = 5,
  15.         InfSERIAL    = 6,
  16.         InfDATE        = 7,
  17.         InfMONEY    = 8,
  18.         InfNULL        = 9,
  19.         InfDTIME    = 10,
  20.         InfBYTES    = 11,
  21.         InfTEXT        = 12,
  22.         InfVCHAR    = 13,
  23.         InfINTERVAL    = 14,
  24.         InfNCHAR    = 15,
  25.         InfNVCHAR    = 16
  26. } InformixServerType;
  27.  
  28.  
  29. @interface InformixSQLExpression:EOSQLExpression
  30. //
  31. // Methods that are mandatory overrides from the EOSQLExpression
  32. // parent class.
  33. //
  34.  
  35. + (int)serverTypeIdForName:(NSString *)typeName;
  36.     // For the given type ("DECIMAL", "DATE", "CHAR", etc.) return the
  37.     // Informix server code (InfDecimal, InfDate, InfCHAR, etc.).
  38.  
  39. + (BOOL)isValidQualifierType:(NSString *)typeName model:(EOModel *)model;
  40.     // Methods called by the EO framework (through the adaptor) to generate
  41.     // correct SQL.
  42.  
  43. + (NSString *)formatValue:(id)value forAttribute:(EOAttribute *)attribute;
  44.     // returns a formatted string representation of value that is suitable
  45.     // for use in a sql statement
  46.  
  47. - (NSString *)lockClause;
  48.     // Return @"FOR UPDATE OF"
  49.  
  50. - (NSString *)assembleSelectStatementWithAttributes:(NSArray *)attributes lock:(BOOL)lock qualifier:(EOQualifier *)qualifier fetchOrder:(NSArray *)fetchOrder selectString:(NSString *)selectString columnList:(NSString *)columnList tableList:(NSString *)tableList whereClause:(NSString *)whereClause joinClause:(NSString *)joinClause orderByClause:(NSString *)orderByClause lockClause:(NSString *)lockClause;
  51.  
  52. - (NSString *)assembleJoinClauseWithLeftName:(NSString *)leftName rightName:(NSString *)rightName  joinSemantic:(EOJoinSemantic)semantic;
  53.  
  54. - (void)addOrderByAttributeOrdering:(EOSortOrdering *)sortOrdering;
  55.  
  56. // Overrides to use variable binding.
  57. - (NSMutableDictionary *)bindVariableDictionaryForAttribute:(EOAttribute *)attribute value:value;
  58. - (BOOL)shouldUseBindVariableForAttribute:(EOAttribute *)att;
  59. - (BOOL)mustUseBindVariableForAttribute:(EOAttribute *)att;
  60.  
  61. // 
  62. // End of overrides
  63. //
  64.  
  65. - (NSString *)tableListWithRootEntity:(EOEntity *)entity;
  66. @end
  67.