FreeTDS API: Todo List

FreeTDS API

Todo List

Member dbsetopt (DBPROCESS *dbproc, int option, const char *char_param, int int_param)
  Implement more options.
Member DBSETLENCRYPT (x, y)
  Unimplemented.
Member tds_process_tokens (TDSSOCKET *tds, TDS_INT *result_type, int *done_flags, unsigned flag)
  Complete TDS_DESCRIBE_RESULT description
Member tds_set_server (TDSLOGIN *tds_login, const char *server) TDS_WUR
  open the log file earlier, so these messages can be seen.
Member tds_iconv (TDSSOCKET *tds, TDSICONV *conv, TDS_ICONV_DIRECTION io, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)

  Check for variable multibyte non-UTF-8 input character set.

  Use more robust error message generation.

  For reads, cope with outbuf encodings that don't have the equivalent of an ASCII '?'.

  Support alternative to '?' for the replacement character.

Member dbfirstrow (DBPROCESS *dbproc)
  Unimplemented.
Member dbmoretext (DBPROCESS *dbproc, DBINT size, const BYTE text[])
  Check return value of called functions and return `FAIL` if appropriate.
Member dbcurcmd (DBPROCESS *dbproc)
  Unimplemented.
Member dbcurrow (DBPROCESS *dbproc)
  Unimplemented.
Member dbretdata (DBPROCESS *dbproc, int retnum)
  Handle blobs.
"
  The error/message handlers are not robust enough. They should anticipate certain conditions and cause the application to retry the operation.
Member dbcancel (DBPROCESS *dbproc)
  Check for failure and return accordingly.
Member dbcolinfo (DBPROCESS *dbproc, CI_TYPE type, DBINT column, DBINT computeid, DBCOL *pdbcol)
  Support cursor rows.
Member dbanullbind (DBPROCESS *dbproc, int computeid, int column, DBINT *indicator)
  Never fails, but only because failure conditions aren't checked.
Member dbconvert_ps (DBPROCESS *dbproc, int db_srctype, const BYTE *src, DBINT srclen, int db_desttype, BYTE *dest, DBINT destlen, DBTYPEINFO *typeinfo)

  What happens if client does not reset values?

  Microsoft and Sybase define this function differently.

Member dbexit ()
  breaks if ctlib/dblib used in same process.
Member tdsdbopen (LOGINREC *login, const char *server, int msdblib)

  use `asprintf()` to avoid buffer overflow.

  separate error messages for no-such-server and no-such-user.

Member dbsetlbool (LOGINREC *login, int value, int which)
  DBSETNOSHORT, DBSETENCRYPT, DBSETLABELED
Member bcp_options (DBPROCESS *dbproc, int option, BYTE *value, int valuelen)
  Simplify. Remove valuelen, and dbproc->bcpinfo->hint = strdup(hints[i])
Member bcp_colfmt_ps (DBPROCESS *dbproc, int host_colnum, int host_type, int host_prefixlen, DBINT host_collen, BYTE *host_term, int host_termlen, int table_colnum, DBTYPEINFO *typeinfo)
  Not implemented.