Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
read0read.ic
Package: mysql-3.23.35.tar.gz [view]
Upload User: tsgydb
Upload Date: 2007-04-14
Package Size: 10674k
Code Size: 2k
Category:
MySQL
Development Platform:
Visual C++
- /******************************************************
- Cursor read
- (c) 1997 Innobase Oy
- Created 2/16/1997 Heikki Tuuri
- *******************************************************/
- /*************************************************************************
- Gets the nth trx id in a read view. */
- UNIV_INLINE
- dulint
- read_view_get_nth_trx_id(
- /*=====================*/
- /* out: trx id */
- read_view_t* view, /* in: read view */
- ulint n) /* in: position */
- {
- ut_ad(n < view->n_trx_ids);
- return(*(view->trx_ids + n));
- }
- /*************************************************************************
- Sets the nth trx id in a read view. */
- UNIV_INLINE
- void
- read_view_set_nth_trx_id(
- /*=====================*/
- read_view_t* view, /* in: read view */
- ulint n, /* in: position */
- dulint trx_id) /* in: trx id to set */
- {
- ut_ad(n < view->n_trx_ids);
- *(view->trx_ids + n) = trx_id;
- }
- /*************************************************************************
- Checks if a read view sees the specified transaction. */
- UNIV_INLINE
- ibool
- read_view_sees_trx_id(
- /*==================*/
- /* out: TRUE if sees */
- read_view_t* view, /* in: read view */
- dulint trx_id) /* in: trx id */
- {
- ulint n_ids;
- int cmp;
- ulint i;
- if (ut_dulint_cmp(trx_id, view->up_limit_id) < 0) {
- return(TRUE);
- }
- if (ut_dulint_cmp(trx_id, view->low_limit_id) >= 0) {
- return(FALSE);
- }
- /* We go through the trx ids in the array smallest first: this order
- may save CPU time, because if there was a very long running
- transaction in the trx id array, its trx id is looked at first, and
- the first two comparisons may well decide the visibility of trx_id. */
- n_ids = view->n_trx_ids;
- for (i = 0; i < n_ids; i++) {
- cmp = ut_dulint_cmp(trx_id,
- read_view_get_nth_trx_id(view, n_ids - i - 1));
- if (0 == cmp) {
- return(FALSE);
- } else if (cmp < 0) {
- return(TRUE);
- }
- }
- return(TRUE);
- }