Click here to Skip to main content
15,885,096 members
Articles / Programming Languages / SQL

Writing UDFs for Firebird Embedded SQL Server

,
Rate me:
Please Sign up or sign in to vote.
4.92/5 (19 votes)
23 Oct 2009CPOL4 min read 40K   698   29  
We will describe how to create your own native Firebird extension and show some approaches how to use it in managed code applications
/*
 *	PROGRAM:	JRD Access Method
 *	MODULE:		perf.h
 *	DESCRIPTION:	Peformance tool block
 *
 * 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): ______________________________________.
 *
 * 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete "OS/2" port
 *
 * 2002.10.29 Sean Leyne - Removed obsolete "Netware" port
 *
 * 2002.10.30 Sean Leyne - Removed support for obsolete "PC_PLATFORM" define
 *
 */

#ifndef JRD_PERF_H
#define JRD_PERF_H

#ifdef LINUX
#include <libio.h>
#endif

#ifdef HAVE_TIMES
#include <sys/types.h>
#include <sys/times.h>
#else
#ifdef VMS
#include <types.h>
#else
#include <sys/types.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Structure returned by times()
 */
struct tms {
	time_t tms_utime;			/* user time */
	time_t tms_stime;			/* system time */
	time_t tms_cutime;			/* user time, children */
	time_t tms_cstime;			/* system time, children */
};

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* !HAVE_TIMES */

#ifdef __cplusplus
extern "C" {
#endif

typedef struct perf {
	long perf_fetches;
	long perf_marks;
	long perf_reads;
	long perf_writes;
	long perf_current_memory;
	long perf_max_memory;
	long perf_buffers;
	long perf_page_size;
	long perf_elapsed;
	struct tms perf_times;
} PERF;


/* Letter codes controlling printing of statistics:

	!f - fetches
	!m - marks
	!r - reads
	!w - writes
	!e - elapsed time (in seconds)
	!u - user times
	!s - system time
	!p - page size
	!b - number buffers
	!d - delta memory
	!c - current memory
	!x - max memory

*/

#ifdef __cplusplus
} /* extern "C" */
#endif


#include "../jrd/perf_proto.h"

#endif /* JRD_PERF_H */

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer Apriorit Inc.
United States United States
ApriorIT is a software research and development company specializing in cybersecurity and data management technology engineering. We work for a broad range of clients from Fortune 500 technology leaders to small innovative startups building unique solutions.

As Apriorit offers integrated research&development services for the software projects in such areas as endpoint security, network security, data security, embedded Systems, and virtualization, we have strong kernel and driver development skills, huge system programming expertise, and are reals fans of research projects.

Our specialty is reverse engineering, we apply it for security testing and security-related projects.

A separate department of Apriorit works on large-scale business SaaS solutions, handling tasks from business analysis, data architecture design, and web development to performance optimization and DevOps.

Official site: https://www.apriorit.com
Clutch profile: https://clutch.co/profile/apriorit
This is a Organisation

33 members

Written By
Ukraine Ukraine
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions