8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 22:43:04 +01:00
firebird-mirror/src/dsql/ddl_proto.h

77 lines
2.6 KiB
C
Raw Normal View History

2001-05-23 15:26:42 +02:00
/*
* PROGRAM: Dynamic SQL runtime support
* MODULE: ddl_proto.h
* DESCRIPTION: Prototype Header file for ddl.cpp
2001-05-23 15:26:42 +02:00
*
* 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): ______________________________________.
*
2008-12-05 01:56:15 +01:00
* 2004.01.16 Vlad Horsun: added support for default parameters and
* EXECUTE BLOCK statement
2001-05-23 15:26:42 +02:00
*/
2003-09-26 12:50:59 +02:00
#ifndef DSQL_DDL_PROTO_H
#define DSQL_DDL_PROTO_H
2001-05-23 15:26:42 +02:00
// This is a DSQL internal file. Not to be used by anything but
// the DSQL module itself.
2008-02-28 14:48:16 +01:00
namespace Jrd {
class dsql_req;
class DsqlCompilerScratch;
2008-02-28 14:48:16 +01:00
class dsql_fld;
class dsql_nod;
class dsql_str;
};
const USHORT blr_dtypes[] = {
0,
blr_text, // dtype_text
blr_cstring, // dtype_cstring
blr_varying, // dtype_varying
0,
0,
0, // dtype_packed
0, // dtype_byte
blr_short, // dtype_short
blr_long, // dtype_long
blr_quad, // dtype_quad
blr_float, // dtype_real
blr_double, // dtype_double
blr_double, // dtype_d_float
blr_sql_date, // dtype_sql_date
blr_sql_time, // dtype_sql_time
blr_timestamp, // dtype_timestamp
2009-10-30 11:43:42 +01:00
blr_blob, // dtype_blob // ASF: CAST use blr_blob2 because blr_blob doesn't fit in UCHAR
blr_short, // dtype_array
blr_int64 // dtype_int64
};
2008-02-28 14:48:16 +01:00
void DDL_execute(Jrd::dsql_req*);
void DDL_generate(Jrd::DsqlCompilerScratch*, Jrd::dsql_nod*);
bool DDL_ids(const Jrd::DsqlCompilerScratch*);
bool DDL_is_array_or_blob(Jrd::DsqlCompilerScratch*, const Jrd::dsql_nod*);
void DDL_put_field_dtype(Jrd::DsqlCompilerScratch*, const Jrd::dsql_fld*, bool);
void DDL_resolve_intl_type(Jrd::DsqlCompilerScratch*, Jrd::dsql_fld*, const Jrd::dsql_str*);
void DDL_resolve_intl_type2(Jrd::DsqlCompilerScratch*, Jrd::dsql_fld*, const Jrd::dsql_str*, bool);
void DDL_put_local_variable(Jrd::DsqlCompilerScratch*, Jrd::dsql_var*, Jrd::dsql_nod*, const Jrd::dsql_str*);
void DDL_put_local_variables(Jrd::DsqlCompilerScratch*, const Jrd::dsql_nod*, SSHORT,
Firebird::Array<Jrd::dsql_nod*>& variables);
2001-05-23 15:26:42 +02:00
2003-09-26 12:50:59 +02:00
#endif // DSQL_DDL_PROTO_H