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
c268ce60
Commit
c268ce60
authored
Nov 21, 2006
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix printf warnings
Improve dbug_print_open_tables so the trace files are readable.
parent
fd810905
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
83 deletions
+63
-83
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+63
-83
No files found.
sql/ha_ndbcluster.cc
View file @
c268ce60
...
@@ -413,7 +413,7 @@ Thd_ndb::get_open_table(THD *thd, const void *key)
...
@@ -413,7 +413,7 @@ Thd_ndb::get_open_table(THD *thd, const void *key)
thd_ndb_share
->
stat
.
no_uncommitted_rows_count
=
0
;
thd_ndb_share
->
stat
.
no_uncommitted_rows_count
=
0
;
thd_ndb_share
->
stat
.
records
=
~
(
ha_rows
)
0
;
thd_ndb_share
->
stat
.
records
=
~
(
ha_rows
)
0
;
}
}
DBUG_PRINT
(
"exit"
,
(
"thd_ndb_share:
0x%x key: 0x%x
"
,
thd_ndb_share
,
key
));
DBUG_PRINT
(
"exit"
,
(
"thd_ndb_share:
%p key: %p
"
,
thd_ndb_share
,
key
));
DBUG_RETURN
(
thd_ndb_share
);
DBUG_RETURN
(
thd_ndb_share
);
}
}
...
@@ -1171,7 +1171,7 @@ int ha_ndbcluster::add_index_handle(THD *thd, NDBDICT *dict, KEY *key_info,
...
@@ -1171,7 +1171,7 @@ int ha_ndbcluster::add_index_handle(THD *thd, NDBDICT *dict, KEY *key_info,
index
=
dict
->
getIndexGlobal
(
index_name
,
*
m_table
);
index
=
dict
->
getIndexGlobal
(
index_name
,
*
m_table
);
if
(
!
index
)
if
(
!
index
)
ERR_RETURN
(
dict
->
getNdbError
());
ERR_RETURN
(
dict
->
getNdbError
());
DBUG_PRINT
(
"info"
,
(
"index:
0x%x
id: %d version: %d.%d status: %d"
,
DBUG_PRINT
(
"info"
,
(
"index:
%p
id: %d version: %d.%d status: %d"
,
index
,
index
,
index
->
getObjectId
(),
index
->
getObjectId
(),
index
->
getObjectVersion
()
&
0xFFFFFF
,
index
->
getObjectVersion
()
&
0xFFFFFF
,
...
@@ -1215,7 +1215,7 @@ int ha_ndbcluster::add_index_handle(THD *thd, NDBDICT *dict, KEY *key_info,
...
@@ -1215,7 +1215,7 @@ int ha_ndbcluster::add_index_handle(THD *thd, NDBDICT *dict, KEY *key_info,
index
=
dict
->
getIndexGlobal
(
unique_index_name
,
*
m_table
);
index
=
dict
->
getIndexGlobal
(
unique_index_name
,
*
m_table
);
if
(
!
index
)
if
(
!
index
)
ERR_RETURN
(
dict
->
getNdbError
());
ERR_RETURN
(
dict
->
getNdbError
());
DBUG_PRINT
(
"info"
,
(
"index:
0x%x
id: %d version: %d.%d status: %d"
,
DBUG_PRINT
(
"info"
,
(
"index:
%p
id: %d version: %d.%d status: %d"
,
index
,
index
,
index
->
getObjectId
(),
index
->
getObjectId
(),
index
->
getObjectVersion
()
&
0xFFFFFF
,
index
->
getObjectVersion
()
&
0xFFFFFF
,
...
@@ -2072,7 +2072,7 @@ inline int ha_ndbcluster::fetch_next(NdbScanOperation* cursor)
...
@@ -2072,7 +2072,7 @@ inline int ha_ndbcluster::fetch_next(NdbScanOperation* cursor)
all pending update or delete operations should
all pending update or delete operations should
be sent to NDB
be sent to NDB
*/
*/
DBUG_PRINT
(
"info"
,
(
"ops_pending: %
d"
,
m_ops_pending
));
DBUG_PRINT
(
"info"
,
(
"ops_pending: %
llu"
,
m_ops_pending
));
if
(
m_ops_pending
)
if
(
m_ops_pending
)
{
{
if
(
m_transaction_on
)
if
(
m_transaction_on
)
...
@@ -3480,7 +3480,7 @@ int ha_ndbcluster::close_scan()
...
@@ -3480,7 +3480,7 @@ int ha_ndbcluster::close_scan()
Take over any pending transactions to the
Take over any pending transactions to the
deleteing/updating transaction before closing the scan
deleteing/updating transaction before closing the scan
*/
*/
DBUG_PRINT
(
"info"
,
(
"ops_pending: %
d"
,
m_ops_pending
));
DBUG_PRINT
(
"info"
,
(
"ops_pending: %
llu"
,
m_ops_pending
));
if
(
execute_no_commit
(
this
,
trans
,
false
)
!=
0
)
{
if
(
execute_no_commit
(
this
,
trans
,
false
)
!=
0
)
{
no_uncommitted_rows_execute_failure
();
no_uncommitted_rows_execute_failure
();
DBUG_RETURN
(
ndb_err
(
trans
));
DBUG_RETURN
(
ndb_err
(
trans
));
...
@@ -4286,7 +4286,7 @@ static int ndbcluster_commit(handlerton *hton, THD *thd, bool all)
...
@@ -4286,7 +4286,7 @@ static int ndbcluster_commit(handlerton *hton, THD *thd, bool all)
while
((
share
=
it
++
))
while
((
share
=
it
++
))
{
{
pthread_mutex_lock
(
&
share
->
mutex
);
pthread_mutex_lock
(
&
share
->
mutex
);
DBUG_PRINT
(
"info"
,
(
"Invalidate commit_count for %s,
share->commit_count: %d
"
,
DBUG_PRINT
(
"info"
,
(
"Invalidate commit_count for %s,
commit_count: %llu
"
,
share
->
key
,
share
->
commit_count
));
share
->
key
,
share
->
commit_count
));
share
->
commit_count
=
0
;
share
->
commit_count
=
0
;
share
->
commit_count_lock
++
;
share
->
commit_count_lock
++
;
...
@@ -4691,7 +4691,7 @@ int ha_ndbcluster::create(const char *name,
...
@@ -4691,7 +4691,7 @@ int ha_ndbcluster::create(const char *name,
DBUG_RETURN
(
2
);
DBUG_RETURN
(
2
);
}
}
DBUG_PRINT
(
"info"
,
(
"setFrm data=%
lx
len=%d"
,
pack_data
,
pack_length
));
DBUG_PRINT
(
"info"
,
(
"setFrm data=%
p
len=%d"
,
pack_data
,
pack_length
));
tab
.
setFrm
(
pack_data
,
pack_length
);
tab
.
setFrm
(
pack_data
,
pack_length
);
my_free
((
char
*
)
data
,
MYF
(
0
));
my_free
((
char
*
)
data
,
MYF
(
0
));
my_free
((
char
*
)
pack_data
,
MYF
(
0
));
my_free
((
char
*
)
pack_data
,
MYF
(
0
));
...
@@ -5103,8 +5103,8 @@ int ha_ndbcluster::add_index(TABLE *table_arg,
...
@@ -5103,8 +5103,8 @@ int ha_ndbcluster::add_index(TABLE *table_arg,
KEY
*
key_info
,
uint
num_of_keys
)
KEY
*
key_info
,
uint
num_of_keys
)
{
{
DBUG_ENTER
(
"ha_ndbcluster::add_index"
);
DBUG_ENTER
(
"ha_ndbcluster::add_index"
);
DBUG_PRINT
(
"info"
,
(
"ha_ndbcluster::add_index to table %s"
,
DBUG_PRINT
(
"info"
,
(
"ha_ndbcluster::add_index to table %s"
,
table_arg
->
s
->
table_name
));
table_arg
->
s
->
table_name
.
str
));
int
error
=
0
;
int
error
=
0
;
uint
idx
;
uint
idx
;
...
@@ -6103,9 +6103,7 @@ static void ndbcluster_drop_database(handlerton *hton, char *path)
...
@@ -6103,9 +6103,7 @@ static void ndbcluster_drop_database(handlerton *hton, char *path)
#endif
#endif
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
/*
find all tables in ndb and discover those needed
*/
int
ndb_create_table_from_engine
(
THD
*
thd
,
const
char
*
db
,
int
ndb_create_table_from_engine
(
THD
*
thd
,
const
char
*
db
,
const
char
*
table_name
)
const
char
*
table_name
)
{
{
...
@@ -6118,6 +6116,9 @@ int ndb_create_table_from_engine(THD *thd, const char *db,
...
@@ -6118,6 +6116,9 @@ int ndb_create_table_from_engine(THD *thd, const char *db,
return
res
;
return
res
;
}
}
/*
find all tables in ndb and discover those needed
*/
int
ndbcluster_find_all_files
(
THD
*
thd
)
int
ndbcluster_find_all_files
(
THD
*
thd
)
{
{
DBUG_ENTER
(
"ndbcluster_find_all_files"
);
DBUG_ENTER
(
"ndbcluster_find_all_files"
);
...
@@ -7162,31 +7163,51 @@ static byte *ndbcluster_get_key(NDB_SHARE *share,uint *length,
...
@@ -7162,31 +7163,51 @@ static byte *ndbcluster_get_key(NDB_SHARE *share,uint *length,
return
(
byte
*
)
share
->
key
;
return
(
byte
*
)
share
->
key
;
}
}
#ifndef DBUG_OFF
#ifndef DBUG_OFF
static
void
dbug_print_open_tables
()
static
void
print_share
(
const
char
*
where
,
NDB_SHARE
*
share
)
{
{
DBUG_ENTER
(
"dbug_print_open_tables"
);
fprintf
(
DBUG_FILE
,
for
(
uint
i
=
0
;
i
<
ndbcluster_open_tables
.
records
;
i
++
)
"%s %s.%s: use_count: %u, commit_count: %llu
\n
"
,
{
where
,
share
->
db
,
share
->
table_name
,
share
->
use_count
,
NDB_SHARE
*
share
=
(
NDB_SHARE
*
)
hash_element
(
&
ndbcluster_open_tables
,
i
);
share
->
commit_count
);
DBUG_PRINT
(
"share"
,
fprintf
(
DBUG_FILE
,
(
"[%d] 0x%lx key: %s key_length: %d"
,
" - key: %s, key_length: %d
\n
"
,
i
,
share
,
share
->
key
,
share
->
key_length
));
share
->
key
,
share
->
key_length
);
DBUG_PRINT
(
"share"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
share
->
db
,
share
->
table_name
,
share
->
use_count
,
share
->
commit_count
));
#ifdef HAVE_NDB_BINLOG
#ifdef HAVE_NDB_BINLOG
if
(
share
->
table
)
if
(
share
->
table
)
DBUG_PRINT
(
"share"
,
fprintf
(
DBUG_FILE
,
(
"table->s->db.table_name: %s.%s"
,
" - share->table: %p %s.%s
\n
"
,
share
->
table
->
s
->
db
.
str
,
share
->
table
->
s
->
table_name
.
str
));
share
->
table
,
share
->
table
->
s
->
db
.
str
,
share
->
table
->
s
->
table_name
.
str
);
#endif
#endif
}
DBUG_VOID_RETURN
;
}
}
#else
#define dbug_print_open_tables()
static
void
print_ndbcluster_open_tables
()
{
DBUG_LOCK_FILE
;
fprintf
(
DBUG_FILE
,
">ndbcluster_open_tables
\n
"
);
for
(
uint
i
=
0
;
i
<
ndbcluster_open_tables
.
records
;
i
++
)
print_share
(
""
,
(
NDB_SHARE
*
)
hash_element
(
&
ndbcluster_open_tables
,
i
));
fprintf
(
DBUG_FILE
,
"<ndbcluster_open_tables
\n
"
);
DBUG_UNLOCK_FILE
;
}
#define dbug_print_open_tables() \
DBUG_EXECUTE("info", \
print_ndbcluster_open_tables(););
#define dbug_print_share(t, s) \
DBUG_LOCK_FILE; \
DBUG_EXECUTE("info", \
print_share((t), (s));); \
DBUG_UNLOCK_FILE;
#endif
#endif
#ifdef HAVE_NDB_BINLOG
#ifdef HAVE_NDB_BINLOG
...
@@ -7331,19 +7352,9 @@ static int rename_share(NDB_SHARE *share, const char *new_key)
...
@@ -7331,19 +7352,9 @@ static int rename_share(NDB_SHARE *share, const char *new_key)
share
->
table_name
=
share
->
db
+
strlen
(
share
->
db
)
+
1
;
share
->
table_name
=
share
->
db
+
strlen
(
share
->
db
)
+
1
;
ha_ndbcluster
::
set_tabname
(
new_key
,
share
->
table_name
);
ha_ndbcluster
::
set_tabname
(
new_key
,
share
->
table_name
);
DBUG_PRINT
(
"rename_share"
,
dbug_print_share
(
"rename_share:"
,
share
);
(
"0x%lx key: %s key_length: %d"
,
share
,
share
->
key
,
share
->
key_length
));
DBUG_PRINT
(
"rename_share"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
share
->
db
,
share
->
table_name
,
share
->
use_count
,
share
->
commit_count
));
if
(
share
->
table
)
if
(
share
->
table
)
{
{
DBUG_PRINT
(
"rename_share"
,
(
"table->s->db.table_name: %s.%s"
,
share
->
table
->
s
->
db
.
str
,
share
->
table
->
s
->
table_name
.
str
));
if
(
share
->
op
==
0
)
if
(
share
->
op
==
0
)
{
{
share
->
table
->
s
->
db
.
str
=
share
->
db
;
share
->
table
->
s
->
db
.
str
=
share
->
db
;
...
@@ -7371,14 +7382,7 @@ NDB_SHARE *ndbcluster_get_share(NDB_SHARE *share)
...
@@ -7371,14 +7382,7 @@ NDB_SHARE *ndbcluster_get_share(NDB_SHARE *share)
share
->
use_count
++
;
share
->
use_count
++
;
dbug_print_open_tables
();
dbug_print_open_tables
();
dbug_print_share
(
"ndbcluster_get_share:"
,
share
);
DBUG_PRINT
(
"get_share"
,
(
"0x%lx key: %s key_length: %d"
,
share
,
share
->
key
,
share
->
key_length
));
DBUG_PRINT
(
"get_share"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
share
->
db
,
share
->
table_name
,
share
->
use_count
,
share
->
commit_count
));
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
return
share
;
return
share
;
}
}
...
@@ -7469,14 +7473,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
...
@@ -7469,14 +7473,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
share
->
use_count
++
;
share
->
use_count
++
;
dbug_print_open_tables
();
dbug_print_open_tables
();
dbug_print_share
(
"ndbcluster_get_share:"
,
share
);
DBUG_PRINT
(
"info"
,
(
"0x%lx key: %s key_length: %d key: %s"
,
share
,
share
->
key
,
share
->
key_length
,
key
));
DBUG_PRINT
(
"info"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
share
->
db
,
share
->
table_name
,
share
->
use_count
,
share
->
commit_count
));
if
(
!
have_lock
)
if
(
!
have_lock
)
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
DBUG_RETURN
(
share
);
DBUG_RETURN
(
share
);
...
@@ -7486,13 +7483,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
...
@@ -7486,13 +7483,7 @@ NDB_SHARE *ndbcluster_get_share(const char *key, TABLE *table,
void
ndbcluster_real_free_share
(
NDB_SHARE
**
share
)
void
ndbcluster_real_free_share
(
NDB_SHARE
**
share
)
{
{
DBUG_ENTER
(
"ndbcluster_real_free_share"
);
DBUG_ENTER
(
"ndbcluster_real_free_share"
);
DBUG_PRINT
(
"real_free_share"
,
dbug_print_share
(
"ndbcluster_real_free_share:"
,
*
share
);
(
"0x%lx key: %s key_length: %d"
,
(
*
share
),
(
*
share
)
->
key
,
(
*
share
)
->
key_length
));
DBUG_PRINT
(
"real_free_share"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
(
*
share
)
->
db
,
(
*
share
)
->
table_name
,
(
*
share
)
->
use_count
,
(
*
share
)
->
commit_count
));
hash_delete
(
&
ndbcluster_open_tables
,
(
byte
*
)
*
share
);
hash_delete
(
&
ndbcluster_open_tables
,
(
byte
*
)
*
share
);
thr_lock_delete
(
&
(
*
share
)
->
lock
);
thr_lock_delete
(
&
(
*
share
)
->
lock
);
...
@@ -7521,12 +7512,7 @@ void ndbcluster_real_free_share(NDB_SHARE **share)
...
@@ -7521,12 +7512,7 @@ void ndbcluster_real_free_share(NDB_SHARE **share)
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
/*
decrease refcount of share
calls real_free_share when refcount reaches 0
have_lock == TRUE, pthread_mutex_lock(&ndbcluster_mutex) already taken
*/
void
ndbcluster_free_share
(
NDB_SHARE
**
share
,
bool
have_lock
)
void
ndbcluster_free_share
(
NDB_SHARE
**
share
,
bool
have_lock
)
{
{
if
(
!
have_lock
)
if
(
!
have_lock
)
...
@@ -7540,13 +7526,7 @@ void ndbcluster_free_share(NDB_SHARE **share, bool have_lock)
...
@@ -7540,13 +7526,7 @@ void ndbcluster_free_share(NDB_SHARE **share, bool have_lock)
else
else
{
{
dbug_print_open_tables
();
dbug_print_open_tables
();
DBUG_PRINT
(
"free_share"
,
dbug_print_share
(
"ndbcluster_free_share:"
,
*
share
);
(
"0x%lx key: %s key_length: %d"
,
*
share
,
(
*
share
)
->
key
,
(
*
share
)
->
key_length
));
DBUG_PRINT
(
"free_share"
,
(
"db.tablename: %s.%s use_count: %d commit_count: %d"
,
(
*
share
)
->
db
,
(
*
share
)
->
table_name
,
(
*
share
)
->
use_count
,
(
*
share
)
->
commit_count
));
}
}
if
(
!
have_lock
)
if
(
!
have_lock
)
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
...
@@ -8182,7 +8162,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -8182,7 +8162,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
my_thread_init
();
my_thread_init
();
DBUG_ENTER
(
"ndb_util_thread"
);
DBUG_ENTER
(
"ndb_util_thread"
);
DBUG_PRINT
(
"enter"
,
(
"ndb_cache_check_time: %
d
"
,
ndb_cache_check_time
));
DBUG_PRINT
(
"enter"
,
(
"ndb_cache_check_time: %
lu
"
,
ndb_cache_check_time
));
thd
=
new
THD
;
/* note that contructor of THD uses DBUG_ */
thd
=
new
THD
;
/* note that contructor of THD uses DBUG_ */
THD_CHECK_SENTRY
(
thd
);
THD_CHECK_SENTRY
(
thd
);
...
@@ -8349,7 +8329,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -8349,7 +8329,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
{
{
char
buff
[
22
],
buff2
[
22
];
char
buff
[
22
],
buff2
[
22
];
DBUG_PRINT
(
"ndb_util_thread"
,
DBUG_PRINT
(
"ndb_util_thread"
,
(
"Table: %s, commit_count: %
llu, rows: %llu
"
,
(
"Table: %s, commit_count: %
s, rows: %s
"
,
share
->
key
,
share
->
key
,
llstr
(
stat
.
commit_count
,
buff
),
llstr
(
stat
.
commit_count
,
buff
),
llstr
(
stat
.
row_count
,
buff2
)));
llstr
(
stat
.
row_count
,
buff2
)));
...
@@ -9191,7 +9171,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
...
@@ -9191,7 +9171,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
if
(
context
->
expecting
(
Item
::
INT_ITEM
))
if
(
context
->
expecting
(
Item
::
INT_ITEM
))
{
{
Item_int
*
int_item
=
(
Item_int
*
)
item
;
Item_int
*
int_item
=
(
Item_int
*
)
item
;
DBUG_PRINT
(
"info"
,
(
"value %
d
"
,
int_item
->
value
));
DBUG_PRINT
(
"info"
,
(
"value %
llu
"
,
int_item
->
value
));
NDB_ITEM_QUALIFICATION
q
;
NDB_ITEM_QUALIFICATION
q
;
q
.
value_type
=
Item
::
INT_ITEM
;
q
.
value_type
=
Item
::
INT_ITEM
;
curr_cond
->
ndb_item
=
new
Ndb_item
(
NDB_VALUE
,
q
,
item
);
curr_cond
->
ndb_item
=
new
Ndb_item
(
NDB_VALUE
,
q
,
item
);
...
@@ -9214,7 +9194,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
...
@@ -9214,7 +9194,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
context
->
supported
=
FALSE
;
context
->
supported
=
FALSE
;
break
;
break
;
case
Item
:
:
REAL_ITEM
:
case
Item
:
:
REAL_ITEM
:
DBUG_PRINT
(
"info"
,
(
"REAL_ITEM
%s
"
));
DBUG_PRINT
(
"info"
,
(
"REAL_ITEM"
));
if
(
context
->
expecting
(
Item
::
REAL_ITEM
))
if
(
context
->
expecting
(
Item
::
REAL_ITEM
))
{
{
Item_float
*
float_item
=
(
Item_float
*
)
item
;
Item_float
*
float_item
=
(
Item_float
*
)
item
;
...
@@ -9262,7 +9242,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
...
@@ -9262,7 +9242,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
context
->
supported
=
FALSE
;
context
->
supported
=
FALSE
;
break
;
break
;
case
Item
:
:
DECIMAL_ITEM
:
case
Item
:
:
DECIMAL_ITEM
:
DBUG_PRINT
(
"info"
,
(
"DECIMAL_ITEM
%s
"
));
DBUG_PRINT
(
"info"
,
(
"DECIMAL_ITEM"
));
if
(
context
->
expecting
(
Item
::
DECIMAL_ITEM
))
if
(
context
->
expecting
(
Item
::
DECIMAL_ITEM
))
{
{
Item_decimal
*
decimal_item
=
(
Item_decimal
*
)
item
;
Item_decimal
*
decimal_item
=
(
Item_decimal
*
)
item
;
...
...
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