Re: [Maria-discuss] Nosql language with plugins

2020-05-14 Thread Justin Swanhart
I am not going to engage with you on this mailing list.

On Thu, May 14, 2020, 1:44 PM Reindl Harald  wrote:

> just a dumb fucker which don't realize that his idiot posts talking to
> himslef are annoying and if he once again comes with "You want a flame war?
> I was a Usenet admin. I know the game. I will burn you to the ground and
> piss on your ashes" and take the challenge and make this idot my new hobby
> Am 14.05.20 um 19:38 schrieb Jan Steinman:
>
> "Closed: Fixed None Opened 5 years ago by rhughes.”
>
> FIVE YEARS AGO!
>
> Grudge much?
>
> On May 14, 2020, at 10:30, Justin Swanhart  wrote:
>
> https://pagure.io/CoC/issue/6
>
> On Thu, May 14, 2020, 1:28 PM Reindl Harald 
> wrote:
>
>> > I had to go on disability for mental health reasons
>>
>> didn't work well - shut the fuck up!
>>
>> Am 14.05.20 um 19:20 schrieb Justin Swanhart:
>> > I propose we just let it go.
>> >
>> > I will never speak of MariaDB again and you stop fucking me over.  We
>> > both win.
>> >
>> > Can we please just stop this stupid fight.  I have nothing to gain by
>> > tilting and windmills and you have nothing to gain by doing demonstrably
>> > shitty things to me.
>> >
>> > On Mon, May 11, 2020, 5:57 PM Justin Swanhart > > <mailto:greenl...@gmail.com>> wrote:
>> >
>> > MariaDB isn't an honest actor.  They repeatedly utilize FUD to push
>> > their agenda.
>> >
>> > I was so frustrated by the columnstore experience that I had to go
>> > on disability for mental health reasons, and I was fired while on
>> > disability for blogging about BSL.
>> >
>> > To attack me for my religious views after criticizing their
>> > characterization of RedShift on LinkedIn was unconscionable. The
>> > account had zero connections, no activity except commenting on my
>> > post, had only one job listed (33 years it said) and the university
>> > the person claimed to be from did not have the person in the alumni
>> > directory.
>> >
>> > MariaDB won't respond to this, but you know it is true because there
>> > was no reason other than spite to remove articles about my tools
>> > that I did not even contribute and which are now dead links from
>> > other community webpages and blogs.
>> >
>> > On Mon, May 11, 2020, 5:41 PM Justin Swanhart > > <mailto:greenl...@gmail.com>> wrote:
>> >
>> >
>> > -- Forwarded message -
>> > From: *Justin Swanhart* > > <mailto:greenl...@gmail.com>>
>> > Date: Mon, May 11, 2020, 5:38 PM
>> > Subject: Re: [Maria-discuss] Nosql language with plugins
>> > To: Roberto Spadim > > <mailto:robe...@spadim.com.br>>
>> >
>> >
>> > MariaDB relicensed MaxScale from GPL to Business Source
>> > License.  The license change effectively extorted customers
>> > requiring customers using it to pay for it.  While older
>> > versions of MaxScale become GPL, the license terms prohibit
>> >     backporting any security fixes and MariaDB abandons each release
>> > and never backports any fixes so it is impossible to use old
>> > versions in production.
>> >
>> > On Mon, May 11, 2020, 5:34 PM Roberto Spadim
>> > mailto:robe...@spadim.com.br>> wrote:
>> >
>> > What’s BSL?
>> >
>> > Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart
>> > mailto:greenl...@gmail.com>>
>> escreveu:
>> >
>> > *crickets*
>> >
>> > On Fri, May 8, 2020, 2:33 PM Justin Swanhart
>> > mailto:greenl...@gmail.com>>
>> wrote:
>> >
>> > Seems I didn't get Federico's reply.  The answer is
>> > because:
>> > War, war never changes...
>> >
>> > I made a stink about BSL, and I have shamed Monty in
>> > public.
>> >
>> > MariaDB recently created a sock puppet LinkedIn
>> > account to attack me for my religious views.
>> >
>> > We are at war
>> >
>> > On Wed, Apr 29

Re: [Maria-discuss] Nosql language with plugins

2020-05-14 Thread Justin Swanhart
https://pagure.io/CoC/issue/6

On Thu, May 14, 2020, 1:28 PM Reindl Harald  wrote:

> > I had to go on disability for mental health reasons
>
> didn't work well - shut the fuck up!
>
> Am 14.05.20 um 19:20 schrieb Justin Swanhart:
> > I propose we just let it go.
> >
> > I will never speak of MariaDB again and you stop fucking me over.  We
> > both win.
> >
> > Can we please just stop this stupid fight.  I have nothing to gain by
> > tilting and windmills and you have nothing to gain by doing demonstrably
> > shitty things to me.
> >
> > On Mon, May 11, 2020, 5:57 PM Justin Swanhart  > <mailto:greenl...@gmail.com>> wrote:
> >
> > MariaDB isn't an honest actor.  They repeatedly utilize FUD to push
> > their agenda.
> >
> > I was so frustrated by the columnstore experience that I had to go
> > on disability for mental health reasons, and I was fired while on
> > disability for blogging about BSL.
> >
> > To attack me for my religious views after criticizing their
> > characterization of RedShift on LinkedIn was unconscionable. The
> > account had zero connections, no activity except commenting on my
> > post, had only one job listed (33 years it said) and the university
> > the person claimed to be from did not have the person in the alumni
> > directory.
> >
> > MariaDB won't respond to this, but you know it is true because there
> > was no reason other than spite to remove articles about my tools
> > that I did not even contribute and which are now dead links from
> > other community webpages and blogs.
> >
> > On Mon, May 11, 2020, 5:41 PM Justin Swanhart  > <mailto:greenl...@gmail.com>> wrote:
> >
> >
> > -- Forwarded message -
> > From: *Justin Swanhart*  > <mailto:greenl...@gmail.com>>
> > Date: Mon, May 11, 2020, 5:38 PM
> > Subject: Re: [Maria-discuss] Nosql language with plugins
> > To: Roberto Spadim  > <mailto:robe...@spadim.com.br>>
> >
> >
> > MariaDB relicensed MaxScale from GPL to Business Source
> > License.  The license change effectively extorted customers
> > requiring customers using it to pay for it.  While older
> > versions of MaxScale become GPL, the license terms prohibit
> > backporting any security fixes and MariaDB abandons each release
> > and never backports any fixes so it is impossible to use old
> > versions in production.
> >
> >     On Mon, May 11, 2020, 5:34 PM Roberto Spadim
> > mailto:robe...@spadim.com.br>> wrote:
> >
> > What’s BSL?
> >
> > Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart
> > mailto:greenl...@gmail.com>> escreveu:
> >
> > *crickets*
> >
> > On Fri, May 8, 2020, 2:33 PM Justin Swanhart
> > mailto:greenl...@gmail.com>>
> wrote:
> >
> > Seems I didn't get Federico's reply.  The answer is
> > because:
> > War, war never changes...
> >
> > I made a stink about BSL, and I have shamed Monty in
> > public.
> >
> > MariaDB recently created a sock puppet LinkedIn
> > account to attack me for my religious views.
> >
> > We are at war
> >
> > On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart
> > mailto:greenl...@gmail.com>>
> > wrote:
> >
> > MariaDB doesn't have rewrite plugins.
> >
> > What you want could still not be done with a
> > preparse plugin in MySQL because there is no way
> > to speak an arbitrary protocol.  You could have
> > a client that speaks the MySQL protocol but
> > sends non-sql text commands that have some 1:1
> > match with SQL, for example MDX.
> >
> > For MySQL 8 I have developed an alternative
> > rewrite plugin interface that can execute any
> > number of SQL statements serially on the THD of
> > the client connection, or an arbitrary THD.  It
> >   

Re: [Maria-discuss] Nosql language with plugins

2020-05-14 Thread Justin Swanhart
I would ask you restore my pages as a demonstration of good faith.

On Thu, May 14, 2020, 1:20 PM Justin Swanhart  wrote:

> I propose we just let it go.
>
> I will never speak of MariaDB again and you stop fucking me over.  We both
> win.
>
> Can we please just stop this stupid fight.  I have nothing to gain by
> tilting and windmills and you have nothing to gain by doing demonstrably
> shitty things to me.
>
> On Mon, May 11, 2020, 5:57 PM Justin Swanhart  wrote:
>
>> MariaDB isn't an honest actor.  They repeatedly utilize FUD to push their
>> agenda.
>>
>> I was so frustrated by the columnstore experience that I had to go on
>> disability for mental health reasons, and I was fired while on disability
>> for blogging about BSL.
>>
>> To attack me for my religious views after criticizing their
>> characterization of RedShift on LinkedIn was unconscionable. The account
>> had zero connections, no activity except commenting on my post, had only
>> one job listed (33 years it said) and the university the person claimed to
>> be from did not have the person in the alumni directory.
>>
>> MariaDB won't respond to this, but you know it is true because there was
>> no reason other than spite to remove articles about my tools that I did not
>> even contribute and which are now dead links from other community webpages
>> and blogs.
>>
>> On Mon, May 11, 2020, 5:41 PM Justin Swanhart 
>> wrote:
>>
>>>
>>> -- Forwarded message -
>>> From: Justin Swanhart 
>>> Date: Mon, May 11, 2020, 5:38 PM
>>> Subject: Re: [Maria-discuss] Nosql language with plugins
>>> To: Roberto Spadim 
>>>
>>>
>>> MariaDB relicensed MaxScale from GPL to Business Source License.  The
>>> license change effectively extorted customers requiring customers using it
>>> to pay for it.  While older versions of MaxScale become GPL, the license
>>> terms prohibit backporting any security fixes and MariaDB abandons each
>>> release and never backports any fixes so it is impossible to use old
>>> versions in production.
>>>
>>> On Mon, May 11, 2020, 5:34 PM Roberto Spadim 
>>> wrote:
>>>
>>>> What’s BSL?
>>>>
>>>> Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart <
>>>> greenl...@gmail.com> escreveu:
>>>>
>>>>> *crickets*
>>>>>
>>>>> On Fri, May 8, 2020, 2:33 PM Justin Swanhart 
>>>>> wrote:
>>>>>
>>>>>> Seems I didn't get Federico's reply.  The answer is because:
>>>>>> War, war never changes...
>>>>>>
>>>>>> I made a stink about BSL, and I have shamed Monty in public.
>>>>>>
>>>>>> MariaDB recently created a sock puppet LinkedIn account to attack me
>>>>>> for my religious views.
>>>>>>
>>>>>> We are at war
>>>>>>
>>>>>> On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart 
>>>>>> wrote:
>>>>>>
>>>>>>> MariaDB doesn't have rewrite plugins.
>>>>>>>
>>>>>>> What you want could still not be done with a preparse plugin in
>>>>>>> MySQL because there is no way to speak an arbitrary protocol.  You could
>>>>>>> have a client that speaks the MySQL protocol but sends non-sql text
>>>>>>> commands that have some 1:1 match with SQL, for example MDX.
>>>>>>>
>>>>>>> For MySQL 8 I have developed an alternative rewrite plugin interface
>>>>>>> that can execute any number of SQL statements serially on the THD of the
>>>>>>> client connection, or an arbitrary THD.  It would be possible to port to
>>>>>>> MariaDB but as MariaDB has deleted the KB entries related to my tools, I
>>>>>>> highly doubt they would upstream it, and I would expect some form of
>>>>>>> compensation/sponsorship from you if you wanted me to do it.  In any 
>>>>>>> case
>>>>>>> the plugin would still not speak arbitrary binary protocols.
>>>>>>>
>>>>>>> MySQL 8 supports the X protocol for document access.  It would
>>>>>>> probably be possible to create an X protocol proxy that speaks arbitrary
>>>>>>> protocols but that would be a big project that probably not many people
>>>>&g

Re: [Maria-discuss] Nosql language with plugins

2020-05-14 Thread Justin Swanhart
I propose we just let it go.

I will never speak of MariaDB again and you stop fucking me over.  We both
win.

Can we please just stop this stupid fight.  I have nothing to gain by
tilting and windmills and you have nothing to gain by doing demonstrably
shitty things to me.

On Mon, May 11, 2020, 5:57 PM Justin Swanhart  wrote:

> MariaDB isn't an honest actor.  They repeatedly utilize FUD to push their
> agenda.
>
> I was so frustrated by the columnstore experience that I had to go on
> disability for mental health reasons, and I was fired while on disability
> for blogging about BSL.
>
> To attack me for my religious views after criticizing their
> characterization of RedShift on LinkedIn was unconscionable. The account
> had zero connections, no activity except commenting on my post, had only
> one job listed (33 years it said) and the university the person claimed to
> be from did not have the person in the alumni directory.
>
> MariaDB won't respond to this, but you know it is true because there was
> no reason other than spite to remove articles about my tools that I did not
> even contribute and which are now dead links from other community webpages
> and blogs.
>
> On Mon, May 11, 2020, 5:41 PM Justin Swanhart  wrote:
>
>>
>> -- Forwarded message -
>> From: Justin Swanhart 
>> Date: Mon, May 11, 2020, 5:38 PM
>> Subject: Re: [Maria-discuss] Nosql language with plugins
>> To: Roberto Spadim 
>>
>>
>> MariaDB relicensed MaxScale from GPL to Business Source License.  The
>> license change effectively extorted customers requiring customers using it
>> to pay for it.  While older versions of MaxScale become GPL, the license
>> terms prohibit backporting any security fixes and MariaDB abandons each
>> release and never backports any fixes so it is impossible to use old
>> versions in production.
>>
>> On Mon, May 11, 2020, 5:34 PM Roberto Spadim 
>> wrote:
>>
>>> What’s BSL?
>>>
>>> Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart 
>>> escreveu:
>>>
>>>> *crickets*
>>>>
>>>> On Fri, May 8, 2020, 2:33 PM Justin Swanhart 
>>>> wrote:
>>>>
>>>>> Seems I didn't get Federico's reply.  The answer is because:
>>>>> War, war never changes...
>>>>>
>>>>> I made a stink about BSL, and I have shamed Monty in public.
>>>>>
>>>>> MariaDB recently created a sock puppet LinkedIn account to attack me
>>>>> for my religious views.
>>>>>
>>>>> We are at war
>>>>>
>>>>> On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart 
>>>>> wrote:
>>>>>
>>>>>> MariaDB doesn't have rewrite plugins.
>>>>>>
>>>>>> What you want could still not be done with a preparse plugin in MySQL
>>>>>> because there is no way to speak an arbitrary protocol.  You could have a
>>>>>> client that speaks the MySQL protocol but sends non-sql text commands 
>>>>>> that
>>>>>> have some 1:1 match with SQL, for example MDX.
>>>>>>
>>>>>> For MySQL 8 I have developed an alternative rewrite plugin interface
>>>>>> that can execute any number of SQL statements serially on the THD of the
>>>>>> client connection, or an arbitrary THD.  It would be possible to port to
>>>>>> MariaDB but as MariaDB has deleted the KB entries related to my tools, I
>>>>>> highly doubt they would upstream it, and I would expect some form of
>>>>>> compensation/sponsorship from you if you wanted me to do it.  In any case
>>>>>> the plugin would still not speak arbitrary binary protocols.
>>>>>>
>>>>>> MySQL 8 supports the X protocol for document access.  It would
>>>>>> probably be possible to create an X protocol proxy that speaks arbitrary
>>>>>> protocols but that would be a big project that probably not many people
>>>>>> would be interested in.
>>>>>>
>>>>>> On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim 
>>>>>> wrote:
>>>>>>
>>>>>>> Could be possible use the query rewrite plugin to execute no sql
>>>>>>> commands? Something like disable sql parser and execute some specific
>>>>>>> protocol, returning standard sql datasets as result?
>>>>>>> --
>>>>>>> Roberto Spadim
>>>>>>> SPAEmpresarial - Software ERP/Scada
>>>>>>> Eng. Automação e Controle, Eng. Financeira
>>>>>>> ___
>>>>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>>>>> Post to : maria-discuss@lists.launchpad.net
>>>>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>> --
>>> Roberto Spadim
>>> SPAEmpresarial - Software ERP/Scada
>>> Eng. Automação e Controle, Eng. Financeira
>>>
>>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Nosql language with plugins

2020-05-11 Thread Justin Swanhart
MariaDB isn't an honest actor.  They repeatedly utilize FUD to push their
agenda.

I was so frustrated by the columnstore experience that I had to go on
disability for mental health reasons, and I was fired while on disability
for blogging about BSL.

To attack me for my religious views after criticizing their
characterization of RedShift on LinkedIn was unconscionable. The account
had zero connections, no activity except commenting on my post, had only
one job listed (33 years it said) and the university the person claimed to
be from did not have the person in the alumni directory.

MariaDB won't respond to this, but you know it is true because there was no
reason other than spite to remove articles about my tools that I did not
even contribute and which are now dead links from other community webpages
and blogs.

On Mon, May 11, 2020, 5:41 PM Justin Swanhart  wrote:

>
> -- Forwarded message -
> From: Justin Swanhart 
> Date: Mon, May 11, 2020, 5:38 PM
> Subject: Re: [Maria-discuss] Nosql language with plugins
> To: Roberto Spadim 
>
>
> MariaDB relicensed MaxScale from GPL to Business Source License.  The
> license change effectively extorted customers requiring customers using it
> to pay for it.  While older versions of MaxScale become GPL, the license
> terms prohibit backporting any security fixes and MariaDB abandons each
> release and never backports any fixes so it is impossible to use old
> versions in production.
>
> On Mon, May 11, 2020, 5:34 PM Roberto Spadim 
> wrote:
>
>> What’s BSL?
>>
>> Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart 
>> escreveu:
>>
>>> *crickets*
>>>
>>> On Fri, May 8, 2020, 2:33 PM Justin Swanhart 
>>> wrote:
>>>
>>>> Seems I didn't get Federico's reply.  The answer is because:
>>>> War, war never changes...
>>>>
>>>> I made a stink about BSL, and I have shamed Monty in public.
>>>>
>>>> MariaDB recently created a sock puppet LinkedIn account to attack me
>>>> for my religious views.
>>>>
>>>> We are at war
>>>>
>>>> On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart 
>>>> wrote:
>>>>
>>>>> MariaDB doesn't have rewrite plugins.
>>>>>
>>>>> What you want could still not be done with a preparse plugin in MySQL
>>>>> because there is no way to speak an arbitrary protocol.  You could have a
>>>>> client that speaks the MySQL protocol but sends non-sql text commands that
>>>>> have some 1:1 match with SQL, for example MDX.
>>>>>
>>>>> For MySQL 8 I have developed an alternative rewrite plugin interface
>>>>> that can execute any number of SQL statements serially on the THD of the
>>>>> client connection, or an arbitrary THD.  It would be possible to port to
>>>>> MariaDB but as MariaDB has deleted the KB entries related to my tools, I
>>>>> highly doubt they would upstream it, and I would expect some form of
>>>>> compensation/sponsorship from you if you wanted me to do it.  In any case
>>>>> the plugin would still not speak arbitrary binary protocols.
>>>>>
>>>>> MySQL 8 supports the X protocol for document access.  It would
>>>>> probably be possible to create an X protocol proxy that speaks arbitrary
>>>>> protocols but that would be a big project that probably not many people
>>>>> would be interested in.
>>>>>
>>>>> On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim 
>>>>> wrote:
>>>>>
>>>>>> Could be possible use the query rewrite plugin to execute no sql
>>>>>> commands? Something like disable sql parser and execute some specific
>>>>>> protocol, returning standard sql datasets as result?
>>>>>> --
>>>>>> Roberto Spadim
>>>>>> SPAEmpresarial - Software ERP/Scada
>>>>>> Eng. Automação e Controle, Eng. Financeira
>>>>>> ___
>>>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>>>> Post to : maria-discuss@lists.launchpad.net
>>>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>> --
>> Roberto Spadim
>> SPAEmpresarial - Software ERP/Scada
>> Eng. Automação e Controle, Eng. Financeira
>>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


[Maria-discuss] Fwd: Nosql language with plugins

2020-05-11 Thread Justin Swanhart
-- Forwarded message -
From: Justin Swanhart 
Date: Mon, May 11, 2020, 5:38 PM
Subject: Re: [Maria-discuss] Nosql language with plugins
To: Roberto Spadim 


MariaDB relicensed MaxScale from GPL to Business Source License.  The
license change effectively extorted customers requiring customers using it
to pay for it.  While older versions of MaxScale become GPL, the license
terms prohibit backporting any security fixes and MariaDB abandons each
release and never backports any fixes so it is impossible to use old
versions in production.

On Mon, May 11, 2020, 5:34 PM Roberto Spadim  wrote:

> What’s BSL?
>
> Em seg, 11 de mai de 2020 às 18:19, Justin Swanhart 
> escreveu:
>
>> *crickets*
>>
>> On Fri, May 8, 2020, 2:33 PM Justin Swanhart  wrote:
>>
>>> Seems I didn't get Federico's reply.  The answer is because:
>>> War, war never changes...
>>>
>>> I made a stink about BSL, and I have shamed Monty in public.
>>>
>>> MariaDB recently created a sock puppet LinkedIn account to attack me for
>>> my religious views.
>>>
>>> We are at war
>>>
>>> On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart 
>>> wrote:
>>>
>>>> MariaDB doesn't have rewrite plugins.
>>>>
>>>> What you want could still not be done with a preparse plugin in MySQL
>>>> because there is no way to speak an arbitrary protocol.  You could have a
>>>> client that speaks the MySQL protocol but sends non-sql text commands that
>>>> have some 1:1 match with SQL, for example MDX.
>>>>
>>>> For MySQL 8 I have developed an alternative rewrite plugin interface
>>>> that can execute any number of SQL statements serially on the THD of the
>>>> client connection, or an arbitrary THD.  It would be possible to port to
>>>> MariaDB but as MariaDB has deleted the KB entries related to my tools, I
>>>> highly doubt they would upstream it, and I would expect some form of
>>>> compensation/sponsorship from you if you wanted me to do it.  In any case
>>>> the plugin would still not speak arbitrary binary protocols.
>>>>
>>>> MySQL 8 supports the X protocol for document access.  It would probably
>>>> be possible to create an X protocol proxy that speaks arbitrary protocols
>>>> but that would be a big project that probably not many people would be
>>>> interested in.
>>>>
>>>> On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim 
>>>> wrote:
>>>>
>>>>> Could be possible use the query rewrite plugin to execute no sql
>>>>> commands? Something like disable sql parser and execute some specific
>>>>> protocol, returning standard sql datasets as result?
>>>>> --
>>>>> Roberto Spadim
>>>>> SPAEmpresarial - Software ERP/Scada
>>>>> Eng. Automação e Controle, Eng. Financeira
>>>>> ___
>>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>>> Post to : maria-discuss@lists.launchpad.net
>>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>> --
> Roberto Spadim
> SPAEmpresarial - Software ERP/Scada
> Eng. Automação e Controle, Eng. Financeira
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Nosql language with plugins

2020-05-11 Thread Justin Swanhart
*crickets*

On Fri, May 8, 2020, 2:33 PM Justin Swanhart  wrote:

> Seems I didn't get Federico's reply.  The answer is because:
> War, war never changes...
>
> I made a stink about BSL, and I have shamed Monty in public.
>
> MariaDB recently created a sock puppet LinkedIn account to attack me for
> my religious views.
>
> We are at war
>
> On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart  wrote:
>
>> MariaDB doesn't have rewrite plugins.
>>
>> What you want could still not be done with a preparse plugin in MySQL
>> because there is no way to speak an arbitrary protocol.  You could have a
>> client that speaks the MySQL protocol but sends non-sql text commands that
>> have some 1:1 match with SQL, for example MDX.
>>
>> For MySQL 8 I have developed an alternative rewrite plugin interface that
>> can execute any number of SQL statements serially on the THD of the client
>> connection, or an arbitrary THD.  It would be possible to port to MariaDB
>> but as MariaDB has deleted the KB entries related to my tools, I highly
>> doubt they would upstream it, and I would expect some form of
>> compensation/sponsorship from you if you wanted me to do it.  In any case
>> the plugin would still not speak arbitrary binary protocols.
>>
>> MySQL 8 supports the X protocol for document access.  It would probably
>> be possible to create an X protocol proxy that speaks arbitrary protocols
>> but that would be a big project that probably not many people would be
>> interested in.
>>
>> On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim 
>> wrote:
>>
>>> Could be possible use the query rewrite plugin to execute no sql
>>> commands? Something like disable sql parser and execute some specific
>>> protocol, returning standard sql datasets as result?
>>> --
>>> Roberto Spadim
>>> SPAEmpresarial - Software ERP/Scada
>>> Eng. Automação e Controle, Eng. Financeira
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


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

2020-05-09 Thread Justin Swanhart
Sigh.

On Friday, May 8, 2020, Daniel Black  wrote:

> 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-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


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

2020-05-08 Thread Justin Swanhart
You don't have hardware to work on your own supported platform? Or you
can't figure it out?

Smh.

On Mon, Apr 27, 2020, 10:36 PM Daniel Black  wrote:

>
> 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-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Nosql language with plugins

2020-05-08 Thread Justin Swanhart
Seems I didn't get Federico's reply.  The answer is because:
War, war never changes...

I made a stink about BSL, and I have shamed Monty in public.

MariaDB recently created a sock puppet LinkedIn account to attack me for my
religious views.

We are at war

On Wed, Apr 29, 2020, 9:48 PM Justin Swanhart  wrote:

> MariaDB doesn't have rewrite plugins.
>
> What you want could still not be done with a preparse plugin in MySQL
> because there is no way to speak an arbitrary protocol.  You could have a
> client that speaks the MySQL protocol but sends non-sql text commands that
> have some 1:1 match with SQL, for example MDX.
>
> For MySQL 8 I have developed an alternative rewrite plugin interface that
> can execute any number of SQL statements serially on the THD of the client
> connection, or an arbitrary THD.  It would be possible to port to MariaDB
> but as MariaDB has deleted the KB entries related to my tools, I highly
> doubt they would upstream it, and I would expect some form of
> compensation/sponsorship from you if you wanted me to do it.  In any case
> the plugin would still not speak arbitrary binary protocols.
>
> MySQL 8 supports the X protocol for document access.  It would probably be
> possible to create an X protocol proxy that speaks arbitrary protocols but
> that would be a big project that probably not many people would be
> interested in.
>
> On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim 
> wrote:
>
>> Could be possible use the query rewrite plugin to execute no sql
>> commands? Something like disable sql parser and execute some specific
>> protocol, returning standard sql datasets as result?
>> --
>> Roberto Spadim
>> SPAEmpresarial - Software ERP/Scada
>> Eng. Automação e Controle, Eng. Financeira
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Nosql language with plugins

2020-04-29 Thread Justin Swanhart
MariaDB doesn't have rewrite plugins.

What you want could still not be done with a preparse plugin in MySQL
because there is no way to speak an arbitrary protocol.  You could have a
client that speaks the MySQL protocol but sends non-sql text commands that
have some 1:1 match with SQL, for example MDX.

For MySQL 8 I have developed an alternative rewrite plugin interface that
can execute any number of SQL statements serially on the THD of the client
connection, or an arbitrary THD.  It would be possible to port to MariaDB
but as MariaDB has deleted the KB entries related to my tools, I highly
doubt they would upstream it, and I would expect some form of
compensation/sponsorship from you if you wanted me to do it.  In any case
the plugin would still not speak arbitrary binary protocols.

MySQL 8 supports the X protocol for document access.  It would probably be
possible to create an X protocol proxy that speaks arbitrary protocols but
that would be a big project that probably not many people would be
interested in.

On Wed, Apr 29, 2020, 9:14 PM Roberto Spadim  wrote:

> Could be possible use the query rewrite plugin to execute no sql commands?
> Something like disable sql parser and execute some specific protocol,
> returning standard sql datasets as result?
> --
> Roberto Spadim
> SPAEmpresarial - Software ERP/Scada
> Eng. Automação e Controle, Eng. Financeira
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] lock_wait_timeout default and best practice values

2019-10-18 Thread Justin Swanhart
https://mariadb.com/kb/en/library/server-system-variables/#lock_wait_timeout

