17#ifdef I_CAN_DEAL_WITH_THIS_PARTIAL_DRIVER_AND_UNMAINTAINED_CODE_FOR_FREETDS
20#include "apu_config.h"
41#ifdef HAVE_FREETDS_SYBDB_H
42#include <freetds/sybdb.h>
53#define MAX_COL_LEN 256
95#define dbd_freetds_is_success(x) (x == SUCCEED)
151 sql->trans->errnum =
sql->err;
159 sql->trans->errnum =
sql->err;
179 for (
i=1;
i <=
res->sz; ++
i) {
189 sql->trans->errnum =
sql->err;
261 if (
sql->trans &&
sql->trans->errnum) {
262 return sql->trans->errnum;
288 if (
sql->trans &&
sql->trans->errnum) {
289 return sql->trans->errnum;
355 return (
const char*)
row->buf;
368 if (
sql->trans &&
sql->trans->errnum) {
369 return sql->trans->errnum;
376 sql->trans->errnum =
sql->err;
472 len = strlen(
"CREATE PROC apr.")
474 +
stmt->nargs * strlen(
" @arg1 varchar(len1),")
475 + strlen(
" AS begin ")
481 for (
i=0;
i<
stmt->nargs; ++
i) {
482 sprintf(pquery+strlen(pquery),
" @arg%d varchar(%d)",
i,
stmt->sz[
i]);
484 pquery[strlen(pquery)] =
',';
487 strcat(pquery,
" AS BEGIN ");
512 (*trans)->handle =
handle;
528 "ROLLBACK", 0, &
dummy);
532 "COMMIT", 0, &
dummy);
545 static const char *
delims =
" \r\n\t;|,";
617 if (process ==
NULL) {
629 if (process ==
NULL) {
721#define DBD_NOTIMPL APR_ENOTIMPL;
int int const char ** match
const char apr_size_t len
char * strstr(char *s1, char *s2)
APR general purpose library routines.
const unsigned char * buf
apr_pool_t apr_dbd_t const char * query
apr_pool_t const char apr_dbd_t const char ** error
struct apr_dbd_prepared_t apr_dbd_prepared_t
apr_pool_t apr_dbd_t const char const char * label
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
struct apr_dbd_t apr_dbd_t
apr_dbd_t int const char * statement
apr_dbd_transaction_t int mode
struct apr_dbd_results_t apr_dbd_results_t
apr_pool_t const char apr_dbd_t ** handle
apr_pool_t apr_dbd_results_t apr_dbd_row_t int rownum
apr_pool_t apr_dbd_t int apr_dbd_prepared_t int nargs
struct apr_dbd_transaction_t apr_dbd_transaction_t
apr_pool_t apr_dbd_results_t apr_dbd_row_t ** row
apr_pool_t const char * params
struct apr_dbd_row_t apr_dbd_row_t
#define APR_DBD_TRANSACTION_COMMIT
const char apr_hash_t ** values
apr_memcache_server_t * server
const char int apr_pool_t * pool
int strncasecmp(const char *a, const char *b, size_t n)
apr_vformatter_buff_t const char * fmt
#define apr_pcalloc(p, size)
apr_int32_t apr_int32_t apr_int32_t err
const char const char *const * args
apr_time_t apr_int32_t offs
static const char *const types[]
static const char *const trans[040]