rpm 5.3.7
Defines | Typedefs | Functions | Variables

rpmio/rpmsql.h File Reference

#include <rpmiotypes.h>
#include <rpmio.h>
#include <argv.h>
Include dependency graph for rpmsql.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define RPMSQL_H
#define rpmsqlUnlink(_sql)   ((rpmsql)rpmioUnlinkPoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))
#define rpmsqlLink(_sql)   ((rpmsql)rpmioLinkPoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))
#define rpmsqlFree(_sql)   ((rpmsql)rpmioFreePoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))

Typedefs

typedef void * rpmvArg
typedef struct rpmvd_s * rpmvd
typedef struct rpmvc_s * rpmvc
typedef struct rpmvt_s * rpmvt
typedef struct rpmsql_s * rpmsql

Functions

int rpmsqlCmd (rpmsql sql, const char *msg, void *_db, int rc)
 Check sqlite3 return code, displaying error messages.
rpmsql rpmsqlUnlink (rpmsql sql)
 Unreference a sql interpreter instance.
rpmsql rpmsqlLink (rpmsql sql)
 Reference a sql interpreter instance.
rpmsql rpmsqlFree (rpmsql sql)
 Destroy a sql interpreter.
rpmsql rpmsqlNew (char **av, uint32_t flags)
 Create and load a sql interpreter.
const char ** rpmsqlArgv (rpmsql sql, int *argcp)
 Return arguments from a sql interpreter.
rpmRC rpmsqlRun (rpmsql sql, const char *str, const char **resultp)
 Execute sql from STRING | FILE | STDIN | INTERACTIVE.

Variables

int _rpmsql_debug
int _rpmvt_debug
int _rpmvc_debug
rpmsql _rpmsqlI
volatile int _rpmsqlSeenInterrupt

Detailed Description

Definition in file rpmsql.h.


Define Documentation

#define RPMSQL_H

Definition at line 2 of file rpmsql.h.

#define rpmsqlFree (   _sql)    ((rpmsql)rpmioFreePoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))

Definition at line 252 of file rpmsql.h.

#define rpmsqlLink (   _sql)    ((rpmsql)rpmioLinkPoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))

Definition at line 240 of file rpmsql.h.

#define rpmsqlUnlink (   _sql)    ((rpmsql)rpmioUnlinkPoolItem((rpmioItem)(_sql), __FUNCTION__, __FILE__, __LINE__))

Definition at line 229 of file rpmsql.h.


Typedef Documentation

typedef struct rpmsql_s* rpmsql

Definition at line 18 of file rpmsql.h.

typedef void* rpmvArg

Definition at line 12 of file rpmsql.h.

typedef struct rpmvc_s* rpmvc

Definition at line 16 of file rpmsql.h.

typedef struct rpmvd_s* rpmvd

Definition at line 14 of file rpmsql.h.

typedef struct rpmvt_s* rpmvt

Definition at line 17 of file rpmsql.h.


Function Documentation

const char** rpmsqlArgv ( rpmsql  sql,
int *  argcp 
)

Return arguments from a sql interpreter.

Parameters:
sqlsql interpreter
Return values:
*argcpno. of arguments
Returns:
sql interpreter args

Definition at line 5234 of file rpmsql.c.

References argvCount().

int rpmsqlCmd ( rpmsql  sql,
const char *  msg,
void *  _db,
int  rc 
)

Check sqlite3 return code, displaying error messages.

Parameters:
sqlsql interpreter
msgsql method name
_dbsq; database handle (i.e. "sqlite3 *")
rcsql method return code
Returns:
rc is returned

Referenced by rpmsqlFini(), and rpmsqlNew().

rpmsql rpmsqlFree ( rpmsql  sql)

Destroy a sql interpreter.

Parameters:
sqlsql interpreter
Returns:
NULL on last dereference

Referenced by expandMacro(), and rpmioClean().

rpmsql rpmsqlLink ( rpmsql  sql)

Reference a sql interpreter instance.

Parameters:
sqlsql interpreter
Returns:
new sql interpreter reference

Referenced by rpmsqlNew().

rpmsql rpmsqlNew ( char **  av,
uint32_t  flags 
)

Create and load a sql interpreter.

Parameters:
avsql interpreter args (or NULL)
flagssql interpreter flags
Returns:
new sql interpreter

Definition at line 5304 of file rpmsql.c.

References _free(), _rpmsql_debug, Access(), argvAppend(), argvCount(), argvPrint(), F_ISSET, Fclose(), fdDup(), getenv(), R_OK, rpmExpand(), rpmGetPath(), rpmiobNew(), rpmsqlCmd(), rpmsqlGetPool(), rpmsqlI(), rpmsqlLink(), and xstrdup().

Referenced by expandMacro(), and rpmsqlI().

rpmRC rpmsqlRun ( rpmsql  sql,
const char *  str,
const char **  resultp 
)

Execute sql from STRING | FILE | STDIN | INTERACTIVE.

The str argument is used to determine how it should be run: A leading '/' indicates a FILE, containing SQL commands. A "-" or "stdin" argument used STD for SQL commands. An empty "" string assumes INTERACTIVE, like STDIN but with prompts. Otherwise, the STRING argument is treated as a sql command.

Parameters:
sqlsql interpreter (NULL uses global interpreter)
strsql string to execute (NULL returns RPMRC_FAIL)
*resultpsql interpreter result
Returns:
RPMRC_OK on success

Definition at line 5406 of file rpmsql.c.

References _, _free(), Fclose(), fdDup(), Fdopen(), Ferror(), Fflush(), _FD_s::flags, Fopen(), Fwrite(), read_history, rpmExpand(), rpmiobRTrim(), rpmiobStr(), RPMRC_FAIL, rpmsqlI(), stifle_history, write_history, xisspace(), and xstrdup().

Referenced by expandMacro().

rpmsql rpmsqlUnlink ( rpmsql  sql)

Unreference a sql interpreter instance.

Parameters:
sqlsql interpreter
Returns:
NULL on last dereference

Variable Documentation

Definition at line 43 of file rpmsql.c.

Referenced by rpmsqlGetPool(), and rpmsqlNew().

Definition at line 52 of file rpmsql.c.

Referenced by _rpmsqlDebugDump(), rpmioClean(), and rpmsqlI().

volatile int _rpmsqlSeenInterrupt

Definition at line 55 of file rpmsql.c.

Definition at line 49 of file rpmsql.c.

Referenced by rpmvcGetPool(), and rpmvcNew().

Definition at line 46 of file rpmsql.c.

Referenced by rpmvtGetPool(), and rpmvtNew().