text: # MySQL Connector/Python - MySQL driver written in Python.
  # Copyright (c) 2009,2010, Oracle and/or its affiliates. All rights reserved.
  # Use is subject to license terms. (See COPYING)
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation.
  # 
  # There are special exceptions to the terms and conditions of the GNU
  # General Public License as it is applied to this software. View the
  # full text of the exception in file EXCEPTIONS-CLIENT in the directory
  # of this software distribution or see the FOSS License Exception at
  # www.mysql.com.
  # 
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  # 
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  """DB API v2.0 required
  """
  
  import time
  import datetime
  
  import constants
  
  class _DBAPITypeObject:
      
      def __init__(self,*values):
          self.values = values
          
      def __cmp__(self,other):
          if other in self.values:
              return 0
          if other < self.values:
              return 1
          else:
              return -1
  
  Date = datetime.date
  Time = datetime.time
  Timestamp = datetime.datetime
  
  def DateFromTicks(ticks):
      return Date(*time.localtime(ticks)[:3])
  
  def TimeFromTicks(ticks):
      return Time(*time.localtime(ticks)[3:6])
  
  def TimestampFromTicks(ticks):
      return Timestamp(*time.localtime(ticks)[:6])
  
  Binary = str
  
  STRING = _DBAPITypeObject(constants.FieldType.get_string_types())
  BINARY = _DBAPITypeObject(constants.FieldType.get_binary_types())
  NUMBER = _DBAPITypeObject(constants.FieldType.get_number_types())
  DATETIME = _DBAPITypeObject(constants.FieldType.get_timestamp_types())
  ROWID = _DBAPITypeObject()
  