Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Tdbc_Init(3)		   Tcl Database	Connectivity		  Tdbc_Init(3)


       Tdbc_Init, Tdbc_MapSqlState, Tdbc_TokenizeSql - C procedures to facili-
       tate writing TDBC drivers

       #include	<tdbc.h>


       Tcl_Obj *
       Tdbc_TokenizeSql(interp,	sqlcode)

       const char *

       Tcl_Interp *interp (in/out)	  Pointer to a Tcl interpreter.

       const char *state (in)		  Pointer to a character  string  con-
					  taining  a  'SQL state' from a data-
					  base error.

       const char *sqlcode (in)		  Pointer to a character  string  con-
					  taining a SQL	statement.

       The  TDBC library provides several C procedures that simplify writing a
       TDBC driver. They include a procedure that tokenizes a  SQL  statement,
       locating	 variables  to	be substituted,	and a procedure	that accepts a
       SQL state and returns an	error class for	the interpreter	error informa-

       Tdbc_Init  must	be invoked prior to any	other TDBC call.  It accepts a
       pointer to a Tcl	interpreter, and arranges to load the TDBC library. It
       returns	TCL_OK if the Tcl library was loaded successfully, and TCL_ER-
       ROR otherwise. If TCL_ERROR is returned,	the interpreter's result  con-
       tains the error message.

       Tdbc_TokenizeSql	 accepts a pointer to a	Tcl interpreter, and a pointer
       to a character string containing	one or more SQL	 statements.  It  tok-
       enizes the SQL statements, and returns a	pointer	to a Tcl_Obj that con-
       tains a list of the tokens that make up	the  statement.	 Concatenating
       the  tokens  together  will  yield  the original	SQL code. The returned
       Tcl_Obj has a reference count of	zero. The caller  is  responsible  for
       managing	 the  reference	 count	as needed.  See	TOKENS below for a de-
       scription of what may be	in the returned	list of	tokens.

       Tdbc_MapSqlState	accepts	a pointer to a string, usually five characters
       long,  that  is the 'SQL	state' that resulted from a database error. It
       returns a character string that is suitable for inclusion as the	 error
       class  when  constructing the error code	for an error in	a TDBC driver.
       (By convention, the error code is a list	having at least	four elements:
       "TDBC errorClass	sqlstate driverName details...".)

       Each token returned from	Tdbc_TokenizeSql may be	one of the following:

       [1]    A	 bound	variable, which	begins with one	of the characters ':',
	      '@', or '$'. The remainder of the	string is  the	variable  name
	      and  will	 consist  of  alphanumeric characters and underscores.
	      (The leading character will be be	non-numeric.)

       [2]    A	semicolon that separates two SQL statements.

       [3]    Something	else in	a SQL statement. The tokenizer	does  not  at-
	      tempt  to	 parse SQL; it merely identifies bound variables (dis-
	      tinguishing them from similar strings appearing inside quotes or
	      comments)	and statement delimiters.

       tdbc(n),	tdbc::mapSqlState(n), tdbc::tokenize(n)

       TDBC, SQL, database, tokenize

       Copyright (c) 2009 by Kevin B. Kenny.

Tcl				      8.6			  Tdbc_Init(3)


Want to link to this manual page? Use this URL:

home | help