Since metadata operations may be long (an ALTER could take a very long
time, even days) a high wait time is not a problem, but actually a good
thing.  Unless you are seeing lock timeouts that you were not seeing
before, you will not see any impact from reducing the lock wait timeout.

Note, that row lock times for row locking engines are engine specific , ie:
innodb_row_lock_timeout.

On Fri, Oct 18, 2019, 4:28 AM  wrote:

> Hi,
>
> When migrating from mariadb 10.1 to 10.3 we noticed that
> the default value for lock_wait_timeout went from 1 year
> to 1 day.
>
> Although 1 day seems more reasonable than 1 year, it seems
> pretty high for a lock_wait.
>
> Does anyone know why this value is so high? Are there any
> rule of thumbs for a good timeout value that won't degrade
> the system and yet allow it to operate as intended?
>
> I know that part of the answer is "it depends on which
> operations your applications are doing". What I don't know
> is if beyond those applications, mariadb needs a specific
> timeout to function properly, for example, when doing a
> mariabackup or flushing tables.
>
> Is anyone else using a timeout value other than the default ones?
>
> My apologies for the naivete of this question.
>
> Thanks!
>
> --josé
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Fwd: database corrupted when switching from MySQL to MariaDB on Ubuntu 19.04

2019-10-17 Thread Justin Swanhart
Hi,

What is the error message from MySQL when you go back to the prior version?

Depending on the error, it is probably possible to simply remove the
logfiles before restarting the old version.  I don't have an ubuntu DVD on
hand and am on slow internet so I can't test right now.

On Wed, Oct 16, 2019 at 10:15 AM bapt x  wrote:

> You said "This step is not necessary when upgrading to MariaDB 10.2.5 or
> later." and in my case, I was upgrading to mariadb-server 10.3.17, so I
> guess I should not need "set global innodb_fast_shutdown=0;"?
> Can someone reproduce the issue with Ubuntu 19.04 on VirtualBox?
>
> On Wed, 16 Oct 2019 at 11:05, Gordan Bobic  wrote:
>
>> I'm not sure if you accidentally omitted it, but the part I was referring
>> to is documented here:
>>
>> https://mariadb.com/kb/en/library/upgrading-from-mariadb-101-to-mariadb-102/
>>
>> Specifically:
>> Set innodb_fast_shutdown
>> 
>>  to 0. It can be changed dynamically with SET GLOBAL
>> . For example:
>> SET GLOBAL innodb_fast_shutdown=0;
>>
>>- This step is not necessary when upgrading to MariaDB 10.2.5
>> or later.
>>
>>
>> Can you confirm this is reproducible if you:
>>
>> MariaDB> set global innodb_fast_shutdown=0;
>> # systemctl stop mariadb
>> # rm /var/lib/mysql/ib_logfile*
>>
>> and then do the package upgrade and restart?
>>
>> Can you back up the full data set (or snapshot it)?
>> If so, remove the ib_logfile* files and see if that lets you start up
>> mysqld? Failing that, you may have to crank up innodb_force_recover=6
>> (because this is level to avoid redo log replay), and then mysqldump the
>> data. You will lose any recent transactions that haven't made it from the
>> transaction log to the tablespaces.
>>
>>
>>
>> On Wed, Oct 16, 2019 at 9:46 AM bapt x  wrote:
>>
>>> @Andrei all the error messages I found were included in my original
>>> email, let me know how I can provide additional information if no one can
>>> reproduce the problem.
>>> I forgot to include maria-discuss@lists.launchpad.net, you can see my
>>> reply below.
>>>
>>> -- Forwarded message -
>>> From: bapt x 
>>> Date: Wed, 16 Oct 2019 at 10:35
>>> Subject: Re: [Maria-discuss] database corrupted when switching from
>>> MySQL to MariaDB on Ubuntu 19.04
>>> To: Gordan Bobic 
>>>
>>>
>>> Thanks for the information. It looks like I did everything properly
>>> since I was able to reproduce the problem several times with a clean
>>> install of Ubuntu 19.04 on VirtualBox. I think if someone else tries the
>>> steps I explained, he can reproduce the problem. Now it would be nice to
>>> know if there is a way to recover the data. If MariaDB was able to corrupt
>>> the data, there should be a way to reverse engineer the process and restore
>>> the data. Maybe a developer that knows well MariaDB upgrade system has a
>>> solution.
>>>
>>> On Wed, 16 Oct 2019 at 10:23, Gordan Bobic 
>>> wrote:
>>>
 I don't know if it is recoverable but it sounds like you missed the
 step of always needing a full, clean shutdown between upgrades with
 innodb_fast_shutdown=0. Then you can delete ib_logfile*, and upgrade.

 On Wed, 16 Oct 2019, 09:19 bapt x,  wrote:

> Hello,
>
> On Ubuntu 19.04, which uses packages mariadb-server 10.3.17 and
> mysql-server 5.7.27, I noticed that if I wanted to switch from MySQL to
> MariaDB, the database is corrupted and there is a complete data loss
> even if I switch back to MySQL.
> In the previous version of Ubuntu, switching from MySQL to MariaDB did
> not manage to import data automatically (unlike Debian) but at least it
> created a backup of the data in /var/lib/mysql-5.7/ folder which is not
> done anymore.
>
> Here is the error message I saw during install when trying to use the
> database corrupted by MariaDB and switching back to MySQL:
> "MySQL has been frozen to prevent damage to your system. Please see
> /etc/mysql/FROZEN for help."
>
> And in /var/log/mysql/error.log:
> "[ERROR] InnoDB: Unsupported redo log format. The redo log was created
> with MariaDB 10.3.17. Please follow the instructions 
> athttp://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html;
>
> I was able to reproduce the issue with a clean installation of Ubuntu
> 19.04 in VirtualBox.
>
> Do you know where the problem comes from and if it is possible to fix
> the binary data from */var/lib/mysql/* to make it work with either MySQL
> or MariaDB?
> It looks like MariaDB tried to convert the data ("[ERROR] InnoDB:
> Unsupported redo log format") but now it fails with both MySQL and 
> MariaDB.
> Is it possible to revert the changes done by MariaDB to make the data
> work again with MySQL? (and then do a proper 

Re: [Maria-discuss] Can you fix it so that you can email reply to Jira tickets?

2019-08-05 Thread Justin Swanhart
Great, thanks!

On Sun, Aug 4, 2019 at 10:27 AM Sergei Golubchik  wrote:

> Hi, Justin!
>
> Fixed.
>
> Regards,
> Sergei
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] strange "increment" values on primary keys

2019-05-01 Thread Justin Swanhart
Since the PK values are hard coded in your application, provide the PK value in 
the INSERT statement instead of using generated values.

> On May 1, 2019, at 4:11 AM, Guillaume Lefranc  wrote:
> 
> This feature is well known and documented:
> 
> https://mariadb.org/auto-increments-in-galera/
> 
> Regards,
> GL
> 
>> Le mer. 1 mai 2019 à 08:46, Janis Heller  a écrit :
>> Hey community,
>> 
>> I’m running Server version: 10.3.13-MariaDB-1:10.3.13+maria~bionic-log 
>> mariadb.org binary distribution of mariaDB (galera cluster).
>> For local development we are not using galera, inside our local dev team 
>> we’re using Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu).
>> 
>> After creating a table, I’ve started to run the database create commands, 
>> working fine, but when I run the database seeder, inserting some system 
>> config values to be used by the application itself later, I’ve got some 
>> strange behavior.
>> 
>> See the table below:
>> 
>> MariaDB [demo_database]> select * from system_configs WHERE 1=1;
>> ++++
>> | id | key| value
>>   |
>> ++++
>> |  4 | admin_address  | XX |
>> |  7 | XX | XX   
>> |
>> | 10 | XX| XX
>>   |
>> | 13 | XX   | XX 
>>   |
>> | 16 | XX| XX
>>   |
>> | 19 | XX  | XX  
>> |
>> | 22 | XX  | XX  
>>   |
>> | 25 | XX  | XX  
>> |
>> | 28 | XX   | XX |
>> | 31 | XX | XX |
>> | 34 | XX| XX
>>   |
>> | 37 | XX | XX   
>>|
>> | 40 | XX  | XX   |
>> | 43 | XX   | XX 
>>   |
>> | 46 | XX| XX
>>|
>> | 49 | XX | XX   
>> |
>> | 52 | XX   | XX 
>>   |
>> | 55 | XX   | XX 
>>   |
>> | 58 | XX   | XX 
>>   |
>> | 61 | XX | XX |
>> | 64 | XX | 21600
>>   |
>> | 67 | XX   | XX   |
>> | 70 | XX | https://some.domain.com  
>>   |
>> +++——+
>> 
>> 
>> Where XX stands for the key and XX for the value. The problem is the 
>> id itself. It’s somehow starting at 4 and is incremented by 3. As you may 
>> suspect now already, this will break our application, since some primary key 
>> ids are hard coded itself.
>> 
>> Is there some way to „force“ maria DB to increment the IDs by „1“?
>> I already this documentation entry: 
>> https://mariadb.com/kb/en/library/auto_increment/
>> 
>> But it doesn’t help, here’s what I tried:
>> 
>> MariaDB [demo_database]> CREATE TABLE animals (
>> ->  id MEDIUMINT NOT NULL AUTO_INCREMENT,
>> ->  name CHAR(30) NOT NULL,
>> ->  PRIMARY KEY (id)
>> ->  );
>> Query OK, 0 rows affected (0.014 sec)
>> 
>> MariaDB [demo_database]> INSERT INTO animals (name) VALUES
>> -> ('dog'),('cat'),('penguin'),
>> -> ('fox'),('whale'),('ostrich');
>> Query OK, 6 rows affected (0.003 sec)
>> Records: 6  Duplicates: 0  Warnings: 0
>> 
>> MariaDB [demo_database]>
>> MariaDB [demo_database]> SELECT * FROM animals;
>> ++-+
>> | id | name|
>> ++-+
>> |  4 | dog |
>> |  7 | cat |
>> | 10 | penguin |
>> | 13 | fox |
>> | 16 | whale   |
>> | 19 | ostrich |
>> ++-+
>> 6 rows in set (0.001 sec)
>> 
>> MariaDB [demo_database]> ALTER TABLE 

Re: [Maria-discuss] Why does local root need a password?

2019-03-25 Thread Justin Swanhart
MariaDB already supports authenticating as OS users such as root, when use by 
UNIX domain sockets for communications:
https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/

> On Mar 25, 2019, at 6:07 PM, Felipe Gasper  wrote:
> 
> Hello,
> 
>I’ve submitted a proposal to the MySQL team to allow the system 
> administrator, when logging in via a local socket that indicates reliably 
> that the DB client is the superuser (e.g., SO_PEERCRED in Linux), to not need 
> a password. As implemented, my suggestion allows root to log in as any user.
> 
>The rationale is that the system administrator can do anything on the 
> server (including manual edits to the DB files) anyway; thus, every user 
> already implicitly trusts that user with their data.
> 
>This will simplify DB administration on several levels, but most 
> conspicuously because a lost DB admin password will no longer necessitate the 
> awkward one-time-init-file recovery method.
> 
>Would MariaDB be interested in this proposal?
> 
> -FG
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB 10.1: binlog stop updating

2019-02-21 Thread Justin Swanhart
It is possible that the two versions have different query plans, with the new 
version requiring more temp space.  It is also possible that different 
temporary table engines are in use.  Check to make sure you are using aria for 
temp tables and not innodb.

> On Feb 21, 2019, at 8:31 AM, Benoit Plessis  wrote:
> 
> Hello Andrei,
> 
>> On 21/02/2019 14:19, andrei.el...@pp.inet.fi wrote:
>> [...]
>> To the issue itself 
>> 
>>>2019-02-20 15:24:12 140618945124096 [ERROR] Slave SQL: Could not 
>>> execute
>>>Write_rows_v1 event on table xxx.; Error writing file
>>>'/tmp/MLxClNzW' (Errcode: 28 "No space left on device"), Error_code: 
>>> 3;
>> 
>> the error was caused by ROW format event and therefore does not do with
> 
> yeah that's what i feared.
> 
> 
>>> I was looking at using a separate tmp space for the slave needs
>>> using slave_load_tmpdir
>> the parameter above but indeed check out @@global.tmpdir location and
>> size available.
> 
> Yes as i said initially, the binlog corruption issues are related to
> saturations in tmpdir location.
> 
> The initial issue is this strange huge increase in tmpdir space with
> mariadb 10.1 were previously 4Gb was largely enough and now even 5 times
> this (20Gb) isn't anymore ...
> 
> 
>> Perhaps the
>> 
> someone ate a few words here ;)
> 
> Thanks for your insight anyway!
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] Large query performance degrade after converting table from MyISAM to InnoDB

2018-12-12 Thread Justin Swanhart
Are these tables in the same database, so that all the other settings, like 
sort_buffer_size are the same?

> On Dec 12, 2018, at 6:36 AM, Conor Murphy  
> wrote:
> 
> Hi,
> 
> I tried the profiling but now the query performance seems to have degraded 
> even further, the query hadn't completed after 24 hours at which point I 
> aborted it.
> 
> I guess with could look at the Shard-Query stuff. However, given that the 
> performance is okay with MyISAM, I'd like to understand what the problem with 
> InnoDB is.
> 
> Is there are any way to "trace" what the query execution is doing in the 
> InnoDB engine?
> 
> /Conor
> From: Justin Swanhart 
> Sent: Tuesday 11 December 2018 12:01
> To: rhys.campb...@swisscom.com
> Cc: conor_mark_mur...@hotmail.com; maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Large query performance degrade after converting 
> table from MyISAM to InnoDB 
>  
> You could use Shard-Query (https://mariadb.com/kb/en/library/shard-query/) to 
> process the query in parallel over the partitions.  This will improve the 
> performance of OLAP type queries.
> 
> On Dec 11, 2018, at 5:27 AM,  
>  wrote:
> 
>> Can you put this is a proc and cycle through the list of partitions? I 
>> recall doing this a number of years ago and found this to be much faster 
>> than a single query.
>>  
>> Perhaps profiling the query can throw up some specifics…
>>  
>> https://mariadb.com/kb/en/library/information-schema-profiling-table/ 
>>  
>>  
>> From: Maria-discuss 
>> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net]
>>  On Behalf Of Conor Murphy
>> Sent: 11 December 2018 01:27
>> To: maria-discuss@lists.launchpad.net
>> Subject: Re: [Maria-discuss] Large query performance degrade after 
>> converting table from MyISAM to InnoDB
>>  
>> Hi,
>>  
>> The explain for the MyISAM table is the same as what's given for the InnoDB 
>> version
>>  
>> +--+-++---+---++-+--+---+---+
>> | id   | select_type | table  | type  | possible_keys | key| key_len 
>> | ref  | rows  | Extra |
>> +--+-++---+---++-+--+---+---+
>> |1 | SIMPLE  | proc_stats | index | NULL  | pidIdx | 2   
>> | NULL | 956763463 |   |
>> +--+-++---+---++-+--+---+---+
>>  
>> I've only done a very basic tuning for InnoDB, i.e. give it a 24GB cache
>>  
>> innodb-file-per-table=1
>> innodb-buffer-pool-size=24G
>> innodb_buffer_pool_instances=12
>>  
>> The table holds time series data and the majority of queries on the table 
>> use the time column which allows the partition pruning to operate.However, 
>> this particular query is related to a nightly maintenance activity and ends 
>> up performing a full scan of the table. But this is the same for MyISAM 
>> which takes ~ 6 minutes to perform the query.
>>  
>> So cause of the ~ 14 hours must be something specific to InnoDB but I've no 
>> idea how to drill down to see what the issue with InnoDB is.
>>  
>> Thanks,
>> Conor
>>  
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Large query performance degrade after converting table from MyISAM to InnoDB

2018-12-12 Thread Justin Swanhart
What is the value of “temporary_storage_engine”?  Perhaps you are using InnoDB 
temporary tables which are slower than aria temporary tables.  The biggest 
difference between InnoDB and myisam for this type of simple query with a full 
table scan is IO because InnoDB tables are larger than myisam for the same 
data.  However this size difference (which should be less than 2x) doesn’t 
account for the dramatic time difference.

You might be able to use PERFORMANCE_SCHEMA to get performance information, but 
MariaDB lacks a sys schema, making P_S hard to use.

> On Dec 12, 2018, at 6:36 AM, Conor Murphy  
> wrote:
> 
> Hi,
> 
> I tried the profiling but now the query performance seems to have degraded 
> even further, the query hadn't completed after 24 hours at which point I 
> aborted it.
> 
> I guess with could look at the Shard-Query stuff. However, given that the 
> performance is okay with MyISAM, I'd like to understand what the problem with 
> InnoDB is.
> 
> Is there are any way to "trace" what the query execution is doing in the 
> InnoDB engine?
> 
> /Conor
> From: Justin Swanhart 
> Sent: Tuesday 11 December 2018 12:01
> To: rhys.campb...@swisscom.com
> Cc: conor_mark_mur...@hotmail.com; maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Large query performance degrade after converting 
> table from MyISAM to InnoDB 
>  
> You could use Shard-Query (https://mariadb.com/kb/en/library/shard-query/) to 
> process the query in parallel over the partitions.  This will improve the 
> performance of OLAP type queries.
> 
> On Dec 11, 2018, at 5:27 AM,  
>  wrote:
> 
>> Can you put this is a proc and cycle through the list of partitions? I 
>> recall doing this a number of years ago and found this to be much faster 
>> than a single query.
>>  
>> Perhaps profiling the query can throw up some specifics…
>>  
>> https://mariadb.com/kb/en/library/information-schema-profiling-table/ 
>>  
>>  
>> From: Maria-discuss 
>> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net]
>>  On Behalf Of Conor Murphy
>> Sent: 11 December 2018 01:27
>> To: maria-discuss@lists.launchpad.net
>> Subject: Re: [Maria-discuss] Large query performance degrade after 
>> converting table from MyISAM to InnoDB
>>  
>> Hi,
>>  
>> The explain for the MyISAM table is the same as what's given for the InnoDB 
>> version
>>  
>> +--+-++---+---++-+--+---+---+
>> | id   | select_type | table  | type  | possible_keys | key| key_len 
>> | ref  | rows  | Extra |
>> +--+-++---+---++-+--+---+---+
>> |1 | SIMPLE  | proc_stats | index | NULL  | pidIdx | 2   
>> | NULL | 956763463 |   |
>> +--+-++---+---++-+--+---+---+
>>  
>> I've only done a very basic tuning for InnoDB, i.e. give it a 24GB cache
>>  
>> innodb-file-per-table=1
>> innodb-buffer-pool-size=24G
>> innodb_buffer_pool_instances=12
>>  
>> The table holds time series data and the majority of queries on the table 
>> use the time column which allows the partition pruning to operate.However, 
>> this particular query is related to a nightly maintenance activity and ends 
>> up performing a full scan of the table. But this is the same for MyISAM 
>> which takes ~ 6 minutes to perform the query.
>>  
>> So cause of the ~ 14 hours must be something specific to InnoDB but I've no 
>> idea how to drill down to see what the issue with InnoDB is.
>>  
>> Thanks,
>> Conor
>>  
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Large query performance degrade after converting table from MyISAM to InnoDB

2018-12-11 Thread Justin Swanhart
You could use Shard-Query (https://mariadb.com/kb/en/library/shard-query/) to 
process the query in parallel over the partitions.  This will improve the 
performance of OLAP type queries.

> On Dec 11, 2018, at 5:27 AM,  
>  wrote:
> 
> Can you put this is a proc and cycle through the list of partitions? I recall 
> doing this a number of years ago and found this to be much faster than a 
> single query.
>  
> Perhaps profiling the query can throw up some specifics…
>  
> https://mariadb.com/kb/en/library/information-schema-profiling-table/ 
>  
>  
> From: Maria-discuss 
> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net] 
> On Behalf Of Conor Murphy
> Sent: 11 December 2018 01:27
> To: maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Large query performance degrade after converting 
> table from MyISAM to InnoDB
>  
> Hi,
>  
> The explain for the MyISAM table is the same as what's given for the InnoDB 
> version
>  
> +--+-++---+---++-+--+---+---+
> | id   | select_type | table  | type  | possible_keys | key| key_len 
> | ref  | rows  | Extra |
> +--+-++---+---++-+--+---+---+
> |1 | SIMPLE  | proc_stats | index | NULL  | pidIdx | 2   
> | NULL | 956763463 |   |
> +--+-++---+---++-+--+---+---+
>  
> I've only done a very basic tuning for InnoDB, i.e. give it a 24GB cache
>  
> innodb-file-per-table=1
> innodb-buffer-pool-size=24G
> innodb_buffer_pool_instances=12
>  
> The table holds time series data and the majority of queries on the table use 
> the time column which allows the partition pruning to operate.However, this 
> particular query is related to a nightly maintenance activity and ends up 
> performing a full scan of the table. But this is the same for MyISAM which 
> takes ~ 6 minutes to perform the query.
>  
> So cause of the ~ 14 hours must be something specific to InnoDB but I've no 
> idea how to drill down to see what the issue with InnoDB is.
>  
> Thanks,
> Conor
>  
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Updating user's max_connections without restart

2018-11-28 Thread Justin Swanhart
I wonder if the new value in the `user` table will take effect if you FLUSH
PRIVELEGES.  This may be a workaround.

On Tue, Nov 27, 2018, 2:39 PM Staffan  I've found a simple repro case so I reported
> https://jira.mariadb.org/browse/MDEV-17852
>
> /Staffan
>
> On Mon, Nov 26, 2018 at 9:14 PM Staffan  wrote:
>
>> Hi,
>>
>> I've tried to change a user's max_connections after the limit has been
>> reached (connection attempts return "has exceeded the
>> 'max_connections_per_hour' resource").
>>
>> With MariaDB 10.2.18, running using the official docker image, we have
>> "select @@max_connections;" returning 100.
>>
>> We have a user created "WITH MAX_CONNECTIONS_PER_HOUR 50".
>>
>> Now if we bump in to this limit I fail to allow more connections by
>> increasing it. I've tried the following methods (using both 0 and a high
>> value):
>>
>> ALTER USER 'site_devkit_live_index'@'%' WITH MAX_CONNECTIONS_PER_HOUR 0;
>>
>> UPDATE mysql.user SET max_connections = 0 WHERE
>> user='site_devkit_live_index';
>> FLUSH PRIVILEGES;
>>
>> GRANT USAGE ON *.* TO 'site_devkit_live_index'@'%'
>>   WITH MAX_CONNECTIONS_PER_HOUR 0;
>>
>> The following indicates that the updates work:
>>
>> USE mysql;
>> SELECT host, user, max_user_connections, max_connections FROM user;
>>
>> I've also tried deleting and re-creating the user.
>>
>> What would it take to make these updates affect the current instance?
>> We'd like to avoid restarts.
>>
>> regards
>> /Staffan
>>
>> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] ALTER TABLE ENIGNE=InnoDB performance

2018-01-17 Thread Justin Swanhart
Hi,

Have you considered using Xtrabackup to create a replication slave?  This
is essentially a binary copy kept in sync with the innodb transaction log,
and it works great.

On Wed, Jan 17, 2018 at 12:55 PM, Conor Murphy <
conor_mark_mur...@hotmail.com> wrote:

>
> Hi Marko,
>
>
> I don't think that's an option
>
> - It would interfere with the normal operations on the master, currently
> we use a "FLUSH TABLES WITH READ LOCK" with an LVM snapshot to get a
> consistent copy of the database while the system is up and running.
> Changing the PARTITIONs to TABLEs would mean having to stop the running
> system.
>
> - I haven't checked this in a while (> a year), but the last time we
> looked at swapping a TABLE back to a PARTITION, it took hours, I think it's
> because it validates that the rows in the TABLE belong in the PARTITION
> according to the partitioning scheme. MySQL has the "WITHOUT VALIDATION"
> option to overcome this
>
> Regards,
> Conor
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] logging original SQL statement along with ROW events

2017-06-09 Thread Justin Swanhart
Thanks!

On Jun 9, 2017 2:17 PM, "Pavel Ivanov" <piva...@google.com> wrote:

> https://mariadb.com/kb/en/mariadb/annotate_rows_log_event/
>
> On Fri, Jun 9, 2017 at 11:05 AM, Justin Swanhart <greenl...@gmail.com>
> wrote:
> > Hi,
> >
> > I seem to recall reading that MariaDB can annotate the binary log with
> the
> > original SQL statement for a given set of ROW changes in the binary log,
> but
> > I can't seem to find documentation on this on the wiki.
> >
> > Can MariaDB log the original STATEMENT along with the ROW changeset?  If
> so,
> > can you point me to the relevant documentation, or better yet the patch
> > itself that makes this possible?
> >
> > Thanks,
> >
> > --Justin
> >
> > ___
> > Mailing list: https://launchpad.net/~maria-discuss
> > Post to : maria-discuss@lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~maria-discuss
> > More help   : https://help.launchpad.net/ListHelp
> >
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


[Maria-discuss] logging original SQL statement along with ROW events

2017-06-09 Thread Justin Swanhart
Hi,

I seem to recall reading that MariaDB can annotate the binary log with the
original SQL statement for a given set of ROW changes in the binary log,
but I can't seem to find documentation on this on the wiki.

Can MariaDB log the original STATEMENT along with the ROW changeset?  If
so, can you point me to the relevant documentation, or better yet the patch
itself that makes this possible?

Thanks,

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


Re: [Maria-discuss] default_tmp_storage_engine=NULL

2017-02-09 Thread Justin Swanhart
This is indeed odd.  The point of the variable is to use myisam temporary
tables when innodb storage is used because there is a huge performance hit
to using innodb temporary tables.  The default of null makes MariaDB use
innodb temp tables which will cause a performance degradation.  I'd expect
the variable to default to myisam or aria.

On Feb 9, 2017 3:59 AM, "Ian Gilfillan"  wrote:

> On 09/02/2017 11:58, Sergei Golubchik wrote:
>
>> Hi, Ian!
>>
>> On Feb 09, Ian Gilfillan wrote:
>>
>>> What is the purpose/effect of having MariaDB's
>>> default_tmp_storage_engine setting default to NULL instead of the
>>> default used in MySQL, Innodb? I can't see any obvious differences in
>>> behaviour.
>>>
>>
>> NULL means "same as default_storage_engine"
>> That is, no matter what you change your default_storage_engine to be,
>> temporary tables will always use the same engine.
>>
>>
> Thanks, but I'm also trying to understand why this decision was made. It's
> an odd obscure difference to the MySQL behaviour, and I'm sure someone is
> going to run up against it some day, and I'd like to try document the
> reasoning behind it.
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] on stored procedures

2016-11-08 Thread Justin Swanhart
I forgot about 'async'.  It is a multi-threaded asynchronous (and client
agnostic) SQL queue built entirely from MySQL primitives with no external
dependencies.

On Tue, Nov 8, 2016 at 7:45 AM, Justin Swanhart <greenl...@gmail.com> wrote:

> There are a great many uses for stored procedures.  They can eliminate
> round trips, and they can encapsulate logic in the database.  It is a pity
> that MySQL stored procedures are so limited that hey do not even
> encapsulate the full standard, and require difficult constructs by not
> implementing "for" loops, and other language conveniences.  But they are
> very powerful. I am probably the only person outside of Oracle to publish
> open source tools that rely on them heavily, because the logic they employ
> belongs in the database (Flexviews and PS_history being the primary two).
> As an example from Oracle, the sys schema uses stored functions to great
> effect.
>
> Just because something is clunky, it does not make it worthless, it simply
> means that more effort has to be put in to get the desired result, but the
> effort can very well be worth it.
>
> On Tue, Nov 8, 2016 at 4:29 AM, Игорь Пашев <pashev.i...@gmail.com> wrote:
>
>> 2016-11-07 18:43 GMT+03:00 Sergei Golubchik <s...@mariadb.org>:
>> > Hi, Federico!
>> >
>> > On Nov 07, Federico Razzoli wrote:
>> >> Some good points from Bill Karwin:
>> >> https://www.quora.com/What-are-the-reasons-not-to-use-or-not
>> -use-stored-procedures/answer/Bill-Karwin
>> >
>> > Thanks.
>> >
>> > These are valid points, and some of them are related.
>> > For example, "does not have a rich library of functions or standard
>> > procedures" that follows from "does not support packages".
>> > Which might be fixed in https://jira.mariadb.org/browse/MDEV-10591
>> >
>> > External languages for stored procedures - that's a very cool feature,
>> > and patches exist for many years. But, apparently, it's more cool than
>> > practically useful? There were almost no requests for it, not when I was
>> > in MySQL, not in MariaDB. And, frankly, I do not know why, this looks
>> > insanely useful to me.
>>
>> I value stored procedures only for maintenance tasks and only in the
>> `mysql` DB.
>> Anything else is PITA :)
>>
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] on stored procedures

2016-11-08 Thread Justin Swanhart
There are a great many uses for stored procedures.  They can eliminate
round trips, and they can encapsulate logic in the database.  It is a pity
that MySQL stored procedures are so limited that hey do not even
encapsulate the full standard, and require difficult constructs by not
implementing "for" loops, and other language conveniences.  But they are
very powerful. I am probably the only person outside of Oracle to publish
open source tools that rely on them heavily, because the logic they employ
belongs in the database (Flexviews and PS_history being the primary two).
As an example from Oracle, the sys schema uses stored functions to great
effect.

Just because something is clunky, it does not make it worthless, it simply
means that more effort has to be put in to get the desired result, but the
effort can very well be worth it.

On Tue, Nov 8, 2016 at 4:29 AM, Игорь Пашев  wrote:

> 2016-11-07 18:43 GMT+03:00 Sergei Golubchik :
> > Hi, Federico!
> >
> > On Nov 07, Federico Razzoli wrote:
> >> Some good points from Bill Karwin:
> >> https://www.quora.com/What-are-the-reasons-not-to-use-or-
> not-use-stored-procedures/answer/Bill-Karwin
> >
> > Thanks.
> >
> > These are valid points, and some of them are related.
> > For example, "does not have a rich library of functions or standard
> > procedures" that follows from "does not support packages".
> > Which might be fixed in https://jira.mariadb.org/browse/MDEV-10591
> >
> > External languages for stored procedures - that's a very cool feature,
> > and patches exist for many years. But, apparently, it's more cool than
> > practically useful? There were almost no requests for it, not when I was
> > in MySQL, not in MariaDB. And, frankly, I do not know why, this looks
> > insanely useful to me.
>
> I value stored procedures only for maintenance tasks and only in the
> `mysql` DB.
> Anything else is PITA :)
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] on stored procedures

2016-11-07 Thread Justin Swanhart
Well, because the change to the parser and the VIO layer were major, and
because it wasn't merged, it drifted, and it really drifted as major
releases were added.  At this point, with the X protocol, and changes to
triggers so that you can have more than one, and various other changes, it
is very hard to merge.  I gave a go at it, but I'm not familiar enough with
the server to do it, so I gave up.  I came up with a different way to run
SQL in the server, and for plugging in other languages I just use the
gearman UDF which runs them out of process safely (but they can't run SQL
on the THD, if they want to use a connection they have to create a new one).

On Mon, Nov 7, 2016 at 4:42 PM, Sergei Golubchik <s...@mariadb.org> wrote:

> Hi, Justin!
>
> On Nov 07, Justin Swanhart wrote:
> > We discussed it here and it seemed vary popular.  WL-820.
>
> I know, right?
>
> A cool and useful feature, I'd say. I cannot understand why it's
> constantly being pushed down for the last 10 years.
>
> I still hope we get it someday.
>
> > On Mon, Nov 7, 2016 at 10:43 AM, Sergei Golubchik <s...@mariadb.org>
> wrote:
> > > Hi, Federico!
> > >
> > > On Nov 07, Federico Razzoli wrote:
> > > > Some good points from Bill Karwin:
> > > > https://www.quora.com/What-are-the-reasons-not-to-use-or-
> > > not-use-stored-procedures/answer/Bill-Karwin
> > >
> > > Thanks.
> > >
> > > These are valid points, and some of them are related.
> > > For example, "does not have a rich library of functions or standard
> > > procedures" that follows from "does not support packages".
> > > Which might be fixed in https://jira.mariadb.org/browse/MDEV-10591
> > >
> > > External languages for stored procedures - that's a very cool feature,
> > > and patches exist for many years. But, apparently, it's more cool than
> > > practically useful? There were almost no requests for it, not when I
> was
> > > in MySQL, not in MariaDB. And, frankly, I do not know why, this looks
> > > insanely useful to me.
>
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] on stored procedures

2016-11-07 Thread Justin Swanhart
We discussed it here and it seemed vary popular.  WL-820.

On Mon, Nov 7, 2016 at 10:43 AM, Sergei Golubchik  wrote:

> Hi, Federico!
>
> On Nov 07, Federico Razzoli wrote:
> > Some good points from Bill Karwin:
> > https://www.quora.com/What-are-the-reasons-not-to-use-or-
> not-use-stored-procedures/answer/Bill-Karwin
>
> Thanks.
>
> These are valid points, and some of them are related.
> For example, "does not have a rich library of functions or standard
> procedures" that follows from "does not support packages".
> Which might be fixed in https://jira.mariadb.org/browse/MDEV-10591
>
> External languages for stored procedures - that's a very cool feature,
> and patches exist for many years. But, apparently, it's more cool than
> practically useful? There were almost no requests for it, not when I was
> in MySQL, not in MariaDB. And, frankly, I do not know why, this looks
> insanely useful to me.
>
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] workaround for MDEV-9688

2016-10-25 Thread Justin Swanhart
Use ProxySQL to rewrite DROP DATABASE to a call to a store proc.

Sent from my iPhone

> On Oct 25, 2016, at 3:43 AM, Lukas Lehner  wrote:
> 
> Thanks Rhys.
> 
> Is there an other way? With your solution the customer can't use standard SQL 
> (they are forced to use our procedure), which means much more support 
> requests.
> 
> best regards
> Lukas
> 
>> On Mon, Oct 24, 2016 at 3:53 PM,  wrote:
>> Revoke the DROP permission from the user in question. Create a stored 
>> procedure that can drop the tables using the SQL SECURITY DEFINER clause so 
>> it's executed in the context of a user with the DROP permission.
>> 
>>  
>> 
>> https://mariadb.com/kb/en/mariadb/create-procedure/
>> 
>>  
>> 
>>  
>> 
>>  
>> 
>> From: Maria-discuss 
>> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net]
>>  On Behalf Of Lukas Lehner
>> Sent: Monday, October 24, 2016 3:18 PM
>> To: Maria Discuss 
>> Subject: [Maria-discuss] workaround for MDEV-9688
>> 
>>  
>> 
>> Hi
>> 
>>  
>> 
>> https://jira.mariadb.org/browse/MDEV-9688
>> 
>>  
>> 
>> is there a workaround for this issue?
>> 
>>  
>> 
>> We need it for DBaaS
>> 
>>  
>> 
>> Lukas
>> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-16 Thread Justin Swanhart
Doesn't the Bing team port rocks?  Obviously there is interest in support for 
Windows in Redmond, but apparently not for TokuDB.

The market decides.  It has been demonstrated that TokuDB isn't precisely 
general purpose, so the desire to port it is lesser.

Plenty of people run Windows and MySQL in production.  They just aren't members 
of our community, because we tend to ostracize them for their OS choice.

Sent from my iPhone

> On Oct 16, 2016, at 8:45 AM, Tim Callaghan  wrote:
> 
> I was just adding context. I agree that Windows is very uninteresting in a 
> production context, but not having a version of TokuDB for Windows certainly 
> excluded people (academic and professional) from trying it out on their 
> laptops.
> 
>> On Sat, Oct 15, 2016 at 1:10 PM, Reindl Harald  
>> wrote:
>> 
>> 
>>> Am 15.10.2016 um 17:22 schrieb Tim Callaghan:
>>> Every time the topic of getting TokuDB to run on Windows the developers
>>> could not have run out of the room any faster.  :)
>> 
>> frankly what is the purpose of running MySQL/MariaDB on Windows?
>> who does that in production?
>> 
>> for development?
>> seriously?
>> develop a application on Windows which finally runs on a different OS?
>> 
>> not in 2016 when anybody sane in his mind would setup a virtual machine so 
>> that his testing servers are really reflecting the later production 
>> environment (for the poor guys which are running Windows on their bare metal 
>> development machine)
>> 
>> 
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Best way to scale writes

2016-10-14 Thread Justin Swanhart
I asked about schema and queries to determine which sharding framework makes 
the most sense to suggest.

Sent from my iPhone

> On Oct 14, 2016, at 1:05 PM, Clint Byrum  wrote:
> 
> Excerpts from Jon Foster's message of 2016-10-14 09:33:59 -0700:
>> I have a DB scenario that is very write intensive. Essentially its a
>> large scale hit counter of sorts. Currently we're running on a single
>> 12core server with 6 SSDs in a RAID6 array. But we're looking for a way
>> to scale out write volume by adding more servers, hopefully as
>> conveniently as I might add Apache servers to a website. We see two
>> servers laboring so we add a third to the mix and so on.
>> 
>> I'm still looking at the various technologies available to me and was
>> wondering if someone out there had some suggestions on this front.
>> Although Galera Cluster says it scales for write loads too it also says
>> that all servers write the same data and make sure its committed by the
>> time the transaction is completed. So it seems like write performance
>> would never scale because all servers are doing the same write.
>> 
>> Maybe I'm missing something.
>> 
>> Anyhow some pointers would be appreciated.
>> 
> 
> If you're overwhelming one server (you haven't even begun to scale up
> btw) you will have to shard. However, before you do that.. consider how
> cheap 24 core servers with 10x FusionIO or similar SSDs would be versus
> the cost in complexity of sharding.
> 
> Maybe take a look at Vitess, which helps shard things but keeps all the
> good stuff you like about MariaDB/MySQL:
> 
> http://vitess.io/
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] Best way to scale writes

2016-10-14 Thread Justin Swanhart
Can you describe your schema and typical queries please?

Sent from my iPhone

> On Oct 14, 2016, at 12:33 PM, Jon Foster  wrote:
> 
> I have a DB scenario that is very write intensive. Essentially its a
> large scale hit counter of sorts. Currently we're running on a single
> 12core server with 6 SSDs in a RAID6 array. But we're looking for a way
> to scale out write volume by adding more servers, hopefully as
> conveniently as I might add Apache servers to a website. We see two
> servers laboring so we add a third to the mix and so on.
> 
> I'm still looking at the various technologies available to me and was
> wondering if someone out there had some suggestions on this front.
> Although Galera Cluster says it scales for write loads too it also says
> that all servers write the same data and make sure its committed by the
> time the transaction is completed. So it seems like write performance
> would never scale because all servers are doing the same write.
> 
> Maybe I'm missing something.
> 
> Anyhow some pointers would be appreciated.
> 
> TIA - Jon
> 
> -- 
> Sent from my Debian Linux workstation -- http://www.debian.org/intro/about
> 
> Jon Foster
> JF Possibilities, Inc.
> j...@jfpossibilities.com
> 541-410-2760
> Making computers work for you!
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-13 Thread Justin Swanhart
Wouldn't it be ironic for MariaDB to support java but not MySQL?

Sent from my iPhone

> On Oct 13, 2016, at 3:59 PM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> That is it.  
> 
> Sent from my iPhone
> 
>> On Oct 13, 2016, at 1:17 PM, Roberto Spadim <robe...@spadim.com.br> wrote:
>> 
>> you are talking about this?
>> https://launchpad.net/mysql-wl820/trunk/5.1.33-wl820
>> ​
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-13 Thread Justin Swanhart
That is it.  

Sent from my iPhone

> On Oct 13, 2016, at 1:17 PM, Roberto Spadim  wrote:
> 
> you are talking about this?
> https://launchpad.net/mysql-wl820/trunk/5.1.33-wl820
> ​
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-13 Thread Justin Swanhart
Antony's work includes a client library change that lets perl/Java/or whatever 
run SQL on the THD.  The parser was made reentrant, you connect with null 
credential and get current THD.

Sent from my iPhone

> On Oct 13, 2016, at 1:01 PM, Andrew Hutchings  wrote:
> 
> 
> 
>> On 13/10/16 16:53, Vladislav Vaintroub wrote:
>>> On 13.10.2016 17:26, Andrew Hutchings wrote:
>>> 
>>> Whilst I agree it would be a nice feature and something I've heard for
>>> years, the implementation would likely be more complex than it seems.
>>> 
>>> For starters you have to consider the possibility of a procedure
>>> crashing and taking the whole daemon with it. You would likely need to
>>> fork a small worker process pool and have some kind of shared memory
>>> or socket communications for safety. In addition the implementation
>>> would have to be extremely careful not to add any potential security
>>> hole due to a zero-day in PHP or some bad input filtering for example.
>>> 
>>> I'm not saying it is impossible, but it will likely be a lot of work
>>> to get right and the APIs would need to be carefully thought out.
>>> 
>>> So the question becomes: is it worth spending time developing this
>>> over another feature? Or is it something that could be better
>>> implemented safely in another layer, such as in a database proxy?
>>> 
>>> Kind Regards
>>> Andrew
>> 
>> I think crashing is much easier if one runs native C UDFs, or any kind
>> of natively compiled plugins.
> 
> I don't know, I've seen some horrid things happen with interpreted languages 
> before.
> 
>> For external languages I think an important aspect is often overlooked.
>> Namely, how to would access data. You can create a new JDBC connection,
>> but it is likely not what you want to do. You just want to run a SELECT
>> from the same session you're in, just like you do in SQL stored
>> procedures. Exactly this requires a large amount of work in the
>> connectors. It is not  just running a JVM  inside the server.  There is
>> no API for data access from the running session inside the server,  not
>> even for C.
> 
> I was envisioning a tighter coupling than using connectors in the above. 
> Opening up the thd to a new process via a new API and blocking the client 
> whilst doing so. I hadn't really thought though the mechanics of it too much 
> though. But you are right, either way it is a lot of work.
> 
> Again, I think this kind of thing is better suited to the application or 
> proxy layers. Especially with things such as MicroServices and Serverless 
> around which are designed to break up the logic like this (I'm not a fan of 
> the buzzword though).
> 
> Kind Regards
> -- 
> Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-12 Thread Justin Swanhart
"Monty says it is trivial" is the oldest running joke in the community.  I 
heard it in my first talk I attended, about adding data types to MySQL, a talk 
given by Brian Aker.  :)

But ok. I'll try to be nicer.  I really think community is important, and 
nobody should be a pariah, or a punching bag.

Sent from my iPhone

> On Oct 12, 2016, at 12:25 PM, MARK CALLAGHAN <mdcal...@gmail.com> wrote:
> 
> 0) Sergei and Justin - I prefer to avoid the "Monty says" game either for or 
> against. We are trying to establish a community here. He is one of many. His 
> reputation (good or bad) shouldn't be a stick that is deployed to win 
> arguments.
> 
> 1) RocksDB has persistent snapshots. That would make flashback trivial to 
> implement for MyRocks assuming you took snapshots ahead of time. So maybe 
> that isn't flashing back.
> http://rocksdb.org/blog/2015/11/10/use-checkpoints-for-efficient-snapshots.html
> 
> 2) I expect almost everyone to choose MyRocks given a choice between MyRocks 
> and TokuDB. I have evaluated TokuDB over several years. I have many 
> performance and efficiency results from this year that I have yet to publish. 
> Results are almost always much better with MyRocks, we have more resources 
> dedicated to MyRocks so it will improve quickly.
> 
> MariaDB is a community project, so if someone maintains TokuDB I assume it 
> will be included in MariaDB. But I think time is better spent on MyRocks. Our 
> docs need to be updated and our communication needs to be better. But we move 
> fast and Yoshi has been updating the limitations wiki page as I write this 
> (https://github.com/facebook/mysql-5.6/wiki/MyRocks-limitations). 
> 
> I am not surprised that there are so few performance results published for 
> TokuDB. And when they are published they are almost always for trivial 
> workloads -- like insert-only insert benchmark. Try adding queries concurrent 
> with the inserts.
> 
> 3) Partitioning via the partition storage engine is supported for MyRocks. My 
> employer doesn't need it for the initial deployment. It might be needed 
> elsewhere and I am sure the community needs it. I assume we also need native 
> partitioning in MyRocks when we move up to MySQL 8. The limitations page is 
> getting updated to explain this.
> 
> 4) By default the FB MySQL branch doesn't allow mysqld to start if MyRocks 
> and InnoDB are enabled. This was misinterpreted to mean it wasn't possible to 
> use MyRocks and InnoDB at the same time. It is possible now. And 
> MariaDB/Percona are free to always allow both to be enabled. It was 
> previously prevented in the FB MySQL repo because of fear that internal users 
> might try to do a transaction that spans engines. I think that is a bad idea 
> and XA scares me. I assume evaluations for MariaDB Server and Percona Server 
> require that both InnoDB and MyRocks are enabled concurrently. See 
> https://github.com/facebook/mysql-5.6/issues/106
> 
> 5) We have work in progress to support XA for MyRocks. Code has been merged. 
> Perf tests are in progress.
> 
> 6) We have work in progress to support online DDL.
> 
> 7) MyRocks supports read-committed (RC) and repeatable-read (RR). RR in 
> MyRocks is Postgres-style and I assume that it won't get much use, just like 
> i assume it doesn't in Postgres. If we add gap-locking to MyRocks RR then it 
> will match InnoDB. For details see 
> https://github.com/mdcallag/mytools/wiki/Cursor-Isolation
> 
> 8) I am a long time user of SBR and think that RBR is the future. MyRocks 
> needs RBR because we expect most deployments to use it with read-committed 
> and just like InnoDB, that needs RBR. If gap locking is added to MyRocks RR 
> then SBR is feasible, but you give up all of the great new replication 
> features that will be RBR only. 
> http://dba.stackexchange.com/questions/101122/mysql-why-statement-based-binlog-format-cannot-work-with-innodb-read-uncommitte
> 
> 9) MyRocks could do transportable column family for all indexes/tables in a 
> column family. Transportable is a nice feature but I don't think the lack of 
> it is a big deal. It is part of being storage efficient, but the overall 
> storage efficiency story is much stronger for MyRocks than InnoDB.
> 
> 10) I hope there is a plan for foreign key and spatial in MyRocks. There 
> isn't one yet. I don't think full text in any MySQL engine is a good use of 
> time given how infrequently it is used.
> 
> 
> 
>> On Wed, Oct 12, 2016 at 8:39 AM, Reindl Harald <h.rei...@thelounge.net> 
>> wrote:
>> 
>> 
>>> Am 12.10.2016 um 17:34 schrieb Justin Swanhart:
>>> When upgrading from 5.0 -> 5.1 the sort order of some german characters
>>> was modified, which mean

Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-12 Thread Justin Swanhart
Hi,

When upgrading from 5.0 -> 5.1 the sort order of some german characters was
modified, which meant indexes had to be rebuilt (they are in sorted order
after all).  The mysql_upgrade would suggest a table rebuild (ALTER TABLE
xyz ENGINE=INNODB) or dump/restore for every affected table.  I was a
consultant during this time, and I can't tell you how many tables I had to
rebuild.  Thousands to say the least.  Yuck.

--Greenlion

On Wed, Oct 12, 2016 at 10:01 AM, Reindl Harald <h.rei...@thelounge.net>
wrote:

>
> Am 12.10.2016 um 15:53 schrieb Justin Swanhart:
>
>> Also having to dump/restore to go from 10.2 to 10.3 tables is a PITA
>>
>
> it's a simple no-go and the answer to "should i use postgre or
> mysql/mariadb" is always "stay away from postgre, while it got better you
> need to dump your data and import them again still way too often while our
> mysql tables where created 2002 and now running on MariaDB 10 without doing
> such a bullshit a single time"
>
> Remember how awful it was to migrate all those BDB tables to InnoDB?  Or
>> even just how frustrating it was when UTF8_GENERAL_CI changed the umlaut?
>>
>
> when did something change umlauts?
>
> as charsets where introdcued with MySQL 5.0 it was a simple script just to
> add the correct charset information that it is *not* UTF8 to 5000 tables
> with not a single char damaged and since we are located in austria üöäß are
> very common
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-12 Thread Justin Swanhart
Also having to dump/restore to go from 10.2 to 10.3 tables is a PITA.
Remember how awful it was to migrate all those BDB tables to InnoDB?  Or
even just how frustrating it was when UTF8_GENERAL_CI changed the umlaut?

On Wed, Oct 12, 2016 at 9:43 AM, Reinis Rozitis  wrote:

> The main reason to drop TokuDB would be it being redundant.  If MyRocks
>> and TokuDB would cover, basically, the same use case and MyRocks
>> would've done it better - then nobody would need TokuDB, right?
>>
>
> But you're saying that they have different use cases and even on the
>> common use case, MyRocks is not necessarily better - do I understand you
>> correctly? In that case we should be interesed in keeping TokuDB in
>> MariaDB Server, not removing it.
>>
>
> It's true that in general it shouldn't matter for the end-user what the
> storage engine is called as far it has more or less the same (needed)
> features and delivers comparable performance (in the end it would be great
> if we could have only one for all purposes and workloads :)).
>
> But my concern is that at least currently publicly available Facebook
> version has several limitations ( https://github.com/facebook/my
> sql-5.6/wiki/MyRocks-limitations ) which (for me) would be problematic
> (for example no partitions, no online ddl and only row based replication
> (the locking is also interesting)) and seems strange since I would guess
> people (would) use theese engines mainly for compressing large tables (at
> least in some cases I can't even go back to compressed Innodb by how much
> the database size would inflate).
>
> Myself have tested Rocks only as mongo-rocks in MongoDB environment but
> for me as a user the features the engine has for Mysql seem subpar.
>
> Obviously there are bunch of issues with Toku and in the future RocksDB
> might get all the options people need - wanted to just share my opinion.
>
> rr
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB Server 10.3 notes

2016-10-11 Thread Justin Swanhart
Questions comments are inline:

> * InnoDB: InnoDB native partitioning - so MySQL 8 InnoDB? But Monty says
there's next to no changes in InnoDB 8...
 Instant add column. New InnoDB deadlock detection (8.0). New
INFORMATION_SCHEMA table (8.0). Dedicated
 tablespace for temporary tables (in 5.7 and merged, check). Lock wait
policy (contribution)

Monty is *notorious* for low balling estimates.  His famous phrase is "it
is trivial".  Everybody knows that if Monty says it is trivial, you can add
10x the work to get it done, or more.  I am loathe to bring up CS, but it
is a perfect example.  You have to look no further than the time estimates
for the CS project.  The CS team was forced to accept an unacceptable
timeline based on poor estimates by non-CS team members, and when the team
couldn't meet arbitrary deadlines an alpha was shipped that should never
have touched customer systems, and could have damaged them.  InnoDB 8 also
includes transportable tablespaces for partitioned tables, and will likely
support native partitioning by the time 8 rolls.  Native partitioning also
entails implementing the changes to the SE.  See:
http://mysqlserverteam.com/innodb-native-partitioning-early-access/


> * Pluggable parser - MDEV-10142, PL/SQL parser, Oracle syntax support,
INTERSECT, EXCLUDE
FULL OUTER JOIN?  Table functions?

> * more for window functions (user defined window functions, MDEV-10855)
What other databases have user definable window functions?  Will the syntax
be similar?  I can't really think of a reason to need custom window
functions personally, as the existing set is very comprehensive.  What kind
of custom window function do you think people would need to write?  In most
implementations any aggregate functions can be used in a window frame
context, thus any aggregate SQL functions should satisfy requirements for
user defined window funcs.

> * more for CTEs (CTE sharing isn't in now, and MySQL 8 has it, so needs
to be done; Writable CTEs)
I assume writable CTE will have the same restrictions as updateable views?

> * "always encrypt" on the client side - Booking says there is no
particular interest in this at the moment.
Other RDBMS are rolling this out though.  Microsoft has a new ADO.NET layer
that supports end-to-end encryption from data at rest, to where it is
accessed in the client.

> * socket authentication
Can you explain this.  Is there an MDEV?

> * X Protocol/Document store - only if people have time or money will it
be done
If you want people to pay for it, perhaps you should implement it in
MaxScale instead of the server :)

>* Peter asks if there is any plans to support other languages like V8?
Supporting legacy database like Oracle PL/SQL is nice, but what about
JavaScript and stuff? Eric mentions his old work on Perl and Java external
language stored procedures. Peter says, if JSON and JavaScript are your
lingua franca, PL/SQL isn't so interesting - but there was no interest in
this amongst the folk.

PLEASE PLEASE PLEASE PLEASE IMPLEMENT WL-820.  External stored procs and
table functions.  Been sitting there for the taking for a long time.
Antony has tried to get you to get it into the server, but alas, it has
never happened, and though there continues to be wide requests for this
feature from the community, they fall on deaf ears.

ALSO: PL/SQL support requires support for ARRAYS and other contructs that
MySQL doesn't have.  Without greatly improving the SQL language support,
even basic Oracle 7 PL/SQL blocks won't work.  MySQL cursor support is kind
of lacking, and UPDATE WHERE CURRENT OF, etc, could be quite hard to
implement.
PLEASE PLEASE PLEASE add proper array support.  PLEASE.

> * Compressed binary log (from Tencent)
Compressing the binary log saves on space on the master, but it makes
seeking into binary logs much more difficult, and searching backwards
through them becomes much more difficult (which has implications for query
'rewind')

> * For ALTER TABLE show the corresponding CREATE TABLE statement as a
comment in the binary log. This is an annotation.
I guess this is to make streaming CDC easier, so that you can just stream
changes without having a copy of the DDL downstream in an idempotent manner
(updates that match no rows are inserts,etc?)

> * Counters for unsafe statements in replication (maybe in 10.2)
MySQL and MariaDB are notorious for marking statements unsafe that are
actually safe.  I'm not sure a counter would be of much use.  I think SBR
should be deprecated and ROW mode should be made the default. Any CDC
related feature (like rewind) needs full RBR.

> * Extended table map in RBR is missing
Please explain.  Is there an MDEV?

> * Galera 4, encryption of gcache
This is a pretty big bullet point in a small space.  Adding support for
Galera 4 while also making all the changes for InnoDB needs to be
coordinated carefully.

> * Fix the XA transaction bug ( MySQL has fixed it already ) - MDEV-7974
Please actually complete XA support, don't just half fix it 

Re: [Maria-discuss] When using the getGeneratedKeys() method the keys are returned, but in which order?

2016-08-26 Thread Justin Swanhart
It further depends on auto increment lock mode.  You can have a big gap between 
"buckets" of id values in the non-default mode, if the bulk insert is large and 
uses more than one "bucket" of values.

Sent from my iPhone

> On Aug 26, 2016, at 12:46 PM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> Generated id values are not guaranteed to be sequential.  The auto_increment 
> lock is shared by transactions.  This code will not always work.
> 
> Sent from my iPhone
> 
>> On Aug 26, 2016, at 12:33 PM, Diego Dupin <diego.du...@mariadb.com> wrote:
>> 
>> Hi peter,
>> 
>> Basically, server will return different informations to driver. In those 
>> informations, there is a "last insert id" that correspond to the first 
>> created id of the query, and the number of affected rows.
>> So for example :
>> try (Statement stmt = sharedConnection.createStatement()) {
>> stmt.executeUpdate("INSERT INTO demo (name) VALUES 
>> ('Jeff'),('Jones'),('Agnes'),('Wolfgang')", Statement.RETURN_GENERATED_KEYS);
>> try (ResultSet rs = stmt.getGeneratedKeys()) {
>> while (rs.next()) {
>> System.out.println(rs.getString(1));
>> }
>> }
>> }
>> server will return for example "last insert id" 1 and 4 new rows. 
>> 
>> Driver will reconstruct the inserted Id according to 
>> @@auto_increment_increment.
>> will return 
>> 1
>> 2 (= 1 + @@auto_increment_increment)
>> 3 (= 1 + 2 * @@auto_increment_increment)
>> 4 (= 1 + 3 * @@auto_increment_increment)
>> 
>> In JDBC, standard way is to use PrepareStatement (and it's better to avoid 
>> injection than created a String like the previous one) and batch methods. 
>> Example : 
>> String[] names = new String[] {"Jeff", "Jones", "Agnes", "Wolfgang"};
>> try (PreparedStatement pstmt = sharedConnection.prepareStatement("INSERT 
>> INTO demo (name) VALUES (?)", Statement.RETURN_GENERATED_KEYS)) {
>> for (String name : names) {
>> pstmt.setString(1, name);
>> pstmt.addBatch();
>> }
>> pstmt.executeBatch();
>> 
>> try (ResultSet rs = pstmt.getGeneratedKeys()) {
>> while (rs.next()) {
>> System.out.println(rs.getString(1));
>> }
>> }
>> }
>> Server will send to driver informations for each insert in the order 
>> corresponding to the addBatch() methods.
>> There is no reconstruction this way. 
>> 
>> I'll add this to documentation next week
>> 
>> diego
>> 
>> 
>> 
>>> On Thu, Aug 25, 2016 at 4:38 PM, Péter Éberhardt 
>>> <eberhardt.pe...@gmail.com> wrote:
>>> Hi,
>>> 
>>> I want to insert multiple records into a table using one statement
>>> like this through jdbc:
>>> 
>>>   INSERT INTO demo (name) VALUES 
>>> ('Jeff'),('Jones'),('Agnes'),...,('Wolfgang');
>>> 
>>> Then I want to get the generated ids with the getGeneratedKeys()
>>> method and match them to the inserted records but how can I be sure
>>> the method gives the ids in the same order as I listed the records in
>>> the statement? I can't find any related information in the
>>> documentation just the fact the method gives back those ids.
>>> 
>>> DDL:
>>> 
>>> CREATE TABLE demo (id bigint primary key auto_increment , name text);
>>> 
>>> If this information would put into the document also then I can go
>>> with my implementation on this way.
>>> 
>>> Thanks,
>>> Peter
>>> 
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] When using the getGeneratedKeys() method the keys are returned, but in which order?

2016-08-26 Thread Justin Swanhart
Generated id values are not guaranteed to be sequential.  The auto_increment 
lock is shared by transactions.  This code will not always work.

Sent from my iPhone

> On Aug 26, 2016, at 12:33 PM, Diego Dupin  wrote:
> 
> Hi peter,
> 
> Basically, server will return different informations to driver. In those 
> informations, there is a "last insert id" that correspond to the first 
> created id of the query, and the number of affected rows.
> So for example :
> try (Statement stmt = sharedConnection.createStatement()) {
> stmt.executeUpdate("INSERT INTO demo (name) VALUES 
> ('Jeff'),('Jones'),('Agnes'),('Wolfgang')", Statement.RETURN_GENERATED_KEYS);
> try (ResultSet rs = stmt.getGeneratedKeys()) {
> while (rs.next()) {
> System.out.println(rs.getString(1));
> }
> }
> }
> server will return for example "last insert id" 1 and 4 new rows. 
> 
> Driver will reconstruct the inserted Id according to 
> @@auto_increment_increment.
> will return 
> 1
> 2 (= 1 + @@auto_increment_increment)
> 3 (= 1 + 2 * @@auto_increment_increment)
> 4 (= 1 + 3 * @@auto_increment_increment)
> 
> In JDBC, standard way is to use PrepareStatement (and it's better to avoid 
> injection than created a String like the previous one) and batch methods. 
> Example : 
> String[] names = new String[] {"Jeff", "Jones", "Agnes", "Wolfgang"};
> try (PreparedStatement pstmt = sharedConnection.prepareStatement("INSERT INTO 
> demo (name) VALUES (?)", Statement.RETURN_GENERATED_KEYS)) {
> for (String name : names) {
> pstmt.setString(1, name);
> pstmt.addBatch();
> }
> pstmt.executeBatch();
> 
> try (ResultSet rs = pstmt.getGeneratedKeys()) {
> while (rs.next()) {
> System.out.println(rs.getString(1));
> }
> }
> }
> Server will send to driver informations for each insert in the order 
> corresponding to the addBatch() methods.
> There is no reconstruction this way. 
> 
> I'll add this to documentation next week
> 
> diego
> 
> 
> 
>> On Thu, Aug 25, 2016 at 4:38 PM, Péter Éberhardt  
>> wrote:
>> Hi,
>> 
>> I want to insert multiple records into a table using one statement
>> like this through jdbc:
>> 
>>   INSERT INTO demo (name) VALUES 
>> ('Jeff'),('Jones'),('Agnes'),...,('Wolfgang');
>> 
>> Then I want to get the generated ids with the getGeneratedKeys()
>> method and match them to the inserted records but how can I be sure
>> the method gives the ids in the same order as I listed the records in
>> the statement? I can't find any related information in the
>> documentation just the fact the method gives back those ids.
>> 
>> DDL:
>> 
>> CREATE TABLE demo (id bigint primary key auto_increment , name text);
>> 
>> If this information would put into the document also then I can go
>> with my implementation on this way.
>> 
>> Thanks,
>> Peter
>> 
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] When using the getGeneratedKeys() method the keys are returned, but in which order?

2016-08-26 Thread Justin Swanhart
Hi,

You can not get all of the generated keys from a bulk insert, only the last
one, because the id value is made available through the last_insert_id()
function, and the client API value to return the last insert id works the
same way.

You will either have to do single value (not bulk) inserts, or you will
have to lock the table, select the maximum id, insert the values, select
the new maximum value, and then unlock the table.  This will give you the
complete set of values for the block of id values assigned to the bulk
insert.

--Justin

On Thu, Aug 25, 2016 at 10:38 AM, Péter Éberhardt  wrote:

> Hi,
>
> I want to insert multiple records into a table using one statement
> like this through jdbc:
>
>   INSERT INTO demo (name) VALUES ('Jeff'),('Jones'),('Agnes'),.
> ..,('Wolfgang');
>
> Then I want to get the generated ids with the getGeneratedKeys()
> method and match them to the inserted records but how can I be sure
> the method gives the ids in the same order as I listed the records in
> the statement? I can't find any related information in the
> documentation just the fact the method gives back those ids.
>
> DDL:
>
> CREATE TABLE demo (id bigint primary key auto_increment , name text);
>
> If this information would put into the document also then I can go
> with my implementation on this way.
>
> Thanks,
> Peter
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] New Question: Locking/deadlocking on temp tables?

2016-08-26 Thread Justin Swanhart
Hi,

I don't have the email on hand, but it was acknowledged by MariaDB that
this system is inefficient. I'm not the first one to complain about it.  I
figure I should keep complaining about it, since there was a promise to fix
it.  I'll refrain from characterizing the current situation with an
negative statements.

--Justin

On Mon, Aug 22, 2016 at 3:52 PM, Colin Charles  wrote:

>
> > On 23 Aug 2016, at 03:28, Reindl Harald  wrote:
> >
> >> It's not, and ranting about things being "idiotic" and "stupid" is not
> >> going to help. As pointed out many times in the past, it works like this
> >> by design, as not many people view the questions on the website, so
> >> sending them to the email list gets their questions more visibility.
> >> Most of the people asking the questions are not on the mailing list.
> >
> > then just point them to the mailing list
> >
> > when i get a question in my mail-client i expect to be able to just
> press reply - and guess what - reply!
> >
> > if that don't work then fix your process to connect mail-responses to
> the webpage or just don't bother list subscribers with the web stuff
> >
> > it#s really easy - make it proper or don't do it at all
>
> Agree that complaining isn’t going to help. But agree that fixing the
> process is what needs to happen - this is after all a mailing list.
>
> If the resources are an issue, maybe the Knowledgebase code can be open
> sourced and others can add such a feature?
>
> cheers,
> -colin
>
> --
> Colin Charles, http://bytebot.net/blog/
> twitter: @bytebot | skype: colincharles
> "First they ignore you, then they laugh at you, then they fight you, then
> you win." -- Mohandas Gandhi
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Backporting bug fixes to 1.0?

2016-08-25 Thread Justin Swanhart
Also, while it insulting to suggest I have BPD, what was more insulting was 
Roger (row-jay) telling me I'm "on the spectrum".  That was very insulting, I'm 
not autistic.  It is simply hard to deal with other people when they don't use 
reason.  Everything about ColumnStore is unreasonable.

Sent from my iPhone

> On Aug 25, 2016, at 12:50 PM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> Thanks for your armchair diagnosis, but I'm not "striking out" at anybody.  
> I'm outraged by the behavior of MariaDB.  I'm passionate about open source, 
> since my whole life has been spent on it.  I joined because the company is 
> open source.  What I found after I joined was a total lack of regard for it, 
> and a lack of ethics.  Would YOU knowingly ask a customer to install software 
> with known vulnerabilities reported ten years ago?  Would you ship open 
> source that doesn't compile?  Would you extort your current users of your 
> product for bug fixes?  If you answered yes to those questions then you don't 
> have ethics either.
> 
> --Justin 
> 
> Sent from my iPhone
> 
> On Aug 25, 2016, at 1:15 AM, Jan Steinman <j...@ecoreality.org> wrote:
> 
>>> On 2016-08-24, at 06:22, Justin Swanhart <greenl...@gmail.com> wrote:
>>> 
>>> I'm bipolar
>> 
>> Seems more like Borderline to me. Bipolars generally don’t strike out at 
>> others as much as you are doing.
>> 
>>   Jan Steinman
>>   EcoReality Co-op, http://www.EcoReality.org
>>   2152 Fulford-Ganges Road
>>   Salt Spring Island, BC V8K 1Z7 CANADA
>>   +1 250.653.2024
>> 
>> 
>> 

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


Re: [Maria-discuss] Backporting bug fixes to 1.0?

2016-08-25 Thread Justin Swanhart
Thanks for your armchair diagnosis, but I'm not "striking out" at anybody.  I'm 
outraged by the behavior of MariaDB.  I'm passionate about open source, since 
my whole life has been spent on it.  I joined because the company is open 
source.  What I found after I joined was a total lack of regard for it, and a 
lack of ethics.  Would YOU knowingly ask a customer to install software with 
known vulnerabilities reported ten years ago?  Would you ship open source that 
doesn't compile?  Would you extort your current users of your product for bug 
fixes?  If you answered yes to those questions then you don't have ethics 
either.

--Justin 

Sent from my iPhone

On Aug 25, 2016, at 1:15 AM, Jan Steinman <j...@ecoreality.org> wrote:

>> On 2016-08-24, at 06:22, Justin Swanhart <greenl...@gmail.com> wrote:
>> 
>> I'm bipolar
> 
> Seems more like Borderline to me. Bipolars generally don’t strike out at 
> others as much as you are doing.
> 
>Jan Steinman
>EcoReality Co-op, http://www.EcoReality.org
>2152 Fulford-Ganges Road
>Salt Spring Island, BC V8K 1Z7 CANADA
>+1 250.653.2024
> 
> 
> 

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


Re: [Maria-discuss] Backporting bug fixes to 1.0?

2016-08-24 Thread Justin Swanhart
What I find incredibly hilarious is that ColumnStore and MariaDB are forks.

They love the GPL, and think it is great when they can make money from it.

MySQL was bought for 1B dollars after all, and then forked to continue earning 
Monty money and hurting the community - solely because the GPL said he could.

MariaDB is as bad as any FUD said Oracle would be - possibly worse.  And that 
isn't FUD, I judge actual actions, not potential ones.

Sent from my iPhone

> On Aug 24, 2016, at 7:06 AM, Sergei Golubchik <s...@mariadb.org> wrote:
> 
> Hi, Justin!
> 
>> On Aug 24, Justin Swanhart wrote:
>> I have been fired for speaking out about the GPL and MariaDB actions
>> that have caused great harm to our ecosystem.
> 
> I'm sorry to hear that. Where were you fired from?
> 
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org

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


Re: [Maria-discuss] Backporting bug fixes to 1.0?

2016-08-24 Thread Justin Swanhart
MariaDB. :)
My former termination for speaking out in private and public about ColumnStore 
(loudly internally for sure) was rescinded because I'm currently (well I was) 
on unpaid sick leave.  I'm bipolar and I am current using short term disability 
insurance. 

MariaDB has no ethics or morals.  

Sent from my iPhone

> On Aug 24, 2016, at 7:06 AM, Sergei Golubchik <s...@mariadb.org> wrote:
> 
> Hi, Justin!
> 
>> On Aug 24, Justin Swanhart wrote:
>> I have been fired for speaking out about the GPL and MariaDB actions
>> that have caused great harm to our ecosystem.
> 
> I'm sorry to hear that. Where were you fired from?
> 
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org

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


Re: [Maria-discuss] Backporting bug fixes to 1.0?

2016-08-24 Thread Justin Swanhart
I have been fired for speaking out about the GPL and MariaDB actions that have 
caused great harm to our ecosystem.

It has been pointed out that I have a non-compete agreement.  None of my tools 
compete with MariaDB and I have no non-public knowledge of MariaDB technology.  
GPLScale remains free software under the GNU GPL license and it is my right to 
fork a github repo.  I am not paid to work on GPLScale and I don't intend to 
get paid to maintain it by anyone.  All my projects are labors of love.  


Who wants to hire me?  I'm dedicated, honest, open, and I have integrity.  I'm 
willing to risk everything for what I believe in.  

Email me at:
greenlion at gmail dot com

  



I have been a proponent of GPL for a long time, and I don't need publicity.
http://swanhart.livejournal.com/128586r.html

https://libraries.io/github/greenlion


https://blog.jcole.us/2008/07/23/on-mysql-forks-and-mysqls-non-open-source-documentation/
Justin Swanhart on July 23, 2008 at 12:09
Brian,

The “thing is” that we shouldn’t have to write it. MySQL may be ‘open source’, 
but it isn’t ‘open software’. With all the talk recently of proprietary 
extensions, the documentation licensing issues, the whole ‘enterprise’ vs 
‘community’ debacle, well, MySQL has totally shown that they are not ‘Open 
Software’ company.

WHEN I WAS SEVENTEEN I BROKE THE LAW AND DROVE FROM PITTSBURGH PA TO BOSTON MA 
FOR THE FIRST FREE SOFTWARE FOUNDATION CONFERENCE.  I sat down and had 
breakfast with STALLMAN, TORVALDS, AND RAYMOND!  My whole life is open source.  
I've made my living off it and I intend to make sure others have the same 
opportunities that I have.


Sent from my iPhone

> On Aug 18, 2016, at 9:51 AM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> I have created a GitHub fork of MaxScale which does not include the 2.0 
> branch. The repository is called GPLScale.
> 
> There is a big potential problem with this.  Take for example the file 
> server/core/utils.c, which now has a new license:
> https://github.com/mariadb-corporation/MaxScale/blob/2.0/server/core/utils.c
> 
> This file WAS covered under GPL:
>   
> https://github.com/mariadb-corporation/MaxScale/blob/cb3213af6382c380df9fc47347764f087ae7ecb4/server/core/utils.c
> 
> When there is a bugfix in 2.0 for server code that existed in 1.0, can that 
> code be backported directly into GPLscale?
> 
> a) util.c in 2.0 is clearly derivative of 1.0, and is therefore a derivative 
> work of 1.0 and therefore still covered by GPL and b) there is a "violation" 
> of GPL, because 1.0 GPL code is being linked against code covered by an 
> incompatible license (other code in MaxScale).
> 
> Almost all of the files in MaxScale 2.0 derive from 1.0 so this problem is 
> not just in one file of course.
> 
> The FSF says that the owner of the software can't legally violate the GPL 
> they can morally violate the GPL.
> 
> Will MariaDB commit to backporting all bugs in 1.0 code into the 1.0 branch?  
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] New Question: Locking/deadlocking on temp tables?

2016-08-22 Thread Justin Swanhart
When is this system getting fixed?  Having to log into web to answer email is 
idiotic...

Sent from my iPhone

> On Aug 19, 2016, at 8:52 PM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> Oh yeah, this stupid system where I have to log into the web.  So much stupid 
> around here.
> 
>> On Fri, Aug 19, 2016 at 11:52 PM, Justin Swanhart <greenl...@gmail.com> 
>> wrote:
>> If you are using Galera, then aborted transactions due to lock conflict are 
>> reported as deadlocks.
>> 
>> Temporary tables are not shared between connections and can not cause 
>> deadlocks.
>> 
>> --Justin
>> 
>>> On Fri, Aug 19, 2016 at 7:50 PM, AskMonty KB <nore...@askmonty.org> wrote:
>>> Hello,
>>> 
>>> A new question has been asked in "MariaDB Knowledge Base" by WebtrendsData. 
>>> Please answer it at 
>>> http://mariadb.com/kb/en/lockingdeadlocking-on-temp-tables/ as the person 
>>> asking the question may not be subscribed to the mailing list.
>>> 
>>> 
>>> Hello - I am coming up to speed on MariaDB, I have a MS Sql Server and 
>>> Hadoop background but we are starting to use MariaDB heavily. We have some 
>>> queries that hit tables with mediumtext datatype columns. My understanding 
>>> is these types of queries will always generate temp tables directly to disk 
>>> (because of the text/blob types). I've confirmed our temp table engine is 
>>> Aria.
>>> 
>>> From what I've read, in the mysql world, this situation would end up with a 
>>> MyIsam table on disk, which does not have row locking, only table locking. 
>>> I've tried looking for info on how Aria tables would handle this as I 
>>> suspect we are getting deadlocks on these tables. Our application is 
>>> reporting many database deadlocks, our entire database is all ExtraDB 
>>> tables, yet SHOW ENGINE INNODB STATUS does not report any deadlocks, which 
>>> leads me to think it is the temp tables.
>>> 
>>> So I guess my question is, does the Aria engine do row locking? Is it 
>>> possible to get a status similar to SHOW ENGINE INNODB STATUS? Please 
>>> forgive me if this is painfully obvious or unclear (I'm still learning!), 
>>> and thank you for your time.
>>> -Aaron
>>> 
>>> 
>>> 
>>> To view or answer this question please visit: 
>>> http://mariadb.com/kb/en/lockingdeadlocking-on-temp-tables/
>>> 
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
> 
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] New Question: Locking/deadlocking on temp tables?

2016-08-19 Thread Justin Swanhart
Oh yeah, this stupid system where I have to log into the web.  So much
stupid around here.

On Fri, Aug 19, 2016 at 11:52 PM, Justin Swanhart <greenl...@gmail.com>
wrote:

> If you are using Galera, then aborted transactions due to lock conflict
> are reported as deadlocks.
>
> Temporary tables are not shared between connections and can not cause
> deadlocks.
>
> --Justin
>
> On Fri, Aug 19, 2016 at 7:50 PM, AskMonty KB <nore...@askmonty.org> wrote:
>
>> Hello,
>>
>> A new question has been asked in "MariaDB Knowledge Base" by
>> WebtrendsData. Please answer it at http://mariadb.com/kb/en/locki
>> ngdeadlocking-on-temp-tables/ as the person asking the question may not
>> be subscribed to the mailing list.
>>
>> 
>> Hello - I am coming up to speed on MariaDB, I have a MS Sql Server and
>> Hadoop background but we are starting to use MariaDB heavily. We have some
>> queries that hit tables with mediumtext datatype columns. My understanding
>> is these types of queries will always generate temp tables directly to disk
>> (because of the text/blob types). I've confirmed our temp table engine is
>> Aria.
>>
>> From what I've read, in the mysql world, this situation would end up with
>> a MyIsam table on disk, which does not have row locking, only table
>> locking. I've tried looking for info on how Aria tables would handle this
>> as I suspect we are getting deadlocks on these tables. Our application is
>> reporting many database deadlocks, our entire database is all ExtraDB
>> tables, yet SHOW ENGINE INNODB STATUS does not report any deadlocks, which
>> leads me to think it is the temp tables.
>>
>> So I guess my question is, does the Aria engine do row locking? Is it
>> possible to get a status similar to SHOW ENGINE INNODB STATUS? Please
>> forgive me if this is painfully obvious or unclear (I'm still learning!),
>> and thank you for your time.
>> -Aaron
>>
>> 
>>
>> To view or answer this question please visit:
>> http://mariadb.com/kb/en/lockingdeadlocking-on-temp-tables/
>>
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] New Question: Locking/deadlocking on temp tables?

2016-08-19 Thread Justin Swanhart
If you are using Galera, then aborted transactions due to lock conflict are
reported as deadlocks.

Temporary tables are not shared between connections and can not cause
deadlocks.

--Justin

On Fri, Aug 19, 2016 at 7:50 PM, AskMonty KB  wrote:

> Hello,
>
> A new question has been asked in "MariaDB Knowledge Base" by
> WebtrendsData. Please answer it at http://mariadb.com/kb/en/
> lockingdeadlocking-on-temp-tables/ as the person asking the question may
> not be subscribed to the mailing list.
>
> 
> Hello - I am coming up to speed on MariaDB, I have a MS Sql Server and
> Hadoop background but we are starting to use MariaDB heavily. We have some
> queries that hit tables with mediumtext datatype columns. My understanding
> is these types of queries will always generate temp tables directly to disk
> (because of the text/blob types). I've confirmed our temp table engine is
> Aria.
>
> From what I've read, in the mysql world, this situation would end up with
> a MyIsam table on disk, which does not have row locking, only table
> locking. I've tried looking for info on how Aria tables would handle this
> as I suspect we are getting deadlocks on these tables. Our application is
> reporting many database deadlocks, our entire database is all ExtraDB
> tables, yet SHOW ENGINE INNODB STATUS does not report any deadlocks, which
> leads me to think it is the temp tables.
>
> So I guess my question is, does the Aria engine do row locking? Is it
> possible to get a status similar to SHOW ENGINE INNODB STATUS? Please
> forgive me if this is painfully obvious or unclear (I'm still learning!),
> and thank you for your time.
> -Aaron
>
> 
>
> To view or answer this question please visit: http://mariadb.com/kb/en/
> lockingdeadlocking-on-temp-tables/
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


[Maria-discuss] Backporting bug fixes to 1.0?

2016-08-18 Thread Justin Swanhart
I have created a GitHub fork of MaxScale which does not include the 2.0
branch. The repository is called GPLScale.

There is a big potential problem with this.  Take for example the file
server/core/utils.c, which now has a new license:
https://github.com/mariadb-corporation/MaxScale/blob/2.0/server/core/utils.c

This file WAS covered under GPL:

https://github.com/mariadb-corporation/MaxScale/blob/cb3213af6382c380df9fc47347764f087ae7ecb4/server/core/utils.c

When there is a bugfix in 2.0 for server code that existed in 1.0, can that
code be backported directly into GPLscale?

a) util.c in 2.0 is clearly derivative of 1.0, and is therefore a
derivative work of 1.0 and therefore still covered by GPL and b) there is a
"violation" of GPL, because 1.0 GPL code is being linked against code
covered by an incompatible license (other code in MaxScale).

Almost all of the files in MaxScale 2.0 derive from 1.0 so this problem is
not just in one file of course.

The FSF says that the owner of the software can't legally violate the GPL
they can morally violate the GPL.

Will MariaDB commit to backporting all bugs in 1.0 code into the 1.0
branch?
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] maxscale 2.0 bug fixes

2016-08-17 Thread Justin Swanhart
Hi,

The new BSL license was implemented in checkin 196e6ac .  All of the source
for MaxScale 2.0 that was checked in prior to that is still GPL and is open
source right now.

The following code changes will not be present in any GPL version of a fork
of MaxScale 2.0:

b709e29 Fix URL typo in release notes
01f203c Update release notes
c49810a Update COPYRIGHT
e327526 Add BSL version number to LICENSE.TXT
07e3a4e Remove superfluous COPURIGHT.md and LICENSE.md
54c3310 Replace Dynamic Data Routing Platform with Database Proxy
305d02f Remove *.cmake wildcard from .gitignore
b0b5208 Cleanup of spaces
aeca6d0 Extend maxscaled error messages
817d74c Document where the CDC users are stored
9a569db Update license
ff8697a MXS-716: Fix table level privilege detection
2071a8c Only check replies of slaves that are in use
f8dfa42 Fix possible hangs in CDC python scripts
fa1d99e Removed "filestem option" from example
009b549 Removed "filestem option" from example
8d515c2 Add example Kafka producer script for Python
64e976b Fix sporadic SSL authentication failures
5a655dc MXS-814: Check service/monitor permissions on all servers
2a7f596 Add note about galeramon priority to Galera tutorials
b90b5a6 Fixed SHOW SLAVE STATUS in binlog router
e22fe39 Changed couln size for SHOW SLAVE STATUS
ae97b18 Fix avrorouter build failure with older sqlite libraries
56ef8b7 Replace GPL license with BSL license in scripts and tests
552836f Initialize all fields when MySQL users are loaded from cache
bf42947 Update all licensing related files
b29db9d Remove optimize_wildcard parameter from use
5170844 Make readwritesplit diagnosting output more clear
262ffb1 Fix crash when a config parameter has no section
33ac9e6 Add note about LEAST_BEHIND_MASTER and server weights
e13e860 Fix a memory leak when backend authentication fails
75d00c2 MXS-801: Set the default value of strip_db_esc to true
bd5f2db MXS-800: Add a log message about the working directory
4b1dd8c Update MySQL Monitor documentation on detect_replication_lag
559bc99 Fix installation of license file
b057587 Change LICENSE to LICENSE.TXT
223fa43 Remove null characters from log messages
36fd05b Fix fatal signal handler log message
053dc8a Fix typos in documentation
371dc87 Fix Galera text in Master-Slave tutorial
30b6265 Disable adding of new objects at runtime
db92311 Update the documentation on configuration reloading
0923d40 Update Connector-C version
c4738b5 Add define for avro-conversion.ini
196e6ac Update license from GPL to BSL.



(these views are my own and not likely the views of my employer)

--Justin

On Wed, Aug 17, 2016 at 4:30 AM, Reindl Harald 
wrote:

>
> Am 17.08.2016 um 10:15 schrieb Federico Razzoli:
>
>> I see that MaxScale 2.0 will not be open source until 2009.01.01. I have
>> some questions.
>>
>
> my first one to you is why don't you include links that others can look
> what you are talking about and "2009.01.01" is likely nonsense
>
> 1) I expect next releases to fix bugs, including critical and security
>> bugs. When will these versions be open source?
>>
>
> provide links when you send such stuff to a public list
>
> 2) At some point MaxScale 2.0 will be open and 3.0 will be released but
>> not open. When a software exists in both an open and a closed source, I
>> expect the open form to be low-quality. This applies to all examples I can
>> think of. I will feel a bit better if you could explain why you will
>> maintain 2.0 for a reasonable number of years.
>>
>
> provide links when you send such stuff to a public list
>
> 3) From my understanding part of MariaDB code belongs to Oracle, thus
>> cannot be closed-sourced by you. But what about connectors and some storage
>> engines? Do you plan to change their license?
>>
>
> where is something closed-sourced?
> links!
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Semi-sync replication hangs when changing binlog filename.

2016-07-29 Thread Justin Swanhart
Hi,

Does the problem appear if you set the timeout value to 9223372036854775807?


On Fri, Jul 29, 2016 at 3:24 AM, Joseph Glanville  wrote:

> Hi Pavel.
>
>
> To describe the setup a little better the master replicates to a semi-sync
> slave, which then replicates to an async slave. This is to ensure at any
> point in time both the master and the semi-sync slave have a complete copy
> of the data. If the master fails the semi-sync is automatically promoted to
> master and the async switches to replicating with semi-sync replication. If
> the semi-sync fails then the async remasters itself to the master and
> switches to semi-sync.
>
>
> However I don't think the 3rd node has any bearing on the hang, I built a
> test cluster without it and the hang is still easy to reproduce. I just
> restore a decent sized dump, in this case a portion of the Wikipedia
> database and the cluster reliably hangs when the master begins writing to
> the new binlog.
>
> The dump is here if someone wants to use it to reproduce:
> https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-category.sql.gz
>
>
> I have created a gist with the output of `SHOW STATUS LIKE
> 'Rpl_semi_sync%s'` on both master and slave of the simplified 2 node setup.
> I have also included the binlogs of both the master and the slave and the
> relay log on the slave.
>
> https://gist.github.com/josephglanville/70789bc9c3744090a17070652cded68b
>
>
> Let
> me know if there is any other useful information I can provide.
>
>
> Joseph.
> --
> *From:* Pavel Ivanov 
> *Sent:* Friday, 29 July 2016 4:31:26 PM
> *To:* Joseph Glanville
> *Cc:* Will Fong; maria-discuss@lists.launchpad.net
> *Subject:* Re: [Maria-discuss] Semi-sync replication hangs when changing
> binlog filename.
>
> This looks pretty weird. If you don't mind more information would be
> useful to look at: contents of mariadb-bin.05 on the master, in
> particular what GTID and binlog position the transaction waiting for
> semi-sync ack has (confirm that it's 0-1684280839-156 and ends at offset
> 329); result of "show status like 'rpl_semi_sync_%'" on both master and
> slave; contents of relay-bin.05 and binlog on the slave, in particular
> did it really execute the transaction that is currently hanging on the
> master? Out of curiosity: it looks like the slave also acts as a master to
> someone else. Can you also verify that the transaction hanging now on the
> master made it to that second-level slave?
>
> But to be honest, I don't quite understand how what you show us could
> happen, so I'm just asking to look at the info that I would look at if I
> were investigating such problem.
>
> On Thu, Jul 28, 2016 at 10:52 PM, Joseph Glanville  wrote:
>
>> Hi Pavel.
>>
>> Yes, by “binlog filename changes” I mean the master begins writing to a
>> new binlog file.
>>
>> Output of all the requested commands are in this gist:
>> https://gist.github.com/josephglanville/7b96c34bb6e79ace33e56627672b98a5
>>
>> Joseph Glanville
>> Sent from Polymail
>> 
>>
>>
>> On Fri, 29 Jul 2016 at 3:08 PM Pavel Ivanov > > wrote:
>>
>>> By "binlog filename changes" you mean when master starts writing binlogs
>>> into a new file? Can you clarify how the replication stalls? What "show
>>> processlist" shows at that time on master and on slave? What does "show
>>> slave status" show on the slave? On Thu, Jul 28, 2016 at 10:03 PM, Will
>>> Fong wrote: > Hi Joseph, > > On Fri, Jul 29, 2016 at 10:11 AM, Joseph
>>> Glanville wrote: >> However whenever the binlog filename changes the
>>> replication stalls >> indefinitely. > > Interesting! I may have reproduced
>>> this, but it was only a quick test. > Let me (or someone else) dig into
>>> this more. > > Thanks for reporting this. > -will > > > -- > Will Fong,
>>> Senior Support Engineer > MariaDB Corporation > >
>>> ___ > Mailing list:
>>> https://launchpad.net/~maria-discuss > Post to :
>>> maria-discuss@lists.launchpad.net > Unsubscribe :
>>> https://launchpad.net/~maria-discuss > More help :
>>> https://help.launchpad.net/ListHelp
>>>
>>
>>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Horrendeous InnoDB crash

2016-06-06 Thread Justin Swanhart
ope that's ok; if not, decrease some variables in the equation.
>  
> Thread pointer: 0x0x4af7270
> 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...
> mysqld.exe!my_parameter_handler()
> mysqld.exe!my_mb_ctype_mb()
> mysqld.exe!?get_ctx@MDL_ticket@@QBEPAVMDL_context@@XZ()
> mysqld.exe!?get_ctx@MDL_ticket@@QBEPAVMDL_context@@XZ()
> mysqld.exe!?functype@Item_func_dyncol_create@@UBE?AW4Functype@Item_func@@XZ()
> mysqld.exe!?get_ctx@MDL_ticket@@QBEPAVMDL_context@@XZ()
> mysqld.exe!??0Global_read_lock@@QAE@XZ()
> mysqld.exe!??0Global_read_lock@@QAE@XZ()
> mysqld.exe!?get_trg_event_map@Update_rows_log_event@@UAEEXZ()
> mysqld.exe!?get_trg_event_map@Update_rows_log_event@@UAEEXZ()
> mysqld.exe!?ha_open@handler@@QAEHPAUTABLE@@PBDHI@Z()
> mysqld.exe!?open_table_from_share@@YA?AW4open_frm_error@@PAVTHD@@PAUTABLE_SHARE@@PBDIIIPAUTABLE@@_N@Z()
> mysqld.exe!?open_table@@YA_NPAVTHD@@PAUTABLE_LIST@@PAVOpen_table_context@@@Z()
> mysqld.exe!?recover_from_failed_open@Open_table_context@@QAE_NXZ()
> mysqld.exe!?open_tables@@YA_NPAVTHD@@ABUDDL_options_st@@PAPAUTABLE_LIST@@PAIIPAVPrelocking_strategy@@@Z()
> mysqld.exe!?open_and_lock_tables@@YA_NPAVTHD@@ABUDDL_options_st@@PAUTABLE_LIST@@_NIPAVPrelocking_strategy@@@Z()
> mysqld.exe!??0Table_scope_and_contents_source_st@@QAE@ABU0@@Z()
> mysqld.exe!?mysql_execute_command@@YAHPAVTHD@@@Z()
> mysqld.exe!?mysql_parse@@YAXPAVTHD@@PADIPAVParser_state@@@Z()
> mysqld.exe!?dispatch_command@@YA_NW4enum_server_command@@PAVTHD@@PADI@Z()
> mysqld.exe!?do_command@@YA_NPAVTHD@@@Z()
> mysqld.exe!?threadpool_process_request@@YAHPAVTHD@@@Z()
> mysqld.exe!?tp_end@@YAXXZ()
> KERNEL32.DLL!SetUserGeoID()
> ntdll.dll!TpSimpleTryPost()
> ntdll.dll!EtwNotificationRegister()
> KERNEL32.DLL!BaseThreadInitThunk()
> ntdll.dll!RtlUnicodeStringToInteger()
> ntdll.dll!RtlUnicodeStringToInteger()
>  
> Trying to get some variables.
> Some pointers may be invalid and cause the dump to abort.
> Query (0x4b01740): SELECT messageid FROM commentsxover ORDER BY id DESC LIMIT 
> 5000
> Connection ID (thread ID): 2
> 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.
>  
> From: Justin Swanhart [mailto:greenl...@gmail.com] 
> Sent: Monday, June 6, 2016 16:16
> To: Mark <asar...@xs4all.nl>
> Cc: maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Horrendeous InnoDB crash
>  
> Hi,
>  
> Do you have write-behind caching turned on?  Do you have RAID card without 
> BBU?  Did your computer crash?  If the OS or hardware (like IDE HDD cache) 
> lies about actually writing to disk, InnoDB can become corrupted, and this is 
> not the fault of innodb.  Be aware that if this is a VM, many VM lie about 
> disk writes, a "feature" you must turn off.
> 
> Sent from my iPhone
> 
> On Jun 6, 2016, at 6:23 AM, Mark <asar...@xs4all.nl> wrote:
> 
> Sorry I wiped the database; but it got to the point where MariaDB immediately 
> crashed upon startup (so the usual repair attempts were futile, as they all 
> kinda assume a MariaDB server that’s up and running). I have years of 
> experience (FreeBSD) with myisam tables; but a crash like this is a first for 
> me, really, where the entire database was foobarred to the point MariaDB 
> wouldn’t even start any more.
>  
> Thanks for creating the bug report. I shall investigate myself too, in trying 
> to find a way to integrate the MariaDB shutdown gracefully (in UNIX this is 
> all much simpler and straightforward).
>  
> -Mark
>  
>  
> From: Vladislav Vaintroub [mailto:vvaintr...@gmail.com] 
> Sent: Monday, June 6, 2016 11:39
> To: Mark <asar...@xs4all.nl>; maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Horrendeous InnoDB crash
>  
> Yes, it is possible that Windows does not give enough time to MariaDB to shut 
> down gracefully. I just created a task for this one here 
> https://jira.mariadb.org/browse/MDEV-101

Re: [Maria-discuss] Horrendeous InnoDB crash

2016-06-06 Thread Justin Swanhart
Hi,

Do you have write-behind caching turned on?  Do you have RAID card without BBU? 
 Did your computer crash?  If the OS or hardware (like IDE HDD cache) lies 
about actually writing to disk, InnoDB can become corrupted, and this is not 
the fault of innodb.  Be aware that if this is a VM, many VM lie about disk 
writes, a "feature" you must turn off.

Sent from my iPhone

> On Jun 6, 2016, at 6:23 AM, Mark  wrote:
> 
> Sorry I wiped the database; but it got to the point where MariaDB immediately 
> crashed upon startup (so the usual repair attempts were futile, as they all 
> kinda assume a MariaDB server that’s up and running). I have years of 
> experience (FreeBSD) with myisam tables; but a crash like this is a first for 
> me, really, where the entire database was foobarred to the point MariaDB 
> wouldn’t even start any more.
>  
> Thanks for creating the bug report. I shall investigate myself too, in trying 
> to find a way to integrate the MariaDB shutdown gracefully (in UNIX this is 
> all much simpler and straightforward).
>  
> -Mark
>  
>  
> From: Vladislav Vaintroub [mailto:vvaintr...@gmail.com] 
> Sent: Monday, June 6, 2016 11:39
> To: Mark ; maria-discuss@lists.launchpad.net
> Subject: Re: [Maria-discuss] Horrendeous InnoDB crash
>  
> Yes, it is possible that Windows does not give enough time to MariaDB to shut 
> down gracefully. I just created a task for this one here 
> https://jira.mariadb.org/browse/MDEV-10183.
> 
> Still, Innodb should handle this situation gracefully, and recover on 
> startup, so what you see is a bug. It is a pity that you wiped down the 
> database, it would be useful for a bug report.
> 
>  
> On 06.06.2016 11:08, Mark wrote:
> Got a huge crash today, right after initializing my first MariaDB database 
> (see below). Got several more errors about tables having crashed later on, 
> and MariaDB wouldn't even start up any more (I wound up wiping the entire 
> database).
>  
> So, my question is, what could cause MariaDB to fail so horrendeously?! I 
> though InnoDB was supposed to be *better* than myisam!? Is is because maybe 
> Windows 10 doesn't give MariaDB enough time to shut down gracefully? Could it 
> be because a Windows scheduler job (potentially) aborts the fetcher script 
> when it's still running? (Again, I though InnoDB was supposed to be 
> transaction-safe).
>  
> In its current state, MariaDB is completely unusable for me.
>  
> And no, I don't have hard disk errors. :)
>  
> Seriously, though, I could use some major insight!
>  
> Thanks.
>  
>  
> 2016-06-06 10:32:15 2552 [Note] Server socket created on IP: '::'.
> 2016-06-06 10:32:15 2552 [Note] C:\xampp\mysql\bin\mysqld.exe: ready for 
> connections.
> Version: '10.1.13-MariaDB'  socket: ''  port: 3306  mariadb.org binary 
> distribution
> InnoDB: Error: trying to access page number 251010 in space 69,
> InnoDB: space name news/commentsxover,
> InnoDB: which is outside the tablespace bounds.
> InnoDB: Byte offset 0, len 16384, i/o type 10.
> InnoDB: If you get this error at mysqld startup, please check that
> InnoDB: your my.cnf matches the ibdata files that you have in the
> InnoDB: MySQL server.
> 2016-06-06 08:47:46 e08  InnoDB: Assertion failure in thread 3592 in file 
> fil0fil.cc line 5866
> InnoDB: We intentionally generate a memory trap.
> InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
> InnoDB: If you get repeated assertion failures or crashes, even
> InnoDB: immediately after the mysqld startup, there may be
> InnoDB: corruption in the InnoDB tablespace. Please refer to
> InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
> InnoDB: about forcing recovery.
> 160606  8:47:46 [ERROR] mysqld got exception 0x8003 ;
> 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.
> 
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>  
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] ask tool mariadb auto update latest for windows

2016-05-14 Thread Justin Swanhart
You can most easily automate it by writing a shell script using Cygwin.

Hint: The NET SERVICE command can stop and start services.

Sent from my iPhone

> On May 13, 2016, at 9:17 PM, Reindl Harald  wrote:
> 
> 
> 
>> Am 13.05.2016 um 19:20 schrieb Irwanto:
>> hi,
>> i have 5-15 pc as server using mariadb.
>> i always copy and update latest release one by one to server.
>> is there any tool to download, stop service and extract update my
>> mariadb in windows.
>> maybe some one know it
> 
> not that i know
> 
> just use a proper operating system for a large amount of servers where you 
> can script package-updates - linux distributions typically do the restart 
> after update apckages automatically (while i build my own packages because i 
> decide when to restart which is not always the same point of time where i 
> deploy updates)
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] ALGORITHM INPLACE for 10.0.24-MariaDB

2016-05-04 Thread Justin Swanhart
The log for changes during the online ALTER goes in the tmp dir.  The log is 
applied at the end of the statement.

Sent from my iPhone

> On May 4, 2016, at 2:13 AM, Sergei Golubchik  wrote:
> 
> Hi, Rhys.Campbell!
> 
>> On May 04, rhys.campb...@swisscom.com wrote:
>> Hi All,
>> 
>> For the following statement...
>> 
>> ALTER ONLINE TABLE dom_audit_event ENGINE=INNODB, ALGORITHM=INPLACE;
>> 
>> I can still see that MariaDB is still using the value of tmpdir. We
>> have this set to tmpfs on some of our servers and this causes some
>> ALTER statements on big tables to fail. It was my understanding that
>> if you specified INPLACE then the statement would fail if this was not
>> possible.
> 
> Yes, your understanding is correct.
> 
> Furthermore, copy (not inplace) ALTER does not use tmpdir, it creates a
> temporary table in the datadir, and later renames it to the actual table
> name. If the temporary table were created in tmpdir, it could not be
> renamed to a different filesystem.
> 
> So, that tmpdir usage you're seeing is not due to not-inplace alter.
> The alter isstill done inplace, and tmpdir is used for something else.
> Probaby for merge sort.
> 
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] Collations, trailing spaces and unique indexes

2016-03-19 Thread Justin Swanhart
Hi,

You can add an md5 of the string and unique on that.  You can do this with a 
generated column.

Sent from my iPhone

> On Mar 11, 2016, at 10:19 AM, Binarus  wrote:
> 
>> On 11.03.2016 15:45, Alexander Barkov wrote:
>> FYI, I have added a new task for this:
>> 
>> https://jira.mariadb.org/browse/MDEV-9711
> 
> Alexander,
> 
> I couldn't resist taking a quick look into the sources.
> 
> - I have found my_hash_sort_utf8 in strings/ctype-utf8.c and am convinced 
> that the change is incredibly easy there.
> 
> - I have found my_strnxfrm_unicode in the same file and will need more time 
> to make my opinion of how difficult it will be (I don't know what a weight 
> is, so I currently try to understand what the function does at all).
> 
> - My main problem: I did not find my_strnncollsp_utf8_general_ci anywhere 
> (nor in the same neither in any other file). Where is it?
> 
> Furthermore, studying the code has led to some questions; for example, there 
> already seems to be a #define which controls the padding-when-comparing mode, 
> but only for the _cs collations?
> 
> Should we continue our conversation on the developer mailing list?
> 
> Regards,
> 
> Binarus
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] Partitionning question

2016-03-14 Thread Justin Swanhart
Partitioned tables don't support referential constraints.

Composite partitioning only supports tables partitioned by RANGE or LIST and 
sub partitions may only be HASH or KEY.

Sent from my iPhone

> On Mar 14, 2016, at 5:52 AM, Ghazi Btissam  wrote:
> 
> Hi,
> 
> 1- Could a partitioned table contain, or be referenced by, foreign keys?
> 
> 2- As I saw in MariaDb documentation ,the subpartitions may use either HASH 
> or KEY partitioning. Does the LIST subpartitioning  exists in MariaDb? Can we 
> use : a composite partitionning : RANGE/LIST?
> 
> Thanks
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp

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


Re: [Maria-discuss] AUTO_INCREMENT and partitioning

2016-03-12 Thread Justin Swanhart
Oops.  PRIMARY KEY should be just KEY on that second example with RANGE 
COLUMNS.  :)

Sent from my iPhone

> On Mar 12, 2016, at 11:01 AM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> You can use no primary key, and just put a regular key (not unique key) on 
> the auto_increment column.  You must make sure that manual insertions don't 
> create a duplicate if value.  
> 
>>> CREATE TABLE new (
>>> id INT NOT NULL AUTO_INCREMENT,
>>> name VARCHAR(50),
>>> added DATE,
>>> KEY (id),
>>> )
>>> PARTITION BY RANGE( TO_DAYS(added) )
>>> ( PARTITION p0 VALUES LESS THAN (1990),
>>> PARTITION p1 VALUES LESS THAN (2000),
>>> PARTITION p2 VALUES LESS THAN MAXVALUE
>>> ) ;
> 
> Look at RANGE COLUMNS for a more natural way to partition by date:
>>> CREATE TABLE new (
>>> id INT NOT NULL AUTO_INCREMENT,
>>> name VARCHAR(50),
>>> added DATE,
>>> PRIMARY KEY (id),
>>> )
>>> PARTITION BY RANGE COLUMNS (added)
>>> ( PARTITION p0 VALUES LESS THAN ('1990-01-01'),
>>> 
>>> PARTITION pmax VALUES LESS THAN MAXVALUE
>>> ) ;
> Sent from my iPhone
> 
>> On Mar 12, 2016, at 5:16 AM, Guillaume Lefranc 
>> <guillaume.lefr...@mariadb.com> wrote:
>> 
>> The only solution is to make (id, added) a PK, because the partitioning 
>> column must always belong to unique key, if there is such.
>> In your case I would change added type to DATETIME to avoid collision.
>> 
>> Regards
>> 
>>> On Sat, Mar 12, 2016 at 2:10 PM Ghazi Btissam <btissam.gh...@gmail.com> 
>>> wrote:
>>> Hi,
>>> 
>>> 1- I have a table with a unique key which is calculated by the 
>>> AUTO_INCREMENT feature, and I need to range partition it using a date field 
>>> , is it possible and/or how to do it?
>>> 
>>> 2- Is there a way to implement sequences for the primary key (like it 
>>> exists in Oracle) or the AUTO_INCREMENT is the only one in MariaDb?
>>> 
>>> For example:
>>> 
>>>  CREATE TABLE new (
>>>  id INT NOT NULL AUTO_INCREMENT,
>>>  name VARCHAR(50),
>>> added DATE,
>>>  PRIMARY KEY (id),
>>>  ) 
>>> PARTITION BY RANGE( TO_DAYS(added) ) 
>>>   ( PARTITION p0 VALUES LESS THAN (1990),
>>>PARTITION p1 VALUES LESS THAN (2000),
>>>PARTITION p2 VALUES LESS THAN MAXVALUE  
>>>  ) ; 
>>> Thanks
>>> 
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> -- 
>> Guillaume Lefranc
>> Remote DBA Services Manager
>> MariaDB Corporation
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] AUTO_INCREMENT and partitioning

2016-03-12 Thread Justin Swanhart
You can use no primary key, and just put a regular key (not unique key) on the 
auto_increment column.  You must make sure that manual insertions don't create 
a duplicate if value.  

>> CREATE TABLE new (
>> id INT NOT NULL AUTO_INCREMENT,
>> name VARCHAR(50),
>> added DATE,
>> KEY (id),
>> )
>> PARTITION BY RANGE( TO_DAYS(added) )
>> ( PARTITION p0 VALUES LESS THAN (1990),
>> PARTITION p1 VALUES LESS THAN (2000),
>> PARTITION p2 VALUES LESS THAN MAXVALUE
>> ) ;
>> 

Look at RANGE COLUMNS for a more natural way to partition by date:
>> CREATE TABLE new (
>> id INT NOT NULL AUTO_INCREMENT,
>> name VARCHAR(50),
>> added DATE,
>> PRIMARY KEY (id),
>> )
>> PARTITION BY RANGE COLUMNS (added)
>> ( PARTITION p0 VALUES LESS THAN ('1990-01-01'),
>> 
>> PARTITION pmax VALUES LESS THAN MAXVALUE
>> ) ;
Sent from my iPhone

> On Mar 12, 2016, at 5:16 AM, Guillaume Lefranc 
>  wrote:
> 
> The only solution is to make (id, added) a PK, because the partitioning 
> column must always belong to unique key, if there is such.
> In your case I would change added type to DATETIME to avoid collision.
> 
> Regards
> 
>> On Sat, Mar 12, 2016 at 2:10 PM Ghazi Btissam  
>> wrote:
>> Hi,
>> 
>> 1- I have a table with a unique key which is calculated by the 
>> AUTO_INCREMENT feature, and I need to range partition it using a date field 
>> , is it possible and/or how to do it?
>> 
>> 2- Is there a way to implement sequences for the primary key (like it exists 
>> in Oracle) or the AUTO_INCREMENT is the only one in MariaDb?
>> 
>> For example:
>> 
>>  CREATE TABLE new (
>>  id INT NOT NULL AUTO_INCREMENT,
>>  name VARCHAR(50),
>> added DATE,
>>  PRIMARY KEY (id),
>>  ) 
>> PARTITION BY RANGE( TO_DAYS(added) ) 
>>   ( PARTITION p0 VALUES LESS THAN (1990),
>>PARTITION p1 VALUES LESS THAN (2000),
>>PARTITION p2 VALUES LESS THAN MAXVALUE  
>>   ) ; 
>> Thanks
>> 
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> -- 
> Guillaume Lefranc
> Remote DBA Services Manager
> MariaDB Corporation
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Question about MariaDB global reference In high complexity app and big DB Size

2016-03-09 Thread Justin Swanhart
Hi,

And generally BOM is implemented using an adjacency model, and
MySQL/MariaDB lack SQL:2003 support for recursive queries, and lack CONNECT
BY .. - thus there is no easy way to access a BOM in MariaDB.

--Justin

On Wed, Mar 9, 2016 at 6:59 AM, Justin Swanhart <greenl...@gmail.com> wrote:

> Hi,
>
> Do you mean schema routing?  Because that won't allow you to join between
> schemata.  You generally need to join OE to INV to PO, etc in an ERP
> system.  Sharding by schema won't help. You would end up having to use
> multi-master replication to get all the data back on a single node, then
> report on it, and you would be again be stuck with single threaded queries
> for large reports.
>
> I very much doubt that max scale could help with this, but if you have
> some sort of proof-of-concept or example to back up the suggestion it would
> be welcome as I'm unaware of such a solution.
>
> --Justin
>
> On Wed, Mar 9, 2016 at 6:47 AM, Christophe Le Roux <
> christophe.le.r...@fr.clara.net> wrote:
>
>> Hi,
>>
>>
>>
>> Maybe Maxscale can help you to (auto-)shared on a dozen of servers, take
>> a look on it.
>>
>>
>>
>> Regards,
>>
>>
>>
>> Christophe
>>
>>
>>
>> *De :* Maria-discuss [mailto:maria-discuss-bounces+christophe.le.roux=
>> fr.clara@lists.launchpad.net] *De la part de* Seung Hoon Yoo
>> *Envoyé :* mercredi 9 mars 2016 11:07
>> *À :* mariadb-discuss <maria-discuss@lists.launchpad.net>
>> *Objet :* [Maria-discuss] Question about MariaDB global reference In
>> high complexity app and big DB Size
>>
>>
>>
>> hi I am some question, i want some opinion below question
>>
>>
>>
>> We planning ERP solution convert oracle to mariaDB
>>
>> so erp application pattern and BIG DB SIZING IS ISSUE.
>>
>>
>>
>>
>>
>>
>>
>> Our IT background & goal
>>
>> 1) Apppliciation Complexity & Pattern: ERP Level complexity (high , OLTP
>> & many batch)
>>
>> 2) DB SIZE : 10 TB Over (Single DB , NO sharding)
>>
>> 3) replication Gap issue
>>
>>
>>
>>
>>
>>
>>
>> ** My Question **
>>
>> 1) Any Global reference is in MariaDB  (on ERP level complexity and
>> application pattern)
>>
>>
>> 2) Any some reference in BIG DATA SIZING ?
>>(EX: 5TB DB Exists in XX COMPARY e-commerce soluntion..)
>>
>>
>>IS Only solution is DB Sharding? no big data global reference ??
>>
>>
>> 3) Replication performance
>>
>>   : Our test result 2MB/SEC binlog written in master ,
>>  so slave node get replication lag glorwing.  (in row binlog format)
>>
>>( 1master - 1 slave )
>>
>> Any Body have experience some reference max transaction in no
>> replication gap ?
>>
>>( ex : 20MB / SEC but no replication gap our
>> application experience..)
>>
>>
>> : parellel slave thread is good performance in single domain-id and
>> ordered method replicaiton ?
>>
>>
>>( how much better performance in parallel replication?
>>
>>
>>(ex single repliation 2MB/SEC BINLOG => Replication GAP GROW but,
>> parellel replicaiton is good in 10MB/Sec binlog write Environment)
>>
>>
>>
>>
>>
>> thanks a lot.
>>
>>
>>
>> regards, seung hoon yoo.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Question about MariaDB global reference In high complexity app and big DB Size

2016-03-09 Thread Justin Swanhart
Hi,

Do you mean schema routing?  Because that won't allow you to join between
schemata.  You generally need to join OE to INV to PO, etc in an ERP
system.  Sharding by schema won't help. You would end up having to use
multi-master replication to get all the data back on a single node, then
report on it, and you would be again be stuck with single threaded queries
for large reports.

I very much doubt that max scale could help with this, but if you have some
sort of proof-of-concept or example to back up the suggestion it would be
welcome as I'm unaware of such a solution.

--Justin

On Wed, Mar 9, 2016 at 6:47 AM, Christophe Le Roux <
christophe.le.r...@fr.clara.net> wrote:

> Hi,
>
>
>
> Maybe Maxscale can help you to (auto-)shared on a dozen of servers, take a
> look on it.
>
>
>
> Regards,
>
>
>
> Christophe
>
>
>
> *De :* Maria-discuss [mailto:maria-discuss-bounces+christophe.le.roux=
> fr.clara@lists.launchpad.net] *De la part de* Seung Hoon Yoo
> *Envoyé :* mercredi 9 mars 2016 11:07
> *À :* mariadb-discuss 
> *Objet :* [Maria-discuss] Question about MariaDB global reference In high
> complexity app and big DB Size
>
>
>
> hi I am some question, i want some opinion below question
>
>
>
> We planning ERP solution convert oracle to mariaDB
>
> so erp application pattern and BIG DB SIZING IS ISSUE.
>
>
>
>
>
>
>
> Our IT background & goal
>
> 1) Apppliciation Complexity & Pattern: ERP Level complexity (high , OLTP &
> many batch)
>
> 2) DB SIZE : 10 TB Over (Single DB , NO sharding)
>
> 3) replication Gap issue
>
>
>
>
>
>
>
> ** My Question **
>
> 1) Any Global reference is in MariaDB  (on ERP level complexity and
> application pattern)
>
>
> 2) Any some reference in BIG DATA SIZING ?
>(EX: 5TB DB Exists in XX COMPARY e-commerce soluntion..)
>
>
>IS Only solution is DB Sharding? no big data global reference ??
>
>
> 3) Replication performance
>
>   : Our test result 2MB/SEC binlog written in master ,
>  so slave node get replication lag glorwing.  (in row binlog format)
>
>( 1master - 1 slave )
>
> Any Body have experience some reference max transaction in no
> replication gap ?
>
>( ex : 20MB / SEC but no replication gap our
> application experience..)
>
>
> : parellel slave thread is good performance in single domain-id and
> ordered method replicaiton ?
>
>
>( how much better performance in parallel replication?
>
>
>(ex single repliation 2MB/SEC BINLOG => Replication GAP GROW but,
> parellel replicaiton is good in 10MB/Sec binlog write Environment)
>
>
>
>
>
> thanks a lot.
>
>
>
> regards, seung hoon yoo.
>
>
>
>
>
>
>
>
>
>
>
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Question about MariaDB global reference In high complexity app and big DB Size

2016-03-09 Thread Justin Swanhart
Hi,

I wouldn't try to use MySQL for a 10TB single instance DB unless most of
the data is historical data that isn't accessed frequently.  Sharding
generally won't work for such an application, because every table will
likely need partitioned by different keys (ie you have a very large order
table and invoice table and it doesn't make sense to shard the invoice
table by order number when the most frequent access is by invoice number).
MySQL is not good for batch processing of large amounts of data (ie ,year
over year reports) because it lacks intra-query parallelism.

MySQL could be a fit if the last say 90 days of data fit into the buffer
pool.  In such a case you could use a slave for OLAP reporting.  You could
partition the tables using the partitioning option and report on them using
Shard-Query (http://shardquery.com) to get intra-query parallelism as it
can access partitions of tables in parallel, and it knows how to
efficiently join tables partitioned on different keys on a single node.

--Justin

On Wed, Mar 9, 2016 at 5:06 AM, Seung Hoon Yoo  wrote:

> hi I am some question, i want some opinion below question
>
> We planning ERP solution convert oracle to mariaDB
> so erp application pattern and BIG DB SIZING IS ISSUE.
>
>
>
> Our IT background & goal
> 1) Apppliciation Complexity & Pattern: ERP Level complexity (high , OLTP &
> many batch)
> 2) DB SIZE : 10 TB Over (Single DB , NO sharding)
> 3) replication Gap issue
>
>
>
> ** My Question **
> 1) Any Global reference is in MariaDB  (on ERP level complexity and
> application pattern)
>
> 2) Any some reference in BIG DATA SIZING ?
>(EX: 5TB DB Exists in XX COMPARY e-commerce soluntion..)
>
>IS Only solution is DB Sharding? no big data global reference ??
>
> 3) Replication performance
>   : Our test result 2MB/SEC binlog written in master ,
>  so slave node get replication lag glorwing.  (in row binlog format)
>( 1master - 1 slave )
> Any Body have experience some reference max transaction in no
> replication gap ?
>( ex : 20MB / SEC but no replication gap our
> application experience..)
>
> : parellel slave thread is good performance in single domain-id and
> ordered method replicaiton ?
>
>( how much better performance in parallel replication?
>
>(ex single repliation 2MB/SEC BINLOG => Replication GAP GROW but,
> parellel replicaiton is good in 10MB/Sec binlog write Environment)
>
>
> thanks a lot.
>
> regards, seung hoon yoo.
>
>
>
>
>
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] How to rollback XA Transactions

2016-03-04 Thread Justin Swanhart
Hi,

Perhaps try to (excuse me if my Perl is rusty)
$qxid = $dbh->quote($xid)
$sth = $dbh->prepare("XA ROLLBACK " . $xid)
$sth->execute();

If that doesn't work, and you are familiar with C, you could make a
modification to the server so that after it initializes InnoDB to iterate
and rollback all XA transactions manually.  You would have to look at the
parser to see exactly how it dispatches XA rollback commands to do so.
MariaDB or Percona consulting might be the best solution here if you are
not capable of such a modification.

--Justin

On Fri, Mar 4, 2016 at 2:34 AM, Marc Schöchlin  wrote:

> Hi,
>
> i don't get rid of this :-)
>
> I use mariadb "10.0.24+maria-1~trusty" on Ubuntu 14.04 and i tried to
> solve the situation by writing this hacky perl script :-)
>
> The problem seems to be a bug. From my point of view the only solution
> might be to completely restore a existing mysqldump backup.
> Are the other (quicker/better) solutions?
>
> #!/usr/bin/env perl
> use strict;use warnings;
> use DBI;
> my $dbh = DBI->connect('DBI:mysql:foodb', 'root', 'mypassword'
> ) || die "Could not connect to database: $DBI::errstr";
> my $sth = $dbh->prepare('xa rollback ?');my $results = 
> $dbh->selectall_hashref('xa recover;', 'data');foreach my $id (keys 
> %$results) {
>  my $xid = $results->{$id}->{data};
>
>  #$xid =~ s/(.)/sprintf("%x",ord($1))/eg;
>  #$xid = "0x".$xid;
>
>  print "XID >>>".$xid."<<<";
>  $sth->execute($xid) or die "Couldn't execute statement: " . 
> $sth->errstr;}
>
>
> MariaDB complains:
> (the same also after converting the xid to hex)
>
> # ./xa-hassle
> DBD::mysql::st execute failed: XAER_NOTA: Unknown XID at ./xa-hassle line
> 20.
> Couldn't execute statement: XAER_NOTA: Unknown XID at ./xa-hassle line 20.
> XID >>> � �XF+foo-bar-de05,server,P4837foo-bar-de05,server,P4837, <<<
>
> Regards
> Marc
>
>
> Am 23.02.2016 um 17:50 schrieb Sergei Golubchik:
>
> Hi, Marc!
>
> While not exactly user-friendly, you can still run
>
> $ mysql -e 'xa recover'|hexdump -C
>
> You'll see hex data there.
>
> Regards,
> Sergei
>
> On Feb 22, Marc Schöchlin wrote:
>
> Hi Justin,
>
> how can i get the hex representation of the the transaction identification 
> strings?
> ("XA RECOVER CONVERT XID" seems only to be available on MySQL 5.7)
>
>
> I have not tested this, but I think you will need to convert the strings to 
> hex then do:
> xa rollback 0xabcdef <-- where 0xabcdef is the hex representation of the 
> string.
>
> --Justin
>
> On Sat, Feb 20, 2016 at 5:53 AM, Marc Schöchlin   > wrote:
>
> Hi,
>
> i currently have the situation that i cannot modify tables/indices beaus of 
> XA transactions which are in progress.
>
> mysql://root@localhost:/(none) - 11:37:55 > xa recover;
> +--+--+--+--+
> | formatID | gtrid_length | bqual_length | data   
>   |
> +--+--+--+--+
> |  4871251 |   35 |   29 | ^W<89>^B 
> XF+foo-bar-de05,server,P4837foo-bar-de05,server,P4837,^A |
> |  4871251 |   35 |   29 | ^N<89>^B 
> XF+foo-bar-de05,server,P4837foo-bar-de05,server,P4837,^A |
> +--+--+--+--+
> 2 rows in set (0.00 sec)
>
> The documentation (https://mariadb.com/kb/en/mariadb/xa-transactions/) 
> suggests that xa transaction can be rolled back by using "xa rollback xid" 
> but it seems that this is not possible because of the non-ascii characters.
> As you can see in the attached Innodb status, these transactions a active for 
> a log time now and should not be relevant anymore.
> Naturally restarting the server should not help.
>
>
> --
> GPG encryption available: 0x670DCBEC/pool.sks-keyservers.net
> (https://www.256bit.org/keys/mschoechlin.pub.asc)
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] New Question: Non-blocking calls from PHP

2016-02-26 Thread Justin Swanhart
Hi,

I removed dependencies on the perfschema, I removed the `threads` table,
the queue  is now FIFO.  The queue() proc now also populates @query_list,
with queries in order as they were submitted.  You can submit a bunch of
queries then call wait_all() to wait for each submitted query, and return
results, in the order that the queries were queued.

--Justin

On Wed, Feb 24, 2016 at 11:34 AM, Justin Swanhart <greenl...@gmail.com>
wrote:

> oops, didn't copy the list.
>
> -- Forwarded message --
> From: Justin Swanhart <greenl...@gmail.com>
> Date: Wed, Feb 24, 2016 at 11:34 AM
> Subject: Re: [Maria-discuss] New Question: Non-blocking calls from PHP
> To: Federico Razzoli <federico_...@yahoo.it>
>
>
> Hi,
>
> For now, if you want FIFO, just change the ORDER BY q_id DESC to ORDER BY
> q_id.  The execution is parallel, it shouldn't starve queries.  I will
> probably change this anyway by changing the structure of the `q` table to
> have a primary key that sorts by the completion status and a unique key for
> the auto_increment columns, then it can naturally be FIFO without causing
> lock contention due to locking scanned rows in InnoDB.
>
> The workaround for GET DIAGNOSTICS is to change it to not use that and
> just put a generic error in the table.  You can't use conditional version
> syntax in stored procs, and I don't want to have two different versions of
> the script, since everyone really should be using 5.6+ or MariaDB 5.5+ IMHO.
>
> I will remove count_running_threads, it isn't really needed because the
> metadata locks held by the stored proc enforce that no more than
> 'thread_count' threads can run.  I will remove that code shortly.  I wasn't
> using metadata locks when I started writing the tool.  This will remove the
> dependency on global variables and the processlist.
>
> It is version 1.0 and is still experimental :)  Thank you for the feedback.
>
> --Justin
>
> On Wed, Feb 24, 2016 at 10:58 AM, Federico Razzoli <federico_...@yahoo.it>
> wrote:
>
>> Yes, GET DIAGNOSTICS is in 5.5 (and anyway, a workaround for older
>> versions should be possible, correct?).
>>
>> Some comments:
>>
>> 1) The LIFO tables sounds to me a little dangerous. Of course
>> "asynchronous" means "asynchronous", but under certain circumstances some
>> queries could wait too much... don't you agree? Maybe the direction could
>> depend from an option...
>>
>> 2) SELECT queries are "materialized", which is cool. But I don't
>> understand how the user can associate an async query with the results table.
>>
>> 3) In MariaDB, the P_S is disabled by default, and a user can still
>> disable it in MySQL. Also, in MariaDB global_status is in I_S, while MySQL
>> has it in P_S (another funny incompatibility developed by Oracle). The
>> first problem can probably be addressed with CONNECT (SRCDEF='show
>> processlist') and the second with a view in async schema. Would you accept
>> a patch?
>>
>> Probably more comments/questions will come. In the meanwhile, thanks for
>> your work (again).
>>
>> bye
>> Federico
>>
>>
>> 
>> Mer 24/2/16, Justin Swanhart <greenl...@gmail.com> ha scritto:
>>
>>  Oggetto: Re: [Maria-discuss] New Question: Non-blocking calls from PHP
>>  A: "Federico Razzoli" <federico_...@yahoo.it>
>>  Cc: "Maria Discuss" <maria-discuss@lists.launchpad.net>
>>  Data: Mercoledì 24 febbraio 2016, 16:04
>>
>>  Hi,
>>  It is
>>  completely native.  It consists of a queue table, a thread
>>  state table, a settings table, a stored procedure worker, an
>>  event to execute the worker (more than one run in parallel)
>>  and procs to drop off, check on, and get the results of a
>>  SQL statement (which always waits if the SQL is not done
>>  yet).
>>  I don't know
>>  if MariaDB 5.5 or 10 adds GET DIAGNOSTICS, but it will work
>>  with any version that has it.  You can comment that out and
>>  just put a generic error into the table if it isn't
>>  supported, and it will work with any version that has
>>  SIGNAL.
>>  --Justin
>>  On Wed, Feb 24, 2016 at
>>  10:01 AM, Federico Razzoli <federico_...@yahoo.it>
>>  wrote:
>>  Hi
>>  Justin!
>>
>>  The name reminds me a a fatal trap for developers and sys
>>  admins (async npm module), but the tools sounds useful.
>>
>>  Is it publicly available? Is it entirely implemented via
>>  stored procedures + event scheduler?
>>
>>
>>
>>  bye

[Maria-discuss] Fwd: New Question: Non-blocking calls from PHP

2016-02-24 Thread Justin Swanhart
oops, didn't copy the list.

-- Forwarded message --
From: Justin Swanhart <greenl...@gmail.com>
Date: Wed, Feb 24, 2016 at 11:34 AM
Subject: Re: [Maria-discuss] New Question: Non-blocking calls from PHP
To: Federico Razzoli <federico_...@yahoo.it>


Hi,

For now, if you want FIFO, just change the ORDER BY q_id DESC to ORDER BY
q_id.  The execution is parallel, it shouldn't starve queries.  I will
probably change this anyway by changing the structure of the `q` table to
have a primary key that sorts by the completion status and a unique key for
the auto_increment columns, then it can naturally be FIFO without causing
lock contention due to locking scanned rows in InnoDB.

The workaround for GET DIAGNOSTICS is to change it to not use that and just
put a generic error in the table.  You can't use conditional version syntax
in stored procs, and I don't want to have two different versions of the
script, since everyone really should be using 5.6+ or MariaDB 5.5+ IMHO.

I will remove count_running_threads, it isn't really needed because the
metadata locks held by the stored proc enforce that no more than
'thread_count' threads can run.  I will remove that code shortly.  I wasn't
using metadata locks when I started writing the tool.  This will remove the
dependency on global variables and the processlist.

It is version 1.0 and is still experimental :)  Thank you for the feedback.

--Justin

On Wed, Feb 24, 2016 at 10:58 AM, Federico Razzoli <federico_...@yahoo.it>
wrote:

> Yes, GET DIAGNOSTICS is in 5.5 (and anyway, a workaround for older
> versions should be possible, correct?).
>
> Some comments:
>
> 1) The LIFO tables sounds to me a little dangerous. Of course
> "asynchronous" means "asynchronous", but under certain circumstances some
> queries could wait too much... don't you agree? Maybe the direction could
> depend from an option...
>
> 2) SELECT queries are "materialized", which is cool. But I don't
> understand how the user can associate an async query with the results table.
>
> 3) In MariaDB, the P_S is disabled by default, and a user can still
> disable it in MySQL. Also, in MariaDB global_status is in I_S, while MySQL
> has it in P_S (another funny incompatibility developed by Oracle). The
> first problem can probably be addressed with CONNECT (SRCDEF='show
> processlist') and the second with a view in async schema. Would you accept
> a patch?
>
> Probably more comments/questions will come. In the meanwhile, thanks for
> your work (again).
>
> bye
> Federico
>
>
> 
> Mer 24/2/16, Justin Swanhart <greenl...@gmail.com> ha scritto:
>
>  Oggetto: Re: [Maria-discuss] New Question: Non-blocking calls from PHP
>  A: "Federico Razzoli" <federico_...@yahoo.it>
>  Cc: "Maria Discuss" <maria-discuss@lists.launchpad.net>
>  Data: Mercoledì 24 febbraio 2016, 16:04
>
>  Hi,
>  It is
>  completely native.  It consists of a queue table, a thread
>  state table, a settings table, a stored procedure worker, an
>  event to execute the worker (more than one run in parallel)
>  and procs to drop off, check on, and get the results of a
>  SQL statement (which always waits if the SQL is not done
>  yet).
>  I don't know
>  if MariaDB 5.5 or 10 adds GET DIAGNOSTICS, but it will work
>  with any version that has it.  You can comment that out and
>  just put a generic error into the table if it isn't
>  supported, and it will work with any version that has
>  SIGNAL.
>  --Justin
>  On Wed, Feb 24, 2016 at
>  10:01 AM, Federico Razzoli <federico_...@yahoo.it>
>  wrote:
>  Hi
>  Justin!
>
>  The name reminds me a a fatal trap for developers and sys
>  admins (async npm module), but the tools sounds useful.
>
>  Is it publicly available? Is it entirely implemented via
>  stored procedures + event scheduler?
>
>
>
>  bye
>
>  Federico
>
>
>
>
>
>  
>
>  Mer 24/2/16, Justin Swanhart <greenl...@gmail.com>
>  ha scritto:
>
>
>
>   Oggetto: Re: [Maria-discuss] New Question: Non-blocking
>  calls from PHP
>
>   A: "AskMonty KB" <nore...@askmonty.org>
>
>   Cc: "Maria Discuss" <maria-discuss@lists.launchpad.net>
>
>   Data: Mercoledì 24 febbraio 2016, 15:32
>
>
>
>   Replying
>
>   here in addition to the web page (ugh
>  Frankenstein's
>
>   monster)...
>
>
>
>   I just finished
>
>   the first version of 'async' which runs queries
>  in
>
>   the background (in parallel!) using a queue table, a
>  crafty
>
>   stored procedure for a worker thread, and an event
>  which
>
&g

Re: [Maria-discuss] New Question: Non-blocking calls from PHP

2016-02-24 Thread Justin Swanhart
Replying here in addition to the web page (ugh Frankenstein's monster)...

I just finished the first version of 'async' which runs queries in the
background (in parallel!) using a queue table, a crafty stored procedure
for a worker thread, and an event which executes the workers.

http://swanhart.livejournal.com/138754.html

On Sun, Feb 21, 2016 at 8:55 AM, AskMonty KB  wrote:

> Hello,
>
> A new question has been asked in " MariaDB Connector/C API Functions" by
> shestero. Please answer it at
> http://mariadb.com/kb/en/non-blocking-calls-from-php/ as the person
> asking the question may not be subscribed to the mailing list.
>
> 
> I want to use non-blocking API (
> https://mariadb.com/kb/en/mariadb/non-blocking-api-reference ) from PHP.
> Is it possible now?
> If no, can anybody give me directions how to implement my own
> PHP-extension in C (using Connector/C) or update the existing module? I
> don't think it's very complex, do I need to add just wraper-like
> implementations using blocking function as samples, don't I?
> 
>
> To view or answer this question please visit:
> http://mariadb.com/kb/en/non-blocking-calls-from-php/
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] kb login doesn't work!

2016-02-22 Thread Justin Swanhart
​I said it returns a 500!

I don't know why it doesn't work for my account.

And it doesn't change the fact that you can't reply to messages from this
mailing list.  How hard is it to make it do so? Seriously, others have
complained about this system (have to use web for something we get in mail)
too and it is not working for us.  This web/mail Frankenstein monster has
not been working for us for a very long time.  FIX IT.  PRETTY PRETTY
PLEASE!

--Justin

On Mon, Feb 22, 2016 at 10:28 AM, Sergei Golubchik <s...@mariadb.org> wrote:

> Hi, Justin!
>
> On Feb 22, Justin Swanhart wrote:
> > Hi,
> >
> > I have tried logging in with google, with linkedin and with github.  I
> > always get a 500 error from mariadb.
> >
> > So this means I can't reply back to the F*CKING STUPID MAILS THAT COMES
> TO
> > THIS LIST THAT REQUIRE A WEB REPLY.
> >
> > This has been going on years now, this stupid "have to use the web site"
> to
> > reply to questions.
> >
> > WTF MariaDB?
> >
> > Seriously, WTF?  This system is so broken it is laughable.
>
> What is it that doesn't work? I've just tried to log in with my github
> account and it worked just fine.
>
> Regards,
> Sergei
> Chief Architect MariaDB
> and secur...@mariadb.org
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


[Maria-discuss] kb login doesn't work!

2016-02-22 Thread Justin Swanhart
Hi,

I have tried logging in with google, with linkedin and with github.  I
always get a 500 error from mariadb.

So this means I can't reply back to the F*CKING STUPID MAILS THAT COMES TO
THIS LIST THAT REQUIRE A WEB REPLY.

This has been going on years now, this stupid "have to use the web site" to
reply to questions.

WTF MariaDB?

Seriously, WTF?  This system is so broken it is laughable.

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


Re: [Maria-discuss] How to rollback XA Transactions

2016-02-22 Thread Justin Swanhart
Hi,

I have not tested this, but I think you will need to convert the strings to
hex then do:
xa rollback 0xabcdef <-- where 0xabcdef is the hex representation of the
string.

--Justin

On Sat, Feb 20, 2016 at 5:53 AM, Marc Schöchlin  wrote:

> Hi,
>
> i currently have the situation that i cannot modify tables/indices beaus
> of XA transactions which are in progress.
>
> mysql://root@localhost:/(none) - 11:37:55 > xa recover;
>
> +--+--+--+--+
> | formatID | gtrid_length | bqual_length |
> data |
>
> +--+--+--+--+
> |  4871251 |   35 |   29 | ^W<89>^B
> XF+foo-bar-de05,server,P4837foo-bar-de05,server,P4837,^A |
> |  4871251 |   35 |   29 | ^N<89>^B
> XF+foo-bar-de05,server,P4837foo-bar-de05,server,P4837,^A |
>
> +--+--+--+--+
> 2 rows in set (0.00 sec)
>
> The documentation (https://mariadb.com/kb/en/mariadb/xa-transactions/)
> suggests that xa transaction can be rolled back by using "xa rollback xid"
> but it seems that this is not possible because of the non-ascii characters.
> As you can see in the attached Innodb status, these transactions a active
> for a log time now and should not be relevant anymore.
> Naturally restarting the server should not help.
>
> Do you have a suggestion how to prevent, solve or analyze this situation?
>
> Regards
> Marc
>
> --
>
>
> mysql://root@localhost:/(none) - 11:34:25 > SHOW ENGINE INNODB STATUS\G
> *** 1. row ***
>   Type: InnoDB
>   Name:
> Status:
> =
> 2016-02-20 11:34:50 7fba401d3700 INNODB MONITOR OUTPUT
> =
> Per second averages calculated from the last 31 seconds
> -
> BACKGROUND THREAD
> -
> srv_master_thread loops: 57 srv_active, 0 srv_shutdown, 171810 srv_idle
> srv_master_thread log flush and writes: 171823
> --
> SEMAPHORES
> --
> OS WAIT ARRAY INFO: reservation count 2076
> OS WAIT ARRAY INFO: signal count 2072
> Mutex spin waits 339, rounds 174, OS waits 3
> RW-shared spins 2133, rounds 63046, OS waits 2069
> RW-excl spins 0, rounds 0, OS waits 0
> Spin rounds per wait: 0.51 mutex, 29.56 RW-shared, 0.00 RW-excl
> 
> TRANSACTIONS
> 
> Trx id counter 1969875
> Purge done for trx's n:o < 1965495 undo n:o < 0 state: running but idle
> History list length 316
> LIST OF TRANSACTIONS FOR EACH SESSION:
> ---TRANSACTION 0, not started
> MySQL thread id 4362, OS thread handle 0x7fba401d3700, query id 23179
> localhost root init
> SHOW ENGINE INNODB STATUS
> ---TRANSACTION 1969667, not started
> MySQL thread id 1, OS thread handle 0x7fba41298700, query id 0 Waiting for
> background binlog tasks
> ---TRANSACTION 413370, ACTIVE (PREPARED) 172053 sec recovered trx
> , undo log entries 9
> Trx #rec lock waits 0 #table lock waits 0
> Trx total rec lock wait time 0 SEC
> Trx total table lock wait time 0 SEC
> ---TRANSACTION 413360, ACTIVE (PREPARED) 172053 sec recovered trx
> , undo log entries 11
> Trx #rec lock waits 0 #table lock waits 0
> Trx total rec lock wait time 0 SEC
> Trx total table lock wait time 0 SEC
> 
> FILE I/O
> 
> I/O thread 0 state: waiting for completed aio requests (insert buffer
> thread)
> I/O thread 1 state: waiting for completed aio requests (log thread)
> I/O thread 2 state: waiting for completed aio requests (read thread)
> I/O thread 3 state: waiting for completed aio requests (read thread)
> I/O thread 4 state: waiting for completed aio requests (read thread)
> I/O thread 5 state: waiting for completed aio requests (read thread)
> I/O thread 6 state: waiting for completed aio requests (write thread)
> I/O thread 7 state: waiting for completed aio requests (write thread)
> I/O thread 8 state: waiting for completed aio requests (write thread)
> I/O thread 9 state: waiting for completed aio requests (write thread)
> 1 row in set (0.00 sec)
>
>
> Regards
> Marc
>
> --
> GPG encryption available: 0x670DCBEC/pool.sks-keyservers.net
> (https://www.256bit.org/keys/mschoechlin.pub.asc)
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] MariaDB/Galera Cluster with 3 nodes - Change ENGINE from MyISAM to InnoDB without crash

2016-02-09 Thread Justin Swanhart
Hi,

I answered on stackexchange.  You can let me know here if you have
questions, that is most convenient for me.

--Justin

On Tue, Feb 9, 2016 at 7:14 AM, Lukas Lehner  wrote:

> Hi
>
>
> http://dba.stackexchange.com/questions/128715/mariadb-galera-cluster-with-3-nodes-change-engine-from-myisam-to-innodb-withou
>
> thanks
> Lukas
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt how to create big query

2016-02-09 Thread Justin Swanhart
Hi,

Happy to help!

--Justin

On Tue, Feb 9, 2016 at 5:28 PM, Roberto Spadim <robe...@spadim.com.br>
wrote:

> +1, work
> Thanks again justin! Happy new year :)
>
>
> Em terça-feira, 9 de fevereiro de 2016, Justin Swanhart <
> greenl...@gmail.com> escreveu:
>
>> Hi,
>>
>> Actually ps_history (my performance schema periodic capture tool) uses a
>> constructed UNION to get a consistent snapshot of the performance schema.
>> It might be more useful to you:
>> https://github.com/greenlion/ps_history/blob/master/setup.sql
>>
>> --Justin
>>
>> On Mon, Feb 8, 2016 at 9:46 PM, Justin Swanhart <greenl...@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> Use a stored procedure to construct the union as from a CSV list of
>>> tables and execute it using a prepared statement.  Stored routines can
>>> return resultsets.
>>>
>>> Look at sq_helper.sql in Shard-Query for hints:
>>>
>>> https://github.com/greenlion/swanhart-tools/blob/master/shard-query/sq_helper.sql
>>>
>>> --Justin
>>>
>>> On Mon, Feb 8, 2016 at 7:03 PM, Roberto Spadim <robe...@spadim.com.br>
>>> wrote:
>>>
>>>> hi guys
>>>> i'm with a problem / possible feature request
>>>>
>>>> i have many tables with same structure (same fields) and i need to
>>>> create a big query with all tables
>>>>
>>>> something like:
>>>>
>>>>
>>>> select * from t1
>>>> union all
>>>> select * from t2
>>>> union all
>>>> select * from .
>>>> ... union all
>>>> select * from t9
>>>>
>>>> is there anyway to create a big query with some "template c++ like"
>>>> feature? something like
>>>>
>>>> select * from  ?
>>>>
>>>> ---
>>>> Roberto Spadim
>>>>
>>>> ___
>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>> Post to : maria-discuss@lists.launchpad.net
>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>
>
> --
> Roberto Spadim
> SPAEmpresarial - Software ERP
> Eng. Automação e Controle
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt how to create big query

2016-02-08 Thread Justin Swanhart
Hi,

Actually ps_history (my performance schema periodic capture tool) uses a
constructed UNION to get a consistent snapshot of the performance schema.
It might be more useful to you:
https://github.com/greenlion/ps_history/blob/master/setup.sql

--Justin

On Mon, Feb 8, 2016 at 9:46 PM, Justin Swanhart <greenl...@gmail.com> wrote:

> Hi,
>
> Use a stored procedure to construct the union as from a CSV list of tables
> and execute it using a prepared statement.  Stored routines can return
> resultsets.
>
> Look at sq_helper.sql in Shard-Query for hints:
>
> https://github.com/greenlion/swanhart-tools/blob/master/shard-query/sq_helper.sql
>
> --Justin
>
> On Mon, Feb 8, 2016 at 7:03 PM, Roberto Spadim <robe...@spadim.com.br>
> wrote:
>
>> hi guys
>> i'm with a problem / possible feature request
>>
>> i have many tables with same structure (same fields) and i need to create
>> a big query with all tables
>>
>> something like:
>>
>>
>> select * from t1
>> union all
>> select * from t2
>> union all
>> select * from .
>> ... union all
>> select * from t9
>>
>> is there anyway to create a big query with some "template c++ like"
>> feature? something like
>>
>> select * from  ?
>>
>> ---
>> Roberto Spadim
>>
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt how to create big query

2016-02-08 Thread Justin Swanhart
Hi,

Use a stored procedure to construct the union as from a CSV list of tables
and execute it using a prepared statement.  Stored routines can return
resultsets.

Look at sq_helper.sql in Shard-Query for hints:
https://github.com/greenlion/swanhart-tools/blob/master/shard-query/sq_helper.sql

--Justin

On Mon, Feb 8, 2016 at 7:03 PM, Roberto Spadim 
wrote:

> hi guys
> i'm with a problem / possible feature request
>
> i have many tables with same structure (same fields) and i need to create
> a big query with all tables
>
> something like:
>
>
> select * from t1
> union all
> select * from t2
> union all
> select * from .
> ... union all
> select * from t9
>
> is there anyway to create a big query with some "template c++ like"
> feature? something like
>
> select * from  ?
>
> ---
> Roberto Spadim
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] intentionally corrupting tables

2016-02-02 Thread Justin Swanhart
Hi,

If you don't mind corrupting more than just the database (such as open
memory mapped files) then you can also try this in your VM:
sudo dd if=/dev/zero of=/dev/mem

:D

On Tue, Feb 2, 2016 at 9:46 AM, Reindl Harald 
wrote:

>
>
> Am 02.02.2016 um 15:12 schrieb Federico Razzoli:
>
>> I am looking for a way to intentionally corrupt a table in a "natural"
>> way. Of course I can open a file with Vim and change random characters, but
>> I would probably obtain a kind of corruption that never occurs in the real
>> world.
>> The purpose is testing recovery procedures
>>
>
> * virtual machine
> * snaphot
> * make a lot of writes and changes
> * trigger crash of the machine with 2 commands
>
> echo 1 > /proc/sys/kernel/sysrq
> echo c > /proc/sysrq-trigger
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Performace issue with insert

2016-01-31 Thread Justin Swanhart
The only time an innodb table is broken is if the computer lost writes to
the system or the media is corrupted.  InnoDB is fully transactional.  If
you had similar problems and MyISAM "works" it will likely have bad data in
it, because myisam has no checksums.  MyISAM is the kiss of death, it is
old, not really supported, it has concurrency problems and it is unreliable
after a crash without a lengthy repair.

--Justin

On Sun, Jan 31, 2016 at 2:44 PM, walter harms  wrote:

>
>
> Am 31.01.2016 09:09, schrieb Sergei Golubchik:
> > Hi, Reindl!
> >
> > On Jan 30, Reindl Harald wrote:
> >>
> >>
> >> Am 30.01.2016 um 21:07 schrieb walter harms:
> >>> Aktualy I do now some profiling now we want to see the differences
> >>> when switching 31-1.  We used myISAM since the biggest problem is
> >>> speed and immoDB showed to be crash sensitive.  We store long time
> >>> series data so the system is writing data all the time.
> >>
> >> for "writing data all the time" MyISAM is for sure a completly wrong
> >> decision because the performance strength of MyISAM was always on
> >> most-read workloads
> >>
> >> MyISAM *always* does a *complete table lock* for writes and don't allow
> >> concurrent writes without locking - that don't scale when you write all
> >> day long and there are table locks all day long
> >
> > MyISAM should perform very good if inserts are *append only* (no updates
> > or deletes). In this case MyISAM will not use an exclusive table lock
> > and concurrent reads will be allowed.
> >
> > It is typical for some kind of logging - one threads inserts *all the
> > time* other threads are reading the data concurrently.
> >
> > In fact, this is one of the use cases MyISAM was written for.
> >
>
>
> This is was we actualy do with, never delete, very few updates and read is
> no performance problem.
>
> "crash sensitive" translates into: We had 3-4 occassions where an full
> backup was
> needed, and all had all to do with immoDB tables broken beyond repair.
>
>
> re,
>  wh
>
>
>
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] R: doubt trigger

2015-11-13 Thread Justin Swanhart
Hi,

Well, I would suggest Flexviews.  This is exactly what it is designed for.

Or you can roll your own.  Assuming the views are based on a single table,
create a trigger on the table that logs the changes.  You can automate the
construction of such a log table and appropriate triggers, but you can't
create triggers or stored procedures in a stored procedure, so you have to
execute it externally.

SUM/COUNT/AVG is easy, but min/max is more difficult, because you might
delete the min/max value, and the new min/max isn't in the log.

I'd just let flexviews do the job.  It handles all the complexity for you.

--Justin

On Fri, Nov 13, 2015 at 3:02 PM, Federico Razzoli 
wrote:

> Standard SQL has triggers FOR EACH STATEMENT, but MariaDB has not. I would
> use a stored procedure instead.
>
> Regards
> Federico
>
>
> 
> Ven 13/11/15, Roberto Spadim  ha scritto:
>
>  Oggetto: [Maria-discuss] doubt trigger
>  A: "Maria Discuss" 
>  Data: Venerdì 13 novembre 2015, 21:50
>
>  hi guy, i'm with
>  a doubt
>  thre's a trigger to execute after
>  insert/update/delete complete? not row by rowi
>  want to change some tables and automatically execute a
>  procedure to recalculate some values, but i will
>  insert/update/delete many rows, that's why i want to
>  execute it after query execution, but with  a CALL
>  PROCEDURE()
>  any idea?
>
>  --
>  Roberto Spadim
>
>
>  -Segue allegato-
>
>  ___
>  Mailing list: https://launchpad.net/~maria-discuss
>  Post to : maria-discuss@lists.launchpad.net
>  Unsubscribe : https://launchpad.net/~maria-discuss
>  More help   : https://help.launchpad.net/ListHelp
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt with thread pool

2015-11-10 Thread Justin Swanhart
Hi,

There is really no formula for predicting MySQL memory size.  There are
many factors.  But if your estimate uses max_connections, then use
max_connections/threads_in_pool.  That gives you the effective number of
queries running at once.  There are some things, like number of temporary
tables per connection, that has to use max_connections, because these
persist while a connection is not executing SQL in the pool of threads.

On Tue, Nov 10, 2015 at 4:25 PM, Roberto Spadim 
wrote:

> nice , if i have max_connections = thread_pool_size maybe i'm doing a one
> thread per connection right?
>
> other doubt about the memory use, i remember when mysqld crash there's
> a memory math formula using max_connections, when using thread pool are
> there the same memory limit?
>
> 2015-11-10 16:04 GMT-02:00 Vladislav Vaintroub :
>
>>
>>
>> On Tue, Nov 10, 2015 at 6:47 PM, Roberto Spadim 
>> wrote:
>>
>>> i'm with a doubt
>>> if i have a thread pool with 1000 threads and a max_connections with 100
>>> connections
>>> can i have more than 100 clients connected (1000 threads for example)?
>>> dos thread pool size limit the max connections, or max connections limite
>>> the thread pol size?
>>>
>>>
>>
>> max_connections is the ultimate limit on number of total connections. it
>> does not make sense to have thread pool size larger as the max. number of
>> connections. thread pool size is something that limits number of
>> concurrently running ( executing on CPU rather than waiting) commands. It
>> does not make sense to have it larger than max. connections.
>>
>>> --
>>> Roberto Spadim
>>>
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> On Tue, Nov 10, 2015 at 6:47 PM, Roberto Spadim 
>> wrote:
>>
>>> i'm with a doubt
>>> if i have a thread pool with 1000 threads and a max_connections with 100
>>> connections
>>> can i have more than 100 clients connected (1000 threads for example)?
>>> dos thread pool size limit the max connections, or max connections limite
>>> the thread pol size?
>>>
>>> --
>>> Roberto Spadim
>>>
>>> ___
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to : maria-discuss@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>
>
> --
> Roberto Spadim
> SPAEmpresarial - Software ERP
> Eng. Automação e Controle
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Compiling maxscale

2015-11-08 Thread Justin Swanhart
Ack

Sent from my iPhone

> On Nov 8, 2015, at 9:35 AM, Colin Charles <co...@mariadb.org> wrote:
> 
> Best to ask the maxscale list on this -- maxsc...@googlegroups.com
> 
>> On Sunday, 8 November 2015, Justin Swanhart <greenl...@gmail.com> wrote:
>> Hi,
>> 
>> When I try to compile maxscale, the classifier won't compile because it 
>> needs server headers.  How do I tell it where to find the source.  It uses 
>> multiple headers in multiple directories so adding the server source via a 
>> simple -I to CXXFLAGS doesn't work.
>> 
>> Am I missing something?
>> 
>> Sent from my iPhone
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> 
> -- 
> Colin Charles, Chief Evangelist, MariaDB Corporation
> blog: http://bytebot.net/blog/ | t: +1-347-903-3201 | Skype: colincharles | 
> Twitter: @bytebot
> 
> 
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


[Maria-discuss] Compiling maxscale

2015-11-08 Thread Justin Swanhart
Hi,

When I try to compile maxscale, the classifier won't compile because it needs 
server headers.  How do I tell it where to find the source.  It uses multiple 
headers in multiple directories so adding the server source via a simple -I to 
CXXFLAGS doesn't work.

Am I missing something?

Sent from my iPhone
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Bad file descriptor mariadb 10.1.

2015-11-07 Thread Justin Swanhart
Most likely it is that ulimit is too low.  Try the instructions in this blog 
post (not mine): 

https://ma.ttias.be/increase-open-files-limit-in-mariadb-on-centos-7-with-systemd/

Sent from my iPhone

> On Nov 7, 2015, at 12:36 PM, j...@7lan.net wrote:
> 
> Hi List,
> 
> Sometimes, my mysqld daemon begin to consumes 100% the connection to the 
> server gets unstable and I get flooded in the mysql error log with these 
> messages:
> 
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> Nov  4 06:17:01 db1 mysqld: 2015-11-04  6:17:01 140682979031168 [ERROR] Error 
> in accept: Bad file descriptor
> 
> it only stops when I restart the daemon, no query is shown in "show full 
> processlist".
> 
> Maybe some kernel adjustment? Any ideia? 
> 
> Running centos 7 at the lastest version.
> 
> 
> [root@db1 scripts]# yum -y update
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
>  * base: ftpmirror.your.org
>  * epel: mirror.nexcess.net
>  * extras: ftpmirror.your.org
>  * updates: mirrors.lga7.us.voxel.net
> No packages marked for update
> [root@db1 scripts]# rpm -qa|grep -i MariaDB
> MariaDB-shared-10.1.8-1.el7.centos.x86_64
> MariaDB-client-10.1.8-1.el7.centos.x86_64
> MariaDB-common-10.1.8-1.el7.centos.x86_64
> MariaDB-server-10.1.8-1.el7.centos.x86_64
> 
> 
> Thanks!
> 
> João Reis. 
>  
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] LOAD FILE and BIT datatype

2015-11-02 Thread Justin Swanhart
Try \0 and 1  if you have only one bit to set.

On Mon, Nov 2, 2015 at 5:56 PM, Roberto Spadim <robe...@spadim.com.br>
wrote:

> maybe
> enum_field_types type() const { return MYSQL_TYPE_BIT; }
> if(field->type()==MYSQL_TYPE_BIT){
> // convert string to unsigned long long
> }else{
> // use normal field->store()
> }
>
> must try, but i didn't found how to store() with the "b'0'" representation
> or someting like it
>
> 2015-11-02 22:45 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>
>> maybe check if it's a BIT type at sql_load.cc and cast to bigint unsigned
>> before field->store ? i think it's the easier patch, i don't know
>> i tryed any kind of file
>> the bit column only with with "SET bit_column=@some_variable+0" or
>> anything to cast from "string" to "integers"
>>
>> 2015-11-02 22:40 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>
>>> probably something here:
>>> https://github.com/MariaDB/server/blob/10.1/sql/field.cc#L9127
>>>
>>> 2015-11-02 22:28 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>>
>>>> hi justing, but i always get 1
>>>> even when data file have "0" (character "0") at line
>>>>
>>>> i'm reading the load data file:
>>>>
>>>> https://github.com/MariaDB/server/blob/e19a6f3dca7509eb8e042796a9311dba937ad9d7/sql/sql_load.cc#L853
>>>> that's something with field->store (i think)
>>>> field->store((char*) pos,length,read_info.read_charset);
>>>>
>>>> https://github.com/MariaDB/server/blob/e19a6f3dca7509eb8e042796a9311dba937ad9d7/sql/sql_load.cc#L1025
>>>> field->store((char*) pos, length, read_info.read_charset);i didn't
>>>> checked yet store of bit field type
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2015-11-02 22:15 GMT-02:00 Justin Swanhart <greenl...@gmail.com>:
>>>>
>>>>> Hi,
>>>>>
>>>>> Instead of using b'...' notation, use bitwise math to get the integer
>>>>> representation of the bitset, and place that in your loader file.
>>>>>
>>>>> For example:
>>>>> select 1 | 2 | 8;  ---> 11
>>>>>
>>>>> Put 11 in your data file and you will get bits 1 2 and 8 set in your
>>>>> bitset.
>>>>>
>>>>> --Justin
>>>>>
>>>>> On Mon, Nov 2, 2015 at 4:52 PM, Roberto Spadim <robe...@spadim.com.br>
>>>>> wrote:
>>>>>
>>>>>> sorry found at mysql docs
>>>>>>
>>>>>> BIT <https://dev.mysql.com/doc/refman/5.7/en/bit-type.html> values
>>>>>> cannot be loaded using binary notation (for example, b'011010'). To
>>>>>> work around this, specify the values as regular integers and use the
>>>>>> SET clause to convert them so that MySQL performs a numeric type
>>>>>> conversion and loads them into the BIT
>>>>>> <https://dev.mysql.com/doc/refman/5.7/en/bit-type.html> column
>>>>>> properly:
>>>>>>
>>>>>>  <https://dev.mysql.com/doc/refman/5.7/en/load-data.html>
>>>>>> shell> *cat /tmp/bit_test.txt*
>>>>>> 2
>>>>>> 127
>>>>>> shell> *mysql test*
>>>>>> mysql> *LOAD DATA INFILE '/tmp/bit_test.txt'*
>>>>>> -> *INTO TABLE bit_test (@var1) SET b = CAST(@var1 AS UNSIGNED);*
>>>>>> Query OK, 2 rows affected (0.00 sec)
>>>>>> Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
>>>>>>
>>>>>>
>>>>>> but i'm checking something very bad
>>>>>> if i execute without "SET" a big file take 1second, with "SET" it
>>>>>> takes 3 times more
>>>>>> maybe we could include the bit cast at load data infile and solve
>>>>>> this problem? maybe a mariadb improvement?
>>>>>>
>>>>>>
>>>>>> 2015-11-02 21:43 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>>>>>
>>>>>>> hi guys, how could i send bit data to mysql with LOAD FILE?
>>>>>>>
>>>>>>> a table example:
>>>>>>> create table t (i bit not null default 0);
>>>>&g

Re: [Maria-discuss] LOAD FILE and BIT datatype

2015-11-02 Thread Justin Swanhart
Yes, \0 is ascii zero, but it must be converting the string \0 to the int.
It doesn't do any escape conversion, which is kind of idiotic. :D

I don't know what the LOAD DATA delimiter parser will do with a null
character in the input.  It might fail.

--Justin

On Mon, Nov 2, 2015 at 7:39 PM, Roberto Spadim <robe...@spadim.com.br>
wrote:

> character ascii 0 ?
> \0 \1 b'0' b'1' 0 1
> don't work
>
> i will test binary data
>
> 2015-11-03 0:26 GMT-02:00 Justin Swanhart <greenl...@gmail.com>:
>
>> Try \0 and 1  if you have only one bit to set.
>>
>> On Mon, Nov 2, 2015 at 5:56 PM, Roberto Spadim <robe...@spadim.com.br>
>> wrote:
>>
>>> maybe
>>> enum_field_types type() const { return MYSQL_TYPE_BIT; }
>>> if(field->type()==MYSQL_TYPE_BIT){
>>> // convert string to unsigned long long
>>> }else{
>>> // use normal field->store()
>>> }
>>>
>>> must try, but i didn't found how to store() with the "b'0'"
>>> representation or someting like it
>>>
>>> 2015-11-02 22:45 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>>
>>>> maybe check if it's a BIT type at sql_load.cc and cast to bigint
>>>> unsigned before field->store ? i think it's the easier patch, i don't know
>>>> i tryed any kind of file
>>>> the bit column only with with "SET bit_column=@some_variable+0" or
>>>> anything to cast from "string" to "integers"
>>>>
>>>> 2015-11-02 22:40 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>>>
>>>>> probably something here:
>>>>> https://github.com/MariaDB/server/blob/10.1/sql/field.cc#L9127
>>>>>
>>>>> 2015-11-02 22:28 GMT-02:00 Roberto Spadim <robe...@spadim.com.br>:
>>>>>
>>>>>> hi justing, but i always get 1
>>>>>> even when data file have "0" (character "0") at line
>>>>>>
>>>>>> i'm reading the load data file:
>>>>>>
>>>>>> https://github.com/MariaDB/server/blob/e19a6f3dca7509eb8e042796a9311dba937ad9d7/sql/sql_load.cc#L853
>>>>>> that's something with field->store (i think)
>>>>>> field->store((char*) pos,length,read_info.read_charset);
>>>>>>
>>>>>> https://github.com/MariaDB/server/blob/e19a6f3dca7509eb8e042796a9311dba937ad9d7/sql/sql_load.cc#L1025
>>>>>> field->store((char*) pos, length, read_info.read_charset);i didn't
>>>>>> checked yet store of bit field type
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2015-11-02 22:15 GMT-02:00 Justin Swanhart <greenl...@gmail.com>:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Instead of using b'...' notation, use bitwise math to get the
>>>>>>> integer representation of the bitset, and place that in your loader 
>>>>>>> file.
>>>>>>>
>>>>>>> For example:
>>>>>>> select 1 | 2 | 8;  ---> 11
>>>>>>>
>>>>>>> Put 11 in your data file and you will get bits 1 2 and 8 set in your
>>>>>>> bitset.
>>>>>>>
>>>>>>> --Justin
>>>>>>>
>>>>>>> On Mon, Nov 2, 2015 at 4:52 PM, Roberto Spadim <
>>>>>>> robe...@spadim.com.br> wrote:
>>>>>>>
>>>>>>>> sorry found at mysql docs
>>>>>>>>
>>>>>>>> BIT <https://dev.mysql.com/doc/refman/5.7/en/bit-type.html> values
>>>>>>>> cannot be loaded using binary notation (for example, b'011010').
>>>>>>>> To work around this, specify the values as regular integers and use the
>>>>>>>> SET clause to convert them so that MySQL performs a numeric type
>>>>>>>> conversion and loads them into the BIT
>>>>>>>> <https://dev.mysql.com/doc/refman/5.7/en/bit-type.html> column
>>>>>>>> properly:
>>>>>>>>
>>>>>>>>  <https://dev.mysql.com/doc/refman/5.7/en/load-data.html>
>>>>>>>> shell> *cat /tmp/bit_test.txt*
>>>>>>>> 2
>>>>>>>> 127
>>>

Re: [Maria-discuss] writing plugin with .net language (C#)

2015-10-10 Thread Justin Swanhart
Hi,

There is no established API for the daemon plugin to communicate with the
server in any way.  It is pretty much a drone. The daemon plugin should
have a TCP accept thread.  A text protocol would read/write from/to the
daemon plugin. The INFORMATION_SCHEMA plugin would connect to the TCP
socket, request data, then write it to the user for example.  I'm not that
familiar with INFORMATION_SCHEMA plugins myself, but this should be
feasible.

You really should probably just use the storage engine interface though.
The storage engine can have your linked list and you can project out
results with select, and modify data with insert/update/delete.

--Justin

--Justin

On Sun, Oct 4, 2015 at 2:05 PM, Roberto Spadim <robe...@spadim.com.br>
wrote:

> hummm very nice, i never tried to write a udf with go
>
> going back to daemond plugin, i'm with some doubts, i could make a
> daemond, i could make a information schema
> both are "easy" my doubt now is how to get data from daemond with
> information schema plugin, that's something that i don't know how to solve
> yet
>
> i'm reading the show plugins function and trying to understand how to do
> this, but no results yet
>
> 2015-10-04 17:51 GMT-03:00 Nirbhay Choubey <nirb...@mariadb.com>:
>
>> Hello,
>>
>> On Sun, Oct 4, 2015 at 9:05 AM, Guillaume Lefranc <
>> guillaume.lefr...@mariadb.com> wrote:
>>
>>> Hi Roberto,
>>>
>>> you could have a try at it with Golang, it can wrap C code easily
>>> https://golang.org/cmd/cgo/
>>>
>>>
>> Though with Go1.5 its now possible, uninstalling the plugins still leads
>> to segfaults.
>> And sadly, looks like it can't be fixed (not in near future, at least).
>>
>> https://github.com/golang/go/issues/12582
>>
>> Best,
>> Nirbhay
>>
>>
>> Best regards,
>>>
>>> Guillaume Lefranc
>>> RemoteDBA Services Manager - MariaDB Corporation Ab
>>>
>>> On Sun, Oct 4, 2015 at 3:26 AM, Roberto Spadim <robe...@spadim.com.br>
>>> wrote:
>>>
>>>> hummm, it's like creating a ".dll" that export functions to other
>>>> program call it? in this case your fast bit UDF functions export init/denit
>>>> functions to mysql, right? and you are using C++ or C language when you use
>>>> "extern"? i don't  know how compiler know if it's a C or C++ code
>>>>
>>>> 2015-10-03 20:36 GMT-03:00 Justin Swanhart <greenl...@gmail.com>:
>>>>
>>>>> extern "C" {
>>>>>
>>>>> Makes the function use CDECL calling conventions, which is equivalent
>>>>> to setting the .NET code to use CDECL calling conventions.  Any language
>>>>> that supports exporting symbols with CDECL calling conventions supports
>>>>> interoperating with C (it stands for C declarations aka C calling
>>>>> conventions).
>>>>>
>>>>> --Justin
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>> On Oct 3, 2015, at 1:57 PM, Roberto Spadim <robe...@spadim.com.br>
>>>>> wrote:
>>>>>
>>>>> sorry guys, i'm a bit confuse about c++ and c
>>>>>
>>>>> i'm reading your fastbit udf code
>>>>>
>>>>> at /fb_udf.h
>>>>> you have a C code, right?
>>>>> and at fb_udf.cpp a c++ code
>>>>>
>>>>> you can mix c and c++ at the same code?
>>>>>
>>>>>
>>>>> at udf.h
>>>>> what this do?
>>>>>
>>>>> "
>>>>> extern "C" { "
>>>>> those functions should be undestood as "C" instead of "C++", or
>>>>> compiler should "export" those c++ function to "C" "code", or something
>>>>> related to C and namespaces ?
>>>>>
>>>>> sorry it's not mysql specific but i'm not finding some C++ plugins
>>>>> examples
>>>>>
>>>>>
>>>>> 2015-09-21 13:43 GMT-03:00 Roberto Spadim <robe...@spadim.com.br>:
>>>>>
>>>>>> :D nice
>>>>>> what i will is something like:
>>>>>>
>>>>>> 1) a plugin daemon that receive a tcp/ip connection with a double
>>>>>> linked list "feed" (something like:  clear list, delete from position x 
>>>>>> to
>>>>>>

Re: [Maria-discuss] Can someone explain odd InnoDB locking behavior

2015-10-08 Thread Justin Swanhart
Hi,

I didn't use you test data, but i have a strong suspicion the problem is
related to the small number of rows.  Probably InnoDB is choosing a full
table scan for the range condition on the SELECT, as it covers most of the
table.  You are using repeatable-read, which requires that InnoDB hold
locks in innosel for the duration of the transaction.  Since InnoDB locks
each row it traverses, a full table scan will lock the ENTIRE table,
including the gap that represents 6, and the gap after 7.

If you want to lock only the rows that match, you can do so, kind of.
Switch to READ-COMMITTED and if you are using binary logging, to ROW based
logging.  Under these conditions if more rows than necessary are scanned
(thus locked) the rows that don't match the filter will be unlocked after
the statement completes.  Then insertion of 6 and insertions beyond seven
can be performed.

Regards,

--Justin


On Thu, Oct 8, 2015 at 6:18 AM, Yuri Karaban  wrote:

> Hi
>
> I'm trying to understand why InnoDB locks two next-key intervals higher
> than needed.
>
> If you try to run conn-a.sql from one connection, and then run
> conn-b.sql from other connection, conn-b.sql would be locked.
>
> I have a feeling that it locks two next-key intervals: (5 to 7 and 7 to
> positive infinity). Because I can insert values higher than 7 in conn-b
> only if condition is WHERE n <= 4 (or lower than 4).
>
> TokuDB locks just one next-key interval (with WHERE n <= 7, TokuDB locks
> from -infinity to +infinity, but with condition WHERE n <= 6, it locks
> from -infinity to 6).
>
> Please help me to understand why ever both engines need to lock gap
> after the upper end of range scan. And why InnoDB needs to lock even two
> next-key gaps.
>
> I tried this on MariaDB 10.0.21
>
> --[conn-a.sql]
> DROP TABLES IF EXISTS innosel, innoin;
>
> CREATE TABLE innosel (n INT UNSIGNED PRIMARY KEY) ENGINE InnoDB;
> CREATE TABLE innoin (n INT UNSIGNED PRIMARY KEY) ENGINE InnoDB;
>
> INSERT INTO innosel values (1), (3), (5), (7);
>
> SET tx_isolation = 'REPEATABLE-READ';
>
> START TRANSACTION;
>   INSERT IGNORE INTO innoin (n)
> SELECT n FROM innosel WHERE n <= 5;
>
>   SELECT SLEEP(100);
> ROLLBACK;
> --[conn-a.sql]
>
>
> --[conn-b.sql]
> START TRANSACTION;
>   INSERT INTO innosel VALUES (9);
> ROLLBACK;
> --[conn-b.sql]
>
> --
> Nemo iudex in causa sua.
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Group Concat and Sub Query

2015-10-04 Thread Justin Swanhart
I think time is a separate field he orders on, he just mistyped the query.

Sent from my iPhone

> On Oct 4, 2015, at 1:20 AM, Pantelis Theodosiou  wrote:
> 
> Did you mean to write 
> 
> ORDER BY value ASC   and   ORDER BY value DESC
> 
> in the subqueries? The "ORDER BY date" doesn't make sense in the subqueries 
> as all the rows will have the same date, due to the "WHERE date=a.date" 
> correlation.
> 
> Pantelis
> 
> 
>> On Sat, Oct 3, 2015 at 2:12 AM, Roberto Spadim  wrote:
>> Hi guys
>> I have a problem and a possible solution, that i think is relative easy to 
>> develop (i didn't tested but i think the source is easy to change)
>> 
>> i have some queries like:
>> 
>> 
>> SELECT 
>> date,
>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date ASC LIMIT 1) 
>> AS first,
>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date DESC LIMIT 1) 
>> AS last
>> FROM some_table AS a
>> GROUP BY date
>> 
>> 
>> i want to "convert" the complex sub query, to a agregate function, and i 
>> thinking about group concat:
>> from mysql docs:
>> 
>> GROUP_CONCAT([DISTINCT] expr [,expr ...]
>>  [ORDER BY {unsigned_integer | col_name | expr}
>>  [ASC | DESC] [,col_name ...]]
>>  [SEPARATOR str_val])
>> 
>> we have ORDER BY
>> if we could include a "LIMIT" clause, i could rewrite this query to:
>> 
>> SELECT 
>> date,
>> GROUP_CONCAT(value ORDER BY date ASC LIMIT 1) AS first,
>> GROUP_CONCAT(value ORDER BY date DESC LIMIT 1) AS last
>> FROM some_table AS a
>> GROUP BY date
>> 
>> 
>> i know that i could have stats tables / materialized views (with flexview, i 
>> already tested :) ), but i want something more "easy to use" and not "very 
>> fast", just a "feature" to solve small problems
>> 
>> 
>> it's a nice idea? does anyone have this "problem" and solve with other 
>> solutions?
>> 
>> -- 
>> Roberto Spadim
>> 
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
> 
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] writing plugin with .net language (C#)

2015-10-03 Thread Justin Swanhart
extern "C" {

Makes the function use CDECL calling conventions, which is equivalent to 
setting the .NET code to use CDECL calling conventions.  Any language that 
supports exporting symbols with CDECL calling conventions supports 
interoperating with C (it stands for C declarations aka C calling conventions).

--Justin

Sent from my iPhone

> On Oct 3, 2015, at 1:57 PM, Roberto Spadim <robe...@spadim.com.br> wrote:
> 
> sorry guys, i'm a bit confuse about c++ and c
> 
> i'm reading your fastbit udf code
> 
> at /fb_udf.h
> you have a C code, right?
> and at fb_udf.cpp a c++ code
> 
> you can mix c and c++ at the same code?
> 
> 
> at udf.h
> what this do?
> 
> "
> extern "C" { 
> "
> those functions should be undestood as "C" instead of "C++", or compiler 
> should "export" those c++ function to "C" "code", or something related to C 
> and namespaces ?
> 
> sorry it's not mysql specific but i'm not finding some C++ plugins examples
> 
> 
> 2015-09-21 13:43 GMT-03:00 Roberto Spadim <robe...@spadim.com.br>:
>> :D nice
>> what i will is something like:
>> 
>> 1) a plugin daemon that receive a tcp/ip connection with a double linked 
>> list "feed" (something like:  clear list, delete from position x to y, 
>> delete position x, insert at position x, update position x, move position x 
>> to y)
>> 2) save this feed to a myisam/spider/innodb/anyother engine (i'm thinking 
>> about using a mysql handler api) (i didn't check how it works, but i think 
>> handler sock use it)
>> 3) keep the double linked list at memory (reconstruct the list when server 
>> shutdown, maybe make some snapshots to avoid a long reconstruct, something 
>> like after X lines of feed, save the list, or after x minutes)
>> 4) a engine to read the double linked list at memory (i don't know yet how 
>> do this, but i will need some control about reading a shared memory, how to 
>> access this shared memory from daemon plugin using storage engine)
>> 5) a engine to read information about what daemon is doing (like 4)
>> 6) at same plugin daemon, create a tcp/ip connection to "export" the same 
>> feed to others users (just a proxy, not a big problem)
>> 
>> at top level i think i will have 1 daemon plugin + 1 storage engine plugin
>> 
>> i'm thinking about c++ 11 cause it have double linked lists, threads, 
>> atomic, sockets, and i dont need others libs (maybe i'm wrong, but that was 
>> my first impression about c++11)
>> 
>> 2015-09-21 13:34 GMT-03:00 Justin Swanhart <greenl...@gmail.com>:
>>> Hi,
>>> 
>>> My fastbit UDF use C++ 11 no problem.
>>> 
>>> https://github.com/greenlion/FastBit_UDF
>>> 
>>>> On Fri, Sep 18, 2015 at 11:52 PM, Sergei Golubchik <s...@mariadb.org> 
>>>> wrote:
>>>> Hi, Roberto!
>>>> 
>>>> On Sep 18, Roberto Spadim wrote:
>>>> > guys , i'm still with doubts... but not more about c#, now about c++
>>>> > i was thinking about rewrite the code with c++
>>>> >
>>>> > my doubt is could i use C++ 11 ? or i will have problem with mariadb
>>>> > makefiles etc etc?
>>>> 
>>>> Sure, you  can use any language you want, C++11 is perfectly fine too.
>>>> cmake doesn't care.
>>>> 
>>>> Regards,
>>>> Sergei
>>>> 
>>>> ___
>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>> Post to : maria-discuss@lists.launchpad.net
>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> 
>> 
>> -- 
>> Roberto Spadim
>> SPAEmpresarial - Software ERP
>> Eng. Automação e Controle
> 
> 
> 
> -- 
> Roberto Spadim
> SPAEmpresarial - Software ERP
> Eng. Automação e Controle
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Group Concat and Sub Query

2015-10-03 Thread Justin Swanhart
Hi,

If you only need first/last values, and your lists are short (smaller than 
max_allowed_packet, given group_concat_max_len is max allowed packet) then 
group_concat works fine.

Window functions work /on the result set/ itself.  They are kind of like sub 
select over the entire result of the SELECT statement, something a subquery in 
the SELECT clause is unable to do.  As such window functions are not usually 
combined with GROUP BY.

This is because  window functions let you see the detail and the summary at the 
same time. They are kind of like spreadsheet expressions in that way.

For example:
SELECT date,value,last_value(value) over (partition by date order by value 
asc),first_value(value) over(partition by date),
sum(value) over (partition by date),
lag(value,2) over (partition by date)
From table

Shard-Query always stores the resultset in a table, so it can update the table 
for each window function result, which is calculated by a query.  You can look 
at the wf_* functions in shard-query for an implementation of each window 
function.  You could even add your own if you like.  If there is interest I can 
make that pluggable. 

You can see lots of examples in the test directory too, and s simple test data 
set.

--justin

Sent from my iPhone

> On Oct 2, 2015, at 8:26 PM, Roberto Spadim <robe...@spadim.com.br> wrote:
> 
> hum i'm thinking about the problem
> for example if we have an COUNT(*) or a SUM(value) or MAX(value) or 
> MIN(value) or anyother functions
> shouldn't be more rational allow the 'single thread' query execute and use 
> the GROUP_CONCAT function?
> ok it's not multi thread, but could the group_concat with limit 'optimize' 
> the shard query or single queries like this?
> 
> 2015-10-03 0:10 GMT-03:00 Roberto Spadim <robe...@spadim.com.br>:
>> nice :)
>> 
>> how it's "rewrite"?
>> 
>> 2015-10-02 22:25 GMT-03:00 Justin Swanhart <greenl...@gmail.com>:
>>> Hi,
>>> 
>>> You could use Shard-Query.  You don't need to shard the database, you can 
>>> point shard-query at one database.  It supports WINDOW functions.
>>> 
>>> select 
>>> date,
>>> FIRST_VALUE(value) OVER (ORDER BY value ASC),
>>> LAST_VALUE(value) OVER (ORDER BY value ASC)
>>> FROM some_table AS a
>>> GROUP BY date
>>> 
>>> --Justin
>>> 
>>>> On Fri, Oct 2, 2015 at 6:12 PM, Roberto Spadim <robe...@spadim.com.br> 
>>>> wrote:
>>>> Hi guys
>>>> I have a problem and a possible solution, that i think is relative easy to 
>>>> develop (i didn't tested but i think the source is easy to change)
>>>> 
>>>> i have some queries like:
>>>> 
>>>> 
>>>> SELECT 
>>>> date,
>>>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date ASC LIMIT 1) 
>>>> AS first,
>>>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date DESC LIMIT 
>>>> 1) AS last
>>>> FROM some_table AS a
>>>> GROUP BY date
>>>> 
>>>> 
>>>> i want to "convert" the complex sub query, to a agregate function, and i 
>>>> thinking about group concat:
>>>> from mysql docs:
>>>> 
>>>> GROUP_CONCAT([DISTINCT] expr [,expr ...]
>>>>  [ORDER BY {unsigned_integer | col_name | expr}
>>>>  [ASC | DESC] [,col_name ...]]
>>>>  [SEPARATOR str_val])
>>>> 
>>>> we have ORDER BY
>>>> if we could include a "LIMIT" clause, i could rewrite this query to:
>>>> 
>>>> SELECT 
>>>> date,
>>>> GROUP_CONCAT(value ORDER BY date ASC LIMIT 1) AS first,
>>>> GROUP_CONCAT(value ORDER BY date DESC LIMIT 1) AS last
>>>> FROM some_table AS a
>>>> GROUP BY date
>>>> 
>>>> 
>>>> i know that i could have stats tables / materialized views (with flexview, 
>>>> i already tested :) ), but i want something more "easy to use" and not 
>>>> "very fast", just a "feature" to solve small problems
>>>> 
>>>> 
>>>> it's a nice idea? does anyone have this "problem" and solve with other 
>>>> solutions?
>>>> 
>>>> -- 
>>>> Roberto Spadim
>>>> 
>>>> ___
>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>> Post to : maria-discuss@lists.launchpad.net
>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> 
>> 
>> -- 
>> Roberto Spadim
>> SPAEmpresarial - Software ERP
>> Eng. Automação e Controle
> 
> 
> 
> -- 
> Roberto Spadim
> SPAEmpresarial - Software ERP
> Eng. Automação e Controle
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] Group Concat and Sub Query

2015-10-03 Thread Justin Swanhart
Hi,  

Btw, how does your first/last differ from min/max?

Sent from my iPhone

> On Oct 3, 2015, at 5:43 PM, Roberto Spadim <robe...@spadim.com.br> wrote:
> 
> nice, it's like two tables and run optimized queires in each table 
> i will consider this as a solution
> 
> if i need flexviews (materialized views) with this first / last function, 
> could this use the window functions of shard query? sorry i didn't tested 
> flexview + shard query yet
> 
> 
> 2015-10-03 20:55 GMT-03:00 Justin Swanhart <greenl...@gmail.com>:
>> Hi,
>> 
>> If you only need first/last values, and your lists are short (smaller than 
>> max_allowed_packet, given group_concat_max_len is max allowed packet) then 
>> group_concat works fine.
>> 
>> Window functions work /on the result set/ itself.  They are kind of like sub 
>> select over the entire result of the SELECT statement, something a subquery 
>> in the SELECT clause is unable to do.  As such window functions are not 
>> usually combined with GROUP BY.
>> 
>> This is because  window functions let you see the detail and the summary at 
>> the same time. They are kind of like spreadsheet expressions in that way.
>> 
>> For example:
>> SELECT date,value,last_value(value) over (partition by date order by value 
>> asc),first_value(value) over(partition by date),
>> sum(value) over (partition by date),
>> lag(value,2) over (partition by date)
>> From table
>> 
>> Shard-Query always stores the resultset in a table, so it can update the 
>> table for each window function result, which is calculated by a query.  You 
>> can look at the wf_* functions in shard-query for an implementation of each 
>> window function.  You could even add your own if you like.  If there is 
>> interest I can make that pluggable. 
>> 
>> You can see lots of examples in the test directory too, and s simple test 
>> data set.
>> 
>> --justin
>> 
>> Sent from my iPhone
>> 
>>> On Oct 2, 2015, at 8:26 PM, Roberto Spadim <robe...@spadim.com.br> wrote:
>>> 
>>> hum i'm thinking about the problem
>>> for example if we have an COUNT(*) or a SUM(value) or MAX(value) or 
>>> MIN(value) or anyother functions
>>> shouldn't be more rational allow the 'single thread' query execute and use 
>>> the GROUP_CONCAT function?
>>> ok it's not multi thread, but could the group_concat with limit 'optimize' 
>>> the shard query or single queries like this?
>>> 
>>> 2015-10-03 0:10 GMT-03:00 Roberto Spadim <robe...@spadim.com.br>:
>>>> nice :)
>>>> 
>>>> how it's "rewrite"?
>>>> 
>>>> 2015-10-02 22:25 GMT-03:00 Justin Swanhart <greenl...@gmail.com>:
>>>>> Hi,
>>>>> 
>>>>> You could use Shard-Query.  You don't need to shard the database, you can 
>>>>> point shard-query at one database.  It supports WINDOW functions.
>>>>> 
>>>>> select 
>>>>> date,
>>>>> FIRST_VALUE(value) OVER (ORDER BY value ASC),
>>>>> LAST_VALUE(value) OVER (ORDER BY value ASC)
>>>>> FROM some_table AS a
>>>>> GROUP BY date
>>>>> 
>>>>> --Justin
>>>>> 
>>>>>> On Fri, Oct 2, 2015 at 6:12 PM, Roberto Spadim <robe...@spadim.com.br> 
>>>>>> wrote:
>>>>>> Hi guys
>>>>>> I have a problem and a possible solution, that i think is relative easy 
>>>>>> to develop (i didn't tested but i think the source is easy to change)
>>>>>> 
>>>>>> i have some queries like:
>>>>>> 
>>>>>> 
>>>>>> SELECT 
>>>>>> date,
>>>>>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date ASC LIMIT 
>>>>>> 1) AS first,
>>>>>> (SELECT value FROM some_table WHERE date=a.date ORDER BY date DESC LIMIT 
>>>>>> 1) AS last
>>>>>> FROM some_table AS a
>>>>>> GROUP BY date
>>>>>> 
>>>>>> 
>>>>>> i want to "convert" the complex sub query, to a agregate function, and i 
>>>>>> thinking about group concat:
>>>>>> from mysql docs:
>>>>>> 
>>>>>> GROUP_CONCAT([DISTINCT] expr [,expr ...]
>>>>>>  [ORDER BY {unsigned_integer | col_name | expr}
>>>>>>  [ASC | DE

Re: [Maria-discuss] Group Concat and Sub Query

2015-10-02 Thread Justin Swanhart
Hi,

You could use Shard-Query.  You don't need to shard the database, you can
point shard-query at one database.  It supports WINDOW functions.

select
date,
FIRST_VALUE(value) OVER (ORDER BY value ASC),
LAST_VALUE(value) OVER (ORDER BY value ASC)
FROM some_table AS a
GROUP BY date

--Justin

On Fri, Oct 2, 2015 at 6:12 PM, Roberto Spadim 
wrote:

> Hi guys
> I have a problem and a possible solution, that i think is relative easy to
> develop (i didn't tested but i think the source is easy to change)
>
> i have some queries like:
>
>
> SELECT
> date,
> (SELECT value FROM some_table WHERE date=a.date ORDER BY date ASC LIMIT 1)
> AS first,
> (SELECT value FROM some_table WHERE date=a.date ORDER BY date DESC LIMIT
> 1) AS last
> FROM some_table AS a
> GROUP BY date
>
>
> i want to "convert" the complex sub query, to a agregate function, and i
> thinking about group concat:
> from mysql docs:
>
> GROUP_CONCAT([DISTINCT] *expr* [,*expr* ...]
>  [ORDER BY {*unsigned_integer* | *col_name* | *expr*}
>  [ASC | DESC] [,*col_name* ...]]
>  [SEPARATOR *str_val*])
>
>
> we have ORDER BY
> if we could include a "LIMIT" clause, i could rewrite this query to:
>
> SELECT
> date,
> GROUP_CONCAT(value ORDER BY date ASC LIMIT 1) AS first,
> GROUP_CONCAT(value ORDER BY date DESC LIMIT 1) AS last
> FROM some_table AS a
> GROUP BY date
>
>
> i know that i could have stats tables / materialized views (with flexview,
> i already tested :) ), but i want something more "easy to use" and not
> "very fast", just a "feature" to solve small problems
>
>
> it's a nice idea? does anyone have this "problem" and solve with other
> solutions?
>
> --
> Roberto Spadim
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt about merge table (10000+) with same structure

2015-09-23 Thread Justin Swanhart
You have a sharded table.  You could probably use shard-query.  If all tables 
are in same schema, you will need to create a new "fake" schema for each table:

Create schema s1;
Create view s1.the_table as select * from real_schema.table1;

Create schema s2;
Create view s2.the_table as select * from real_schema.table2;



Set up shard query with N shards, each pointing to on of the "fake" schema.

Select from the_table in Shard-Query to access all  the tables.   When you set 
up shard-query, use a fake shard-key so that all tables are always searched 
(they will be searched in parallel).


OR

Use a stored procedure.   It can use dynamic SQL to search each table and 
return a result set from each, since SP can return more than one result set.   
This is slower (no parallelism) but simpler.

Sent from my iPhone

> On Sep 23, 2015, at 2:32 AM,  
>  wrote:
> 
> Best thing to do it to try it but I suspect your hunch is correct.
>  
> Really, it would be a good idea to merge all your data into a single table. 
> Perhaps use partitioning 
> https://dev.mysql.com/doc/refman/5.5/en/partitioning.html which the optimizer 
> should be able to take advantage of.
>  
> From: Maria-discuss 
> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net] 
> On Behalf Of Roberto Spadim
> Sent: Wednesday, September 23, 2015 4:06 AM
> To: Maria Discuss
> Subject: [Maria-discuss] doubt about merge table (1+) with same structure
>  
> Hi again guys :)
>  
> i'm with a new problem
>  
> i have MANY (1+) tables with same struct, and i want to execute a select 
> from "some" (100+) tables 
>  
> i was thinking about creating a view with all tables, something like:
>  
> CREATE VIEW view_name AS 
> SELECT * FROM table1 WHERE primary_key=
> UNION ALL
> SELECT * FROM table2 WHERE primary_key=
> UNION ALL
> SELECT * FROM table3 WHERE primary_key=
> UNION ALL
> SELECT * FROM table4 WHERE primary_key=
> UNION ALL
> ...
> SELECT * FROM tablen WHERE primary_key=
>  
>  
> but i don't know if mysql optimizer will do a good job when i execute 
> something like:
>  
> SELECT * FROM view_name WHERE primary_key=
>  
> and just execute the query at table1 instead of al 1+ tables
>  
> i'm considering restruture database to a spider engine or any other method if 
> i don't have other option
>  
> any idea is well come
>  
> --
> Roberto Spadim
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] doubt about merge table (10000+) with same structure

2015-09-23 Thread Justin Swanhart
Hi,  I see the PK is the shard-key.  In that case shard-query will search only 
one table, but you will have to populate the mapping table so SQ knows in which 
table to look.

Sent from my iPhone

> On Sep 23, 2015, at 7:55 AM, Justin Swanhart <greenl...@gmail.com> wrote:
> 
> You have a sharded table.  You could probably use shard-query.  If all tables 
> are in same schema, you will need to create a new "fake" schema for each 
> table:
> 
> Create schema s1;
> Create view s1.the_table as select * from real_schema.table1;
> 
> Create schema s2;
> Create view s2.the_table as select * from real_schema.table2;
> 
> 
> 
> Set up shard query with N shards, each pointing to on of the "fake" schema.
> 
> Select from the_table in Shard-Query to access all  the tables.   When you 
> set up shard-query, use a fake shard-key so that all tables are always 
> searched (they will be searched in parallel).
> 
> 
> OR
> 
> Use a stored procedure.   It can use dynamic SQL to search each table and 
> return a result set from each, since SP can return more than one result set.  
>  This is slower (no parallelism) but simpler.
> 
> Sent from my iPhone
> 
>> On Sep 23, 2015, at 2:32 AM, <rhys.campb...@swisscom.com> 
>> <rhys.campb...@swisscom.com> wrote:
>> 
>> Best thing to do it to try it but I suspect your hunch is correct.
>>  
>> Really, it would be a good idea to merge all your data into a single table. 
>> Perhaps use partitioning 
>> https://dev.mysql.com/doc/refman/5.5/en/partitioning.html which the 
>> optimizer should be able to take advantage of.
>>  
>> From: Maria-discuss 
>> [mailto:maria-discuss-bounces+rhys.campbell=swisscom@lists.launchpad.net]
>>  On Behalf Of Roberto Spadim
>> Sent: Wednesday, September 23, 2015 4:06 AM
>> To: Maria Discuss
>> Subject: [Maria-discuss] doubt about merge table (1+) with same structure
>>  
>> Hi again guys :)
>>  
>> i'm with a new problem
>>  
>> i have MANY (1+) tables with same struct, and i want to execute a select 
>> from "some" (100+) tables 
>>  
>> i was thinking about creating a view with all tables, something like:
>>  
>> CREATE VIEW view_name AS 
>> SELECT * FROM table1 WHERE primary_key=
>> UNION ALL
>> SELECT * FROM table2 WHERE primary_key=
>> UNION ALL
>> SELECT * FROM table3 WHERE primary_key=
>> UNION ALL
>> SELECT * FROM table4 WHERE primary_key=
>> UNION ALL
>> ...
>> SELECT * FROM tablen WHERE primary_key=
>>  
>>  
>> but i don't know if mysql optimizer will do a good job when i execute 
>> something like:
>>  
>> SELECT * FROM view_name WHERE primary_key=
>>  
>> and just execute the query at table1 instead of al 1+ tables
>>  
>> i'm considering restruture database to a spider engine or any other method 
>> if i don't have other option
>>  
>> any idea is well come
>>  
>> --
>> Roberto Spadim
>> ___
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] writing plugin with .net language (C#)

2015-09-21 Thread Justin Swanhart
Hi,

My fastbit UDF use C++ 11 no problem.

https://github.com/greenlion/FastBit_UDF

On Fri, Sep 18, 2015 at 11:52 PM, Sergei Golubchik  wrote:

> Hi, Roberto!
>
> On Sep 18, Roberto Spadim wrote:
> > guys , i'm still with doubts... but not more about c#, now about c++
> > i was thinking about rewrite the code with c++
> >
> > my doubt is could i use C++ 11 ? or i will have problem with mariadb
> > makefiles etc etc?
>
> Sure, you  can use any language you want, C++11 is perfectly fine too.
> cmake doesn't care.
>
> Regards,
> Sergei
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] select using date_sub produces unwanted milliseconds in results

2015-09-19 Thread Justin Swanhart
My guess with no code inspection is that substr returns a string where s date 
literal string is a date literal (parser handles this).  As such the string 
conversion to date probably produces a time with microsecond resolution, so you 
see 0 microseconds.  This is likely because concat returns the data type of the 
first argument, which is a date literal, but substr returns string, which must 
be cast internally.

--Justin

Sent from my iPhone

> On Sep 19, 2015, at 3:53 PM, Dan Ragle  wrote:
> 
> We're converting from MySQL 5.1 to MariaDB 5.5.44 and I'm hoping someone can 
> help clarify for me what's going on in the following scenario. In brief, 
> we're getting milliseconds displayed in a particular date_sub calculation 
> (and possibly other selects with date arithmetic, trying to figure out how to 
> track them down is part of the goal of this post) where we aren't expecting 
> them.
> 
> MariaDB [testdb]> show variables like '%version%';
> +-+-+
> | Variable_name   | Value   |
> +-+-+
> | innodb_version  | 5.5.43-MariaDB-37.2 |
> | protocol_version| 10  |
> | slave_type_conversions  | |
> | version | 5.5.44-MariaDB-log  |
> | version_comment | MariaDB Server  |
> | version_compile_machine | x86_64  |
> | version_compile_os  | Linux   |
> +-+-+
> 7 rows in set (0.00 sec)
> 
> MariaDB [testdb]> show create table test \G
> *** 1. row ***
>   Table: test
> Create Table: CREATE TABLE `test` (
>  `datetime` datetime NOT NULL
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select datetime from test;
> Field   1:  `datetime`
> Catalog:`def`
> Database:   `velocitynorep`
> Table:  `test`
> Org_table:  `test`
> Type:   DATETIME
> Collation:  binary (63)
> Length: 19
> Max_length: 19
> Decimals:   0
> Flags:  NOT_NULL BINARY NO_DEFAULT_VALUE
> 
> +-+
> | datetime|
> +-+
> | 2015-09-18 09:23:21 |
> +-+
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select date_sub(datetime,interval 1 second) from test;
> Field   1:  `date_sub(datetime,interval 1 second)`
> Catalog:`def`
> Database:   ``
> Table:  ``
> Org_table:  ``
> Type:   DATETIME
> Collation:  binary (63)
> Length: 19
> Max_length: 19
> Decimals:   0
> Flags:  BINARY
> 
> 
> +--+
> | date_sub(datetime,interval 1 second) |
> +--+
> | 2015-09-18 09:23:20  |
> +--+
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select substr(datetime,1,13) from test;
> Field   1:  `substr(datetime,1,13)`
> Catalog:`def`
> Database:   ``
> Table:  ``
> Org_table:  ``
> Type:   VAR_STRING
> Collation:  utf8_general_ci (33)
> Length: 39
> Max_length: 13
> Decimals:   31
> Flags:  NOT_NULL
> 
> +---+
> | substr(datetime,1,13) |
> +---+
> | 2015-09-18 09 |
> +---+
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select concat(substr(datetime,1,13),':00:00')
>-> from test;
> Field   1:  `concat(substr(datetime,1,13),':00:00')`
> Catalog:`def`
> Database:   ``
> Table:  ``
> Org_table:  ``
> Type:   VAR_STRING
> Collation:  utf8_general_ci (33)
> Length: 57
> Max_length: 19
> Decimals:   31
> Flags:  NOT_NULL
> 
> ++
> | concat(substr(datetime,1,13),':00:00') |
> ++
> | 2015-09-18 09:00:00|
> ++
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select concat('2015-09-18 09',':00:00');
> Field   1:  `concat('2015-09-18 09',':00:00')`
> Catalog:`def`
> Database:   ``
> Table:  ``
> Org_table:  ``
> Type:   VAR_STRING
> Collation:  utf8_general_ci (33)
> Length: 57
> Max_length: 19
> Decimals:   31
> Flags:  NOT_NULL
> 
> 
> +--+
> | concat('2015-09-18 09',':00:00') |
> +--+
> | 2015-09-18 09:00:00  |
> +--+
> 1 row in set (0.00 sec)
> 
> MariaDB [testdb]> select date_sub(concat('2015-09-18 09',':00:00'),
>-> interval 1 second);
> Field   1:  `date_sub(concat('2015-09-18 09',':00:00'),
> interval 1 second)`
> Catalog:`def`
> Database:   ``
> Table:  ``
> Org_table:  ``
> Type:   STRING
> Collation:  binary (63)
> Length: 19
> Max_length: 19
> Decimals:   0
> Flags:  BINARY
> 
> 
> +---+
> | date_sub(concat('2015-09-18 

Re: [Maria-discuss] writing plugin with .net language (C#)

2015-09-14 Thread Justin Swanhart
Hi,

You could try:

class DaemonPlugin
{
  [DllExport("add",CallingConvention = CallingConvention.Cdecl)]
  public static int add(int left, int right)
  {
 return left + right;
  }
}

Then write a C++ wrapper around the exported classes.  I don't think C#
will be able to handle the pointers from the MySQL plugin API (or to do so
would be tremendously cumbersome) so a wrapper around the .NET exported
.NET code which handles the C memory management, etc, needed for a plugin
will work best.

I don't know much about this.  I learned the above from a few google
searches, but hopefully it will get you going in the right direction.

Regards,

--Justin




On Mon, Sep 14, 2015 at 4:15 AM, Roberto Spadim 
wrote:

> Hi guys!
> Nice :) +1 for this job, i will try
>
> Em segunda-feira, 14 de setembro de 2015, Sergei Golubchik <
> s...@mariadb.org> escreveu:
>
>> Hi, Roberto!
>>
>> On Sep 13, Roberto Spadim wrote:
>> > Hi guys,
>> > I have a program wrote in c#, it process some code and the result is a
>> > struct (an array of string/double/int)
>> > I want to include this program inside mariadb server as a daemon plugin
>> (to
>> > process data) + a storage engine (to read struct data)
>> >
>> > is that possible? considering that i can write dll with .net?
>> > what about write this to linux (.so files) ?
>>
>> I think it's possible, why not? You might need a thin layer of the
>> interface code in C (seeing your code, I believe you can do that easily
>> :),
>> and the main logic in C#. On Linux you can, perhaps, use Mono.
>>
>> But I haven't heard of anyone doing that, so I don't know of any
>> specific pitfalls that you might face on this way.
>>
>> Regards,
>> Sergei
>>
>
>
> --
> Roberto Spadim
> SPAEmpresarial - Software ERP
> Eng. Automação e Controle
>
>
> ___
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-discuss] will maria db overcome mysqls feature limitations? (foreign keys+triggers, recursive triggers)

2015-07-19 Thread Justin Swanhart
Hi,

Foreign keys need support in SE to fix the first item.  Cascading
operations don't work for triggers, but even worse, they don't work for RBR
replication if a) storage engines differ on master and slave or b) the
slave lacks the constraints.  This is because InnoDB does cascade
operations internally, because the SE interface doesn't support foreign
keys, thus the cascade operations only work on the slave if the SE matches
and the constraints match.  This basically is a RBR/pseudo-SBR mix that
simply doesn't work.

--Justin

On Sun, Jul 19, 2015 at 2:19 AM, Sergei Golubchik s...@mariadb.org wrote:

 Hi, Ludwig!

 On Jun 21, Ludwig Gramberg wrote:
  Hi,
 
  I was wondering if mariadb plans to overcome mysqls limitations such as
  - foreign key operations do not start triggers
  - triggers can’t be recursive (error 1442)

 I haven't heard about any plans about these specific limitations.
 That's because nobody requested that yet.

 But by all means, do request these feature requests at mariadb.org/jira
 and then we will certainly consider them for the next major version (and
 then for the following major version if they won't made it into the
 next, and so on).

  But besides additional features, is there a chance that mariadb could
  ever overcome limitations?  Is this even a goal of this project?

 Yes, sure. But we cannot do everything at once, so we prioritize
 tasks that our users wants us to do.

 Regards,
 Sergei

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

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


Re: [Maria-discuss] will maria db overcome mysqls feature limitations? (foreign keys+triggers, recursive triggers)

2015-07-19 Thread Justin Swanhart
great! 

Sent from my iPhone

 On Jul 19, 2015, at 10:51 AM, Sergei Golubchik s...@mariadb.org wrote:
 
 Hi, Justin!
 
 On Jul 19, Justin Swanhart wrote:
 Hi,
 
 Foreign keys need support in SE to fix the first item.  Cascading
 operations don't work for triggers, but even worse, they don't work
 for RBR replication if a) storage engines differ on master and slave
 or b) the slave lacks the constraints.  This is because InnoDB does
 cascade operations internally, because the SE interface doesn't
 support foreign keys, thus the cascade operations only work on the
 slave if the SE matches and the constraints match.  This basically is
 a RBR/pseudo-SBR mix that simply doesn't work.
 
 Right. My first idea was to add some kind of a callback for a storage
 engine to inform the server about cascading operation. Then it could
 fire a trigger.
 
 We already can fire triggers for low-level row operations, this is used
 in our RBR triggers feature:
 https://mariadb.com/kb/en/mariadb/running-triggers-on-the-slave-for-row-based-events/
 
 Regards,
 Sergei

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


  1   2   >