k THD::LOCK_thd_data to protect from
> + concurrent usage or disconnect or delete. */
> + DEBUG_SYNC(bf_thd, "wsrep_before_BF_victim_lock");
> + my_sleep(10);
Eh? Forgot to remove after debugging?
> + wsrep_thd_LOCK(thd);
> + my_sleep(10);
and
Hi, Alexander!
On Oct 21, Alexander Barkov wrote:
>
> On 10/20/21 2:48 AM, Sergei Golubchik wrote:
> >> 2000----0002
> >> +1000----0003
> >> 2000----0003
> >
> > please, add
+ Data type implementations that need different representations
> + can override the default implementation (like e.g. UUID does).
> */
thanks, this is very good
>
> /*******/
> @@ -64,5
/*
> @@ -1125,7 +1127,6 @@ bool mysql_insert(THD *thd, TABLE_LIST *table_list,
>if (unlikely(error))
> break;
>info.accepted_rows++;
> - thd->get_stmt_da()->inc_current_row_for_warning();
> }
> its.rewind();
> iteration++;
in the commit comment that it's
for INPLACE alter, where the server cannot know what row has generated
the warning, so the value of current_row is supplied by the engine.
>if (thd->count_cuted_fields > CHECK_FIELD_EXPRESSION)
>{
>
>my_error(ER_WRONG_VALUE_COUNT_ON_ROW, MYF(0), 1L);
>DBUG_RETURN(-1);
> }
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : ma
ven
> if
> + table_name is alias! It cannot be TRUE in these cases, lots of spaghetti
> + logic depends on that.
could you elaborate on that?
> + */
>bool alias_name_used; /* true if item was resolved against alias */
>/*
> Cached value of index for this field
ce to
> table name rules, but we do it on parsing.
A derived table is still a table. But item->name isn't a name of a
defived, it's a name of the item. check_table_name is just incorrect
there, it will reject valid column names and will accept invalid column
names. A check_column_name funct
t; + !check_table_name(item->name, len, TRUE))
why check_table_name() if it isn't a table? it's an incorrect check to
use for columns.
> +item->print_item_w_name(str, query_type);
> + else
> +item->print(str, query_type);
> +}
>}
>
>/*
>
Regards
_QUERY)
> +if (thd->killed == ABORT_QUERY || thd->is_fatal_error)
> {
>error= 0;
>goto err;
that's kind of weird. Why does it continue executing if the statement is
killed? Perhaps it'd better be
if (thd->killed || thd->is_fa
gt;limit_rows_examined->val_uint());
> +thd->lex->get_limit_rows_examined());
> thd->abort_on_warning= saved_abort_on_warning;
> thd->reset_killed();
>}
How comes, it gets into ER_QUERY_EXCEEDED_ROWS_EXAMINED_LIMIT
if limi
est case. DROP ROLE would not clear all necessary role->role or
> role->user mappings.
>
> To fix the problem we ensure that the scan is restarted, only if an
> element was deleted / updated, similar to how bubble-sort keeps
> sorting until it f
ame);
>copy_string(m_mem_root, & m_cursor_name, & cond->m_cursor_name);
> + copy_value(& m_row_number, & cond->m_row_number);
That makes no sense. Other values were strings and had to be strdup-ed,
but that's a number, you can simply do
m_row_number= cond
the password from the
> cache
>
> Starting from 10.4 AUTH is not part of ACL_USER so changes have to be done
> over a copy, and bring in the cache only in case of success.
>
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
__
ar, it has to release those locks first. And you own the
lock->mutex. So the THD isn't going anywhere until you return from
thr_lock().
> (6) Please note that fix will not be ready 19th of October as we again
> change critical path, Ramesh will run QA with pquery
sure
> On Thu,
ut I didn't try to run it,
it's only to show the idea, not a working fix (I already suspect I
removed too much from wsrep_abort_transaction()). Note it's the patch
for 10.2 at the commit 29bbcac0ee8^ - that is one commit before my fix.
On Oct 12, Jan Lindström wrote:
> Hi S
t; > code. And an assert that will remind us to implement your gneralized
> > approach when the assumption will be broken.
>
> This code is not heavily loaded and should not affect performance.
> I prefer the generic way.
Feels like kind of a waste. We won't need this
em->type_handler_for_comparison() != _handler_long_blob
> >
> > won't do?
>
> We don't know. It's for a plugin to decide if its data type
> is stronger of weaker than CHAR/VARCHAR/TEXT.
> For INET6 and UUID we decided they are stronger.
> But eventually we may want to
while we are here or
> disconnect will not free THD.
>
> I created a new mtr-test (galera_to_error) also for the TOI error case and
> verified that after that you can't issue statements anymore
> including KILL QUERY.
>
> R: Jan
Regards,
Sergei
VP of MariaDB Server Engineering
Hi, Jan!
On Oct 10, Jan Lindström wrote:
> Hi Sergei,
> >
> > > if (victim_trx) {
> > > const trx_id_t victim_trx_id= victim_trx->id;
> > > const longlong victim_thread= thd_get_thread_id(victim_thd);
> > > /* This is necessary as cor
son() &&
> - return item->cmp_type() == STRING_RESULT &&
> charset() == cond->compare_collation();
This, basically, means, that cmp_type() is now meaningless, one cannot
use it anymore? There's no INET6_RESULT and UUID_RESULT for comparison,
so what's the point of cmp_type()
G_VOID_RETURN;
> }
>
> > > > By the way, how long can WSREP_TO_ISOLATION_BEGIN() take?
> > > > Does it need to wait for everything else being replicated?
> > >
> > > As long as it takes to start it on all nodes in the cluster.
> >
> > So, KILL bas
py constructor (protect from non-authorized usage)
"shallow"
> + ACL_USER(const ACL_USER &)= default;
> public:
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launch
wsrep_srv_conc_cancel_wait(victim_trx);
> DBUG_VOID_RETURN;
I don't understand, sorry. It's not quite clear what this patch should
apply to. May be you can paste what the new code should look like, not a
patch?
In particular, where are wsrep_thd_UNLOCK and wsrep_thd_LOCK. Are th
Hi, Jan!
On Oct 04, Jan Lindström wrote:
> Hi Sergei,
> > > +/* This is wrapper for wsrep_break_lock in thr_lock.c */
> > > +static int wsrep_thr_abort_thd(void *bf_thd_ptr, void *victim_thd_ptr,
> > > my_bool signal)
> > > +{
> > > + THD* victim_
> signal);
> lock_mutex_exit();
> trx_mutex_exit(victim_trx);
> wsrep_srv_conc_cancel_wait(victim_trx);
> +wsrep_thd_LOCK(victim_thd);
> DBUG_VOID_RETURN;
> } else {
> -wsrep_thd_LOCK(v
sh_warning(THD *thd,
> @@ -1191,7 +1194,7 @@ class Diagnostics_area: public Sql_state_errno,
>const char* msg)
>{
> return push_warning(thd, sqlerrno, sqlstate, level,
> -Sql_user_condition_identity(), ms
uot;sql_class.h"
==
Let's just accept that *if* one wants to include my_global.h,
it *has* to be included first. As Monty wants to be the case anyway.
On Sep 14, Alexey Botchkov wrote:
> Hi, Sergei.
>
> Unfortunately the taken ap
Hi, Alexey!
Looks good to me, thanks.
Please tell Sanja to rebase on top of that, push the result into a
preview-* branch, and update the TODO.
> So the patch with the abovementioned changes.
> 9ad45b41d385fca8215880cce1757ebe7f2396eb
>
Regards,
Sergei
VP of MariaDB Server Engineering
orms.
> + There is no sense to perform my_ascii_to_upper_magic_uint64() based
> + optimization on 32bit platforms. The idea of this optimization
> + is that it handles 8bytes at a time, using a 64bit CPU register.
> + Enabling this optimization on 32bit platform may only
_argv[index++]= *(pos);
>
>new_argv[index]= 0;
>argc= index;
>
>memcpy((char*)argv, (char*)new_argv, index*(sizeof(*new_argv)));
>
>/* Check out the args. */
>if (get_options(,))
> cleanup_and_exit(1);
>
>nargs= argc + 1;
>if (opt
No tests for that?
You can, for example, drop the table, and create a non-insertable view
with the same name.
CREATE VIEW mysql.password_reuse_check_history AS SELECT 1;
That should make the plugin to fail, right?
> +
> +
> +/**
> + Crea
Hi, Aleksey!
On Sep 10, Aleksey Midenkov wrote:
> On Fri, Sep 10, 2021 at 9:32 PM Sergei Golubchik wrote:
> > On Sep 10, Aleksey Midenkov wrote:
> > > revision-id: eb121bbe93e (mariadb-10.6.1-78-geb121bbe93e)
> > > parent(s): d90f54e2206
> > > author: Aleks
sub report_failure_and_restart ($) {
>
> sub run_system(@) {
>mtr_verbose("Running '$_[0]'");
> - my $ret= system(@_) >> 8;
> + my $ret= system(@_);
this seems wrong. `perldoc -f system` says
The return value is the exit status of the program as returned
by
+}
as I wrote earlier, this is wrong. DBUG_SUICIDE() must always be an
expression.
> +
> +#define ERROR_INJECT_CRASH(code) \
> + (DBUG_IF(code) && suicide())
> +#define ERROR_INJECT_ERROR(code) \
> + (DBUG_IF(code) && (my_error(ER_UNKNOWN_ERROR, MYF(0)), 1))
? (a1) : (a2))
> +#define DBUG_EVALUATE_IF(keyword,a1,a2) \
> +(_db_keyword_(0,(keyword), 1) ? (a1) : (a2))
> +#else
> +#define DBUG_EVALUATE(keyword,a1,a2) (a2)
> +#define DBUG_EVALUATE_IF(keyword,a1,a2) (a2)
> +#endif
> +
could you fix the test properly, plea
Hi, Rucha!
On Sep 08, Rucha Deodhar wrote:
> Hi, Sergei !
> Thanks for the review.
>
> > > diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c
> > > index b7f52382721..e2ec0b00923 100644
> > > --- a/extra/my_print_defaults.c
> > > ++
TRUE;
>
> + thd->set_time();
why? May be it should be executed using the timestamp of the top-level
statement?
> thd->set_n_backup_statement(this, _backup);
>thd->set_n_backup_active_arena(this, _backup);
>thd->stmt_arena= this;
Regards,
Sergei
VP of MariaDB S
; handle_options()
> + instead of original commandline.
> + */
> + new_argv= (char**)malloc(argc*sizeof(*org_argv));
> + for (pos= org_argv; *pos; pos++)
>{
> +if (!is_prefix(*pos, "--defaults-extra-file=") &&
> + !is_prefix(*pos, "--de
t;variables.dynamic_variables_head)
> + {
> +mysql_prlock_rdlock(_system_variables_hash);
> +sync_dynamic_session_variables(safe_thd, false);
> +mysql_prlock_unlock(_system_variables_hash);
> + }
> + mysql_mutex_unlock(_global_system_variables);
>
ode that doesn't allow to create users with grant?
I don't see where you've disabled that.
> +
> +#--error ER_NOT_VALID_PASSWORD
> +#grant select on *.* to user_name@localhost identified by 'test_pwd';
> +#show warnings;
why is that commented out?
> +
> +--er
iste MDEV-9245: add host to validate password interface
>
> Hostname added to the interface.
>
> Cracklib plugin fixed according to the new interface.
>
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mai
y_result(MYSQL *mysql)
> +
> extern "C" MYSQL *mysql_real_connect_local(MYSQL *mysql,
> -const char *host, const char *user, const char *passwd, const char *db)
> +const char *host, const char *user, const char *db,
you aren't using `host` or `db` for anything.
And I don't
.test or any traces of EXTRACT neither. I suspect you
broke dbug-t unit test, please, verify that it passes.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to
you can consider this argument and still prefer DBUG_IF.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubsc
Hi, Aleksey!
On Aug 26, Sergei Golubchik wrote:
> > >
> > > ALTER ... MOVE TABLE table_name TO PARTITION (...)
> > > ALTER ... MOVE PARTITION ... TO TABLE table_name
> > >
> > There is no MOVE symbol and we should not add a new one be
Hi, Aleksey!
On Sep 01, Aleksey Midenkov wrote:
> On Wed, Sep 1, 2021 at 10:20 PM Sergei Golubchik wrote:
> > On Sep 01, Aleksey Midenkov wrote:
> > > > >
> > > > > Looks like IF_DBUG is superfluous macro and should be replaced by
> > >
al_connection_name slave_thread_opts
> + START_SYM SLAVE optional_connection_name slave_thread_opts
> optional_for_channel
>{
> LEX *lex=Lex;
> lex->sql_command = SQLCOM_SLAVE_START;
Regards,
Sergei
VP of MariaDB Server Engineering
a
Hi, Aleksey!
On Sep 01, Aleksey Midenkov wrote:
> On Wed, Sep 1, 2021 at 10:13 PM Sergei Golubchik wrote:
> > On Sep 01, Aleksey Midenkov wrote:
> > > > >
> > > > > +move_out_partition:
> > > > > +MIGRATE_SYM PARTITION_SYM
ER_KEY_DOES_NOT_EXIST
> >ER_KEY_COLUMN_DOES_NOT_EXIST
> >ER_PARTITION_DOES_NOT_EXIST
> >ER_REORG_PARTITION_DOES_NOT_EXIST
>
> That is longer by the whole useless word...
It correct grammar. Messages looking bad otherwise.
Or, better, don't
trict user freedom to choose between verbosity and
> brevity. I guess you have a preference for perl over python (and the
> democracy over dictatorship).
I do. But it's SQL, not perl. SQL is very verbose even when it isn't
really justified. And here is is justified, so let's keep the syntax
$ grep -c DOES_NOT_EXIST sql/share/errmsg-utf8.txt
6
$ grep -c NOT_EXIST sql/share/errmsg-utf8.txt
7
So only one existing error message uses NOT_EXIST without DOES.
Let's keep the conventional naming. So, it should be
ER_KEY_DOES_NOT_EXIST
ER_KEY_COLUMN_DOES_NOT_EXIST
ER_PARTITION_DOES_NOT_EXIST
ER_REORG_PARTITI
tomicity was implemented
differently from what I've described? Then I'm sorry, I didn't intend to
suggest that you should implement yet another approach to DDL atomicity,
I was saying, please, do what other statements do.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@ma
Hi, Aleksey!
On Sep 01, Aleksey Midenkov wrote:
> On Wed, Sep 1, 2021 at 3:46 PM Sergei Golubchik wrote:
>
> Here
>
> #define DBUG_SUICIDE() do { } while(0)
>
> DBUG_SUICIDE is not an expression. It's a statement and cannot be used
> in expression.
Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table();
> if (unlikely(Lex->m_sql_cmd == NULL))
>MYSQL_YYABORT;
> -Lex->alter_info.partition_flags|= ALTER_PARTITION_EXTRACT;
> +Lex->alter_info.partition_flags|= ALTER_PARTITION_MIGRATE_OU
with DBUG_EVALUATE_IF. And DBUG_EVALUATE is not used anywhere,
I've just grepped. Remove it too?
> -#define DBUG_EVALUATE_IF(keyword,a1,a2) \
> -(_db_keyword_(0,(keyword), 1) ? (a1) : (a2))
> +#define DBUG_IF(keyword) _db_keyword_(0, (keyword), 1)
> #define DBUG_PRINT(keyword,arglist) \
>
// LEX_CUSTRING
>
> +inline bool suicide()
> +{
> + DBUG_SUICIDE();
> + return false;
> +}
> +
> #define ERROR_INJECT_CRASH(code) \
> - (DBUG_IF(code) && (DBUG_SUICIDE(), 0))
> + (DBUG_IF(code) && suicide())
What did that change? A co
Hi, Aleksey!
On Aug 30, Aleksey Midenkov wrote:
> Hi Sergei!
>
> Updated bb-10.7-midenok-MDEV-22166 is d4668e7254c6
I'll look right after replying to this email.
> > Okay, indeed, it seems that DBUG_EVALUATE_IF is almost always used with
> > one of the arguments being 0
Hi, Aleksey!
On Aug 26, Aleksey Midenkov wrote:
> Hi Sergei!
>
> The updated branch is cabd0530 bb-10.7-midenok-MDEV-22166
Commits
cabd0530426 Parser refactoring
db69d4eb025 Cleanups
are fine, thanks. The main change in the simplified diff is:
> diff --git a/sql/log_event_ser
log) &&
> > > + (write_bin_log(thd, FALSE,
> > > +thd->query(), thd->query_length()), FALSE)) ||
> >
> > if you crash here, what will roll forward on recovery and
> > drop the backup? The log is already closed here
TITION))
> diff --git a/mysql-test/include/lcase_names.inc
> b/mysql-test/include/lcase_names.inc
> new file mode 100644
> index 000..e69de29bb2d
better put here some comment, like in other dummy *.inc files
see e.g. platform.inc or protocol.inc
> diff --git a/mysql-test/suite/atomi
Hi, Aleksey!
On Aug 24, Aleksey Midenkov wrote:
> Hi Sergei!
>
> Really, this is not pure refactoring. I've been planning to remove it
> if it will not be useful for MDEV-22165 (that task should be based on
> this branch). Meanwhile, can you please review other commits?
Yes, I'm
wed_packet);
> +goto error_exit;
> + }
> + return s;
> +
> +error_exit:
> + null_value=true;
> + return nullptr;
> +}
> +
> +
> +my_wc_t Item_func_natural_sort_key::decimal_separator()
> +{
> + if (m_decimal_separator != DECIMAL_SEP_UNDEFIN
estamp, my_progname_short);
Because
MariaDB [test]> select timestamp'2010!@#$%';
ERROR 1525 (HY000): Incorrect DATETIME value: '2010!@#$%'
> +return(EX_USAGE);
> + }
>if (strcmp(default_charset, charset_info->csname) &&
>!(charset_info= get_charset
just remove the if? I tried, at least
> > the main suite didn't break.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.
rst,
> I would only push down functions if they operate over just one column
> of the same table. Things can be made more complicated in the future,
> of course.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing li
erent (I haven't seen 'lcount' to have the same
> line_number), so the hash is different and += doesn't take effect.
it's for the case like, say, THD::exit_cond() - an inline method defined
in sql_class.h. It's included in many .cc files and many *.gcov files
will have lcount data fo
safer and more logical to fix specifically field creation
for UNION.
I've discussed it with Bar, who implemented this whole Type_handler
hierarchy, he suggested to use Type_handler::union_element_finalize()
for that. I've attached the patch that does that.
union_element_finalize() is for 10.4,
$gcov_file_json;
> +gunzip "$_.gcov.json.gz" => \$gcov_file_json or die
> "gunzip($_.gcov.json.gz): $GunzipError";
> +my $obj= decode_json $gcov_file_json;
> +for my $file (@{$obj->{files}}) {
> + $fname= $file->{file};
and write `my $
t; + }
> > > + table->move_fields(table->field, table->record[0], rec_buf);
> >
> > On swap_blobs() you always move all fields from rec_buf to table->record[0]?
> > Why?
> > This looks very suspicious.
>
> Have you seen the first move_fields() ca
OF' time
> is applied and `now()` can be assumed
>
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : http
4e0ec4686
^
This is wrong, please, remove it from your commit
Otherwise ok to push
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-develop
binlog file that contains
> events which can't pass checksum verification.
> A work-around is done to accept that binlog and evade recovery.
>
> binlog_recover_checksum_error needed refinement as
> the master-checksum-verify configured server is made to stop
>
l die after interactive_timeout or wait_timeout. And then you
shutdown the server after max_idle_execution.
So instead of shutting down the server when there are connections,
I'd suggest to autoset interactive_timeout and wait_timeout to be in
line with max_idle_execution. Like, 10 mins, or, may be
if (IS_SY
Hi, Rucha!
On Jul 23, Rucha Deodhar wrote:
> On Fri, Jul 23, 2021 at 1:55 PM Sergei Golubchik wrote:
> >
> > Consider this - thd->killed can be changed literally any time. We cannot
> > test for it after every second line, can we? Clearly some places are
> > be
e before the
warning? or after it.remove() ?
Consider this - thd->killed can be changed literally any time. We cannot
test for it after every second line, can we? Clearly some places are
better for this test than others.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
xeceeds
> + maximum session memory used), return TRUE and do rollback (done
> later).
> +*/
> +if (thd->killed)
> + DBUG_RETURN(true);
> it.remove();
Looks like a completely arbitrary place to put a check in.
ields instead of '*' for qualified asterisk in RETURNING,
> use first_name_resolution_table for correct resolution of item.
>
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
P
first;
TABLE_LIST *TABLE_LIST::* next;
if (returning_field || !table_name)
or reverse your condition:
TABLE_LIST *first= context->first_name_resolution_table;
TABLE_LIST *TABLE_LIST::* next= _LIST::next_name_resolution_table;
if (table_name &&
Hi, Nayuta!
Ok to push.
Thanks!
On Jul 22, Nayuta Yanagisawa wrote:
> Hi Sergei!
>
> > I agree, it is wrong that implicit GROUP BY has no place in the Query
> > structure. Does Spider work correctly for, say, `SELECT COUNT(*)` or
> > `SELECT SUM(a)` - that is, for othe
Hi, Nayuta!
On Jul 21, Nayuta Yanagisawa wrote:
> Hi Sergei,
>
> Thank you for your review!
>
> > If DISTINCT was coverted to a GROUP BY, why would the engine need to
> > know whether there was DISTINCT or not originally? There is no
> > DISTINCT on the e
cached(set_read_value);
> + if (cached)
> + {
> +cached->swap(s.blob);
> +s.set_read_value= set_read_value;
> + }
> + }
> + }
> + table->move_fields(table->field, table->record[0], rec_buf);
On swap_blobs() you always move a
Hi, Aleksey!
On Jun 10, Aleksey Midenkov wrote:
> On Thu, Jun 3, 2021 at 1:58 PM Sergei Golubchik wrote:
> > Hi, Aleksey!
> >
> > On Jan 26, Aleksey Midenkov wrote:
> > > On Tue, Dec 22, 2020 at 7:58 PM Sergei Golubchik wrote:
> > &
st, conds, group_list, order ? order :
> group_list, having};
If DISTINCT was coverted to a GROUP BY, why would the engine need to
know whether there was DISTINCT or not originally? There is no DISTINCT
on the execution plan now, that should be sufficient, shouldn't it?
Why does the query f
amp: 2021-07-15 13:29:25 +0530
> message:
>
> MDEV-25908: -e does not work for my_print_defaults
>
> Analysis: -e is very inconsistent with how --default* options work in any
> other
> executable.
> Fix: Removed the support for -e starting from 10.7 to avoid inconsistency in
that your commit passes buildbot, then
ask for a review.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https:/
+id CASE name WHEN 'Alice' THEN "A" WHEN 'Bob' THEN "B" END
> +1A
> +2B
a _very_ slight preference - could you use different names for local
(spider) and remote tables?
That is, by all means, please, follow the conventions that are used in
existing spider tests. But if it
Hi, Nikita!
On Jul 19, Sergei Golubchik wrote:
>
> > The commits can be found at bb-10.3-nikita-old for now.
>
> I'll take a look
The diff 19aebbd1b89fe^..01ab3db8c73 looks pretty good to me,
ok to push
Regards,
Sergei
VP of MariaDB Server Engineering
and secur
Hi, Nikita!
On Jul 19, Nikita Malyavin wrote:
> Hello, Sergei!
>
> 1. What you ask was done in 01ab3db8c7 "make all conversions in check() to
> avoid possible errors". It was mentioned in the previous discussion btw
I didn't review it, did I?
All I have is
2d73406dad8:
solution_table;
+ TABLE_LIST *TABLE_LIST::* next= _LIST::next_name_resolution_table;
+ if (table_name)
+ {
+first= context->table_list;
+next= _LIST::next_local;
+ }
+ for (TABLE_LIST *tables= first; tables; tables= tables->*next)
{
Field *field;
TABLE *table= tables->tab
qld
> mysql.server
> +--echo # Testing --defaults-file
> +--exec $MYSQL_MY_PRINT_DEFAULTS
> --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp2.cnf --mysqld mysql.server
> +
> +--echo # Testing -g option
> +--exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQLTEST_VARDIR/tmp/tmp3.cnf --mysqld
gt; +}
> +return (error != 0);
>}
>
> public:
>virtual bool global_update(THD *thd, set_var *var)
>{
> -return update(var, global_var(vers_asof_timestamp_t), thd->variables);
> +return update(thd, var, _var(vers_asof_timestamp_t));
>
,
> we could not simply convert HA_READ_AFTER_KEY to '>'.
>
> The correct conversion is to convert HA_READ_AFTER_KEY to '>'
> only for the last column in key_part_map and to convert
> HA_READ_AFTER_KEY to '>=' for the other column.
>
> The similar discussion also appli
buffer we are reading
> from.
Regards,
Sergei
VP of MariaDB Server Engineering
and secur...@mariadb.org
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad
92:
> +return 1536;
> + default:
> +return REC_VERSION_56_MAX_INDEX_COL_LEN;
> + }
dunno, why would you duplicate the whole switch logic?
can you just
- return(REC_VERSION_56_MAX_INDEX_COL_LEN);
- return MY_MIN(max_supported_key_length(),
REC_VERSION_56_MAX_IND
aults-file-name=$basedir/my.cnf"
eh. -e is --defaults-extra-file
same below.
> else
>if test -r "$datadir/my.cnf"
>then
> -extra_args="-e $datadir/my.cnf"
> +extra_args="--defaults-file-name=$datadir/my.cnf"
>fi
> fi
>
he string, because of
if (!real_binary_mode && strlen(line) != line_length)
...
in other words, shouldn't we just remove the if? I tried, at least the
main suite didn't break.
> +break; // readline adds one '\'
>if (*in_string || inch
> I set thd->lex->sql_command for check_update_fields() so it is
> possible now to distinguish fix_fields() of INSERT from fix_fields()
> of ODKU. I used the value of SQLCOM_UPDATE though it is probably good
> to add something like SQLCOM_DUPKEY_UPDATE. What do you think?
> Proba
gt;table->record[0]
is the current record for the table1, and
f1->field->ptr
is the pointer to the field1 value in that currect record
> Thanks a lot for your help,
>
> Eduardo Berrocal García de Carellán
> Senior Software Engineer
> Intel Corporation | intel.com<
ble_list->next_global)
> {
> - if (!table_list->is_view() &&
> + if (table_list->table &&
why do you check for table_list->table ?
Can it happen that table_list->table == NULL and
table_list->is_base_table() == true?
> + table_list->is
201 - 300 of 2336 matches
Mail list logo