time_t SMSDPgSQL_GetDate(GSM_SMSDConfig * Config, SQL_result *res, unsigned int field) { const char *date; date = PQgetvalue(res->pg.res, res->pg.iter, field); return SMSDSQL_ParseDate(Config, date); }
time_t SMSDMySQL_GetDate(GSM_SMSDConfig * Config, SQL_result *res, unsigned int field) { const char *date; date = res->my.row[field]; return SMSDSQL_ParseDate(Config, date); }
time_t SMSDDBI_GetDate(GSM_SMSDConfig * Config, SQL_result *res, unsigned int field) { unsigned int type; const char *date; field++; type = dbi_result_get_field_type_idx(res->dbi, field); switch (type) { case DBI_TYPE_INTEGER: case DBI_TYPE_DECIMAL: #ifdef DBI_TYPE_XDECIMAL case DBI_TYPE_XDECIMAL: #endif return SMSDDBI_GetNumber(Config, res, field); case DBI_TYPE_STRING: date = dbi_result_get_string_idx(res->dbi, field); return SMSDSQL_ParseDate(Config, date); case DBI_TYPE_DATETIME: return dbi_result_get_datetime_idx(res->dbi, field); case DBI_TYPE_ERROR: default: SMSD_Log(DEBUG_ERROR, Config, "Wrong field type for date from DBI: %d", type); return -1; } }