Re: [Maria-developers] ceb75e9bd9e: MDEV-30203: Move mysql symlinks to different package (fixes)

2023-02-10 Thread Daniel Black
On Fri, Feb 10, 2023 at 6:20 AM Sergei Golubchik  wrote:
>
> Hi, Daniel,
>
> On Feb 09, Daniel Black wrote:
> > revision-id: ceb75e9bd9e (mariadb-10.11.1-152-gceb75e9bd9e)
> > parent(s): 526fce28b90
> > author: Daniel Black
> > committer: Daniel Black
> > timestamp: 2023-02-09 12:20:57 +1100
> > message:
> >
> > MDEV-30203: Move mysql symlinks to different package (fixes)
> >
> > Fixes MDEV-30571 MariaDB-client does not pull MariaDB-compat anymore,
conflicts with RHEL packages
> >
> > Fixes MDEV-30574 MariaDB-server conflicts with MariaDB-common from
previous versions
> >
> > MariaDB-Server now depends on MariaDB-common 11.0+.
> >
> > MariaDB-{Client,Server} append to the Requirements rather than
overriding them.
> >
> > MariaDB-Server package now depends on the MariaDB-client 11.0+.
> >
> > Because of moves between packages MariaDB-Client conflicts with
> > MariaDB-server < 11.0.0.
> >
> > diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
> > index 638f6b2dabb..e88a5493eac 100644
> > --- a/cmake/cpack_rpm.cmake
> > +++ b/cmake/cpack_rpm.cmake
> > @@ -189,7 +189,7 @@ FOREACH(SYM_COMPONENT Server Client)
> >SET(CPACK_RPM_${SYM}_PACKAGE_ARCHITECTURE "noarch")
> >SET(CPACK_RPM_${SYM}_USER_FILELIST ${ignored})
> >STRING(TOLOWER ${SYM_COMPONENT} SYM_COMPONENT_LOWER)
> > -  SET(CPACK_RPM_${SYM}_PACKAGE_REQUIRES
"MariaDB-${SYM_COMPONENT_LOWER} >= 11.0.0")
> > +  SETA(CPACK_RPM_${SYM}_PACKAGE_REQUIRES
"MariaDB-${SYM_COMPONENT_LOWER} >= 11.0.0")
>
> why?
>

Small bit of caution with a number of places adding REQUIRES to use SETA
over SET in case the order of evaluation isn't consistent and this isn't
executed first.

No immediate fix resulted from this but it seemed prudent to keep.


> >SETA(CPACK_RPM_${SYM_COMPONENT_LOWER}_PACKAGE_RECOMMENDS
"MariaDB-${SYM}")
> >  ENDFOREACH()
> >
> > @@ -205,10 +205,10 @@ SETA(CPACK_RPM_client_PACKAGE_PROVIDES
> >"mysql-client"
> >"mytop")
> >  SETA(CPACK_RPM_client_PACKAGE_CONFLICTS
> > -  "MariaDB-server < 10.6.0")
> > +  "MariaDB-server < 11.0.0")
>
> because of resolve-stack-dump, ok
>
> >  SETA(CPACK_RPM_common_PACKAGE_CONFLICTS
> > -  "MariaDB-server < 10.6.1")
> > +  "MariaDB-server < 11.0.0")
>
> why?

No good reason. reverted. d385856d10883029e7e2c7904603dc6774e5e338, which
resolved the MDEV-30571 MariaDB-common depends on MariaDB-compat for
unexplained reasons.

[root@localhost ~]# rpm -qlp MariaDB-common-11.0.0-1.el7_9.x86_64.rpm
 --requires | grep com
MariaDB-compat
libcom_err.so.2()(64bit)

Additionally an explicit MariaDB-client -> MariaDB-common requirement
3294ef9186beb0842ad1ba38d4952b9a7fc2a7e8 to satisfy the rest of MDEV-30571.

I'm just waiting for the end of the bb build to validate this properly.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] f984f49fba7: MDEV-30203 - deb fix piuparts

2022-12-20 Thread Daniel Black
Latest clean version: https://github.com/MariaDB/server/pull/2390

note https://github.com/MariaDB/server/pull/2382 is required as without it,
the compat packages are required.

Salsa happiness with two combined:

https://salsa.debian.org/grooverdan/mariadb-server/-/pipelines/473457

Lintian is noisy, but that was there already. WIP exists elsewhere to clean
it up.

Packages coming to https://ci.mariadb.org/31092/ in the next hr for
reference (has both #2382 and #2390)
from branch bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages-salsa
(same as Salsa).

On Wed, Dec 21, 2022 at 6:59 AM Sergei Golubchik  wrote:

> Hi, Daniel,
>
> On Dec 20, Daniel Black wrote:
> > updated as bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages on top
> > of bb-11.0-serg branch
>
> please, rebase again (your three commits adjusting tests to 11.0 will
> disappear). Also, see below:
>

done


>
> > > > diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
> > > > index 3f3b4e4a9b5..a4eb6c2b42c 100644
> > > > --- a/cmake/symlinks.cmake
> > > > +++ b/cmake/symlinks.cmake
> > > > @@ -12,7 +12,6 @@ endmacro()
> > > >  REGISTER_SYMLINK("mariadb" "mysql")
> > > >  REGISTER_SYMLINK("mariadb-access" "mysqlaccess")
> > > >  REGISTER_SYMLINK("mariadb-admin" "mysqladmin")
> > > > -REGISTER_SYMLINK("mariadb-backup" "mariabackup")
> > >
> > > better not. there're scripts that might be using it.
> > > This is why I suggested `strncmp(my_progname, "mariadb", 7)`
> > > and not `strncmp(my_progname, "maria", 5)` in your PR
> >
> > ok. Moved to direct link creation as REGISTGER_SYMLINK is used to
> > determine compat links.
>
> Why not to use compat links? I mean, you create compat links for the
> test component and manually list it for
>
> +SET(CPACK_COMPONENT_TESTSYMLINKS_GROUP "test")
>
> so it doesn't create MariaDB-test-compat. This would work for backup
> too, wouldn't it?
>

right, done.


>
> > sure, lets try - pushed
> > bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages
> >
> > https://salsa.debian.org/grooverdan/mariadb-server/-/pipelines/472980
>
> apparently salsa was unhappy with it. "missing breaks".
> does it mean we have to keep that?
>
>
afraid so.

I've stuck with Conflicts only based on
https://www.debian.org/doc/debian-policy/ch-relationships.html

> > > --- a/debian/mariadb-backup.install
> > > > +++ b/debian/mariadb-backup.install
> > > > @@ -1,6 +1,4 @@
> > > > -usr/bin/mariabackup
> > >
> > > same here. needs mariadb-backup-compat
> >
> > for the time being I've kept mariadb-backup as the only package (no
> > mariadb-backup-compat) and it still has the exe symlink
> >
> > > >  usr/bin/mariadb-backup
> > > >  usr/bin/mbstream
> > > > -usr/share/man/man1/mariabackup.1
> >
> > but this man link is removed.
>
> why did you remove this man symlink? I thought Debian is pretty strict
> on having manpages for everything
>

handled man pages for this and s3/rocksdb engine better in the updated
branch
(man pages are actually in the X-engine package rather than server).
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] f984f49fba7: MDEV-30203 - deb fix piuparts

2022-12-19 Thread Daniel Black
updated as bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages on top
of bb-11.0-serg branch

On Tue, Dec 20, 2022 at 2:16 AM Sergei Golubchik  wrote:

> Hi, Daniel,
>
> This is a review of `git diff 12786f0e779f 5f76981eb649`, that is, for
> commits:
>
> 5f76981eb64 rpm: packages that dont match component name
> 25eaa0aebfa MDEV-30205: [Cmtr: suite look in mariadb-test path
> 0981201f027 mtr - wsrep use mariadb executables
> eba0b35035a mtr: maradb names for *embedded and mariadb-client-test
> 974ca88f0fe deb: fix autotest - exclude for MDEV-30205
> b19d75408bb Deb: Breaks/Replaces/COnflicts
> c60f0341950 MDEV-30203 deb breaks/replaces on compat packages
> f984f49fba7 MDEV-30203 - deb fix piuparts
> 310d025ff0d MDEV-30205: fix deb autopkgtest
> 89f6cf47ee2 rpm: fix packaging of compat/non-compat scripts links
> 494ed76d15a deb: mysqlhotcopy to mariadb-client-compat
> d03075f3a1f deb: server-core mysql* -> server-compat
> 9453812193d wsrep_sst_mariabackup to use mariadb-backup (and message
> accordingly)
> a4f843a7a5a Fix uncollected symlink
> eb9a469bf9a Add package recommended dependencies
> c135be62274 Remove duplicate entry
> 84c7cd29c61 Fix Debian packaging for mariabackup
> 5dbc7ae8bb4 MDEV-30203: compat packages - RPM  remove mariabackup link
> eb4fa5d750f MDEV-30203: debian - make compat packages
> d4be0b9be73 MDEV-30203: Create mysql symlink packages (RPM) - scripts
> 441879fd493 MDEV-30203: Create mysql symlink packages (RPM)
>
> On Dec 19, Daniel Black wrote:
>
> > diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
> > index 339363b2169..7b48fd64f4c 100644
> > --- a/cmake/cpack_rpm.cmake
> > +++ b/cmake/cpack_rpm.cmake
> > @@ -85,6 +85,35 @@ SET(CPACK_RPM_server_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> >  SET(CPACK_RPM_test_PACKAGE_SUMMARY "MariaDB database regression test
> suite")
> >  SET(CPACK_RPM_test_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> >
> > +# "set/append array" - append a set of strings, separated by a space
> > +MACRO(SETA var)
> > +  FOREACH(v ${ARGN})
> > +SET(${var} "${${var}} ${v}")
> > +  ENDFOREACH()
> > +ENDMACRO(SETA)
> > +
> > +FOREACH(SYM_COMPONENT Server Client Test)
> > +  SET(SYM ${SYM_COMPONENT}_symlinks)
> > +  string(TOLOWER ${SYM} SYM)
>
> * why all cmake commands are uppercase, but `string` is lowercase?
> * SET is redundant, you can do
>
>   STRING(TOLOWER ${SYM_COMPONENT}_symlinks SYM)
>
> ack


> * may be, better to use ${SYM_COMPONENT}-symlinks ?
>   Like in MariaDB-server-symlinks ?
>

Ack, at some point it was assumed to be finicky about "-", but really it
was the case.


>
> > +  SET(SYMCOMP ${SYM_COMPONENT}Symlinks)
> > +  string(TOUPPER ${SYMCOMP} SYMCOMP_UPPER)
> > +  SET(CPACK_COMPONENT_${SYMCOMP_UPPER}_GROUP "${SYM}")
> > +  SET(CPACK_COMPONENTS_ALL "${CPACK_COMPONENTS_ALL}" "${SYMCOMP}")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_SUMMARY "MySQL compatible symlinks for
> MariaDB database ${SYM_COMPONENT} binaries/scripts")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_ARCHITECTURE "noarch")
> > +  SETA(CPACK_RPM_${SYM_COMPONENT}_PACKAGE_RECOMMENDS "MariaDB-${SYM}")
>
> You forgot to say that symlink package DEPENDS on the non-symlink package
>
>
ack


> > +ENDFOREACH()
> > +
> > +# TODO change to 11.0 on rebase
> > +SETA(CPACK_RPM_client_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-client < 10.11.2"
> > +  "MariaDB-server < 10.11.2")
> > +SETA(CPACK_RPM_server_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-server < 10.11.2")
> > +SETA(CPACK_RPM_test_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-test < 10.11.2")
> > +
> >  # libmariadb3
> >  SET(CPACK_RPM_shared_PACKAGE_SUMMARY "LGPL MariaDB database client
> library")
> >  SET(CPACK_RPM_shared_PACKAGE_DESCRIPTION "This is LGPL MariaDB client
> library that can be used to connect to MySQL
> > diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
> > index 3f3b4e4a9b5..a4eb6c2b42c 100644
> > --- a/cmake/symlinks.cmake
> > +++ b/cmake/symlinks.cmake
> > @@ -12,7 +12,6 @@ endmacro()
> >  REGISTER_SYMLINK("mariadb" "mysql")
> >  REGISTER_SYMLINK("mariadb-access" "mysqlaccess")
> >  REGISTER_SYMLINK("mariadb-admin" "mysqladmin")
> > -REGISTER_SYMLINK("mariadb-backup" "mariabac

Re: [Maria-developers] How to know when a FUNCTION is AGGREGATE?

2022-06-17 Thread Daniel Black
On Wed, Jun 15, 2022 at 3:36 PM Martijn Tonies (Upscene Productions) <
m.ton...@upscene.com> wrote:

>
> Here's another one that MariaDB could fix ;)
>

Or anyone that can contribute.


> https://bugs.mysql.com/bug.php?id=11082


Can you please create an issue in our bug tracker. While we'll occasionally
search bugs.mysql.com, its not tracked.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-10654] Review request

2021-11-03 Thread Daniel Black
Manohar,

Thank you very much for your contribution.

This isn't an area of code I'm particularly familiar with however I'll
find someone who is.

Is this code really only applicable in ORACLE mode? I think its ok if
it isn't the syntax doesn't conflict with non-oracle mode, provide the
default is sp_variable::MODE_IN.

What would significantly help is writing a test case. Enough to
demonstrate the OUT / INOUT portions of the code, and that the error
is generated when incorrectly called.

Create a new file like mysql-test/suite/compat/oracle/t/ps.test (or
mysql-test/main/function.test) that creates functions, calls them in a
way that their results can be observed and the behaviour recorded.

Use --error ER_SF_OUT_INOUT_ARG_NOT_ALLOWED before the SQL statements
that generate errors.

Use mtr --record {file} to record the result file, check its contents
is what is expected.

Append and force push to the same branch. Rebase to 10.7 latest if you
are comfortable.


On Tue, Nov 2, 2021 at 11:59 AM Manohar K B  wrote:
>
> Hi All,
>
> Good day.
>
>
>
> I have fixed ticket MDEV-10654 and raised PR.
>
> Can someone kindly review it?
>
>
>
> This is the first time I am contributing to MariaDB,
>
> so please guide me if I missed anything.
>
>
>
> Best regards,
>
> Manohar.
>
>
>
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] INSTEAD OF triggers

2021-10-04 Thread Daniel Black
Alexandre,

Are you still interested in implementing MDEV-12151 ?

It's a useful feature, and in my previous email I was just making sure
that if MariaDB partitions suited your needs you could use them.

If you'd still like to implement INSTEAD OF triggers we''d be happy to
help you on the journey.


On Tue, Sep 28, 2021 at 7:05 AM Nikita Malyavin
 wrote:
>
> Hello Alexandre!
>
> I think it's better to start from finding the complete reference of the 
> feature, so you (and everybody else) would clearly understand all the details 
> and corner cases.
>
> Then you can create a jira task (if it's not there yet) to track all the 
> notes and maybe progress: jira.mariadb.com
> [Please, use the search first]
> Anyway you'll need the task, because it's ID is required to be in git commit 
> header and a pull request.
>
>
> Good luck with the research!
>
> Nikita Malyavin
> Software engineer of Mariadb
>
> 24-09-2021 г., 18:44 Alexandre hadjinlian guerra :
>>
>> Hello
>>
>> Im looking forward to implement this feature in MariaDB, and will look after 
>> trigger definition code/modules in MariaDB, but any wisdom that could be 
>> shared to speed up my efforts would be greatly appreciated.
>>
>> The idea is to provide the same functionality as describe here
>> https://aws.amazon.com/pt/blogs/database/implementing-table-partitioning-in-oracle-standard-edition-part-1/
>
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] INSTEAD OF triggers

2021-09-27 Thread Daniel Black
Opps, meant to send to list too.

On Sat, Sep 25, 2021 at 5:28 PM Daniel Black  wrote:
>
> Hi Alexandre,
>
> Given the aws blog is written around that Oracle SE doesn't have
> partitions and EE does, does it still make sense with MariaDB (that
> includes partitions as standard -
> https://mariadb.com/kb/en/partitioning-tables/)?
>
> Take a look at the way partitions are implemented, they may offer what
> you plan to write in a slightly different way.
>
> If you are sure you want to embark on this journey,  there is a
> feature request for this issue
> https://jira.mariadb.org/browse/MDEV-12151
>
> Recommend starting by describing exactly what you plan to implement in
> this issue. Reference existing implementations like
> https://www.postgresql.org/docs/current/sql-createtrigger.html make
> notes of differences and what you plan to cover (and not cover)
>
> I assume you've come across the generic
> https://mariadb.org/get-involved/getting-started-for-developers/ .
> Start with a fork from the 10.7 branch
>
> First bit is sql/sql_yacc.yy trg_action_time that is the parsing syntax.
>
> If you `git grep TRG_ACTION_AFTER` the code you should contain the
> places that will need a TRG_ACTION_INSTEAD_OF handling.
>
> Also look at the set of tests  in $ find mysql-test -name \*trigger\*
>
> Any problems, find us on
> https://mariadb.zulipchat.com/#narrow/stream/118759-general for some
> more realtime  help.
>
> On Sat, Sep 25, 2021 at 1:44 AM Alexandre hadjinlian guerra
>  wrote:
> >
> > Hello
> >
> > Im looking forward to implement this feature in MariaDB, and will look 
> > after trigger definition code/modules in MariaDB, but any wisdom that could 
> > be shared to speed up my efforts would be greatly appreciated.
> >
> > The idea is to provide the same functionality as describe here
> > https://aws.amazon.com/pt/blogs/database/implementing-table-partitioning-in-oracle-standard-edition-part-1/
> >
> > Thanks
> >
> > ___
> > Mailing list: https://launchpad.net/~maria-developers
> > Post to : maria-developers@lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~maria-developers
> > More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Old buildbot 10.5 branch failure review

2021-03-18 Thread Daniel Black
On Fri, Mar 19, 2021 at 11:24 AM Elena Stepanova  wrote:

> Hi Otto,
>
> On 3/18/21 8:50 AM, Otto Kekäläinen wrote:
> > Hello!
> >
> > I noticed there are quite a lot of upgrade test failures on the 10.5
> > branch, which is a stable release and should definitely be all green
> > all the time.
> >
> > Here is quick review of those issues with suggested fixes. Maybe
> > Daniel or Elena can do them?
> >
> > They are all easy ones and would make 7 currently red CI steps turn into
> green.
> >
> >
> > ## Overview:
> >
> http://buildbot.askmonty.org/buildbot/grid?branch=10.5=main=experimental
> >
> > ## kvm-deb-buster-amd6 minor-upgrade-all
> > (
> http://buildbot.askmonty.org/buildbot/builders/kvm-deb-buster-amd64/builds/3995/steps/minor-upgrade-all/logs/stdio
> ):
> >
> > ++ diff -U1000
> /home/buildbot/mariadb.org-tools-master/buildbot/baselines/ldd.10.5.buster.amd64
> > /home/buildbot/ldd.new
> > ---
> /home/buildbot/mariadb.org-tools-master/buildbot/baselines/ldd.10.5.buster.amd64
> > 2021-03-16 21:03:04.0 -0400
> > +++ /home/buildbot/ldd.new 2021-03-17 17:23:42.066634818 -0400
> > - liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1
> >
> > Seems some dependency stopped including liblz4. This didn't affect
> > MariaDB. This is a valid change and the fix is to "reset" the
> > ldd.10.5.buster.amd64 file on buildbot.askmonty.org so that there
> > would be no diff no more.
> >
>
> It says that ha_mroonga.so which was linking with liblz4 isn't anymore.
> I don't know why it happened, and maybe it's legit this time, but this
> is exactly the situation for which this whole check was added, and
> mroonga seems to have a lot of code related to lz4; so I will need
> someone's (probably Sergei's) confirmation that it's expected before I
> change the baseline. Or maybe Daniel knows why it has happened, that
> will also be sufficient.
>

I did a brief look yesterday. It seems parts of mroonga are configured to
use lz4.

So it seems like a legitimate failure, however I haven't looked at why it
stopped finding /linking against it.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 7807d9b6939: MDEV-22974: mysql_native_password make "invalid" valid

2020-10-30 Thread Daniel Black
That works for me.

Pushed first patch with above simple fix.

On Sat, Oct 31, 2020 at 4:45 AM Sergei Golubchik  wrote:
>
> Hi, Daniel!
>
> On Oct 26, Daniel Black wrote:
> > On Thu, Oct 22, 2020 at 8:25 PM Sergei Golubchik  wrote:
> > >
> > > Hi, Daniel!
> > >
> > > On Oct 22, Daniel Black wrote:
> > > > @@ -14539,6 +14539,12 @@ static int native_password_get_salt(const char 
> > > > *hash, size_t hash_length,
> > > >
> > > >if (hash_length != SCRAMBLED_PASSWORD_CHAR_LENGTH)
> > > >{
> > > > +if (hash_length == 7 && strcmp(hash, "invalid") == 0)
> > > > +{
> > > > +  memcpy(out, "invalid", 7);
> > > > +  *out_length= 7;
> > > > +  return 0;
> > > > +}
> > >
> > > okay. After you said ASAN, I think I can see why this could be
> > > problematic.
> > >
> > Updated:
>
> I don't see why you did it that complex with invalid_password and
> everything. It seems you could've fixed the ASAN error from your first
> patch with just
>
> @@ -14498,7 +14498,7 @@ static int 
> native_password_authenticate(MYSQL_PLUGIN_VI>
>info->password_used= PASSWORD_USED_YES;
>if (pkt_len == SCRAMBLE_LENGTH)
>{
> -if (!info->auth_string_length)
> +if (info->auth_string_length != SCRAMBLE_LENGTH)
>DBUG_RETURN(CR_AUTH_USER_CREDENTIALS);
>
>  if (check_scramble(pkt, thd->scramble, (uchar*)info->auth_string))
>
> 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.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 7807d9b6939: MDEV-22974: mysql_native_password make "invalid" valid

2020-10-26 Thread Daniel Black
On Thu, Oct 22, 2020 at 8:25 PM Sergei Golubchik  wrote:
>
> Hi, Daniel!
>
> On Oct 22, Daniel Black wrote:
> > SHOW CREATE USER; dilignently uses this value in its output
> > generating the SQL:
> >
> >MariaDB [(none)]> show create user;
> >
> >
> > +---+
> >| CREATE USER for dan@localhost  
> >|
> >
> > +---+
> >| CREATE USER `dan`@`localhost` IDENTIFIED VIA mysql_native_password 
> > USING 'invalid' OR unix_socket |
> >
> > +---+
> >
> > Attempting to execute this before this patch resutls in:
> >
> >   MariaDB [(none)]>  CREATE USER `dan2`@`localhost` IDENTIFIED VIA 
> > mysql_native_password USING 'invalid' OR unix_socket;
> >   ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
> >
> > As such deep the the implementation of mysql_native_password we make
> > "invalid" valid (pun intended) such that the above create user will
> > succeed.
> >
> > native_password_get_salt is only called in the context of
> > set_user_salt, so all setting of native passwords to hashed content of
> > 'invalid', quite literally create an invalid password.
> >
> > So other forms of "invalid" are valid SQL in creating invalid passwords:
> >
> >MariaDB [(none)]> set password = 'invalid';
> >Query OK, 0 rows affected (0.001 sec)
> >
> >MariaDB [(none)]> alter user dan@localhost IDENTIFIED BY PASSWORD 
> > 'invalid';
> >Query OK, 0 rows affected (0.000 sec)
> >
> > diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
> > index d94016b7815..3cd7a67ae1a 100644
> > --- a/sql/sql_acl.cc
> > +++ b/sql/sql_acl.cc
> > @@ -14539,6 +14539,12 @@ static int native_password_get_salt(const char 
> > *hash, size_t hash_length,
> >
> >if (hash_length != SCRAMBLED_PASSWORD_CHAR_LENGTH)
> >{
> > +if (hash_length == 7 && strcmp(hash, "invalid") == 0)
> > +{
> > +  memcpy(out, "invalid", 7);
> > +  *out_length= 7;
> > +  return 0;
> > +}
>
> okay. After you said ASAN, I think I can see why this could be
> problematic.
>
> You can, of course, pad it to SCRAMBLED_PASSWORD_CHAR_LENGTH, but then
> you'll create a *valid* scramble that would correspond to some actual
> password.

yikes.

> One option would be to allow "invalid" literal in set_user_auth(),
> before even any plugin checks. But I'm unsure of the implications.
>

Updated:

bb-10.4-danielblack-MDEV-22974-mysql_native_password-make-invalid-valid
with 2 commits:

first addresses this review:
https://github.com/MariaDB/server/commit/9a478b11de26fb43f8a7df4253f80d549cd41ab1

In native_password_get_salt we set a scramble of an invalid length. We
check the length in
native_password_authenticate before even looking at the contents of
the scrambled password.

This keeps the implementation confined to the native_auth implementation.

second - d5ddbdcf61218a0a45228d2f22fe4dd77a7fe7c8 accepts the mysql
invalid password forms
(and becomes slightly more strict on our invalid forms (those not
beginning with '*'))

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Test failure in main.mysqld--help on x32

2020-10-04 Thread Daniel Black
mysql-test/t/xxx.test got changed to mysql-test/main/xxx.test

Use the parts of the merge commit:

https://github.com/MariaDB/server/commit/1c587481966abc7a9ad5309d0a91ca920f7a5657#diff-69f3d6de377352b6ed59388922d5e448

On Mon, Oct 5, 2020 at 4:01 PM Otto Kekäläinen  wrote:
>
> Hello!
>
> After uploading MariaDB 10.5.5 to Debian I came across that the test
> main.mysqld--help is failing on arch x32:
>
> **
> main.mysqld--help 'unix' w1 [ fail ]
> Test ended at 2020-09-28 19:24:57
>
> CURRENT_TEST: main.mysqld--help
> --- /<>/mysql-test/main/mysqld--help.result2020-08-07
> 12:57:35.0 +
> +++ /<>/mysql-test/main/mysqld--help.reject2020-09-28
> 19:24:57.628353544 +
> @@ -1797,10 +1797,10 @@
>  sync-relay-log-info 1
>  sysdate-is-now FALSE
>  system-versioning-alter-history ERROR
> -table-cache 421
> +table-cache 2000
>  table-definition-cache 400
> -table-open-cache 421
> -table-open-cache-instances 1
> +table-open-cache 2000
> +table-open-cache-instances 8
>  tc-heuristic-recover OFF
>  tcp-keepalive-interval 0
>  tcp-keepalive-probes 0
>
> main.flush_logs_not_windows  w2 [ fail ]
> Test ended at 2020-09-28 19:25:55
>
> CURRENT_TEST: main.flush_logs_not_windows
> mysqltest: At line 10: query 'flush logs' succeeded - should have
> failed with errno 1004...
> **
>
> Any tips on what to do about this?
>
> On Zulip I was tipped about
> https://github.com/MariaDB/server/commit/deb365581b96527c5c96b3f5ed1235e10543f5f1
> but it does not apply on 10.5.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Please assign PRs that modify debian/ contents for Otto to review

2020-08-14 Thread Daniel Black
Apologies,

It was to correct some other broken things.

Can I see a change log of your corrections to understand what went wrong?

Totally agree that it was mostly process error and review that went wrong,
so yes. PR merged. Let's do that. Nice and automated.

Best wishes with the talk.


On Fri, Aug 14, 2020 at 4:50 AM Otto Kekäläinen  wrote:

> Hello!
>
> While working on putting MariaDB 10.5.5 into Debian I noticed that
> there were a couple of commits that landed more or less on the same
> day as the release was made and "broke" it just before release. Now
> there are surprises in a stable release I need to fix and the
> situation puts extra strain on me.
>
> It is good that many people participate in maintaining the contents of
> debian/ in the MariaDB Server, because I don't have time to do
> everything. I would however appreciate that when changes are made, I
> would be given a chance to review them. I will review them
> post-release anyway and it would save a lot of trouble, if we can fix
> stuff during the development cycle and not having to patch a
> post-release in order to be able to put it forward to Debian/Ubuntu.
>
> So, please make PRs of any debian/ changes you make, and feel free to
> add me as the reviewer (or one of the reviewers).
>
> This policy can also be automated using a .github/CODEOWNERS file, so
> I made a PR about it at https://github.com/MariaDB/server/pull/1650
>
> Thanks!
>
> PS. I will deliver a MariaDB 10.5 and MariaDB in Debian status talk at
>
> https://debconf20.debconf.org/talks/98-whats-new-in-mariadb-server-105-and-galera-4/
> in case anybody is interested to listen in.
>
> --
> Follow me at @ottokekalainen
>
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Maria-discuss] OSX fix need on MariaDB-10.5

2020-05-08 Thread Daniel Black
On Fri, 8 May 2020 14:35:29 -0400
Justin Swanhart  wrote:

> You don't have hardware to work on your own supported platform? Or you
> can't figure it out?
> 

I didn't have hardware,

However thanks to Etienne Guesnet AIX was having the same fault
and came up with this patch which allows most of the OSX tests on travis to 
pass:

https://github.com/MariaDB/server/pull/1518

A few more details in the jira issue: https://jira.mariadb.org/browse/MDEV-22173

Hoping this can be merged soon because its a fairly simple fix.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] OSX fix need on MariaDB-10.5

2020-04-27 Thread Daniel Black

Mac lovers (who can use C/C++ and a debugger),

As your MariaDB developers are hard at work getting 10.5 ready for you, 
unfortunately a bug has slipped into the 10.5 branch making it unusable on OSX 
(at least that's what it looks like on the CI infrastructure).

The bug report is here:

https://jira.mariadb.org/browse/MDEV-22173

As the time of developers is a little short as is the availability of OSX 
hardware, I'm hoping some of you are able to spend a few hours tackling this 
task to understand it better, and if possible, create patch.

Steps:
 1. build environment https://mariadb.com/kb/en/Build_Environment_Setup_for_Mac/
 2. clone the source 
git clone --branch 10.5 https://github.com/MariaDB/server.git mariadb-server
cd mariadb-server
git submodule update --recursive --init
 3. build instructions https://mariadb.com/kb/en/generic-build-instructions/ 
(you don't need to install)
 4. test (from build directory)
  mysql-test/mysql-test-run  main.select

might be useful here:

--debugger=NAME or --gdb
client-debugger=NAME or client-gdb


To collaborative share your findings and to ask for further help MariaDB's 
community chat stream has been created for you.

https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/Get.20OSX.20working.20on.2010.2E5.20-.20MDEV-22173

To paraphrase J.F.Kennedy

ask not what your database server community can do for you — ask what you can 
do for your database server community.


Keep the community spirit going,

Daniel Black
--
Sent as a community member who noticed OSX failures and that everyone is busy

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MariaDB-10.4 / Galera and GTIDs - aka we now have two different GTID implementations

2019-03-03 Thread Daniel Black


Hi,

I was excited to come across the Galera-4 release notes and blog.

http://galeracluster.com/2019/02/galera-cluster-4-available-for-use-in-the-latest-mariadb-10-4-3-release-candidate/

It was good to see causal read functions that I'd hoped for in
https://jira.mariadb.org/browse/MDEV-10715.

WSREP_LAST_WRITTEN_GTID/WSREP_LAST_SEEN_GTID/ WSREP_SYNC_WAIT_UPTO_GTID
functions  which seemed to mirror existing functions like
MASTER_GTID_WAIT and GTID variables. The reason these are different
names is because a MariaDB GTID is different from a Galera one.

*Having two GTID implementations is insane*. To state the obvious
from a user point of view, we've now got two Global Transaction
Identification implementations. Application and framework writers like
Django/Drupal now have to handle now try to handle consistently with
----:25 for Galera and 0-1-33 for
MariaDB async gtid replication. This is not just a format
string difference. The an implementation requires a disparate set of
functions to implement when they could of been consolidated. A mixed
topology setup could be hidden from the application implementation if
the same functions where used. There is/was also a option/proposal that
had MariaDB gtid in the protocol save a round trip retrieval of a GTID
- quite useful.

There is also a bunch of documentation that refers to GTID and its
going to absolutely horrible to try to keep the concepts separated as
you try to configure a system.

An issue like MDEV-10715, the most voted for and watched open issue in
JIRA, (and related MDEV-14153), should of had a very priority than this
when the implementation from Codership was been merged. This shoehorned
in implementation from Codership is a very poor fit.

Giving MDEV-10715 a critical priority and a 10.5 target is fiction when
there isn't going to be a new galera wsrep api implementation for a
number of years. An extra field in the protocol is all it would of
taken (comment in MDEV-10715 from 8 months ago).

10.4.3 is out (really an RC?), the galera code got merge in 10.4.2, and
the source code of galera-4 isn't even released.

Hopefully the tight relationship between MariaDB Corporation and
Codership is enough to get this fixed because from an architectural
point of view, because the current implementation shouldn't of been
merged (contractual arrangement or not).

Developers, MariaDB and Codership you've lost track of your user base
because the feedback, that is readily available, is ignored.

Sadly,

Daniel


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Help request: Contribute to MariaDB 10.3 in Debian efforts

2019-01-06 Thread Daniel Black



I see the tradition of collecting a number of non-upstream patches with
limited descriptions continues:

https://salsa.debian.org/mariadb-team/mariadb-10.3/tree/master/debian/patches

It would be good to see these submitted upstream... some of which are
obsolete by outstanding PRs so confirming the suitability of these
would be appreciated:

https://github.com/MariaDB/server/pull/979
https://github.com/MariaDB/server/pull/597
https://github.com/MariaDB/server/pull/510

There are other PRs that aim to fix other broken aspects of Debian
packaging:

https://github.com/MariaDB/server/pull/843
https://github.com/MariaDB/server/pull/605
https://github.com/MariaDB/server/pull/530
https://github.com/MariaDB/server/pull/528


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 84c9ec5: MDEV-15473 Isolate/sandbox PAM modules, so that they can't crash the server.

2018-06-21 Thread Daniel Black (vnet)



Is this compatible with passing through additional items like
https://github.com/MariaDB/server/pull/631 ?


As we discussed, there should be some ways to prevent it being used
to brute-force passwords. It'll be suid root, so it cannot be
made executable only by "mysql" user.

I see two approaches here:

 1. getuid() and check that the user name is "mysql"
 2. getppid() and check that it matches the value in a pid_file

second is heavier (one might need to read my.cnf to find the location
of a pid_file).


There isn't always a pidfile any more (systemd services)


first hard-codes the user name.
oh, a third approach. create a new directory under plugin-dir, say
auth_tool with permissions r-x-- and owned by "mysql".
Put the actual executable there, so nobody besides "mysql" user
will be able to get to it.

Yes, this seems the easiest, fastest, and most flexible too :)


Yes, quite like the approach here.

/usr/libexec/ is a more common  directory for these helper services.

Might need additional selinux rules for this.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] FYI: 10.3 master branch head builds OK Launchpad all architectures

2018-04-10 Thread Daniel Black


On 10/04/18 02:04, Otto Kekäläinen wrote:
> Regarding the test that permanently fails on Travis-CI and keeps it
> from being green I filed https://jira.mariadb.org/browse/MDEV-15814
> 
> 
> If Travis-CI was all green (=this one test fixed or disabled) we could

PR with commit to disable test from Dec 1, 2017:

https://github.com/MariaDB/server/pull/505/commits/9fce41be75a1620f11bdcbfd305c4ede1919ae16



___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] FYI: 10.3 master branch head builds OK Launchpad all architectures

2018-04-05 Thread Daniel Black


On 05/04/18 19:48, Otto Kekäläinen wrote:
> Hello!
> 
> Just for the record, I've done some small tweaks to 10.3

Great work so far.

> so that it now
> builds perfectly and passes build tests on all Launchpad architectures
> that I have access to.

Needs a bit more than build tests:

The use of /etc/mysql/mariadb.conf.d/ is admirable however it appears
its never read (MDEV-15627). This path needs to be integrated into the
build system and the executables not just a debian move files around
implementation. Is the reading of /etc/mysql/my.cnf /
/etc/mysql/my.conf.d desired?

This path also isn't used by the system mariadb@ multi-instance service
file (support-files/mari...@.service.in). The rather ugly
/etc/mysql/conf.d/my%I.cnf is (sorry). A small variant to pr #510 could
set MYSQLD_MULTI_INSTANCE=--defaults-file=/etc/mysql/mariadb.%I.cnf
which a consistent way using the alternative configuration directories.
Is there a more preferred way?

Log-rotation is probably broken too afaik pid files may not exists -
solution in MDEV-13050 however check both conditions if necessary.

Why is /usr/include/mariadb/server/private/ installed? AFAIK there is no
supported API/ABI here.

/etc/mysql/conf.d/mysqld_safe_syslog.cnf assuming this is
debian/additions/mysqld_safe_syslog.cnf and mysqld_safe isn't used in
the a systemd environment it can be removed.

debian/additions/mariadb.cnf - seems to encourage changing character set
here. How about this occurs in a /etc/mysql/mariadb.conf.d/charset.cnf
file? (also note header).

debian-start, MDEV-14622, is also a problem.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] mysql and mariadb got different result

2017-12-20 Thread Daniel Black

This is an invalid aggregation. The results of a select should only
contain the GROUP BY fields or an aggregate function over any other field.

mysql/mariadb is lax without sql_mode=ONLY_FULL_GROUP_BY set.

The results have chosen a different row for the class_id specified.

The way these rows where inserted could result in a different set
returned, for both mysql and mariadb.

set sql_mode='ONLY_FULL_GROUP_BY'

ref: https://mariadb.com/kb/en/library/sql-mode/

and do the query again.

In short, its the query's problem for asking something non-specific.
MySQL has changed this setting to the default in mysql-5.7.5.

recommend #maria (or #mysql) freenode IRC channel for asking these kinds
of questions. You'll get a faster response, especially if you have a
follow up question.

On 20/12/17 14:31,  wrote:


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Git jira integration plugin

2017-08-02 Thread Daniel Black

For those that haven't seen it.

https://www.npmjs.com/package/jira-git


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] GSoC NUMA support Project

2017-05-28 Thread Daniel Black


On 29/05/17 06:03, Sumit Lakra wrote:
> I think I am near done with dividing the buffer pool into the number of
> nodes available in a NUMA machine. There is one thing left to do - to
> check for the presence of 'libnuma' library in the server.


Based on https://jira.mariadb.org/browse/MDEV-12924 I probably broke it
in ab0e5031e41d0aa72dd77a6dced9eacc8be5c548

> As of now I
> have explicitly defined HAVE_LIBNUMA in the > CMakeList.txt to check my code.

CMakeList.txt in which directory?

I'd suggest refering to publicly pushed code/branches for review.
A branch on https://github.com/theGodlessLakra/server would be good.

> Also, to test whether the control of execution reaches within a function
> A, I tried to print out a message on the scree like 'fprintf(stderr, In
> function A);' This seems to work in main(), my_init(), sys_var_init()
> etc, but not in buf0buf.cc. The function which creates the buffer pool
> is called by 'buf_pool_init()', which is called by
> 'innobase_start_on_create_for_mysql()', which in turn is called by
> 'innobase_init()', but I couldn't find where an d how is this function
> called.

Its called by function pointer -> see maria_declare_plugin in
storage/innobase/handler/ha_innodb.cc which is called by the plugin
initialization code.


> Seems like the output to bot stdout and stderr is being
> redirected somewhere and I can't find where (in code).

reopen_fstreams in sql/{mysqld,log}.cc

> Having this printing stuff is a quick way of testing the flow of control
> and although my code is working,

You can also run mysqld in gdb and the use "break" to set a breakpoint
at a function/file:line and step through form there.

> I would like to know about this
> redirections if someone can tell me.

add --verbose to the mysqld argument.

> Also, which part of code calls the 'innobase_init()' function ?


sql/plugin.cc:plugin_initialize in the call to plugin->init()


> I have attached a screenshot of the server running on my NUMA emulated
> pc with and without --numa-interleave=all. [ PID - 21016 without NUMA,
> PID - 21058 with NUMA]
> 
> At present it just ALLOCATES a buffer pool instance on each numa node.
> Need to work on specific node binding and stuff.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] galera source and direction

2017-05-08 Thread Daniel Black

With Codership's galera repository showing spelling fixes and test case
changes as the only changes this year, and Percona's galera repository
streaming ahead with improvements, is Percona's galera becoming the new
base?

I did a quick test though and the mtr tests all pass with Percona's
galera on the 10.2 branch head.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Google Summer of Code 2017 students

2017-05-04 Thread Daniel Black

Folks I'd like to welcome our Google Summer of Code students.

https://summerofcode.withgoogle.com/organizations/5889423829893120/#projects


Ankit Kumar - Allow multiple alternative authentication methods for the
same user
mentor: Sergei Golubchik

Daniil Medvedev - Full DECIMAL support in ColumnStore
mentor: Andrew Hutchings

Sumit Lakra - NUMA GSoC Project Proposal
mentors: Daniel Black and Jan Lindström

Galina Shalygina - Transformation of IN predicate into IN subquery based
on implementation of table value constructor
mentor: Igor Babaev

Please make them welcome and we are looking forward to mentoring them to
develop their contributions.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] JDBC getWarnings and stored procedure

2017-04-04 Thread Daniel Black


On 03/04/17 20:21, jerome brauge wrote:
> Hello,
> 
> When we call a stored procedure in JDBC which emit warnings, 
> getWarnings() always returns null.
> 
> I don’t really think that the problem is in MariaDB Connector J because
> warning flag in the EOF packet is not set to true.
> 

hasWarnings is set:

https://github.com/MariaDB/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java#L745


Its used here:

https://github.com/MariaDB/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/MariaDbConnection.java#L827

I suspect the bug is warningsCleared has a implicit default of false in
the above class.

As a workaround check, call reenableWarnings() before getWarnings().

> Mysql client behaves in the same way, by default it shows warnings count
> issued by DML command but not for stored procedure.
> 
>  
> 
> Is it a normal behavior ?
> 
>  
> 
> Best regards,
> 
> Jérôme.
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp
> 


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] CREATE SEQUENCE is coming

2017-03-27 Thread Daniel Black


On 28/03/17 07:31, Vladislav Vaintroub wrote:
> 
> 
> On 3/27/2017 6:15 AM, Daniel Black wrote:
>> On 26/03/17 22:11, Michael Widenius wrote:
>>> There is still a lot of work to fix edge cases, but in the current
>>> implementation most major things seams to work...
>>>
>>> Comments, suggestions or questions?
>> NICE!
>>
>> How will this value be exposed to getGeneratedKeys in
>> mariadb-connector-j?
> I do not think it needs to. Statement.getGeneratedKeys returns generated
> auto-increment values on insert, the same ulonglong that is in OK
> packet, the same thing that LAST_INSERT_ID() is returning.
>  no sequences involved

Ah, ok. I was miss understanding how Postgres does its sequences. I
found this quick summary from 2011 (date in http response header)
http://www.neilconway.org/docs/sequences/

Oracle ref:
http://docs.oracle.com/cd/B28359_01/server.111/b28286/pseudocolumns002.htm#SQLRF51138
uses sequence.CURRVAL, sequence.NEXTVAL

https://www.postgresql.org/docs/9.6/static/functions-sequence.html

As a note itseams PREVIOUS VALUE FOR seems to be a DB2 construct.
Postgres uses CURRVAL(sequence) which to me sounds more sound. I guess
MDEV-10422 INSERT RETURNING is the alternative.

All options work. Thanks for writing this.

So it seems they show up as full table where querying them is pretty
harmless? I suspect if things like pt-table-sync start trying to modify
them ugly things could happen.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Google Summer of Code

2017-03-20 Thread Daniel Black

I got referred to another GSoC documentation site:

https://code.timvideos.us/summer-of-code/

I think its a pretty good model of what sort of documentation students
should read as largely it applies to projects in general.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] GTID and Optimize, Analyze etc

2017-03-09 Thread Daniel Black


On 10/03/17 16:02, Peter Mclarty wrote:
> Hi
> 
> I have some very large tables and I would like to give them a cleanup.
> If I run OPTIMIZE and ANALYZE on a slave does that affect the GTID of
> that slave and cause me to eventually get the dreaded Slave has diverged
> too far from the master type error
> 

ANALYZE NO_WRITE_TO_BINLOG ...
OPTIMIZE NO_WRITE_TO_BINLOG ...

> Can I set a session variable to block any change

SET SESSION SQL_LOG_BIN=0 (for the same effect).


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Item_func_group_concat::fix_fields - indentation and check positioning?

2017-02-28 Thread Daniel Black

I came across the following gcc warning (6.3.1)


sql/item_sum.cc: In member function ‘virtual bool
Item_func_group_concat::fix_fields(THD*, Item**)’:
sql/item_sum.cc:3478:5: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
 if ((!args[i]->fixed &&
 ^~
sql/item_sum.cc:3482:7: note: ...this statement, but the latter is
misleadingly indented as if it is guarded by the ‘if’
   with_subselect|= args[i]->with_subselect;
   ^~

The with_subselect line was added in 950abd526

In context it is:

Item_func_group_concat::fix_fields(THD *thd, Item **ref)
{
...
  for (i=0 ; i < arg_count ; i++)
  {
if ((!args[i]->fixed &&
 args[i]->fix_fields(thd, args + i)) ||
args[i]->check_cols(1))
  return TRUE;
  with_subselect|= args[i]->with_subselect;
  }


While removing the indent would fix the warning, I'd like someone to
check this line should be after the IF statement rather than before.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] fb49b98: MDEV-10436 non-deterministic vcol does not force rbr

2017-01-26 Thread Daniel Black


On 25/01/17 00:33, sachin wrote:
> @@ -5824,6 +5826,16 @@ int THD::decide_logging_format(TABLE_LIST *tables)
>table->table->file->ht)
>  multi_access_engine= TRUE;
>  
> +  /*
> + Loop through each table field if it is virtual field check if it is 
> deterministic
> + or not.
> +   */
> +  for (field_ptr= table->table->field; *field_ptr; field_ptr++)
> +  {
> +field= *field_ptr;
> +if (field->vcol_info && field->vcol_info->flags & 
> VCOL_NOT_STRICTLY_DETERMINISTIC)
> +  lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_NON_DETER_VCOL);

you could break the loop at this point.

> +  }
>prev_access_table= table->table;
>  }
>  


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] ef590fa: MDEV-7409 On RBR, extend the PROCESSLIST info to include at least the name of the recently used table

2017-01-23 Thread Daniel Black


On 24/01/17 04:30, SachinSetiya wrote:
> revision-id: ef590faa0e21d25a2dc5153f938135612b17ecbc 
> (mariadb-10.1.20-31-gef590fa)


>thd_proc_info(thd, message);
> +  DBUG_EXECUTE_IF("should_sleep_for_mdev7409",{
> +  my_sleep(50);
> +  };);

Shouldn't these be DEBUG_SYNC_C("do_exec_row");

and then use debug_sync to generate test synchronisation.


>int error= write_row(rgi, slave_exec_mode == SLAVE_EXEC_MODE_IDEMPOTENT);
>thd_proc_info(thd, tmp);
> +  thd->db= tmp_db;
>  
>if (error && !thd->is_error())
>{
> @@ -12371,32 +12380,45 @@ int 
> Delete_rows_log_event::do_exec_row(rpl_group_info *rgi)
>  {
>int error;
>const char *tmp= thd->get_proc_info();
> -  const char *message= "Delete_rows_log_event::find_row()";
> +  char *tmp_db= thd->db;
> +  char *message, msg[128];
> +  my_snprintf(msg, sizeof(msg),"Delete_rows_log_event::find_row() on table 
> %s",
> +   m_table->s->table_name.str);
> +  thd->db= m_table->s->db.str;
> +  message= msg;

Why assign a pointer? Isn't defining message as a char[128] sufficient?

Thanks for writing this feature.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Status of MDEV-4557 / 7409

2017-01-08 Thread Daniel Black


On 09/01/17 02:05, Sachin Setiya wrote:
> Hi Daniel!
> 
> I was thinking of taking 4557 , but in comment I see you have ported
> the patch for 10.0
> but it was not merged.

It was rather incomplete and really only a quick hack which I didn't finish.

> Are you going to take 4557 , or can I take it ?

You can take it.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] 02e74a5: MDEV-11700: MariaDB 10.2 cannot start on MySQL 5.7 datadir:

2016-12-11 Thread Daniel Black
nit - its really MDEV-11170

On 12/12/16 12:57, Vicențiu Ciorbaru wrote:
> Hi Sergei!
> 
> Can you please review this patch for MDEV-11700? Details presented in
> the commit message. I'm not sure which solution we want.
> Possible solutions:
> A) have the user fix it by first starting the server with
> --skip-grant-tables to avoid "mysql.user table is damaged", then run
> mysql_upgrade, to fix the problem. Without this patch, this solution
> fails at mysql_upgrade.
> B) Have the server understand MySQL 5.7.6 + table format where the
> Password column is missing.
> 
> For 10.2 I've chosen solution A. Although this should probably also be
> targeted for 10.1?
> For 10.3, since we're planning on doing some authentication changes, we
> can implement a variant of B.

