mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 20:43:04 +01:00
ed0e0daeb3
- Plugins API. - Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures. - Feature CORE-2470 - Support for alternate format of strings literals. - Feature CORE-2310 - DDL triggers. - Feature CORE-2312 - PSQL Packages. - Feature CORE-1209 - CONTINUE statement. - Feature CORE-1180 - DDL syntax to change (not) nullable state of columns. - Feature CORE-2090 - Support OVER () clause with current aggregate functions. - Fixed CORE-2699 - Common table expression context could be used with parameters. - Introduce ODS 12.0. - Work in progress in type-safe parser. - Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes. - Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work. - Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class. - Refactor EXECUTE BLOCK to StmtNodes. - Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
73 lines
3.3 KiB
C++
73 lines
3.3 KiB
C++
/*
|
|
* PROGRAM: Dynamic SQL runtime support
|
|
* MODULE: metd_proto.h
|
|
* DESCRIPTION: Prototype Header file for metd.epp
|
|
* This is a DSQL private header file. It is not included
|
|
* by anything but DSQL itself.
|
|
*
|
|
* 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_METD_PROTO_H
|
|
#define DSQL_METD_PROTO_H
|
|
|
|
#include "../common/classes/GenericMap.h"
|
|
#include "../common/classes/MetaName.h"
|
|
#include "../common/classes/fb_pair.h"
|
|
|
|
// forward declarations
|
|
namespace Jrd {
|
|
typedef Firebird::Pair<Firebird::Full<Firebird::MetaName, Firebird::MetaName> > MetaNamePair;
|
|
typedef Firebird::GenericMap<MetaNamePair> MetaNamePairMap;
|
|
|
|
class dsql_req;
|
|
class dsql_str;
|
|
class CompiledStatement;
|
|
};
|
|
|
|
void METD_drop_charset(Jrd::dsql_req*, const Firebird::MetaName&);
|
|
void METD_drop_collation(Jrd::dsql_req*, const Jrd::dsql_str*);
|
|
void METD_drop_function(Jrd::dsql_req*, const Jrd::dsql_str*, const Firebird::MetaName&);
|
|
void METD_drop_procedure(Jrd::dsql_req*, const Jrd::dsql_str*, const Firebird::MetaName&);
|
|
void METD_drop_relation(Jrd::dsql_req*, const Jrd::dsql_str*);
|
|
|
|
Jrd::dsql_intlsym* METD_get_charset(Jrd::dsql_req*, USHORT, const char* name); // UTF-8
|
|
USHORT METD_get_charset_bpc(Jrd::dsql_req*, SSHORT);
|
|
Firebird::MetaName METD_get_charset_name(Jrd::dsql_req*, SSHORT);
|
|
Jrd::dsql_intlsym* METD_get_collation(Jrd::dsql_req*, const Jrd::dsql_str*, USHORT charset_id);
|
|
USHORT METD_get_col_default(Jrd::dsql_req*, const char*, const char*, bool*, UCHAR*, USHORT);
|
|
Jrd::dsql_str* METD_get_default_charset(Jrd::dsql_req*);
|
|
bool METD_get_domain(Jrd::dsql_req*, class Jrd::dsql_fld*, const char* name); // UTF-8
|
|
USHORT METD_get_domain_default(Jrd::dsql_req*, const TEXT*, bool*, UCHAR*, USHORT);
|
|
bool METD_get_exception(Jrd::dsql_req*, const Jrd::dsql_str*);
|
|
Jrd::dsql_udf* METD_get_function(Jrd::CompiledStatement*, const Jrd::dsql_str*, const Jrd::dsql_str*);
|
|
Jrd::dsql_nod* METD_get_primary_key(Jrd::dsql_req*, const Jrd::dsql_str*);
|
|
Jrd::dsql_prc* METD_get_procedure(Jrd::CompiledStatement*, const Jrd::dsql_str*, const Jrd::dsql_str*);
|
|
Jrd::dsql_rel* METD_get_relation(Jrd::CompiledStatement*, const Jrd::dsql_str*);
|
|
bool METD_get_trigger(Jrd::dsql_req*, const Jrd::dsql_str*, Jrd::dsql_str**, USHORT*);
|
|
bool METD_get_type(Jrd::dsql_req*, const Jrd::dsql_str*, const char*, SSHORT*);
|
|
Jrd::dsql_rel* METD_get_view_base(Jrd::CompiledStatement* request,
|
|
const char* view_name, // UTF-8
|
|
Jrd::MetaNamePairMap& fields);
|
|
Jrd::dsql_rel* METD_get_view_relation(Jrd::CompiledStatement* request,
|
|
const char* view_name, // UTF-8
|
|
const char* relation_or_alias); // UTF-8
|
|
|
|
#endif // DSQL_METD_PROTO_H
|
|
|