Source: sqlconst.h


Annotated List
Files
Globals
Hierarchy
Index
/***************************************************************************
 *
 * File:    sqlconst.h
 * Created: Tue Dec 14 1999
 * (C) 1999 by David M. <captjay@superlink.net>
 *
 ***************************************************************************/
/***************************************************************************
 *                                                                         *
 *   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; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
#ifndef SQLCONST_H
#define SQLCONST_H

/* General constants */
#define SELECT " SELECT "
#define FROM " FROM "
#define SELECT_ALL_FROM " SELECT * FROM "
#define WHERE " WHERE "
#define AND_ " AND "
#define OR_ " OR "
#define LIKE " LIKE "
#define EQUALS " = "
#define ORDER_BY " ORDER BY "

/* Utils */
#define UPPER(x) " UPPER(" x ")"
#define UPPER_V(x) " UPPER('" #x "')"
#define QUOTE(x) "'" #x "'"
#define UNIXTIME(x) "IFNULL(UNIX_TIMESTAMP(" x "),0)"


/* Table User */
#define USER_TABLE " user "
#define USERIDX "UserIdx "
#define LOGIN "Login "
#define PASS "Pass "
#define LASTSEEN "LastSeen "
#define LASTIP "LastIP "
#define LASTMODIFBY "LastModifBy "
#define LASTMODIFTS "LastModifTS "
#define LASTMODIF "LastModif "
#define CONSOLE "Console "
#define INFOLINE "Infoline "
#define DEFCHANIDX "DefChanIdx"

/* Table Channel */
#define CHANNEL_TABLE " channel "
#define CHANIDX "ChanIdx"
#define CH_NAME "Name "

/* Associated SQLS */

#define QRY_USER_BY_LOGIN                                       \
  SELECT                                                      \
    USERIDX ","               LOGIN ","      PASS ","         \
    UNIXTIME(LASTSEEN) ","    LASTIP ","     LASTMODIFBY ","  \
    UNIXTIME(LASTMODIFTS) "," LASTMODIF ","  CONSOLE ","      \
    INFOLINE ","              DEFCHANIDX "," CH_NAME          \
  FROM                                                        \
    USER_TABLE " user," CHANNEL_TABLE " chan"                 \
  WHERE                                                       \
    "user." DEFCHANIDX EQUALS "chan." CHANIDX AND_            \
    UPPER_V(%s) EQUALS UPPER(LOGIN)


/* Table Access */
#define ACCESS_TABLE " access "
#define ACCESSIDX "AccessIdx "
#define LEVEL "Level "
#define AUTOOP "AutoOp "
#define SUSPBY "SuspBy "
#define SUSPTS "SuspendTS "
#define SUSPREASON "SuspReason "
#define SUSPEXPIRE "SuspExpire "

/* Access SQLs */

#define QRY_ACCESS_BY_USERIDX \
  SELECT \
    ACCESSIDX ","        USERIDX ","     "acs." CHANIDX "," CH_NAME "," \
    LEVEL ","            AUTOOP ","      SUSPBY "," \
    UNIXTIME(SUSPTS) "," SUSPREASON ","  UNIXTIME(SUSPEXPIRE)  \
  FROM \
    ACCESS_TABLE " acs," CHANNEL_TABLE " chan" \
  WHERE \
    "acs." CHANIDX EQUALS "chan." CHANIDX AND_ \
    USERIDX EQUALS "%d"

/* Table host */
#define HOST_TABLE " host "
#define HOSTIDX "HostIdx "
#define MASK "Mask "

/* Host-related SQLS */

/* QRY_ACCEPT_DCC : Determine wether an access matches the given mask */
#define QRY_ACCEPT_DCC \
  SELECT \
    HOSTIDX \
  FROM \
    HOST_TABLE \
  WHERE \
    UPPER_V(%s) LIKE UPPER(MASK)

/* Table server */
#define SERVER_TABLE " server "
#define SERVERIDX "ServerIdx "
#define HOST "Host "
#define PORT "Port "

/* Server-related SQLS */

/* QRY_SERVERLIST : List all servers */
#define QRY_SERVERLIST \
  SELECT \
    SERVERIDX "," \
    HOST "," \
    PORT \
  FROM \
    SERVER_TABLE \
  ORDER_BY SERVERIDX




#endif

Generated by: nightsky@centauri on Sat Jan 15 23:06:10 2000, using kdoc 2.0a30.