Without B or a population of the password column the authentication
isn't migrated.

> 
> Thoughts?
> 
> On Mon, 12 Dec 2016 at 03:50 vicentiu  > wrote:
> 
> revision-id: 02e74a5614b08cfce505002abc26d4634648308e
> (mariadb-10.2.2-138-g02e74a5)
> parent(s): 9320d8ae30c18420bef659618175836221d363ea
> author: Vicențiu Ciorbaru
> committer: Vicențiu Ciorbaru
> timestamp: 2016-12-12 03:42:11 +0200
> message:
> 
> MDEV-11700: MariaDB 10.2 cannot start on MySQL 5.7 datadir:
> 
> Fatal error: mysql.user table is damaged or in unsupported 3.20 format
> 
> The problem stems from MySQL 5.7.6. According to MySQL documentation:
> In MySQL 5.7.6, the Password column was removed and all credentials are
> stored in the authentication_string column.
> 
> If opening a MySQL 5.7.6 (and up) datadir with MariaDB 10.2, the
> user table
> appears corrupted. In order to fix this, the server must be started with
> --skip-grant-tables and then a subsequent mysql_upgrade command must be
> issued.
> 
> This patch updates the mysql_upgrade command to also add the removed
> Password column. The password column is necessary, otherwise
> the mysql_upgrade script fails due to the Event_scheduler not being able
> to start, as it can't find Event_priv in the table where it ought to be.
> MySQL's version has column position 28 (0 index) vs our datadir version
> expects position 29.
> 
> ---
>  scripts/mysql_system_tables_fix.sql | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/scripts/mysql_system_tables_fix.sql
> b/scripts/mysql_system_tables_fix.sql
> index ea1059c..80d0ef7 100644
> --- a/scripts/mysql_system_tables_fix.sql
> +++ b/scripts/mysql_system_tables_fix.sql
> @@ -164,6 +164,12 @@ ALTER TABLE user
>MODIFY Host char(60) NOT NULL default '',
>MODIFY User char(80) NOT NULL default '',
>ENGINE=MyISAM, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
> +
> +# In MySQL 5.7.6 the Password column is removed. Recreate it to
> preserve the number
> +# of columns MariaDB expects in the user table.
> +ALTER TABLE user
> +  ADD Password char(41) character set latin1 collate latin1_bin NOT
> NULL default '' AFTER User;
> +
>  ALTER TABLE user
>MODIFY Password char(41) character set latin1 collate latin1_bin
> NOT NULL default '',
>MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT
> 'N' NOT NULL,
> 
> 
> 
> ___
> commits mailing list
> comm...@mariadb.org
> https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits
> 


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] OSS-Fuzz

2016-12-06 Thread Daniel Black

In case anyone is interested.

Code needs to be written to take a random bit of data and push this into
the server somehow. Apart from that it appears reasonably automated.

https://github.com/google/oss-fuzz


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Replication compatibility MySQL/MariaDB

2016-11-01 Thread Daniel Black
Folks,

At the MariaDB Developer meetup there was some discussion about the
limits of compatibility especially regarding replication.

I've started a section on this page:

https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/

If you can identify what can/cannot work in various replication modes
between MySQL and MariaDB please document it on this page.

If you cannot edit this for some reason reply to the MariaDB Discuss
list and eventually the results can be correlated and the page can be
updated.

