← Back to team overview

maria-discuss team mailing list archive

Re: writing plugin with .net language (C#)

 

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 <nirbhay@xxxxxxxxxxx>:

> Hello,
>
> On Sun, Oct 4, 2015 at 9:05 AM, Guillaume Lefranc <
> guillaume.lefranc@xxxxxxxxxxx> 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 <roberto@xxxxxxxxxxxxx>
>> 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 <greenlion@xxxxxxxxx>:
>>>
>>>> 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 <roberto@xxxxxxxxxxxxx>
>>>> 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 <roberto@xxxxxxxxxxxxx>:
>>>>
>>>>> :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 <greenlion@xxxxxxxxx>:
>>>>>
>>>>>> 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 <serg@xxxxxxxxxxx>
>>>>>> 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@xxxxxxxxxxxxxxxxxxx
>>>>>>> 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
>>>>
>>>>
>>>
>>>
>>> --
>>> Roberto Spadim
>>> SPAEmpresarial - Software ERP
>>> Eng. Automação e Controle
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~maria-discuss
>>> Post to     : maria-discuss@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to     : maria-discuss@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>


-- 
Roberto Spadim
SPAEmpresarial - Software ERP
Eng. Automação e Controle

Follow ups

References