DB read

DB read — reading from databases

Functions

Types and Values

Includes

#include <gretl/libgretl.h>
#include <gretl/dbread.h>

Description

Functions that read data from native gretl databases as well as RATS 4.0 and PcGive databases. As you will see, this area is mostly undocumented at present, but since it may ultimately be useful for third-party coders we will try to remedy this!

Functions

retrieve_float ()

float
retrieve_float (netfloat nf);

series_info_set_description ()

void
series_info_set_description (SERIESINFO *sinfo,
                             const char *s);

get_native_db_data ()

int
get_native_db_data (const char *dbbase,
                    SERIESINFO *sinfo,
                    double **Z);

Parameters

Z

data array.

 

Returns

0 on success, non-zero code on failure.


get_remote_db_data ()

int
get_remote_db_data (const char *dbbase,
                    SERIESINFO *sinfo,
                    double **Z);

Parameters

Z

data array.

 

Returns

0 on success, non-zero code on failure.


get_pcgive_db_data ()

int
get_pcgive_db_data (const char *dbbase,
                    SERIESINFO *sinfo,
                    double **Z);

Parameters

Z

data array.

 

Returns

0 on success, non-zero code on failure.


get_rats_db_data ()

int
get_rats_db_data (const char *fname,
                  SERIESINFO *sinfo,
                  double **Z);

Read the actual data values for a series from a RATS database.

Parameters

fname

name of RATS 4.0 database to read from

 

sinfo

holds info on the given series (input)

 

Z

data matrix

 

Returns

0 on successful completion, E_FOPEN if the data could not be read, and DB_MISSING_DATA if the data were found but there were some missing values.


read_rats_db ()

dbwrapper *
read_rats_db (const char *fname,
              FILE *fp);

Read the series info from a RATS 4.0 database: read the base block at offset 0 in the data file, and recurse through the directory entries.

Parameters

fname

database filename.

 

fp

pre-opened stream (caller to close it)

 

Returns

pointer to a dbwrapper containing the series info, or NULL in case of failure.


read_pcgive_db ()

dbwrapper *
read_pcgive_db (const char *fname,
                FILE *fp);

Read the series info from a PcGive database, .in7 file

Parameters

fname

name of database file.

 

fp

pre-opened stream (caller to close it)

 

Returns

pointer to a dbwrapper containing the series info, or NULL in case of failure.


dbwrapper_new ()

dbwrapper *
dbwrapper_new (int n,
               const char *fname,
               int dbtype);

Parameters

n

initial number of series.

 

fname

database filename.

 

dbtype

database type code.

 

Returns

an allocated database series wrapper.


dbwrapper_destroy ()

void
dbwrapper_destroy (dbwrapper *dw);

Frees all resources associated with dw as well as the pointer itself.

Parameters

dw

database series wrapper.

 

set_db_name ()

int
set_db_name (const char *fname,
             int filetype,
             PRN *prn);

get_db_name ()

const char *
get_db_name (void);

set_odbc_dsn ()

int
set_odbc_dsn (const char *line,
              PRN *prn);

db_set_sample ()

int
db_set_sample (const char *star,
               const char *stop,
               DATASET *dset);

db_get_series ()

int
db_get_series (const char *line,
               DATASET *datainfo,
               gretlopt opt,
               PRN *prn);

db_delete_series_by_name ()

int
db_delete_series_by_name (const char *line,
                          PRN *prn);

db_delete_series_by_number ()

int
db_delete_series_by_number (const int *list,
                            const char *fname);

db_range_check ()

int
db_range_check (int db_pd,
                const char *db_stobs,
                const char *db_endobs,
                const char *varname,
                DATASET *dset);

check_db_import_conversion ()

int
check_db_import_conversion (int pd,
                            DATASET *dset);

transcribe_db_data ()

int
transcribe_db_data (DATASET *dset,
                    int targv,
                    const double *src,
                    int pd,
                    int nobs,
                    char *stobs,
                    CompactMethod cmethod);

lib_spread_db_data ()

int
lib_spread_db_data (double **dbZ,
                    SERIESINFO *sinfo,
                    DATASET *dset,
                    PRN *prn);

lib_spread_dbnomics_data ()

int
lib_spread_dbnomics_data (DATASET *dset,
                          DATASET *dbset,
                          PRN *prn);

compact_data_set ()

int
compact_data_set (DATASET *dset,
                  int newpd,
                  CompactMethod default_method,
                  int monstart,
                  int repday);

Compact the data set from higher to lower frequency.

Parameters

dset

dataset struct.

 

newpd

target data frequency.

 

default_method

code for the default compaction method.

 

monstart

if non-zero, take Monday rather than Sunday as the "start of the week" (only relevant for 7-day daily data).

 

repday

"representative day" for conversion from daily to weekly data (with method COMPACT_WDAY only).

 

Returns

0 on success, non-zero error code on failure.


expand_data_set ()

int
expand_data_set (DATASET *dset,
                 int newpd);

Expand the data set from lower to higher frequency: an "expert" option. This is supported only for expansion from annual to quarterly or monthly, or from quarterly to monthly.

Parameters

dset

dataset struct.

 

newpd

target data frequency.

 

Returns

0 on success, non-zero error code on failure.


midas_days_per_period ()

int
midas_days_per_period (int days_per_week,
                       int pd);

Types and Values

DB_DESCRIP_LEN

#define DB_DESCRIP_LEN 72  /* size of array to hold "# description" */

enum DBError

Members

DB_MISSING_DATA

   

DB_NO_SUCH_SERIES

   

DB_PARSE_ERROR

   

dbnumber

typedef float dbnumber;

The type used for representing primary data in gretl databases.


SERIESINFO

typedef struct {
    int t1, t2, v;
    char varname[VNAMELEN];
    char *descrip;
    int nobs;
    char stobs[OBSLEN];
    char endobs[OBSLEN];
    int pd;
    int offset;
    int err;
    int undated;
    void *data;
} SERIESINFO;

dbwrapper

typedef struct {
    char *fname;
    int dbtype;
    int nv;
    int nalloc;
    SERIESINFO *sinfo;
} dbwrapper;

ODBC_OBSCOLS

#define ODBC_OBSCOLS 3

ODBC_info

typedef struct {
    char *dsn;
    char *username;
    char *password;
    char *query;
    char **fmts;
    char coltypes[ODBC_OBSCOLS];
    double **X;
    char **S;
    gretl_string_table *gst;
    int nrows;
    int obscols;
    int nvars;
} ODBC_info;

netfloat

typedef struct {
    long frac;
    short exp;
} netfloat;