As usual other material changes to improving the KB documentation is
welcome.

Daniel


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MariaDB/server] Compressed binary log (#247)

2016-10-20 Thread Daniel Black
>> +#define BINLOG_COMPRESSED_HEADER_LEN 1
>> +#define BINLOG_COMPRESSED_ORIGINAL_LENGTH_MAX_BYTES 4
>> +/**
>> +  Compressed Record
>> +Record Header: 1 Byte
>> +   0 Bit: Always 1, mean compressed;
>> +   1-3 Bit: Reversed, compressed algorithm??Always
0, means zlib


Good to see this progressed from the old MySQL bug I saw originally.

I'm a bit late into this however I suggest we can use a better algorithm
than zlib. There are a significant number of algorithms that may have
better compression at similar speed faster like brotli, zstd, snappy.

https://quixdb.github.io/squash-benchmark/#results-table


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] d0064c6: MDEV-7635: Convert log_queries_not_using_indexes to ulong

2016-10-13 Thread Daniel Black

So this is making log-queries-not-using-indexes to take on the same
meaning as min_examined_row_limit for the case of no-index and both seam
to apply?

Is thd->get_examined_row_count() the right comparison value if the
non-indexed table had much fewer rows examined?

Note -
https://mariadb.com/kb/en/mariadb/server-system-variables/#log_queries_not_using_indexes
needs updating and needs to reference min_examined_row_limit as well.

Are log_slow_admin_statements / log_slow_slave_statements going to be
modified in the same way and min-examined-row-limit to be deprecated?

Is giving log-queries-not-using-indexes a default value of 5000 (as
suggested for min-examined-row limit) applicable here?


On 14/10/16 10:09, Nirbhay Choubey wrote:
> revision-id: d0064c6e94414cfd6bbfcf171b1efabababe1d2e 
> (mariadb-10.2.1-55-gd0064c6)
> parent(s): 0d70fd0f9b7b8480b6053ef2dfcb55d917de2bca
> author: Nirbhay Choubey
> committer: Nirbhay Choubey
> timestamp: 2016-10-13 19:09:53 -0400
> message:
> 
> MDEV-7635: Convert log_queries_not_using_indexes to ulong
> 
> ---
>  mysql-test/r/mysqld--help.result   |  7 ---
>  mysql-test/r/show_check.result | 10 +-
>  mysql-test/r/variables.result  |  4 ++--
>  .../r/log_queries_not_using_indexes_basic.result   | 18 
> ++
>  .../t/log_queries_not_using_indexes_basic.test | 14 +++---
>  mysql-test/t/show_check.test   |  4 ++--
>  sql/mysqld.cc  |  2 +-
>  sql/mysqld.h   |  2 +-
>  sql/sql_parse.cc   |  3 ++-
>  sql/sys_vars.cc|  9 +
>  10 files changed, 39 insertions(+), 34 deletions(-)
> 
> diff --git a/mysql-test/r/mysqld--help.result 
> b/mysql-test/r/mysqld--help.result
> index cb1399d..2a570f8 100644
> --- a/mysql-test/r/mysqld--help.result
> +++ b/mysql-test/r/mysqld--help.result
> @@ -365,9 +365,10 @@ The following options may be given as the first argument:
>   --log-isam[=name]   Log all MyISAM changes to file.
>   --log-output=name   How logs should be written. Any combination of: NONE, 
>   FILE, TABLE
> - --log-queries-not-using-indexes 
> + --log-queries-not-using-indexes[=#] 
>   Log queries that are executed without benefit of any
> - index to the slow log if it is open
> + index and that examined fewer rows than specified to the
> + slow log if it is open
>   --log-short-format  Don't log extra information to update and slow-query
>   logs.
>   --log-slave-updates Tells the slave to log the updates from the slave thread
> @@ -1257,7 +1258,7 @@ log-bin-trust-function-creators FALSE
>  log-error 
>  log-isam myisam.log
>  log-output FILE
> -log-queries-not-using-indexes FALSE
> +log-queries-not-using-indexes 0
>  log-short-format FALSE
>  log-slave-updates FALSE
>  log-slow-admin-statements FALSE
> diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
> index 19a2597..db1a0ee 100644
> --- a/mysql-test/r/show_check.result
> +++ b/mysql-test/r/show_check.result
> @@ -1228,27 +1228,27 @@ use test;
>  flush status;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesON
> +log_queries_not_using_indexes1
>  select 1 from information_schema.tables limit 1;
>  1
>  1
>  show status like 'slow_queries';
>  Variable_nameValue
>  Slow_queries 1
> -set global log_queries_not_using_indexes=OFF;
> +set global log_queries_not_using_indexes=0;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesOFF
> +log_queries_not_using_indexes0
>  select 1 from information_schema.tables limit 1;
>  1
>  1
>  show status like 'slow_queries';
>  Variable_nameValue
>  Slow_queries 1
> -set global log_queries_not_using_indexes=ON;
> +set global log_queries_not_using_indexes=1;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesON
> +log_queries_not_using_indexes1
>  select 1 from information_schema.tables limit 1;
>  1
>  1
> diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
> index 50379a5..1423284 100644
> --- a/mysql-test/r/variables.result
> +++ b/mysql-test/r/variables.result
> @@ -995,10 +995,10 @@ select @@log_queries_not_using_indexes;
>  0
>  show variables like 'log_queries_not_using_indexes';
>  Variable_nameValue
> -log_queries_not_using_indexesOFF
> +log_queries_not_using_indexes0
>  select * from information_schema.session_variables where variable_name like 
> 'log_queries_not_using_indexes';
>  VARIABLE_NAMEVARIABLE_VALUE
> -LOG_QUERIES_NOT_USING_INDEXESOFF
> +LOG_QUERIES_NOT_USING_INDEXES0
>  select @@"";
>  ERROR 42000: You have an error 

Re: [Maria-developers] Aggregate Functions

2016-08-25 Thread Daniel Black

Well done and thank you.

On 24/08/16 06:25, Varun Gupta wrote:
> Hi,
> As GSOC is nearing its end, I have written a blog which contains how can
> aggregate functions be written and executed to get the desired
> results.In the blog I also have added the technical details of this
> project on aggregate functions.
> 
> Here are the links:
> 
> Jira issue: https://jira.mariadb.org/browse/MDEV-7773
> Blog Link: http://varunraiko.github.io/aggregate-functions/
> 
> Disclaimer: I hereby declare that all my work done so far (and future)
> by me on the Aggregate Functions’ project, is released under the NEW BSD
> licence.
> 
> 
> Regards,
> Varun
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Documentation for new features

2016-01-02 Thread Daniel Black
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 23/12/15 00:56, Sergei Golubchik wrote:
> Hi, Ian!
> 
> On Dec 22, Ian Gilfillan wrote:
>> Hi
>> 
>> I quite often find out about a new feature after release, either
>> by looking through the changelog and commits, or because someone
>> points out it's missing from the documentation.
>> 
>> It's time-consuming trying to keep track of every change, and I
>> miss things (especially in non-default plugins etc), so it'd be
>> better if everyone can remember the need for documentation when
>> adding new features/variables or changes in behaviour.
> 
> I doubt it's possible :(
> 
> During the release preparation I can look through the changelog
> and see what needs to be documented.
> 
> Or we can tweak our workflow in Jira somehow to include
> documentation.

This sounds reasonable. Might just hint to developers "oh that's right
I added a variable X" or "its important to note Y in the release notes"


-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJWiMMvAAoJEMXeEgVQ15xMba4H/1Odo4j0SH/af9log3r/D2HZ
aFDhf0Cr1YFSd+prSJB33BEHghSFgsPvkFz/8bGAdG7yxtHoPK8BjzZdIedMHGi1
DCxsp0qYFk44xAKnz3f8D2fp7ff9nWSL1HzZAncjXLRLpL13VN8/oetIA8N5CPHK
tmZQ0w/TsbWmybS3V2F0cO39LT77cwxIsZ9q8lbbATuojjUrYKXqj+WIP/tXue8H
w2mDpeRUfyoCISiX9DNoyjuw7b8hIqL7smZOb8aYRGQu9Gfm8NCL/uYzll0FxKHU
tXJ61LkBFlB3FdlIDY3V2B9stxJFUxcArUKjIKH1uUBNzynJWCKhQ9fZxXpHhlE=
=Zw5d
-END PGP SIGNATURE-

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Several CVE's in Oracle MySQL, is MariaDB vulnerable?

2015-10-26 Thread Daniel Black


- On 26 Oct, 2015, at 6:00 AM, Otto Kekäläinen o...@seravo.fi wrote:

> Hello Serg!
> 
> 2015-10-25 20:38 GMT+02:00 Sergei Golubchik <s...@mariadb.org>:
...

>> They're all for MySQL-5.6, for the code that we don't have. MySQL-5.5
>> was the last version when we merged everything from MySQL. That is,
>> MariaDB is based on MySQL-5.5 codebase, we only merge InnoDB and
>> Performance Schema from 5.6.

Good summary info.

> It would be nice if the page
> https://mariadb.com/kb/en/mariadb/security/ also had a section that
> was explicit about that Oracle CVEs do _not_ affect MariaDB, because I
> am sure many people wonder on how what the status might be for
> non-listed CVEs.
> 
> ..wait, it does indeed have the section "CVE's affecting Oracle MySQL"
> at the very end. Can you please update it?

Its probably a real pain to keep this list updated. Something like "we've 
checked CVE before and including (CVE-2015-4910) and only the CVEs listed above 
affect MariadDB"  would be sufficient.



-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Several CVE's in Oracle MySQL, is MariaDB vulnerable?

2015-10-23 Thread Daniel Black


- On 24 Oct, 2015, at 3:47 AM, Christian Rebischke 
chris.rebisc...@gmail.com wrote:

> Hello everyone,
> Sorry when I am on the wrong mailinglist. I wanted to submit a bugreport or
> issue for this but I can't signup for your JIRA because of license reasons.

Keen to know which conditions where a problem. May affect other people.

> I am from the Archlinux-Security Team and want to ask if mariadb in the actual
> version is vulnerable to the following CVEs:
> 
> CVE-2015-4913 CVE-2015-4910 CVE-2015-4905 CVE-2015-4904 CVE-2015-4895
> CVE-2015-4890 CVE-2015-4879 CVE-2015-4870 CVE-2015-4862 CVE-2015-4864
> CVE-2015-4861 CVE-2015-4858 CVE-2015-4836 CVE-2015-4833 CVE-2015-4830
> CVE-2015-4826 CVE-2015-4819 CVE-2015-4815 CVE-2015-4807 CVE-2015-4802
> CVE-2015-4800 CVE-2015-4792 CVE-2015-4791 CVE-2015-4766
> 
> I hope you can help me.

Of course, listed here:

https://mariadb.com/kb/en/mariadb/security/

Its only got the fixed versions rather than which versions vulnerabilities 
where introduced. Is this sufficient?


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] On the issue of Seconds_behind_master and Parallel Replication

2015-10-18 Thread Daniel Black


- On 16 Oct, 2015, at 3:57 PM, Jean-François Gagné 
jeanfrancois.ga...@booking.com wrote:

> On 2015-10-15 08:16, Kristian Nielsen wrote:
>> Monty suggested changing the behaviour also for non-parallel mode - letting
>> Seconds_Behind_Master reflect only events actually committed, not just read
>> from the relay log. This would introduce an incompatible behaviour for
>> Seconds_Behind_Master, but could perhaps be done for 10.1, if desired. Doing
>> it in stable 10.0 would be more drastic.
> 
> I agree with Monty: we should only update on commit and in both // and
> non-// cases.

+1 here. works for me too.

> Having yo-yo in seconds-behind-master (because of a long running
> transaction) should probably be considered a bug and should be fixed
> (non-// case).
> 
> The commit event (if we can call it as such) is the only reliable (-ish)
> timing synchronization point in the binlog stream, all the rest depends
> on execution time and session-latency.  The timestamp of those
> non-commit events should not be trusted for delay computation.
> 
> Fixing that in 10.0 has too many implications, I think fixing in 10.1 is
> a good target.
> 
> If something needs to be done in 10.0, and if it is not too hard, adding
> a "improved_seconds_behind_master" global variables for this behavior
> could be done.  In 10.0, the default value of this variable would be 0,
> in 10.1 it would be 1.  If that path is chosen, I think this variable
> should be deprecated in 10.1 and go away in 10.2 to reduce code complexity.

seconds_behind_master=commit?

I tend to think people using 10.0 haven't seen or cared enough about it to be 
worth fixing in 10.0.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Best way of starting multi-source connections with active slave.

2015-08-06 Thread Daniel Black

- On 6 Aug, 2015, at 4:54 PM, Giuseppe Maxia g.ma...@gmail.com wrote:

 Hi,
 I am setting up multi-source replication with four nodes, where nodes 1, 2, 
 and
 3 are masters and node 4 is the slave of the first 3. The slave is *active*,
 meaning that it has a binary log and runs transactions of its own.
 
 All is well if I run 'reset master' in all nodes before setting up 
 replication.
 
 CHANGE MASTER 'node1' TO master_host='host1', master_port=3306,
 master_user='some_slave', master_password='some_slave',
 master_use_gtid=current_pos;
 CHANGE MASTER 'node2' TO master_host='host2', master_port=3306,
 master_user='some_slave', master_password='some_slave',
 master_use_gtid=current_pos;
 CHANGE MASTER 'node3' TO master_host='host3', master_port=3306,
 master_user='some_slave', master_password='some_slave',
 master_use_gtid=current_pos;
 start all slaves;
 
 However, if host 4 has a binary log and has logged one or more transactions
 before starting replication, we get a conflict.

each master should be on a different gtid_domain_id

https://mariadb.com/kb/en/mariadb/global-transaction-id/#gtid_domain_id

also see variable gtid_ignore_duplicates

 Got fatal error 1236 from master when reading data from binary log: 'Error:
 connecting slave requested to start from GTID 0-104-1, which is not in the
 master's binlog. Since the master's binlog contains GTIDs with higher sequence
 numbers, it probably means that the slave has diverged due to executing extra
 erroneous transactions'


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-4682 plugin - qc_info - add Query Cache flags - not-GSoc2015 patch for review

2015-07-14 Thread Daniel Black

This expands out all the query cache info from the flags that wasn't previously 
available in the information_schema.query_cache_info table by the 
query_cache_info plugin.

https://github.com/MariaDB/server/pull/67


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] crash - analyze table with histogram

2015-06-23 Thread Daniel Black


- On 24 Jun, 2015, at 1:33 AM, roberto robe...@spadim.com.br wrote:

 Hi guys, i got a crash, could someone help?
 
 ---
 queries:
 set histogram_size=255,histogram_type=SINGLE_PREC_HB;
 ANALYZE TABLE 19_org.estoque_itens PERSISTENT FOR ALL;
 /* Erro SQL (2013): Lost connection to MySQL server during query */
 

If its anything like https://mariadb.atlassian.net/browse/MDEV-7362 it will be 
a value in one of the rows in that table.

Eliminate column by column until you find the one that caused it.

Then find the row (or just include the whole column in the bug report).


 ---
 log:
 
 150623 12:31:47 [ERROR] mysqld got signal 11 ;
 This could be because you hit a bug. It is also possible that this binary
 or one of the libraries it was linked against is corrupt, improperly built,
 or misconfigured. This error can also be caused by malfunctioning hardware.
 
 To report this bug, see http://kb.askmonty.org/en/reporting-bugs
 
 We will try our best to scrape up some info that will hopefully help
 diagnose the problem, but since we have already crashed,
 something is definitely wrong and this may fail.
 
 Server version: 10.0.20-MariaDB-log
 key_buffer_size=2097152000
 read_buffer_size=6291456
 max_used_connections=22
 max_threads=92
 thread_count=9
 It is possible that mysqld could use up to
 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads =
 3180295 K  bytes of memory
 Hope that's ok; if not, decrease some variables in the equation.
 
 Thread pointer: 0x0x7f523b81c008
 Attempting backtrace. You can use the following information to find out
 where mysqld died. If you see no messages after this, something went
 terribly wrong...
 stack_bottom = 0x4b1410a0 thread_stack 0x48000
 mysys/stacktrace.c:247(my_print_stacktrace)[0xbcb2ee]
 sql/signal_handler.cc:153(handle_fatal_signal)[0x71fa8c]
 /lib/libpthread.so.0[0x7f52ccbe98f0]
 sql/field.h:703(Field::set_notnull(long long))[0x610c70]
 sql/sql_statistics.cc:533(Stat_table::update_stat())[0x60dd68]
 sql/sql_admin.cc:759(mysql_admin_table)[0x67adc1]
 sql/sql_admin.cc:1183(Sql_cmd_analyze_table::execute(THD*))[0x67c66c]
 sql/sql_parse.cc:5095(mysql_execute_command(THD*))[0x5986c2]
 sql/sql_parse.cc:6529(mysql_parse(THD*, char*, unsigned int,
 Parser_state*))[0x59fc86]
 sql/sql_parse.cc:1310(dispatch_command(enum_server_command, THD*,
 char*, unsigned int))[0x5a1bb7]
 sql/sql_parse.cc:999(do_command(THD*))[0x5a22f9]
 sql/sql_connect.cc:1378(do_handle_one_connection(THD*))[0x66c7d4]
 sql/sql_connect.cc:1295(handle_one_connection)[0x66c912]
 /lib/libpthread.so.0[0x7f52ccbe1fe7]
 /lib/libc.so.6(clone+0x6d)[0x7f52cbb822bd]
 
 Trying to get some variables.
 Some pointers may be invalid and cause the dump to abort.
 Query (0x7f5190884020): is an invalid pointer
 Connection ID (thread ID): 304
 Status: NOT_KILLED
 
 Optimizer switch:
 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on
 
 The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
 information that should help you find out what is causing the crash.
 
 
 --
 Roberto Spadim
 
 ___
 Mailing list: https://launchpad.net/~maria-developers
 Post to : maria-developers@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~maria-developers
 More help   : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] what could be better than %1 OLTP test gains?

