Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
10df921c
Commit
10df921c
authored
Nov 26, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
documenting HA_STATUS_xxx flags
parent
e6708aa0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
10 deletions
+45
-10
include/my_base.h
include/my_base.h
+42
-9
sql/examples/ha_example.cc
sql/examples/ha_example.cc
+2
-0
sql/handler.h
sql/handler.h
+1
-1
No files found.
include/my_base.h
View file @
10df921c
...
...
@@ -260,15 +260,48 @@ enum ha_base_keytype {
#define HA_CREATE_CHECKSUM 8
#define HA_CREATE_DELAY_KEY_WRITE 64
/* Bits in flag to _status */
#define HA_STATUS_POS 1
/* Return position */
#define HA_STATUS_NO_LOCK 2
/* Don't use external lock */
#define HA_STATUS_TIME 4
/* Return update time */
#define HA_STATUS_CONST 8
/* Return constants values */
#define HA_STATUS_VARIABLE 16
#define HA_STATUS_ERRKEY 32
#define HA_STATUS_AUTO 64
/*
The following flags (OR-ed) are passed to handler::info() method.
The method copies misc handler information out of the storage engine
to data structures accessible from MySQL
Same flags are also passed down to mi_status, myrg_status, etc.
*/
/* this one is not used */
#define HA_STATUS_POS 1
/*
assuming the table keeps shared actual copy of the 'info' and
local, possibly outdated copy, the following flag means that
it should not try to get the actual data (locking the shared structure)
slightly outdated version will suffice
*/
#define HA_STATUS_NO_LOCK 2
/* update the time of the last modification (in handler::update_time) */
#define HA_STATUS_TIME 4
/*
update the 'constant' part of the info:
handler::max_data_file_length, max_index_file_length, create_time
sortkey, ref_length, block_size, data_file_name, index_file_name.
handler::table->s->keys_in_use, keys_for_keyread, rec_per_key
*/
#define HA_STATUS_CONST 8
/*
update the 'variable' part of the info:
handler::records, deleted, data_file_length, index_file_length,
delete_length, check_time, mean_rec_length
*/
#define HA_STATUS_VARIABLE 16
/*
get the information about the key that caused last duplicate value error
update handler::errkey and handler::dupp_ref
see handler::get_dup_key()
*/
#define HA_STATUS_ERRKEY 32
/*
update handler::auto_increment_value
*/
#define HA_STATUS_AUTO 64
/* Errorcodes given by functions */
...
...
sql/examples/ha_example.cc
View file @
10df921c
...
...
@@ -480,6 +480,8 @@ int ha_example::rnd_pos(byte * buf, byte *pos)
/*
::info() is used to return information to the optimizer.
see my_base.h for the complete description
Currently this table handler doesn't implement most of the fields
really needed. SHOW also makes use of this data
Another note, you will probably want to have the following in your
...
...
sql/handler.h
View file @
10df921c
...
...
@@ -672,7 +672,7 @@ public:
key_range
*
max_key
)
{
return
(
ha_rows
)
10
;
}
virtual
void
position
(
const
byte
*
record
)
=
0
;
virtual
void
info
(
uint
)
=
0
;
virtual
void
info
(
uint
)
=
0
;
// see my_base.h for full description
virtual
int
extra
(
enum
ha_extra_function
operation
)
{
return
0
;
}
virtual
int
extra_opt
(
enum
ha_extra_function
operation
,
ulong
cache_size
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment