mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-27 06:43:04 +01:00
102 lines
3.7 KiB
C
102 lines
3.7 KiB
C
/*
|
|
* PROGRAM: C preprocessor
|
|
* MODULE: sqlda_pub.h
|
|
* DESCRIPTION: Public DSQL definitions (included in ibase.h)
|
|
*
|
|
* The contents of this file are subject to the Interbase Public
|
|
* License Version 1.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy
|
|
* of the License at http://www.Inprise.com/IPL.html
|
|
*
|
|
* Software distributed under the License is distributed on an
|
|
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
|
* or implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code was created by Inprise Corporation
|
|
* and its predecessors. Portions created by Inprise Corporation are
|
|
* Copyright (C) Inprise Corporation.
|
|
*
|
|
* All Rights Reserved.
|
|
* Contributor(s): ______________________________________.
|
|
*/
|
|
|
|
#ifndef DSQL_SQLDA_PUB_H
|
|
#define DSQL_SQLDA_PUB_H
|
|
|
|
/* Definitions for DSQL free_statement routine */
|
|
|
|
#define DSQL_close 1
|
|
#define DSQL_drop 2
|
|
#define DSQL_unprepare 4
|
|
|
|
/* Declare the extended SQLDA */
|
|
|
|
typedef struct
|
|
{
|
|
ISC_SHORT sqltype; /* datatype of field */
|
|
ISC_SHORT sqlscale; /* scale factor */
|
|
ISC_SHORT sqlsubtype; /* datatype subtype - currently BLOBs only */
|
|
ISC_SHORT sqllen; /* length of data area */
|
|
ISC_SCHAR* sqldata; /* address of data */
|
|
ISC_SHORT* sqlind; /* address of indicator variable */
|
|
ISC_SHORT sqlname_length; /* length of sqlname field */
|
|
ISC_SCHAR sqlname[32]; /* name of field, name length + space for NULL */
|
|
ISC_SHORT relname_length; /* length of relation name */
|
|
ISC_SCHAR relname[32]; /* field's relation name + space for NULL */
|
|
ISC_SHORT ownname_length; /* length of owner name */
|
|
ISC_SCHAR ownname[32]; /* relation's owner name + space for NULL */
|
|
ISC_SHORT aliasname_length; /* length of alias name */
|
|
ISC_SCHAR aliasname[32]; /* relation's alias name + space for NULL */
|
|
} XSQLVAR;
|
|
|
|
#define SQLDA_VERSION1 1
|
|
|
|
typedef struct
|
|
{
|
|
ISC_SHORT version; /* version of this XSQLDA */
|
|
ISC_SCHAR sqldaid[8]; /* XSQLDA name field */
|
|
ISC_LONG sqldabc; /* length in bytes of SQLDA */
|
|
ISC_SHORT sqln; /* number of fields allocated */
|
|
ISC_SHORT sqld; /* actual number of fields */
|
|
XSQLVAR sqlvar[1]; /* first field address */
|
|
} XSQLDA;
|
|
|
|
#define XSQLDA_LENGTH(n) (sizeof (XSQLDA) + (n - 1) * sizeof (XSQLVAR))
|
|
|
|
#define SQL_TEXT 452
|
|
#define SQL_VARYING 448
|
|
#define SQL_SHORT 500
|
|
#define SQL_LONG 496
|
|
#define SQL_FLOAT 482
|
|
#define SQL_DOUBLE 480
|
|
#define SQL_D_FLOAT 530
|
|
#define SQL_TIMESTAMP 510
|
|
#define SQL_BLOB 520
|
|
#define SQL_ARRAY 540
|
|
#define SQL_QUAD 550
|
|
#define SQL_TYPE_TIME 560
|
|
#define SQL_TYPE_DATE 570
|
|
#define SQL_INT64 580
|
|
|
|
/* Historical alias for pre v6 code */
|
|
#define SQL_DATE SQL_TIMESTAMP
|
|
|
|
/***************************/
|
|
/* SQL Dialects */
|
|
/***************************/
|
|
|
|
#define SQL_DIALECT_V5 1 /* meaning is same as DIALECT_xsqlda */
|
|
#define SQL_DIALECT_V6_TRANSITION 2 /* flagging anything that is delimited
|
|
by double quotes as an error and
|
|
flagging keyword DATE as an error */
|
|
#define SQL_DIALECT_V6 3 /* supports SQL delimited identifier,
|
|
SQLDATE/DATE, TIME, TIMESTAMP,
|
|
CURRENT_DATE, CURRENT_TIME,
|
|
CURRENT_TIMESTAMP, and 64-bit exact
|
|
numeric type */
|
|
#define SQL_DIALECT_CURRENT SQL_DIALECT_V6 /* latest IB DIALECT */
|
|
|
|
#endif /* DSQL_SQLDA_PUB_H */
|
|
|