2015-05-08 Thread Daniel Black

Appreciate all the effort recently to save 1% on OLTP tests.

MDEV-6735 / MDEV-7786 has a 3 line patch in progress that saves a 6700% (0.1 
seconds to 11 min 10.44 sec) by changing optimizer decision based on something 
more meaningful than an absolute number of rows on one side of a join (a 
specific tuning for some test at some time?).

Sure it might not make someone's blog (though it should), but it will make it 
possible to move one customer of mine beyond 5.5.32 which is near where a 
regression happened and for all those Magento users who've chosen MariaDB where 
performance has just broken to unusable when 100 categories was exceeded.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] MariaDB finally in Debian officially (Fwd: Debian 8 Jessie released)

2015-04-26 Thread Daniel Black


- Original Message -
 Hello!
 
 Debian 8 Jessie has been released to today. It is the first official
 Debian release that ships with MariaDB (it has MariaDB 10.0.16 and
 MySQL 5.5.42). MariaDB client for C (the LGPL version) is also
 included. 

 Release notes[1] state that in Debian 9 only one MySQL
 variant will be shipped.

Is this driven by the complexity of maintaining two concurrent variants and/or 
maintenance effort and/or other factors?

 Hopefully the decision will tip towards
 MariaDB.

What will make this decision easier when Debian 9 comes around?

 The MariaDB request for packaging issue[2] was opened in
 bugs.debian.org in 2010. I started doing MariaDB packaging for Debian
 in 2013. The path here has been long and I am glad that this milestone
 is finally reached.

Thanks Otto for making this possible.

FYI, travis-ci testing in development, 
https://github.com/openquery/mariadb-server/blob/travis-ci-10.0/.travis.yml
Probably could do something for packaging tests here. Build/test time is 
limited to 50 mins so its probably too much of
a stretch to get packaging and content tests in the same package. Build time is 
only about 5 mins.

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] documentation

2015-04-21 Thread Daniel Black

Seems there are a fair few variables and options changed in the course of 
development.

These don't seem to make it to the documentation, especially pages like:

https://mariadb.com/kb/en/mariadb/server-system-variables/
https://mariadb.com/kb/en/mariadb/server-status-variables
https://mariadb.com/kb/en/mariadb/mysqld-options

And their per subsection equivalents.

Please make an effort to add/update these pages after a commit. After all, if a 
user can't see
a change is made, or is referring to out of date documentation, then they 
aren't making use
of the effort you put into making a change. If you made the change you are in 
the best position
to describe it.

git log sql/sys_vars.cc

has quite a number of examples including

2ab49689c689b1c1daeb080ea568c268c5256952
cdb8e6ed38ce641a6cb90a4a93bc5ff15f3ba9f2
a978bdda1e2de35c79e432f026869e163657a263


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Need help merging MDEV-7387 from 10.0 to 10.1

2015-04-17 Thread Daniel Black


- Original Message -
 Hi Bar,
 
 Can you please merge the following patch 10.0 - 10.1?
 
 commit bc902a2bfc46add0708896c07621e3707f66d95f
 Author: Alexander Barkov b...@mariadb.org
 Date:   Fri Mar 13 16:12:54 2015 +0400
 
   MDEV-7387 [PATCH] Alter table xxx CHARACTER SET utf8, CONVERT TO 
 CHARACTER
   SET latin1 should fail
 
 Eg. run `git merge bc902a2bfc46add0708896c07621e3707f66d95f` in a 10.1 tree.

Single merge:

https://github.com/MariaDB/server/pull/43

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-13 Thread Daniel Black
 in this file.
 
 So, either the comment is wrong (view_checksum is not used in this file)
 and should be removed, or the whole #include is unnecessary.

it was unnecessary - removed

https://github.com/MariaDB/server/commit/7229b19c67d12ff579c64f1184e951015aa2f9c9


  === modified file 'sql/sql_view.cc'
  --- a/sql/sql_view.cc   2014-12-21 18:23:28 +
  +++ b/sql/sql_view.cc   2015-02-09 01:48:28 +
  @@ -729,6 +729,26 @@ err:
   }
   
   
  +static void make_view_filename(LEX_STRING *dir, char *dir_buff,
  +   size_t dir_buff_len,
  +   LEX_STRING *path, char *path_buff,
  +   size_t path_buff_len,
  +   LEX_STRING *file,
  +   TABLE_LIST *view)
  +{
  +  /* print file name */
  +  dir-length= build_table_filename(dir_buff, dir_buff_len - 1,
  +   view-db, , , 0);
  +  dir-str= dir_buff;
  +
  +  path-length= build_table_filename(path_buff, path_buff_len - 1,
  + view-db, view-table_name, reg_ext,
  0);
  +  path-str= path_buff;
  +
  +  file-str= path-str + dir-length;
  +  file-length= path-length - dir-length;
  +}
  +
   /* number of required parameters for making view */
   static const int required_view_parameters= 15;
   
  @@ -791,6 +811,81 @@ static File_option view_parameters[]=
   static LEX_STRING view_file_type[]= {{(char*) STRING_WITH_LEN(VIEW) }};
   
   
  +int (THD *thd, TABLE_LIST *view, bool wrong_checksum,
  + bool swap_alg)
  +{
  +  char dir_buff[FN_REFLEN + 1], path_buff[FN_REFLEN + 1];
  +  LEX_STRING dir, file, path;
  +  DBUG_ENTER(mariadb_fix_view);
  +
  +  if (view-algorithm == VIEW_ALGORITHM_UNDEFINED 
  +  !wrong_checksum  view-mariadb_version)
  +DBUG_RETURN(HA_ADMIN_OK);
 
 Eh? Why do you care what view-algorithm is?
 It doesn't matter whether it's undefined, merge, or temptable - if
 mariadb_version is set, the algorithm is always correct.

corrected:

https://github.com/MariaDB/server/commit/29721d7d5f85fe323d70f1856aa1e5294e14074a


  +
  +if (!(parser= sql_parse_prepare(path, thd-mem_root, 0)))
  +  DBUG_RETURN(HA_ADMIN_INTERNAL_ERROR);
  +
  +if (!parser-ok() || !is_equal(view_type, parser-type()))
  +  DBUG_RETURN(HA_ADMIN_INVALID);
  +  }
  +
  +  if (swap_alg  view-algorithm != VIEW_ALGORITHM_UNDEFINED)
 
 only if mariadb_version is not set.

