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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d49f3c08
Commit
d49f3c08
authored
Aug 12, 2002
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
put InnoDB HANDLER patch back again :))
parent
8b572117
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
74 additions
and
0 deletions
+74
-0
innobase/include/trx0trx.h
innobase/include/trx0trx.h
+7
-0
innobase/trx/trx0trx.c
innobase/trx/trx0trx.c
+11
-0
sql/ha_innobase.cc
sql/ha_innobase.cc
+55
-0
sql/ha_innobase.h
sql/ha_innobase.h
+1
-0
No files found.
innobase/include/trx0trx.h
View file @
d49f3c08
...
...
@@ -117,6 +117,13 @@ void
trx_start_if_not_started
(
/*=====================*/
trx_t
*
trx
);
/* in: transaction */
/*****************************************************************
Starts the transaction if it is not yet started. */
void
trx_start_if_not_started_noninline
(
/*===============================*/
trx_t
*
trx
);
/* in: transaction */
/********************************************************************
Commits a transaction. */
...
...
innobase/trx/trx0trx.c
View file @
d49f3c08
...
...
@@ -39,6 +39,17 @@ sess_t* trx_dummy_sess = NULL;
the kernel mutex */
ulint
trx_n_mysql_transactions
=
0
;
/*****************************************************************
Starts the transaction if it is not yet started. */
void
trx_start_if_not_started_noninline
(
/*===============================*/
trx_t
*
trx
)
/* in: transaction */
{
trx_start_if_not_started
(
trx
);
}
/********************************************************************
Retrieves the error_info field from a trx. */
...
...
sql/ha_innobase.cc
View file @
d49f3c08
...
...
@@ -398,6 +398,61 @@ ha_innobase::update_thd(
return
(
0
);
}
/*********************************************************************
Call this when you have opened a new table handle in HANDLER, before you
call index_read_idx() etc. Actually, we can let the cursor stay open even
over a transaction commit! Then you should call this before every operation,
fecth next etc. This function inits the necessary things even after a
transaction commit. */
/* TODO: THIS CODE HAS NOT BEEN TESTED!!! */
void
ha_innobase
::
init_table_handle_for_HANDLER
(
void
)
/*============================================*/
{
row_prebuilt_t
*
prebuilt
;
/* If current thd does not yet have a trx struct, create one.
If the current handle does not yet have a prebuilt struct, create
one. Update the trx pointers in the prebuilt struct. Normally
this operation is done in external_lock. */
update_thd
(
current_thd
);
/* Initialize the prebuilt struct much like it would be inited in
external_lock */
prebuilt
=
(
row_prebuilt_t
*
)
innobase_prebuilt
;
/* If the transaction is not started yet, start it */
trx_start_if_not_started_noninline
(
prebuilt
->
trx
);
/* Assign a read view if the transaction does not have it yet */
trx_assign_read_view
(
prebuilt
->
trx
);
/* We did the necessary inits in this function, no need to repeat them
in row_search_for_mysql */
prebuilt
->
sql_stat_start
=
FALSE
;
/* We let HANDLER always to do the reads as consistent reads, even
if the trx isolation level would have been specified as SERIALIZABLE */
prebuilt
->
select_lock_type
=
LOCK_NONE
;
/* Always fetch all columns in the index record */
prebuilt
->
hint_no_need_to_fetch_extra_cols
=
FALSE
;
/* We want always to fetch all columns in the whole row? Or do
we???? */
prebuilt
->
read_just_key
=
FALSE
;
}
/*************************************************************************
Opens an InnoDB database. */
...
...
sql/ha_innobase.h
View file @
d49f3c08
...
...
@@ -157,6 +157,7 @@ class ha_innobase: public handler
void
free_foreign_key_create_info
(
char
*
str
);
THR_LOCK_DATA
**
store_lock
(
THD
*
thd
,
THR_LOCK_DATA
**
to
,
enum
thr_lock_type
lock_type
);
void
init_table_handle_for_HANDLER
();
/* TODO: NOT TESTED!!! */
longlong
get_auto_increment
();
};
...
...
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