work in progress
work in progress
seems OK
Looks OK now. The new conditions are better escaped:

New: WHERE `Owner` = "John" AND `JobID` IN ( 1234, 1235, 4567,
"456", "5454" ) AND `LastUpdate` < "2012-02-21 15:12:02.129897" ORDER
BY `order1` ASC LIMIT 100
Old: WHERE Owner='John' AND JobID in
("1234","1235","4567","456","5454") AND LastUpdate < '2012-02-21
15:12:02.129897' ORDER BY order1 ASC LIMIT 100
New method: _updateFields, _delete
Merge remote-tracking branch 'upstream/integration' into new_MySQL
Merge remote-tracking branch 'upstream/integration' into new_MySQL
NEW: MySQL enhanced funcionality
Test include for new public methods:

    buildCondition( self, condDict = None, older = None, newer = None,
                      timeStamp = None, orderAttribute = None, limit =
False ):

      Build SQL condition statement from provided condDict and other
extra check on
      a specified time stamp.
      The conditions dictionary specifies for each attribute one or a
List of possible
      values
      For compatibility with current usage it uses Exceptions to exit
in case of 
      invalid arguments


    insertFields( self, tableName, inFields = None, inValues = None,
conn = None ):

      Insert a new row in "tableName" assigning the values "inValues"
to the
      fields "inFields".
      String type values will be appropriately escaped.


    updateFields( self, tableName, updateFields = None, updateValues =
None,
                  condDict = None,
                  limit = False, conn = None,
                  older = None, newer = None,
                  timeStamp = None, orderAttribute = None ):

      Update "updateFields" from "tableName" with "updateValues".
      conditions lInFields = lInValues
      N records can match the condition
      return S_OK( tuple(Field,Value) )
      if outFields == None all fields in "tableName" are returned
      if inFields and inValues are None, no condition is imposed
      if limit is not False, the given limit is set
      inValues are properly escaped using the _escape_string method,
they can be single values or lists of values.


    deleteEntries( self, tableName,
                   condDict = None,
                   limit = False, conn = None,
                   older = None, newer = None,
                   timeStamp = None, orderAttribute = None ):

      Delete rows from "tableName" with
      conditions lInFields = lInValues
      N records can match the condition
      if inFields and inValues are None, no condition is imposed
      if limit is not False, the given limit is set
      inValues are properly escaped using the _escape_string method,
they can be single values or lists of values.


    getFields( self, tableName, outFields = None,
               condDict = None,
               limit = False, conn = None,
               older = None, newer = None,
               timeStamp = None, orderAttribute = None ):

      Select "outFields" from "tableName" with
      conditions lInFields = lInValues
      N records can match the condition
      return S_OK( tuple(Field,Value) )
      if outFields == None all fields in "tableName" are returned
      if limit is not False, the given limit is set
      inValues are properly escaped using the _escape_string method,
they can be single values or lists of values.

      for compatibility with other methods condDict keyed argument is
added


    getCounters( self, table, attrList, condDict = None, older = None,

                 newer = None, timeStamp = None, connection = False ):

      Count the number of records on each distinct combination of
AttrList, selected
      with condition defined by condDict and time stamps


    getDistinctAttributeValues( self, table, attribute, condDict =
None, older = None,
                                newer = None, timeStamp = None,
connection = False ):

      Get distinct values of a table attribute under specified
conditions
Merge pull request #669 from graciani/new_MySQL

New for v6r4: MySQL