Already covered earlier in the function


  +int view_repair(THD *thd, TABLE_LIST *view, HA_CHECK_OPT *check_opt)
  +{
  +  DBUG_ENTER(view_repair);
  +  bool swap_alg=
  +((check_opt-sql_flags  TT_FROM_MYSQL) 
  + (!view-mariadb_version));
  +  bool wrong_checksum= view_checksum(thd, view);
  +  if (wrong_checksum || swap_alg)
  +  {
  +DBUG_RETURN(mariadb_fix_view(thd, view, wrong_checksum, swap_alg));
 
 First, don't call functions from DBUG_RETURN, this produces weird debug
 traces and somebody will have to fix this later. Always

fixed. like below.
(https://github.com/MariaDB/server/commit/8a827d530a67d40332668d31683a45f583974935)

int res= mariadb_fix_view(thd, view, wrong_checksum, swap_alg);
DBUG_RETURN(res);

 Alternatively, feel free to fix dbug macros to support function calls in
 DBUG_RETURN() :)

I was too lazy. sorry.

 Second, REPAIR VIEW viewname - without FROM MYSQL - should work too, it
 should add mariadb_version field without changing the algorithm.

ok. Done - 

https://github.com/MariaDB/server/commit/76c18f7e76dff6f5c5f8986e0480074a3100fdbe

  === modified file 'sql/sql_yacc.yy'
  --- a/sql/sql_yacc.yy   2014-11-08 18:54:42 +
  +++ b/sql/sql_yacc.yy   2015-02-09 01:48:28 +
  @@ -1145,6 +1145,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
   %token  MULTIPOINT
   %token  MULTIPOLYGON
   %token  MUTEX_SYM
  +%token  MYSQL_SYM
   %token  MYSQL_ERRNO_SYM
   %token  NAMES_SYM /* SQL-2003-N */
   %token  NAME_SYM  /* SQL-2003-N */
  @@ -7191,11 +7192,16 @@ opt_checksum_type:
   ;
   
   repair:
  -  REPAIR opt_no_write_to_binlog table_or_tables
  +  REPAIR opt_no_write_to_binlog table_or_view
 {
   LEX *lex=Lex;
   lex-sql_command = SQLCOM_REPAIR;
   lex-no_write_to_binlog= $2;
  +if (lex-no_write_to_binlog  lex-only_view)
  +{
  +  my_parse_error(ER(ER_SYNTAX_ERROR));
  +  MYSQL_YYABORT;
 
 Why? REPAIR NO_WRITE_TO_BINLOG VIEW makes perfect sense to me, why did
 you want to disallow it?

corrected:

https://github.com/MariaDB/server/commit/28b173134ee1634a2489d3cef6faf2f3ea1f6ab4



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers

Re: [Maria-developers] CREATE/ALTER USER syntax in MySQL 5.7.5/5.7.6

2015-04-13 Thread Daniel Black


- Original Message -
 Hi, Peter!
 
 On Apr 10, Peter Laursen wrote:
  Please read MySQL 5.7 documentation on CREATE USER and ALTER USER syntax:
  https://dev.mysql.com/doc/refman/5.7/en/create-user.html
  https://dev.mysql.com/doc/refman/5.7/en/alter-user.html
  (note before/after version 5.7.5/5.7.6 changes)
  
  .. as well as this blog:
  http://mysqlblog.fivefarmers.com/2015/04/10/improved-alter-user-syntax-support-in-5-7/
  With changes made in MySQL Server 5.7.6, a better distinction is made
  between privilege-level attributes (those which are managed via GRANT and
  REVOKE statements) and account-level attributes (those managed using CREATE
  USER and ALTER USER statements).  MySQL has a long history of confusing
  these – for example, requiring a GRANTcommand to set account resource
  limits or require SSL. 
  
  I think this is a very valid observation and thus also change. Does MariaDB
  have plans to implement the full CREATE/ALTER USER syntax of MySQL
  5.7.5/5.7.6?
 
 Yes.
 

for reference:

https://mariadb.atlassian.net/browse/MDEV-7978


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-12 Thread Daniel Black
 HA_ADMIN_VIEW_REPAIR_IS_DONE:
   Why did you need that, what's wrong with HA_ADMIN_OK?
   Btw, I've already written that in my previous review.
 
 Did you miss this comment or you will do the change?


Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec

  
   +    {
   +      protocol-store(STRING_WITH_LEN(status), system_charset_info);
   +      protocol-store(ER(ER_VIEW_REPAIR_IS_DONE),
   +                      strlen(ER(ER_VIEW_REPAIR_IS_DONE)),
   +                      system_charset_info);
   +      break;
   +    }
   +    case HA_ADMIN_NEEDS_REPAIR:
   Why did you need that, what's wrong with HA_ADMIN_NEEDS_UPGRADE?
 
 Did you miss this comment or you will do the change?

Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec


   +    {
   +      protocol-store(STRING_WITH_LEN(status), system_charset_info);
   +      protocol-store(ER(ER_NEEDS_REPAIR),
   +                      strlen(ER(ER_NEEDS_REPAIR)),
   +                      system_charset_info);
   +      break;
   +    }
     
         default:// Probably 
   HA_ADMIN_INTERNAL_ERROR
           {
   === modified file 'sql/sql_base.cc'
   --- a/sql/sql_base.cc2014-10-31 13:07:29 +
   +++ b/sql/sql_base.cc2015-02-09 01:48:28 +
   @@ -3019,12 +3020,17 @@ bool open_table(THD *thd, TABLE_LIST *ta
       else if (table_list-open_strategy == TABLE_LIST::OPEN_STUB)
         DBUG_RETURN(FALSE);
     
   +
   second empty line?
 
 Did you miss this comment or you will do the change?

Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-11 Thread Daniel Black

Hi Sanja!

I was trying to continue this piece of work (incorporating Sergei's review 
below) since it seems abandoned. Bit sad since it looks like you put a lot of 
effort into this.

Unfortunately the binary mysql-test/std_data/mysql_upgrade/event.* files didn't 
make it to the mailing list 
(http://lists.askmonty.org/pipermail/commits/2015-February/007386.html).

Any chance you could create a git branch of work so far (or even just email the 
mysql-test/std_data/mysql_upgrade/event.* files to me)?


- Original Message -
 Hi, Sanja!
 
 On Feb 09, Oleksandr Byelkin wrote:
  On 09.02.15 15:19, Sergei Golubchik wrote:
   On Feb 09, sa...@askmonty.org wrote:
   At file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-check_view/

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] spelling and code comment fixes for review

2015-04-07 Thread Daniel Black

No code changes.

For review:

Fixing comments

https://github.com/MariaDB/server/pull/24

And spelling in comments:

https://github.com/MariaDB/server/pull/36


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-7781 Allow {un, }install plugins during bootstrap/skip-grant-tables

2015-04-07 Thread Daniel Black

For review:

https://github.com/MariaDB/server/pull/29


Simple one, this allows plugins to be removed/installed during bootstrap 
(opt_noacl=true) but still enforces access control in normal operation.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-04-06 Thread Daniel Black


- Original Message -
 Today, I upgraded my server and all finished OK.
 
 But can't access to Engine.
 
 
 root@d7:/home/dac# mysql -u root -p
 Enter password:
 ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded


does /etc/mysql/my.cnf symlink to /etc/mysql/mariadb.cnf?

I suspect this was missed somehow.

Is there a plugin-load-add from the config file?
https://github.com/ottok/mariadb-10.0/blob/2f0dff8afbe13d0c21613a8fb55d4df7d4a6e6f7/debian/additions/mariadb.conf.d/mysqld.cnf#L103


An upstream (or distro) merge of this would make it redundant.

https://github.com/MariaDB/server/pull/29


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4428: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views in file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-repair_view/

2015-04-04 Thread Daniel Black

Nice work Oleksandr,

Be good to see this committed. I really like the no options bit of 
mysql_upgrade and the use of is_mysql function.


- Original Message -
 At file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-repair_view/
 
 
 revno: 4428
 revision-id: sa...@askmonty.org-20150213124726-9rn55t3qqx7yzy9q
 parent: jplin...@mariadb.org-20150210121723-1gxyej083cf1nv8h
 committer: sa...@askmonty.org
 branch nick: work-maria-5.5-MDEV-6916-repair_view
 timestamp: Fri 2015-02-13 13:47:26 +0100
 message:
   MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views
   
   CHECK/REPAIR commands and mysql_upgrade support for upgrade from MySQL
   server support.
 
 
 [Text File:patch-4428.diff]
 
 ___
 commits mailing list
 comm...@mariadb.org
 https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [server] Mdev 7802 binlog groupcommit stats (#30)

2015-04-02 Thread Daniel Black


- Original Message -
 Daniel Black notificati...@github.com writes:
 What do you think of something like
 
   binlog_commit_trigger_count
   binlog_commit_trigger_timeout
 
 instead ?

to maintain consistency with binlog_group_commits...

binlog_group_commit_trigger_count
binlog_group_commit_trigger_timeout

binlog_group_commit_reason_immediate removed

ref: 
https://github.com/openquery/mariadb-server/commit/1d5220d1124111f563f9faec355c9343f6e40849

 If not, maybe just have a single status variable, like
 
   binlog_commit_trigger_lock_wait

done.

 So this increments the global status variables directly, I think?
 How does the thread locking work? Is it possible for a reader to see a
 corrupt
 value (eg. one word of the old value and one word of the new) on 32-bit
 platform?

Incrementing of counters was already under LOCK_prepare_ordered.

Used this lock in the status retrieval and made sure it didn't overlap with the 
LOCK_commit_ordered 
used by the other binlog status variables.

https://github.com/openquery/mariadb-server/commit/dd7026a703aabdbe0430bf5f32c6f4f5c6d9c240

 With respect to the test cases: Can you please comment yourself on the
 different places where you added output of the status variables, and explain
 why this output will always be the same, no matter how threads are scheduled
 on the machine running the test? (This is the critical part of most tests
 related to replication; because of the inherently multi-threaded nature of
 such tests, a lot of care is needed to make sure the test will not produce
 different output on different test runs depending on the speed of the host or
 how threads are scheduled on a loaded machine).

Added: 
https://github.com/openquery/mariadb-server/commit/0695fdd9df3501a02ae473c23992345c19342aa8



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [server] Mdev 7802 binlog groupcommit stats (#30)

2015-04-01 Thread Daniel Black


- Original Message -
 Daniel Black notificati...@github.com writes:
 
 Thanks for your patch. I agree that these kinds of status information could
 be
 useful. But I have some parts that are not clear, and I want you to think
 about the questions below and answer with your thoughts. This is to make sure
 you understand yourself the issue in detail; to help me understand it; and in
 some cases maybe some changes should be made.
 
  The following global status variables where added:
  * binlog_group_commit_reason_count
  * binlog_group_commit_reason_usec
 
 So, these names seem a bit odd. Neither count nor usec makes much sense
 as a reason for something to happen. _timeout would be a better reason that
 _usec, but I am not sure of a better name for _count. The good thing
 about these names of course is that they match the corresponding
 --binlog-commit-wait-* option.
 
 What do you think of something like
 
   binlog_commit_trigger_count
   binlog_commit_trigger_timeout
 
 instead ?

Sure. reason-trigger and usec-timeout work.

Regarding the dropping of group_, I was trying to keep it aligned in name the 
total - binlog_group_commits

so instead

binlog_group_commit_trigger_{count,timeout,}


  * binlog_group_commit_reason_transaction
  * binlog_group_commit_reason_immediate
 
  binlog_group_commit_reason_transaction is a result of ordered
  transaction that need to occur in the same order on the slave and can't
  be parallelised.
 
  binlog_group_commit_reason_immediate is caused to prevent stalls with
  row locks as described in log.cc:binlog_report_wait_for. This immediate
  count is also counted a second time in
  binlog_group_commit_reason_transaction.
 
 Please re-read that explanation, and consider: do you think an average
 user/DBA will fully understand what these status variables mean? Honestly, I
 am wondering if you can even yourself explain exactly what the difference is
 between the two :-).

Good test. I'd be struggling a bit without the above explanation. I was looking 
at something that would make up the difference to 

 Can you give two simple examples of transactions, one example of which will
 increment the _transaction status variable

e.g.1

create temporary table x ( x int);
insert into x values (4); (probably don't even need this one(?)).


e.g.2

C1: begin
C1: update y set x=x/3 where z=4
C1: commit
C2: begin
C2: update y set x=4 where z=4
C2: commit

where they occur in different connections within the same 
binlog-commit-wait-usec so the first is committed in a different group so that 
C2 doesn't have to deadlock.

 and one of which will increment
 the _immediate?

update x set y=3;
(statement) insert into y select * from x where y=3;

Perhaps I was measuring in the wrong spot however group_commit_reason_immediate 
was always 0 in the patch to binlog_commit_wait.test/result that I added.

 Do you think the distinction between the two is useful for the user?

the _immediate suggests a tighter contention in row locks that perhaps can't be 
avoided however _transaction would indicate that perhaps binlog-commit-wait-{} 
is too high


 If not, maybe just have a single status variable, like
 
   binlog_commit_trigger_lock_wait
 
 for example?
 
  Overall binlog_group_commits = binlog_group_commit_reason_count +
  binlog_group_commit_reason_usec + binlog_group_commit_reason_transaction

Yes holding that relationship would be good. the overlap of 
transaction/immediate was bad form.

 Is this also true if --binlog-commit-wait-count=0?

I'd hope so but I'm not sure.

 If so, what will the
 values of the different status variables be in this case?



 
 Now, to the patches.
 
  +   {
  + if (++count = opt_binlog_commit_wait_count)
  + {
  +   group_commit_reason_count++;
  +   return;
  + }
  + if (unlikely(e-thd-has_waiter))
  + {
  +   group_commit_reason_transaction++;
  return;
  + }
  +   }
 
 So this increments the global status variables directly, I think?

group_commit_reason_count / group_commit_reason_transaction are members of the 
MYSQL_BIN_LOG class so I'm assuming there is only one of these.


 How does the thread locking work? Is it possible for a reader to see a
 corrupt value (eg. one word of the old value and one word of the new) on 
 32-bit
 platform?

Badly. Looks like I'll need to move some bits so they are under 
LOCK_prepare_ordered which seems to be acquired close to reachable. I'll push 
this as the next commit on to the PR.

 How is this handled for other similar status variables?

LOCK_commit_ordered seems to cover ++num_groups_commits (status var 
group_commits)

 It would not be good
 if we had to take some LOCK_status or something inside the critical group
 commit code.
 
 With respect to the test cases: Can you please comment yourself on the
 different places where you added output of the status variables, and explain
 why this output will always be the same, no matter how threads are scheduled

Re: [Maria-developers] [JIRA] (MDEV-7557) Option to put into slow log any transaction that was retried in parallel replication

2015-03-23 Thread Daniel Black


- Original Message -
 Sergei Golubchik (JIRA) j...@mariadb.atlassian.net writes:
 
  Key: MDEV-7557
  URL: https://mariadb.atlassian.net/browse/MDEV-7557
 
  In optimistic parallel replication (MDEV-6676), we speculatively apply
  transactions in parallel, even if they might conflict. If too many
  conflicts
  happen, excessive retry might degrade performance.
  The DBA needs some way to monitor for such problems. One good way would
  seem
  to have an option to add to the slow query log any transactions that were
  retried due to parallel replication conflicts. Possibly with extra
  information  such as duration of transaction and similar.

great feature request.

  I'm not sure that slow log is a good match for this kind of events

It only makes it hard if the format is incompatible with mysqldumpslow

 Right. So do you have a suggestion for a better way?
 
 I was thinking on --log-queries-not-using-indexes, which similarly uses the
 slow query log to expose certain kinds of problematic queries. So queries
 that
 cause deadlocks could be another useful filter for the slow log (it should
 then probably be for all queries that deadlock, not just replication
 queries).
 
 In non-parallel replication, we put deadlock errors as warnings in the error
 log. But I disabled that for parallel replication. In non-parallel
 replication, you normally do not expect any deadlocks (since there is only
 one
 thread, how can it deadlock?). But in parallel replication, deadlocks are
 generally unavoidable, and not harmful. And DBAs do not like noise in the
 error logs that does not indicate a problem and cannot be removed.
 
 One option might be to log deadlocks as INFO level in the error log, and then
 users can temporarily raise verbosity level to see them?
 
 Another option could be to add an option to enable/disable logging deadlocks
 as warnings in parallel replication. (Though probably you will think as me,
 that this feels a bit like too ad-hoc an option to add.)
 
 Any other ideas?

Use a variable long_rollback_time as the trigger. The query time is generally 
unavoidable
however if the rollback time (for all retries) for the queries starts to rise 
that's when you want to notice.

The log should show the number of rollbacks as well. I'd be happy if this 
included application rollbacks too but isn't essential.

Slow query log I think is a reasonable fit as 
log-slow-verbosity=query_plan,explain 
gives you a fairly good idea as to which indexes are locked.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-03-14 Thread Daniel Black


- Original Message -
 Hello Daniel B. and others,
 
 I decided to write to you via the mailing list so that we are
 inclusive if somebody wants to join our effort to create a solid
 passwordless (Debian/Ubuntu) packaging.
 
 Thanks Daniel for all the pull requests you've made. Unfortunately
 there are still some bugs. Now it ends with 'ERROR 1524 (HY000):
 Plugin 'unix_socket' is not loaded'
..
 $ apt-get purge 'mysql-*' 'mariadb-*'; rm -rf /etc/mysql
 /var/lib/mysql; apt-get clean; apt-get update
 [..]
 
 $ apt-get install mariadb-server
 [..]
 


Ok. I can reproduce this.


 Please figure out what is still missing and open new pull requests to fix it
 :)

after the install here is the conf directories:

find /etc/mysql/ -ls
2603774 drwxr-xr-x   4 root root 4096 Mar 14 22:40 /etc/mysql/
2605004 -rw-r--r--   1 root root 3533 Feb  9 10:33 
/etc/mysql/my.cnf
2605844 -rw-r--r--   1 root root  744 Feb  9 19:21 
/etc/mysql/mariadb.cnf
2605074 drwxr-xr-x   2 root root 4096 Mar 14 22:39 
/etc/mysql/conf.d
2605150 -rw-r--r--   1 root root0 Feb  9 14:41 
/etc/mysql/conf.d/.keepme
2608684 -rw-r--r--   1 root root  285 Feb 25 15:41 
/etc/mysql/conf.d/tokudb.cnf
2610694 -rwxr-xr-x   1 root root 1312 Feb  8 12:32 
/etc/mysql/debian-start
2605184 drwxr-xr-x   2 root root 4096 Mar 14 22:39 
/etc/mysql/mariadb.conf.d
2605194 -rw-r--r--   1 root root  306 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/mysqld_safe.cnf
2605214 -rw-r--r--   1 root root 2715 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/mysqld.cnf
2605334 -rw-r--r--   1 root root  111 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/client.cnf
2610734 -rw---   1 root root  277 Mar 14 22:40 
/etc/mysql/debian.cnf

This fails as the  /etc/mysql/my.cnf from mysql-common is used.

after doing the obscure instructions in the output:

rm /etc/mysql/my.cnf  ln -s mariadb.cnf /etc/mysql/my.cnf

Solid packaging should to this without the user.

The unix_socket plugin is loaded as this is specified in /etc/mysql/mariadb.cnf

This has been raised as an issue https://github.com/ottok/mariadb-10.0/issues/10

Given the contents on mysql-common can it be removed as a dependency (and added 
as conflicting package), mariadb-common to install /etc/mysql/conf.d (not sure 
if needed) and add the symlink?

These kind of alterations require a deeper understanding of debian policy and 
practice than I am familiar with.

dpkg -L mysql-common
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mysql-common
/usr/share/doc/mysql-common/copyright
/usr/share/doc/mysql-common/changelog.Debian.gz
/usr/share/doc/mysql-common/changelog.gz
/usr/share/doc/mysql-common/NEWS.Debian.gz
/etc
/etc/mysql
/etc/mysql/my.cnf
/etc/mysql/conf.d
/etc/mysql/conf.d/.keepme

# dpkg -L mariadb-common
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mariadb-common
/usr/share/doc/mariadb-common/changelog.Debian.gz
/usr/share/doc/mariadb-common/copyright
/etc
/etc/mysql
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/mysqld.cnf
/etc/mysql/mariadb.conf.d/client.cnf
/etc/mysql/mariadb.cnf

# more /etc/mysql/mariadb.cnf

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/




-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-03-14 Thread Daniel Black


- Original Message -
 
 
 - Original Message -
  Its something that i did fix on the patch i sent previously, its the
  INSTALL PLUGIN statement that cannot be executed while mysqld has
  been ran with --skip-grant-table, it should be replaced by an INSERT
  on the mysql.plugin table.
  
  The line 192 :
   INSTALL PLUGIN unix_socket SONAME 'auth_socket';
  
  Must be replaced with :
   INSERT INTO mysql.plugin (name, dl) VALUES ('unix_socket',
  'auth_socket');
  
 
 Ah, I see, seems even removing --skip-grant-tables isn't enough

--skip-grant-tables is implied by --bootstrap

..
 While insert probably works for auth_socket as it has no init function on
 install, devs is there a reason why you can't install a plugin in bootstrap?

https://mariadb.atlassian.net/browse/MDEV-7781

https://github.com/MariaDB/server/pull/28/files

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Maria-discuss] Enabling feedback pluging for MariaDB 10.1.4

2015-03-11 Thread Daniel Black

There are many perfectly valid reasons for keeping it disabled by default.

If you want to raise the profile/use of the feedback plugin have you considered 
making it into its own package that includes the shared library and config 
files in /etc/my{.cnf.d,sql}/feedback.cnf ?

It makes it more visible to sysadmins than a shared library and a kb page.

Just need to come up with a marketable name.

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-03-02 Thread Daniel Black

Looks all right. Trying to test in a wheezy chroot.

Needed https://github.com/ottok/mariadb-10.0/pull/8 applied for the wheezy 
version.

even applying all the debian/patches/*.patch the following build error occurs

dh build


CMake Error at cmake/plugin.cmake:204 (INSTALL):
  install FILES given no DESTINATION!
Call Stack (most recent call first):
  storage/oqgraph/CMakeLists.txt:52 (MYSQL_ADD_PLUGIN)


-- OQGraph OK
-- CONNECT: GCC: Some warnings disabled
CMake Error at cmake/plugin.cmake:204 (INSTALL):
  install FILES given no DESTINATION!
Call Stack (most recent call first):
  storage/connect/CMakeLists.txt:282 (MYSQL_ADD_PLUGIN)


-- Configuring incomplete, errors occurred!
make: *** [override_dh_auto_configure] Error 1


adding SET(INSTALL_SYSCONFDIR_DEB /etc/mysql)
to cmake/install_layout.cmake didn't help it.


little lost what to do.


- Original Message -
 I'm trying to engineer a fix for this but it seems really tricky. Here
 is what I've got so far:
 https://github.com/ottok/mariadb-10.0/commit/26fd165625b2e840fbda05ed11e5b7c12f308fca
 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-24 Thread Daniel Black


- Original Message -
 Thanks for your help!
 
 How should this then be re-written correctly?

Thinking strip away the procedures and work directly with a query of the 
information schema.

perhaps even just call: set sql_log_bin=0; install plugin unix_socket

and ignore the error if it exists..

 SET sql_log_bin=0; USE mysql; DELIMITER //; CREATE PROCEDURE
 debian_plugin_install(IN plugin_name CHAR(50), IN soname CHAR(50))
 BEGIN DECLARE CONTINUE HANDLER FOR NOT FOUND  EXECUTE
 inst_plug; set @plugin_name=plugin_name; set @soname=soname ;set
 @install_plugin=CONCAT(\INSTALL PLUGIN \,@plugin_name,\ SONAME '\,
 @soname, \'\);PREPARE inst_plug FROM @install_plugin ;
 select PLUGIN_NAME INTO @a from  information_schema.plugins where
 PLUGIN_NAME=@plugin_name AND PLUGIN_STATUS='ACTIVE' AND
 PLUGIN_TYPE='AUTHENTICATION' AND PLUGIN_LIBRARY LIKE
 concat(@soname,'%'
 ); DEALLOCATE PREPARE inst_plug; END// CALL
 debian_plugin_install('unix_socket', 'auth_socket') // DROP PROCEDURE
 debian_plugin_install//
 
 https://github.com/ottok/mariadb-10.0/blob/master/debian/mariadb-server-10.0.postinst#L179
 
 Pull requests appreciated :)
 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-23 Thread Daniel Black
I partly got started on the weekend but didn't get far.

I'll continue looking this afternoon.

- Original Message -
 Daniel, anybody..?
 
 2015-02-20 22:52 GMT+02:00 Otto Kekäläinen o...@seravo.fi:
  Hello Daniel!
 
  It seems there are some issues with the passwordless login patch you
  sent me some weeks ago (https://github.com/ottok/mariadb-10.0/pull/3)
 
  Can you help me debug the failing postinst script?
 
 
  I added 'set -x' to the mariadb-server-10.0.postinst script and when
  it is run during the configure phase it will exit with code 1 and make
  dpkg abort the installation.
 
  Last lines of execution:
   SET sql_log_bin=0;
   CREATE TABLE IF NOT EXISTS plugin (name char(64) COLLATE utf8_bin NOT
  NULL DEFAULT '\'''\'',dl char(128) COLLATE utf8_bin NOT NULL
  DEFAULT '\'''\'',PRIMARY KEY (name)) ENGINE=MyISAM DEFAULT
  CHARSET=utf8 COLLATE=utf8_bin COMMENT='\''MySQL plugins'\'';'
  + logger -p daemon.err -t mysqld_safe -i
  + /usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables
  --default-storage-engine=myisam --plugin-load-add=auth_socket
  + set -e
  + echo 'SET sql_log_bin=0; USE mysql; DELIMITER //; CREATE PROCEDURE
  debian_plugin_install(IN plugin_name CHAR(50), IN soname CHAR(50))
  BEGIN DECLARE CONTINUE HANDLER FOR NOT FOUND  EXECUTE
  inst_plug; set @plugin_name=plugin_name; set @soname=soname ;set
  @install_plugin=CONCAT(INSTALL PLUGIN ,@plugin_name, SONAME '\'',
  @soname, '\'');PREPARE inst_plug FROM @install_plugin ;
  select PLUGIN_NAME INTO @a from  information_schema.plugins where
  PLUGIN_NAME=@plugin_name AND PLUGIN_STATUS='\''ACTIVE'\'' AND
  PLUGIN_TYPE='\''AUTHENTICATION'\'' AND PLUGIN_LIBRARY LIKE
  concat(@soname,'\''%'\''
  ); DEALLOCATE PREPARE inst_plug; END// CALL
  debian_plugin_install('\''unix_socket'\'', '\''auth_socket'\'') //
  DROP PROCEDURE debian_plugin_install//'
  + logger -p daemon.err -t mysqld_safe -i
  + /usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables
  --default-storage-engine=myisam --plugin-load-add=auth_socket
  timo@debunstable:~$ echo $?
  1
  timo@debunstable:~$ echo $?
  0
 
  This implies that the exit code from the line '/usr/sbin/mysqld
  --bootstrap --user=mysql --skip-grant-tables
  --default-storage-engine=myisam --plugin-load-add=auth_socket' is 1.
 
 
  Any ideas why?
 
 
  If you want to test it yourself, add to you apt sources the test repo
 
  deb http://labs.seravo.fi/~otto/mariadb-repo/ mariabd-10.0-sid-amd64/
 
 
 
 --
 Check out our blog at http://seravo.fi/blog
 and follow @ottokekalainen
 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-23 Thread Daniel Black


- Original Message -
 Manually executing the command result in this error :
  ERROR: 1064  You have an error in your SQL syntax; check the
 manual that corresponds to your MariaDB server version for the right
 syntax to use near 'USE mysql;DELIMITER //; CREATE PROCEDURE
 debian_plugin_install(IN plugin_name C' at line 1
  150223 22:44:06 [ERROR] Aborting
 
 By adding \n between each of these statements we can see that the
 statement causing the syntax error is DELIMITER //;, it seems that
 DELIMITER is only used by mysql client and the that mysqld doesnt
 recognize it as an internal command.

thank you


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2015-02-13 Thread Daniel Black


- Original Message -
 Sergei Golubchik s...@mariadb.org writes:
 
   Make it print an error:
   The table 'db.table' has deprecated columns types incompatible
   with Row-based replication.
   
   (the same text with #b, but this time an error instead of a note).
   
  
  I leave it to Kristian...
 
 First, note that this is not just --binlog-format=row, if I understand
 correctly. It also seems that --binlog-format=mixed could be affected, if
 some
 particular logging decides to use row-based for a query.

Yes. That was the case.

 But I think I need an explanation of the original problem to give an informed
 opinion.

MDEV-7268


 What happens if for example I take a mysqldump from a table with old DECIMAL
 and apply it on a new version server? Will it create a table with new
 DECIMAL?

It dumps out as DECIMAL and gets recreated as (NEW) Decimal. That's how I 
initialised the slave in question.

 Will this break row-based replication between the two servers?

Once it got to the situtation of using RBR.

 Or does the problem only happen if eg. replicating between different column
 definitions? Eg. if replicating from old DECIMAL(10,2) to new DECIMAL (20,4)?

Both definations are the same.

 In general, it seems that the first scenario would be pretty bad breakage,
 and something to avoid.
 
 But having different table definitions on master and slave is a different
 matter, I think, if the user explicitly choose to do this. I would say this
 is not something that is officially supported, even if we sometimes try to 
 make
 it work. So not a top priority to fix. Though if the different definitions
 can somehow arise on its own, due to mysql_upgrade or the like, the matter is 
 of
 course more serious.

The show create table makes them look the same even though they aren't. 
mysql_upgrade doesn't do it and I'm in favour of a warning with and OK like 
previously suggested. I don't think mysql_upgrade is expected to do large alter 
table commands on anything other than system tables.

Alexander pointed me at few tips on displaying the differences.

   d. Make the master running with --binlog-format=row refuse to do any
 INSERT/UPDATE/ALTER or any other queries that can modify a table
 with the old DECIMAL.
  
  Note that currently such DECIMAL columns work just fine with RBR, so
  long as the master and slave have the same internal types. So
  completely disallowing DECIMAL with RBR seems like a breaking and
  unnecessary change to something which apparently works fine for the
  user already.
 
  Right. That's why I didn't particularly like that idea. Because quite
  often old DECIMAL works just fine with RBR.
 
 Right.
 
 So what is the problem with this: on the slave, if we get a row event for an
 old DECIMAL column, assume it has the same definition (DECIMAL(M1,N1)) as the
 one in the slave table.

I'd be happy with this. Adding this functionality isn't going to cause a 
compatibility problem as its an improvement on the current break replication 
situtation.

 Document that replicating from old DECIMAL to new
 DECIMAL of different (M2,N2) type is not supported and can cause problems?

I'm happy with this.

  On the other hand, the master cannot know whether tables on the slave
  are compatible with old DECIMAL or not. And by the time the replicated
  row events reach the slave it's too late to stop them - replication is
  already broken.
 
  At the moment I, frankly, cannot think of any satisfactory solution for
  this.
 
 Well, what about introducing new row events? And these new row events contain
 the necessary information for the slave to handle matters correctly?
 
 But, as from above, I'm not sure if that much effort is warranted.

If the new row event just adds the precision of the old decimal it does seem 
like a bit too much effort.

 Hope this helps,

Likewise.




-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-7362] ANALYZE TABLES crash with table-independent-statistics gathering

2015-01-16 Thread Daniel Black


- Original Message -
 Hi Daniel!
 
 
  The test case should also look at the result of the:
 
  select * from mysql.index_stats where index_name='a' and table_name='t1';
 
 Added in the test case.

Thanks

 Also, I got the explanation slightly wrong. It's
 not index_init that causes the problem, it's calling ha_index_first with a
 garbage buffer as a parameter that messes things up. The flags in table
 specifically say that (in that case) the table-record[0] is garbage, but
 we used it anyway.

Good to know there isn't a lower level lurking bug because of this. Thanks for 
the explanation.

   diff --git a/mysql-test/t/mdev-7362.test b/mysql-test/t/mdev-7362.test
   new file mode 100644
   index 000..6551893
   --- /dev/null
   +++ b/mysql-test/t/mdev-7362.test
 
  more recent test cases include the area of the test failure in the
  filename or include the test with the general t/statistics.test
 
 Hmm, I made a new file to test for this bug and named it
 statistics_index_crash.test. I don't think it fits going into the
 statistics.test.

Good description. like it.


  Can you please add a test case for innodb too as it supports FT in 10.0.
 
  Done.

thanks


 
  If this is the fix the if..return can go much earlier in
  collect_statistics_for_index, before Index_prefix_calc() even.
 
 Done.

thanks

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-7362] ANALYZE TABLES crash with table-independent-statistics gathering

2015-01-15 Thread Daniel Black


- Original Message -
 Hi Sergei!
 

Hi Vicentiu,

Thanks for fixing my reported bug :-)

 I've implemented a fix for the bug described in MDEV-7362, that also fixes
 MDEV-7380. The test case also covers MDEV-7380. 

 I've spent a bit of time trying to figure out the architecture of things
 there. I am not confident my fix is complete, or if this is the way we want
 to go about fixing it. The fix does what we discussed over IRC, that we are
 not interested in computing statistics for a FULLTEXT index.

makes sense.

 What I think would be the root cause of the problem is calling
 ha_index_init() on an index that does not support this. By calling
 table-file-ha_index_init(), the table-field array gets corrupted and that
 ultimately leads to a crash in the function using it afterwards.

That sounds like another bug that need to be fixed in ha_maria::index_init /  
ha_myisam::index_init or the API is being used differently to usual.

 Then again, this module is completely new to me, so any comments are
 appreciated. Here is the diff of the first changes.

The test case should also look at the result of the:

select * from mysql.index_stats where index_name='a' and table_name='t1';

 diff --git a/mysql-test/t/mdev-7362.test b/mysql-test/t/mdev-7362.test
 new file mode 100644
 index 000..6551893
 --- /dev/null
 +++ b/mysql-test/t/mdev-7362.test

more recent test cases include the area of the test failure in the filename or 
include the test with the general t/statistics.test


 @@ -0,0 +1,14 @@
 +CREATE TABLE t1 (a longtext, FULLTEXT KEY (`a`)) ENGINE=MyISAM;
 +insert into t1 values
 (unhex('3E0D0A4141414142334E7A6143317963324541414141424977414141674541726D'));
 +analyze table t1 persistent for all;
 +drop table t1;
 +
 +CREATE TABLE t1 (a longtext, FULLTEXT KEY (`a`)) ENGINE=MyISAM;
 +insert into t1 values
 (unhex('3E0D0A4141414142334E7A6143317963324541414141424977414141674541'));
 +analyze table t1 persistent for all;
 +drop table t1;
 +
 +CREATE TABLE t1 (f longtext NOT NULL, FULLTEXT KEY f (f)) ENGINE=MyISAM;
 +INSERT INTO t1 VALUES (REPEAT('a',27)),('foo');
 +ANALYZE TABLE t1 PERSISTENT FOR ALL;
 +drop table t1;

Can you please add a test case for innodb too as it supports FT in 10.0.


 diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
 index d368145..2c1cccf 100644
 --- a/sql/sql_statistics.cc
 +++ b/sql/sql_statistics.cc
 @@ -2367,6 +2367,9 @@ int collect_statistics_for_index(THD *thd, TABLE
 *table, uint index)
 DBUG_RETURN(rc);
 }
 + if (key_info-flags  HA_FULLTEXT) // skip if FULLTEXT index
 + DBUG_RETURN(rc);
 +

If this is the fix the if..return can go much earlier in 
collect_statistics_for_index, before Index_prefix_calc() even.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4398: MDEV-7368 : SLES: Failed to start mysql.service: Unit

2015-01-14 Thread Daniel Black

Hi Nirbhay!

- Original Message -
 Hi, Nirbhay!
 
 On Dec 23, Nirbhay Choubey wrote:
  At lp:~maria-captains/maria/5.5
  
  
  revno: 4398
  revision-id: nirb...@mariadb.com-20141224033207-8lh5i8d84qsjey79
  parent: ele...@montyprogram.com-20141223172123-pkfhjnv7oy1suxpa
  committer: Nirbhay Choubey nirb...@mariadb.com
  branch nick: b7368-5.5
  timestamp: Tue 2014-12-23 22:32:07 -0500
  message:
MDEV-7368 : SLES: Failed to start mysql.service: Unit
mysql.service failed to load

Added 'systemctl daemon-reload' command in postin and
postun rpm scripts.
 
  === modified file 'support-files/rpm/server-postin.sh'
  --- a/support-files/rpm/server-postin.sh2013-11-20 11:18:46 +
  +++ b/support-files/rpm/server-postin.sh2014-12-24 03:32:07 +
  @@ -1,6 +1,10 @@
   
   # Make MySQL start/shutdown automatically when the machine does it.
   if [ $1 = 1 ] ; then
  +  if [ -x /usr/bin/systemctl ] ; then
  +  /usr/bin/systemctl daemon-reload /dev/null 21
  +  fi
  +
 
 looks ok


I'm assuming SLES follows the same rules as openSUSE

https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines prescribes

%pre
%service_add_pre mysql.service

%post
%service_add_post mysql.service

%preun
%service_del_preun mysql.service

%postun
%service_del_postun mysql.service


I'd assume this handles any daemon reload as required otherwise something along 
those lines would of been mentioned.


Still a little confused as mysqld.service comes from as it doesn't appear to be 
./packaging/rpm-oel/mysqld.service

also https://mariadb.atlassian.net/browse/MDEV-5536 is there with a fair bit of 
systemd work (but not much in the way of rpm spec changes).



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-23 Thread Daniel Black


- Original Message -
 Hi Kristian, Sergei.
 
 
 What about this plan:
 
 
 1. In 10.0:
 
 a. Make ALTER TABLE t1 FORCE fully rebuild the table
 and change old DECIMAL to new DECIMAL.

This and/or the d) alternative  should work.

 b. Keep CHECK TABLE t1 FOR UPGRADE to still return a line with
 Msg_type=status and Msg_text=OK, but also add new
 lines with Msg_type=note and Msg_text telling something like:
 The table 'db.table' has deprecated columns types incompatible with
 Row-based replication.
 REPAIR TABLE is recommended. Note, this can take some time..

^ ALTER TABLE...

 c. mysql_upgrade will NOT upgrade tables with the old DECIMAL
 automatically, because they will still be reported as OK.
 
 But mysql_upgrade should detects and prints the new notes
 in the CHECK TABLE t1 FOR UPGRADE output.

works for me.

 d. Make the master running with --binlog-format=row refuse to do any
 INSERT/UPDATE/ALTER or any other queries that can modify a table
 with the old DECIMAL.

 Also, make mysqld --binlog-format=row disallow queries like:
 CREATE TABLE t2 AS SELECT old_decimal FROM t1;

Alternately, is it possible use the new decimal in the created table, convert 
in the copy process and push the new decimal format into the RBR?

Is this the same code path as CREATE TABLE x LIKE y? And will this generate new 
decimal? I guess the precision reduction warning previous mentioned needs to 
come into play here.

Does new decimal replicate in rbr to old decimal tables ok?

 e. A SELECT from a table with the old DECIMAL should probably also
 print a warning, to give the user another chance to know about the
 problem.

If this is easy, sure. Can/should this go to the error log too? Might be easier 
to find.

 f. Make INFORMATION_SCHEMA.COLUMNS somehow print information about the
 deprecated data types (in DATA_TYPE or COLUMN_TYPE or
 COLUMN_COMMENT).

Running mysqlcheck --all-database --check-upgrade should expose these with c).

 2. In 10.1
 Change b to return Msg_type=error and Mst_text=
 Table upgrade required. Please do REPAIR TABLE `tablename` or
 dump/reload to fix it!

REPAIR - ALTER

 This will also force mysql_upgrade to rebuild tables with the old
 DECIMAL automatically.
 
 
 Looks like a lot of work...

Sorry. Such is the nature of inheriting technical debt.

Thanks for your detailed examination of this issue.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-22 Thread Daniel Black


- Original Message -
 Hi, Alexander!
 
 On Dec 22, Alexander Barkov wrote:
  Hi Sergei, Kristian,
  
  I'm looking at:
  
  MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)'
  to type ' 'decimal(10,7)'
  
  This bug cannot be fixed in general case, because the old DECIMAL data
  type does not write its metadata into the binary log.
  
  I suggest we don't fix replication of old DECIMAL
  (neither binlogging, nor slave-side).
 
 I think that's reasonable. But then CHECK TABLE ... FOR UPGRADE
 should issue a warning for old DECIMAL columns.

That would be nice. It took diffing a frm file to suspect it was really old 
decimal.

  Instead, we fix ALTER TABLE ... FORCE (and thus mysql_upgrade)
  to force changing old DECIMAL to new DECIMAL.
  Currently, ALTER TABLE...FORCE preserve old DECIMAL.

If this could go in the release notes I'd really appreciate it. I'll try 
remember to write it there too.

A long running alter table on a production upgrade that won't show up on a test 
slave (if set up from mysqldump) is a rather ugly surprise.

  Not sure which version is best to fix in.
  The complainer had problems with 5.5.
 
 I don't know, I'd say 10.0.

It was 5.5 as per the complaint.

 For the complainer there's a workaround - I'm sure you can come up with
 an ALTER TABLE that changes columns from old to new DECIMAL, may be
 something like ALTER TABLE xxx MODIFY COLUMN yyy DECIMAL()

Given ALTER TABLE ... FORCE didn't change it I'm not why this would. I can 
copy/paste a show create table however or use 
pt-online-schema-change/pt-archiver without replication with global 
binlog_format set to SBR in the mean time and hopefully that covers all the 
buggy edge cases that trigger rather abrupt production failures.


-- 
Daniel Black, Complainer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-22 Thread Daniel Black


- Original Message -
 Hi Daniel,
 
 On 12/22/2014 03:30 PM, Daniel Black wrote:
 
 
  - Original Message -
  Hi, Alexander!
 
  On Dec 22, Alexander Barkov wrote:
  Hi Sergei, Kristian,
 
  I'm looking at:
 
  MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)'
  to type ' 'decimal(10,7)'
 
  This bug cannot be fixed in general case, because the old DECIMAL data
  type does not write its metadata into the binary log.
 
  I suggest we don't fix replication of old DECIMAL
  (neither binlogging, nor slave-side).
 
  I think that's reasonable. But then CHECK TABLE ... FOR UPGRADE
  should issue a warning for old DECIMAL columns.
 
  That would be nice. It took diffing a frm file to suspect it was really old
  decimal.
 
 Unfortunately there is no an easy way to find the old DECIMAL in
 all tables of a database.
 Perhaps INFORMATION_SCHEMA should provide a way to report the real
 underlying data type.

If its easy, I'm keen. I see anything that breaks because of this less 
important than not knowing that an old DECIMAL exists.


 To find the old DECIMAL in a single table, one can do the following:
 
 1. start mysql like this:
 
 mysql --column-type-info dbname
 
 2. Run SELECT * FROM t1
 
 3. See the Type column in the metadata printed

Nice, thanks, I hadn't used that option before.

 ALTER..MODIFY goes through a different execution chain.
 
 The parser returns the new data type when it sees the keyword
 DECIMAL, while the table definition contains the old DECIMAL.
 So ALTER notices that the data types are actually different and
 recreates the table.

so ALTER TABLE can convert but RBR can't? Is this because of the lack of 
metadata?

 Right, with SBR it should work without problems.

Thanks for the confirmation and the other work you are putting into this issue.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Review of Debian packaging file listing?

2014-12-21 Thread Daniel Black




- Original Message -
 Hello!
 
 I recently updated my build scripts to automatically generate a file
 listing for each commit in in the Debian packaging pool I have.
 
 Here is a recent one:
 http://labs.seravo.fi/~otto/mariadb-repo/mariadb-10.0-sid-amd64/filelist-ec07593.log
 
 It is now very easy to review and track what files are in what package.

Is this still the plan? https://wiki.debian.org/Teams/MySQL/WhichPackage

 Could somebody please quickly review that file and tell me if you spot:
 - any files in wrong package and should be moved?

mariadb-client-10.0 has mysqldumpslow and its manpage along with a lot of other 
execs scheduled for mysql-server-utils

Didn't check the rest of the WhichPackage plan since it didn't seem to be done.

 - any package that has too few files and maybe something missing?

libmariadbd-dev

doesn't seem to contain any .h files or mariadb_config/mysql_config

mariadb-test-10.0

lrwxrwxrwx root/root ./usr/share/mysql/mysql-test/mysql-test-run
lrwxrwxrwx root/root ./usr/share/mysql/mysql-test/mtr

Not sure why these aren't in /usr/bin

 - any file attributes that might be wrong or insecure?

Not that I could see.

 - should any of the MariaDB plugins deserve to be shipped as a
 separate package? (apart from current connect and oqgraph)

I'd see a need to split them when extra dependencies creep in to the plugin.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Report from Debian/Ubuntu MySQL packaging sprint in London in December

2014-12-21 Thread Daniel Black


Wow,

Great work Otto and everyone else who attended.

- Original Message -
 Hello!
 
 I thought I'd brief the readers of this mailing list about the
 packaging sprint in London last week. It was organized by Canonical
 and in addition to Canonical staff and me there where also people from
 Oracle and Percona. We mostly worked on syncing the
 MySQL/MariaDB/Percona server packaging and a little bit also on
 creating a unified Galera package.
 
 We made good progress and all results have been pushed to public
 repos. I also recently updated the pages
 https://wiki.debian.org/Teams/MySQL/MariaDB and
 https://wiki.debian.org/Teams/MySQL/Galera to reflect the current
 status.
 
 One big technical change that was discussed and planned is the
 decoupling of the config and data directories. The plan is that in the
 future no MySQL variant in particular would anymore own the
 /etc/mysql/my.cnf file

Is this file still going to exist? Client programs like percona-toolkit and 
others will look for it.

I imagine the client section of [mysqldump] [mysql] [myisamchk] would all be 
provided by the relevant client package too.

 but instead each variant would register their
 own config file at installation time by using the Debian
 update-alternatives mechanism. So in future there would be
 /etc/mysql/mariadb.conf, mysql.conf, percona.conf etc and some more
 snippets in /etc/mysql/mariadb.conf.d/.. etc.

Good. Are you making use of product sections like [mariadb] [mariadb-5.5] 
[galera]  ([percona]?) ?

Good to see using the plugin auth_socket for debsysmaint or root user in lieu 
of a password on filesystem?

Good to see UTF as a default (in https://wiki.debian.org/Teams/MySQL/MariaDB).

 The plan is not complete nor tested, but there are preliminary changes
 in the mysql-common package to provide the config file registration
 hook and in a preliminary Percona Debian package to use the new config
 file registration facility.
 
 As the config file defines the data directory, successful decoupling
 of config files would make it easy to also decouple the data
 directories so that if the user installs/removes/upgrades any of the
 MySQL variants they would not mess up their data accidentally and the
 installation scripts would help users to dump/migrate/copy/move their
 data in the common scenarios.

nice!

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Invisible Indexes and .frm Change?

2014-12-16 Thread Daniel Black


- Original Message -
 Hi list.
 
 I'm looking into adding invisible indexes.
 
 There's 3 scopes I've thought of:
 
 1) global and persistent (create table, alter table, create index)
 2) global temporary (alter table t1 change index invisible global)
 3) session temporary ( alter table t1 change index invisible session)
 
 #1 likely means changing the .frm format, which would cause backward
 compatibility issues.
 
 Are there any upcoming changes to .frm planned?

 Any comments or suggestions?


How/why are invisible indexes useful?

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Google's patches to MariaDB are available in the opensource repo

2014-12-02 Thread Daniel Black


- Original Message -
 Hi all,
 
 Effective immediately the full opensource tree of changes made to
 MariaDB by Google to make it work for our internal applications is
 available at https://code.google.com/p/google-mysql/.


Thanks for the work in getting this released and all the patches and bug 
reports I've seen credited to you.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] doubt about read uncommited

2014-11-24 Thread Daniel Black


- Original Message -
 hi guys, i use read uncommited sometimes with innodb, that's nice and work

too scared to ask why. Its nice until the one day it shoots you.

 but now, i'm using a myisam table, and a aria table
 does read uncommited work with this kind of engine?

There is never any uncommitted as a table lock is held when writing occurs. 
Reads wait until that finishes.

 i tested and table stay
 'waiting table lock' while a long update occurs

Right (+write) - as above.

 i don't know what's the internal diference but is possible to easily
 implement read uncommited to myisam/aria?

It is possible to change to easily change to innodb, an actually transactional 
storage engine, for the transaction features you want to use?


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] doubt about read uncommited

2014-11-24 Thread Daniel Black


- Original Message -
 hi Daniel!
 
 2014-11-25 1:03 GMT-02:00 Daniel Black daniel.bl...@openquery.com:
 
 
 
  - Original Message -
   hi guys, i use read uncommited sometimes with innodb, that's nice and
  work
 
  too scared to ask why. Its nice until the one day it shoots you.
 
 no problem, i use with data that don't need fully consistency
 but this problem isn't my design, that's why i'm searching some solution
 
 just some points to avoid thinking that i'm a newbie trying to use myisam
 as innodb cause it have better count(*) speed than innodb or anything like
 it...

You define a solution with so man doubts and questions rather than describing a 
problem. This will always make you look like a newbie.

 i like the innodb and myisam when right used, and yes innodb can do this
 job with transactions, i know isolation level read uncommited is for some
 transactional engine and not all engine can use it, that's engine specific
 i don't remember what engine don't allow this, but i read something about it

SQL spec - DB implementations can escalate the isolation level if they so 
choose.


 myisam and aria don't execute as transactional engine, they have a non
 transacitonal model, ok i know this, i'm testing what it can really do
 
 i know that's something that maybe the solution don't exists today with
 standard mysql/mariadb engines
 maybe there's another engine plug and play, i only don't know what engine
 and how complex is implement this if no one solve, yes i don't know how
 complex is change this applicatoin since i don't have the source code... i
 will execute query rewrite
 
 forgetting the solution of 'use innodb instead of myisam'... (that's
 valid solution)
 there's space to implement some new feature to aria/myisam? i think aria is
 better in this case cause it have jornalling, or maybe any other solution?

a solution to what? you haven't defined the problem.

 the table don't have many update/delete and writes are concurrent inserts,
 it's like a historical table
 i don't have access to source code of application sending the queries, i
 will implement something between client and mariadb to rewrite the queries,
 i know exactly what query must execute in this kind of feature since app
 send comments telling what 'module' is executing the query, something like
 /* module=1242 */ SELECT 

So you want MariaDB devs to rewrite the database because you cant' improve the 
application?



   but now, i'm using a myisam table, and a aria table
   does read uncommited work with this kind of engine?
 
  There is never any uncommitted as a table lock is held when writing
  occurs. Reads wait until that finishes.
 
 
 nice, confirmed with you too :)
 that was a doubt, since transactional level is realated to transactional
 engine

This of it as always transactional isolation level with no rollback or 
transactions.

, i never tested if it could change something of non trasactional
 engines, a idiot doubt i know... but only testing to really know 100% if
 this change something, reading the docs or reading the myisam/aria source
 code, the easier method was testing... =]
 that's probably expected
 
 from what i know about myisam/aria, a table write lock block the table read
 lock (i can check this with meta data lock plugin), and read only execute
 after release of write lock, some writes can execute without big locks,
 like concurrent inserts, right?
 
 but instead of a read lock waiting write locks, i'm thinking about a one
 new level of lock inside myisam (or aria), i don't know how to name this
 level of lock using the myisam/aria words, with transactional engines
 that's a transactional isolation level
 no problem of slowing down the update query or the select query or the
 whole table read/write, and no problem about reading garbage (uncommited
 data) by select (that's expected to result old data)
 
 i don't know 100% how write works with myisam/aria, but at a high level i
 think the only problem is reading one row while write is being executed,
 probably this need a row level locking or a 'range level lock' or a jornal
 method (like aria), but i'm thinking if some kind of non transactional
 model could be used to read uncommited data, i will try to run 2 or more
 mysqld with same mysql table and check if any problem occur, probably yes...
 
 check that i don't care about transaction in this case, transaction solve
 the problem of course, but i'm thinking if there's a non transactional
 solution, and if exists how complex could be implement it, cause i didn't
 checked yet how complex is rewriting the whole queries from app to run with
 transactions, ideas and experiences with this are wellcome
 
 
 
 
   i tested and table stay
   'waiting table lock' while a long update occurs
 
  Right (+write) - as above.
 
 yeap, the normal problem (solution) of write lock
 what i didn't tested before is the transactional level with non
 transactional tables... the dumb doubt

Re: [Maria-developers] [Commits] Rev 4376: MDEV-6676: Speculative parallel replication in http://bazaar.launchpad.net/~maria-captains/maria/10.0

2014-09-11 Thread Daniel Black

Perhaps slightly more useful would be a SET SESSION 
inherit_transaction=process_id

Use cases:

* Multi threaded backup on mysqldump --single-transaction with each thread 
fetching a table
* An application that wants do a number of read/write queries in parallel all 
isolation level.

A commit or rollback will apply to all transactions.


- Original Message -
 Robert Hodges robert.hod...@continuent.com writes:
 
  Thanks Kristian. That's a nice optimization that is difficult to do outside
  the DBMS engine.
 
 Indeed. We might be able to expose it to you, though. Like SET SESSION
 wait_for_other_commit=processid, or something.
 
  - Kristian.
 
 ___
 Mailing list: https://launchpad.net/~maria-developers
 Post to : maria-developers@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~maria-developers
 More help   : https://help.launchpad.net/ListHelp
 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4376: MDEV-6676: Speculative parallel replication in http://bazaar.launchpad.net/~maria-captains/maria/10.0

2014-09-11 Thread Daniel Black


- Original Message -
 Robert Hodges robert.hod...@continuent.com writes:
 
  What would be cool is something like a group transaction that other threads
  can join so that the commit becomes atomic. Most of the parallel load use
  cases I can think of don't require you to coordinate things like isolation
  because they are conflict free anyway--it's just atomic group commit.
 
 Hm, I don't quite have this.
 
 Given T1 and T2, there is a facility to ensure that T2 will commit no sooner
 than T1. But there is no facility to prevent T1 from commiting before T2.
 
 (This is what was needed for parallel replication).

How does Galera handle this in its parallel apply threads? 

Especially the case below marked on MDEV-6676 
T1: DELETE FROM t1 WHERE a=1
T2: INSERT INTO t1 SET a=1


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Extendet FederatedX storage engine to support updating Sphinx RT indexes

2014-06-11 Thread Daniel Black
  ) ENGINE=FEDERATED
  CONNECTION='sphinxql://root@localhost:9306/rt';
 
  It would be great, if the attached patch could be integrated
  into
  MariaDB. If you have any suggestions, please feel free to
  contact me.
 
  Best regards,
 
 
  Markus Lidel
 
 ___
 Mailing list: https://launchpad.net/~maria-developers
 Post to : maria-developers@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~maria-developers
 More help : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] tokudb database - generated should never happen status when mysql log partition ENOSP

2014-05-14 Thread Daniel Black
   
   | 0 |
| TokuDB | context: tree traversals blocked by a message injection  
   | 0 |
| TokuDB | context: tree traversals blocked by a message application
   | 0 |
| TokuDB | context: tree traversals blocked by a flush  
   | 0 |
| TokuDB | context: tree traversals blocked by a the cleaner thread 
   | 0 |
| TokuDB | context: tree traversals blocked by something uninstrumented 
   | 0 |
| TokuDB | context: promotion blocked by a full fetch (should never happen) 
   | 0 |
| TokuDB | context: promotion blocked by a partial fetch (should never happen)  
   | 0 |
| TokuDB | context: promotion blocked by a full eviction (should never happen)  
   | 0 |
| TokuDB | context: promotion blocked by a partial eviction (should never 
happen)  | 4 |
| TokuDB | context: promotion blocked by a message injection
   | 1067  |
| TokuDB | context: promotion blocked by a message application  
   | 0 |
| TokuDB | context: promotion blocked by a flush
   | 0 |
| TokuDB | context: promotion blocked by the cleaner thread 
   | 121   |
| TokuDB | context: promotion blocked by something uninstrumented   
   | 0 |
| TokuDB | context: something uninstrumented blocked by something 
uninstrumented   | 0 |
| TokuDB | handlerton: primary key bytes inserted   
   | 26774483883   |


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] MariaDB 5.5.37 release prep

2014-04-16 Thread Daniel Black

Hey Daniel,

Thanks for getting this started.

Release notes:

 XtraDB updated to the version from percona-server-5.5.36-34.0
 TokuDB updated to version 7.1.5

upgraded from what? What was the previous version? Is there a link of readable 
changes (not code diffs) that occurred for this? Even including major additions 
and fixes here as sub-points would be good too as there are core and important 
parts of MariaDB.

The change log mentions several assertion fixes, memory leaks, and potentially 
wrong results that should be in the release notes. It should also include major 
features and improvements, like the audit plugin that you've done, and improved 
performance in queries.

I think there should be a separate section dealing with packaging errors broken 
up by platform.

Also change log entries like Revision #4110.1.1 and others mentioning the 
internal functions of mysql not working in a particular way give really no clue 
as to the impact is for those not familiar with the code base. Trees of merges 
in changelog don't actually mean anything substantial to me. Is the audience of 
the change log the developers that have done the work? or some wider user base 
of mysql users? If so its not there yet.

- Original Message -
 All,
 
 I've begun release prep for MariaDB 5.5.37.
 
 Draft changelog and release notes are at:
 - https://mariadb.com/kb/en/mariadb-5537-release-notes/
 - https://mariadb.com/kb/en/mariadb-5537-changelog/
 
 Please let me know ASAP of any notable things that should be mentioned
 in the release notes.
 
 Thanks!
 
 --
 Daniel Bartholomew, MariaDB Release Manager
 MariaDB | http://mariadb.com
 
 ___
 Mailing list: https://launchpad.net/~maria-developers
 Post to : maria-developers@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~maria-developers
 More help : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] release day of week for security releases

2012-12-06 Thread Daniel Black
Sergei,

Thanks for the detailed situation report. I appreciate your preferences are the 
same as mine. I sympathise with being caught in the bind and needing to 
compromise on release timings. I would of done the same thing.

Glad so see things improving as they always are.

Perhaps reviewing having publicly available crash reports? The coincidence of 
timing seems a little close. Its a tough choice and I see you've got other 
urgent stuff to do so please don't let me keep you waiting.

Thanks for the explanation and releases.

- Original Message -
From: Sergei Golubchik s...@askmonty.org
To: Daniel Black daniel.bl...@openquery.com
Cc: maria-developers@lists.launchpad.net
Sent: Friday, 7 December, 2012 9:35:44 AM
Subject: Re: [Maria-developers] release day of week for security releases

Hi, Daniel!

On Dec 02, Daniel Black wrote:
 Thanks for the latest releases with security fixes.
 
 While I appreciate that all of the development of these security fixes
 was in public (without mentioning it was a security fix - well at
 least the remote code exec), I'm wondering if security releases could
 occur on a weekday where sysadmins need not forsake part of their
 weekend to correct a public vulnerability. Just my thoughts and
 preferences. I appreciate others may consider things different.

Yes, I agree. And I'm sorry for this.

The release was delayed, because it was our first a release (with a
letter in the version), and neither packaging nor publishing system
wasn't quite ready for that. Normally we try to release early in the
week.

On the other hand, after we released fixed binaries, there was a public
disclosure of this vulnerability on the various security mailing lists,
accompanied with an exploit. Apparently, it was found independently,
and almost at the same time. Had we waited with our release till Monday,
our users wouldn't have a fixed version, when the exploit went public.

 It also appears that the fedora 17 mariadb galera updates are only
 partially pushed. Maybe its just my setup after switching from
 non-galera repo.

Probably, yes. Next week we're going to do the next MariaDB-Galera
release, and then we remove galera repo. We will have one repository
both with galera and non-galera packages.

Regards,
Sergei


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] release day of week for security releases

2012-12-02 Thread Daniel Black

Hi,

Thanks for the latest releases with security fixes.

While I appreciate that all of the development of these security fixes was in 
public (without mentioning it was a security fix - well at least the remote 
code exec), I'm wondering if security releases could occur on a weekday where 
sysadmins need not forsake part of their weekend to correct a public 
vulnerability. Just my thoughts and preferences. I appreciate others may 
consider things different.

It also appears that the fedora 17 mariadb galera updates are only partially 
pushed. Maybe its just my setup after switching from non-galera repo.

$ sudo yum update
[sudo] password for dan: 
Loaded plugins: langpacks, presto, priorities, refresh-packagekit, security
38 packages excluded due to repository priority protections
Resolving Dependencies
-- Running transaction check
--- Package MariaDB-client.x86_64 0:5.5.25-1 will be updated
--- Package MariaDB-client.x86_64 0:5.5.27-1 will be an update
--- Package MariaDB-common.x86_64 0:5.5.25-1 will be updated
--- Package MariaDB-common.x86_64 0:5.5.27-1 will be an update
--- Package MariaDB-server.x86_64 0:5.5.25-1 will be updated
--- Package MariaDB-server.x86_64 0:5.5.27-1 will be obsoleting
--- Package mysql.x86_64 0:5.5.28-1.fc17 will be obsoleted
-- Finished Dependency Resolution

Dependencies Resolved

==
 PackageArch   
Version  Repository   Size
==
Installing:
 MariaDB-server x86_64 
5.5.27-1 mariadb  33 M
 replacing  mysql.x86_64 5.5.28-1.fc17
Updating:
 MariaDB-client x86_64 
5.5.27-1 mariadb 8.6 M
 MariaDB-common x86_64 
5.5.27-1 mariadb  23 k

Transaction Summary
==
Install  1 Package
Upgrade  2 Packages

Total size: 42 M
Total download size: 8.6 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
MariaDB-5.5.27-fedora17-x86_64 FAILED HTTP Error 404 - Not Found : 
http://yum.mariadb.org/5.5-galera/fedora17-amd64/rpms/MariaDB-5.5.27-fedora17-x86_64-client.rpm
http://yum.mariadb.org/5.5-galera/fedora17-amd64/rpms/MariaDB-5.5.27-fedora17-x86_64-client.rpm:
 [Errno 14] HTTP Error 404 - Not Found : 
http://yum.mariadb.org/5.5-galera/fedora17-amd64/rpms/MariaDB-5.5.27-fedora17-x86_64-client.rpm


/etc/yum.repos.d/mariadb.repo :
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5-galera/fedora17-amd64
gpgcheck=1
enabled=1


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com)
Remote expertise  maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp