IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9748


Ignore:
Timestamp:
Oct 25, 2006, 4:57:33 PM (20 years ago)
Author:
jhoblitt
Message:

convert large if/else in psDBGenerateConditionalSQL() into a switch stmt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/db/psDB.c

    r9730 r9748  
    1212 *  @author Joshua Hoblitt
    1313 *
    14  *  @version $Revision: 1.107 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-10-24 22:52:55 $
     14 *  @version $Revision: 1.108 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-10-26 02:57:33 $
    1616 *
    1717 *  Copyright (C) 2005-2006  Joshua Hoblitt, University of Hawaii
     
    16381638    }
    16391639
    1640     if ((item->type == PS_DATA_S32) || (item->type == PS_TYPE_S32)) {
     1640    switch (item->type) {
     1641    case PS_DATA_S32:
    16411642        psStringAppend(&query, "%s=%d", itemName, (int)(item->data.S32));
    1642     } else if ((item->type == PS_DATA_F32) || (item->type == PS_TYPE_F32)) {
     1643        break;
     1644    case PS_DATA_F32:
    16431645        psStringAppend(&query, "(ABS(%s - %.8f) < %.8f)", itemName, (float)(item->data.F32), FLT_EPSILON * 10);
    1644     } else if ((item->type == PS_DATA_F64) || (item->type == PS_TYPE_F64)) {
     1646        break;
     1647    case PS_DATA_F64:
    16451648        psStringAppend(&query, "(ABS(%s - %.17f) < %.17f)", itemName, (double)(item->data.F64), DBL_EPSILON * 10);
    1646     } else if ((item->type == PS_DATA_BOOL) || (item->type == PS_TYPE_BOOL)) {
     1649        break;
     1650    case PS_DATA_BOOL:
    16471651        psStringAppend(&query, "%s=%d", itemName, (int)(item->data.B));
    1648     } else if (item->type == PS_DATA_STRING) {
     1652        break;
     1653    case PS_DATA_STRING:
    16491654        // + column name + _ + like + _ + ' + value + '
    16501655        // check for NULL and empty ("") strings
     
    16621667            }
    16631668        }
    1664     } else {
     1669        break;
     1670    default:
    16651671        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
    16661672                "Only types PS_DATA_S32, PS_DATA_F32, PS_DATA_F64, PS_DATA_BOOL, PS_DATA_STRING are supported");
Note: See TracChangeset for help on using the changeset viewer.