Hi Patrick,

Theres no plans on changing function names but those with my_bool as the
return type will be changed to bool... so we might come across conflicts ;-)

Saying that, when is your work going to be merged to the trunk? I could
either merge your tree now and keep working on that, or if its going to be
merged to the trunk soon then I can wait for that and face possible merge
conflicts then.

I don't think we'll face anything nasty though :)

Cheers,
Toru

I won't be changing the

On Thu, Jul 24, 2008 at 9:41 PM, Patrick Galbraith <[EMAIL PROTECTED]> wrote:

> Toru, Monty,
>
> I've converted drizzle.h, now working on client.c/libdrizzle, then client
> programs - just renames so far. Hopefully everything you do will merge with
> my changes ;) </anticipation> You aren't changing any names, correct? Just
> making sure.
>
> --Patrick
>
> Toru Maesaka wrote:
>
>> Hi guys,
>>
>> Letting you all know that I've begun working on freeing libdrizzle from
>> mysys. So far I've replaced my_malloc/my_free with malloc(3)/free(3) and I'm
>> about to get rid of my_bools. Hopefully libdrizzle will be freed from mysys
>> in no time :)
>>
>> Btw, the branch I'm working with is
>> lp:~dev-torum/drizzle/libdrizzle-cleanup
>>
>> Cheers,
>> Toru
>>
>> On Thu, Jul 24, 2008 at 7:03 AM, Monty Taylor <[EMAIL PROTECTED]<mailto:
>> [EMAIL PROTECTED]>> wrote:
>>
>>    Jay Pipes wrote:
>>    > OK, Patrick and MontyT, I have set up all the tasks and subtasks on
>>    > Launchpad as blueprints, and added dependencies between them.
>>     Some have
>>    > already been assigned to each of you.
>>    >
>>    > Like I mentioned to Monty on IRC, here is what I propose for
>>    development
>>    > process of these interrelated tasks:
>>    >
>>    > The easiest way to work on this stuff is bzr branch from trunk
>>    into a
>>    > local branch named the same as the blueprint task (takes care of
>>    > uniqueness there!) and then push to
>>    ~mordred/drizzle/blueprint-name.  I
>>    > will then take care of merges into the depending branches locally,
>>    > resolve conflicts, and push a branch to the
>>    > ~drizzle-developers/drizzle/medium-blueprint-name
>>    >
>>    > Work for everyone?
>>
>>    Yes ... except I think that in some cases we might be able to merge
>>    directly back to trunk, depending on the blueprint and the state of
>>    other work, etc... but that's what communication is all about!
>>
>>    > -jay
>>    >
>>    > Monty Taylor wrote:
>>    >> Jay Pipes wrote:
>>    >>> Monty Taylor wrote:
>>    >>>> Yes. That should be DRIZZLE *...
>>    >>>> Ok. I think I have officially drug this branch down the
>>    rathole. I'm
>>    >>>> terribly sorry for wrecking work and delaying DBD::drizzle...
>>    >>> Don't apologize, there is no need to. :)
>>    >> Thanks guys.
>>    >>
>>    >>>> Jay just sent me an email about his work in the tree today,
>>    which came
>>    >>>> to the sensible conclusion that the changes I was committing
>>    were too
>>    >>>> interwoven to be able to backtrack through them
>>    successfully... and he's
>>    >>>> totally right.
>>    >>>>
>>    >>>> Jay is going to look at starting from scratch from trunk and
>>    starting to
>>    >>>> apply the patches one bit at a time. (I think I know where it
>>    broke, but
>>    >>>> it's all too much atm)
>>    >>>>
>>    >>>> I think we should/can divvy this up a bit, so we don't (and
>>    by we, this
>>    >>>> week I seem to mean me) break each other's work.
>>    >>>>
>>    >>>> SO, I propose these related but unrelated tasks.
>>    >>> Yes, small, bitesize tasks, each attached to a blueprint which
>>    can be
>>    >>> made dependent on each other.  Create a branch for each small
>>    task,
>>    >>> attached to the blueprint.  Merge proposals will go from small
>>    task
>>    >>> branch -> medium task branch -> large task branch ->trunk.  I
>>    am happy
>>    >>> to manage the blueprint dependencies and simply assign them to
>>    you and
>>    >>> Patrick as you want them...I am also working on putting together a
>>    >>> buildbot master soon so we can start automating builds and tests.
>>    >> I mostly agree, but I'm not 100% sure each of the bullet points
>>    needs to
>>    >> be a full blueprint/branch on its own, since some of the bullet
>>    points
>>    >> weren't split by task as much as just to try to remember each
>>    bit... but
>>    >> I'm good either way.
>>    >>
>>    >>>> TASK ONE: Rename mysql to drizzle OR to something more
>>    generic where it
>>    >>>> will touch storage engines. This includes:
>>    >>> The above is a medium task, composed of the below small tasks...
>>    >>>
>>    >>>>   - Replacing use of the MYSQL_TYPE_* constants to FIELD_*
>>    >>>>   - Renaming MYSQL_* types in drizzle.h to DRIZZLE_*
>>    >>>>   - Renaming MYSQL* defines to DRIZZLE*
>>    >>>>   - Changing mysql_init() to drizzle_create()
>>    >> Forgot to add:
>>    >>
>>    >> - Rename mysql_* functions to drizzle_*
>>    >>
>>    >> doh.
>>    >>
>>    >>> Cool. :)
>>    >>>
>>    >>>>   - Moving my_thread_init(), my_net_init(), etc. into
>>    drizzle_create()
>>    >>> Excellent.
>>    >>>
>>    >>>>   - Rename mysql_real_* to just drizzle_*
>>    >>> Or killing them off completely.  If it smells like a hack, it
>>    probably is....
>>    >> Yes... most of the *_real_* methods are stupid wrappers around
>>    old calls
>>    >> in an attempt to ease ABI transitions. But I don't care about
>>    that...
>>    >>
>>    >> Also, might want to add:
>>    >>
>>    >> - Rename functions starting with cli_*
>>    >>
>>    >> that might be short for "client" (which is overused word
>>    anyway) but it
>>    >> makes me think "Command Line Interface", so I hate it.
>>    >>
>>    >>>> (I think I can re-do the first four bullets above pretty
>>    quickly now
>>    >>>> that I know where it's all hanging together. I'd like someone
>>    else to
>>    >>>> look at bullet 5 - I think it needs a different set of eyes.)
>>    >>> Happy to.
>>    >>>
>>    >>>> TASK TWO: Remove the mysys/mystrings depends from libdrizzle.
>>    The main
>>    >>>> depends are charsets, my_malloc/my_free, some lame string
>>    manipulation
>>    >>>> functions (and one nice one), bad header file organization
>>    and errors.
>>    >>>> (Could conceivably be done in parallel... but probably should
>>    wait for
>>    >>>> the above to be done and merged)
>>    >>> Again, this is a medium task with the following smaller tasks.
>>     What
>>    >>> should be decided is whether indeed this can be done in
>>    parallel or this
>>    >>> is dependent on the above tasks being completed.  I suspect
>>    that they
>>    >>> can be done in parallel but in separate, smaller trees.
>>    >> Yes, you are probably right here.
>>    >>
>>    >>>>   - Replacing my_malloc/my_free with normal malloc/free
>>    >>> Sure, but some places should not be a blanket replacement.  I
>>    noticed a
>>    >>> couple places in your tree where my_multi_malloc() was
>>    replaced with
>>    >>> many small malloc calls, which is not efficient...perhaps for
>>    now tackle
>>    >>> single malloc calls.  IMHO, For this tree, it is essential
>>    that valgrind
>>    >>> be run cleanly before any merge into another tree...
>>    >> Agree. What do you think we should do with my_multi_malloc?
>>    Also, some
>>    >> of the my_free calls when replaced need to be prefixed with a
>>    >> if (bla!=NULL)  protection.
>>    >>
>>    >>>>   - Removing use of non-standard string functions
>>    >>>>   - Removing charset references from libdrizzle (make the lib
>>    send the
>>    >>>>       bytes the programmer sends)
>>    >>> Heh, these two might have to wait a bit...
>>    >> Non-standard string functions in libdrizzle turned out to be
>>    surpisingly
>>    >> easy to eradicate.
>>    >>
>>    >> The charset references actually also aren't _too_ terrible... but I
>>    >> agree, there is a larger conversation here... but it's got to
>>    go if we
>>    >> want libsys out of libdrizzle - or we've got to figure out a way to
>>    >> sensibly pull in only the bits we absolutely have to have
>>    >>
>>    >>>>   - Moving some stuff around in headers (I think I did this
>>    mostly
>>    >>>>       right, so most of this can be copied verbatim)
>>    >>>>   - Removing use of MEM_ROOT in libdrizzle. This most affects
>>    >>>>       MYSQL_FIELD and MYSQL_ROWS. While we're at it, we curse the
>>    >>>>       MYSQL_ROWS implementation. (BTW Stewart - the first
>>    time I did
>>    >>>>       this, I was yearning for talloc...)
>>    >>> This is a medium task in itself in my opinion, even if only for
>>    >>> libdrizzle.  Messing with MEM_ROOT is a serious undertaking.
>>     I would
>>    >>> recommend moving this to a separate medium task and branch.
>>    >> Agree. There are a couple of places where it especially sucks. But
>>    >> definitely only talking about libdrizzle.
>>    >>
>>    >>>> TASK THREE: Figuring out what to do with the ER() macros and
>>    >>>> client_errors[] (NOT RELATED TO THE ABOVE... CAN BE PARALLEL)
>>    >>>>       (I didn't do this right the first time at all)
>>    >>>>   This whole thing is a mess, as there are global static
>>    arrays that are
>>    >>>>   shared between client and server, and we generate these
>>    things with
>>    >>>>   comp_err. I'd say it's a later design issue to be solved,
>>    but it's
>>    >>>>   keeping libdrizzle tied to mysys... and it's a spiderweb
>>    anyway.
>>    >>> This task should be dependent on both medium task 1 and 2 (b/c of
>>    >>> changes to the same files in #1 and movement of header files
>>    in #2)
>>    >> Agree.
>>    >>
>>    >> I should also mention that there are a couple of places where
>>    the IMPL
>>    >> code of libdrizzle references mysqld errors (ER_*) as a protocol
>>    >> library, this is insane... either the error codes are ones
>>    defined by
>>    >> the protocol (in which case they should be defined by the lib)
>>    or they
>>    >> are internal mysqld errors, in which case the client should
>>    never see them.
>>    >>
>>    >>>> Once all of that is done and all still compiles and is
>>    merged, _then_ we
>>    >>>> can tackle (instead of doing it all in one fell swoop):
>>    >>>>
>>    >>>> - Removing references to deprecated things in client/
>>    >>>>
>>    >>>>   - Password support functions
>>    >>>>   - Unix Domain Sockets
>>    >>>>   - Shared Memory
>>    >>>>   - Embedded Server
>>    >>>>   (but keeping the command line options as null-ops for now)
>>    >>> Yep, medium task with subtasks all dependent on #1,2,3.
>>    >> Agree.
>>    >>
>>    >>>> - Removing mysys/mystrings from client/
>>    >>> This is going to be a larger debate. ;)
>>    >> Tell me about it. :)
>>    >>
>>    >>>> - moving mysqlbinlog to a binlog dir, which will eventually
>>    also house
>>    >>>> binlong related files from server/ for a libbinlog ... but
>>    that's a
>>    >>>> whole other thing.
>>    >>> Sure.
>>    >>>
>>    >>>> Hopefully if we do it right, dormando and krow can continue
>>    working on
>>    >>>> the blocking/non-blocking IO issue, and possibly krow's
>>    interest in
>>    >>>> removing vio...
>>    >>> Sure.
>>    >>>
>>    >>>> At this point, libdrizzle can become a source package with no
>>    external
>>    >>>> depends. and we can:
>>    >>>>
>>    >>>> - Rearrange/split up header files and code for libdrizzle -
>>    sort of like
>>    >>>> how libmemcached is - file for DRIZZLE_ROW, file for
>>    DRIZZLE_FIELD, etc.
>>    >>> Yep, this is the last major task...
>>    >>>
>>    >>>> Thoughts/comments? Bricks to the head? If this sounds good to
>>    you guys,
>>    >>>> I'll transfer it to the blueprint...
>>    >>> Happy to help.  Shall we get going? :)
>>    >> Hell yes.
>>    >>
>>    >>> -jay
>>    >>>
>>    >>>> Monty
>>    >>>>
>>    >>>> Patrick Galbraith wrote:
>>    >>>>> Monty,
>>    >>>>>
>>    >>>>> Now I get this error:
>>    >>>>>
>>    >>>>> o -MD -MP -MF ".deps/linktest.Tpo" -c -o linktest.o
>>    linktest.c; \
>>    >>>>> then mv -f ".deps/linktest.Tpo" ".deps/linktest.Po"; else rm -f
>>    >>>>> ".deps/linktest.Tpo"; exit 1; fi
>>    >>>>> linktest.c:2:25: error: mysql/mysql.h: No such file or directory
>>    >>>>> linktest.c: In function 'main':
>>    >>>>> linktest.c:13: error: 'MYSQL' undeclared (first use in this
>>    function)
>>    >>>>> linktest.c:13: error: (Each undeclared identifier is
>>    reported only once
>>    >>>>> linktest.c:13: error: for each function it appears in.)
>>    >>>>> linktest.c:13: error: expected ';' before 'my'
>>    >>>>> linktest.c:15: error: 'my' undeclared (first use in this
>>    function)
>>    >>>>> make[1]: *** [linktest.o] Error 1
>>    >>>>>
>>    >>>>> So, linktest.c has:
>>    >>>>>
>>    >>>>> nt main(int argc, char** argv) {
>>    >>>>>
>>    >>>>> (void)argc;
>>    >>>>> (void)argv;
>>    >>>>>
>>    >>>>> MYSQL my;
>>    >>>>>
>>    >>>>> ...
>>    >>>>>
>>    >>>>> Shouldn't it be DRIZZLE my ?
>>    >>>>>
>>    >>>>> Monty Taylor wrote:
>>    >>>>>> Patrick Galbraith wrote:
>>    >>>>>>
>>    >>>>>>> Monty Taylor wrote:
>>    >>>>>>>
>>    >>>>>>>> I stuck a file called "linktest.c" into the libdrizzle
>>    dir to test for
>>    >>>>>>>> missing symbols in libdrizzle while we were removing
>>    depends. Sounds
>>    >>>>>>>> like it got removed.
>>    >>>>>>>>
>>    >>>>>>>> Patrick Galbraith wrote:
>>    >>>>>>>>
>>    >>>>>>>>> I have all the client calls renamed to drizzle_xxx and when
>>    >>>>>>>>> compiling, get this error that doesn't tell me much:
>>    >>>>>>>>>
>>    >>>>>>>>> creating libdrizzle.la <http://libdrizzle.la>
>>    >>>>>>>>> (cd .libs && rm -f libdrizzle.la <http://libdrizzle.la>
>>    && ln -s ../libdrizzle.la <http://libdrizzle.la>
>>    >>>>>>>>> libdrizzle.la <http://libdrizzle.la>)
>>    >>>>>>>>> make[1]: *** No rule to make target `linktest.o', needed by
>>    >>>>>>>>> `linktest'.  Stop.
>>    >>>>>>>>>
>>    >>>>>>>>> That's the only error, everything else seems to go fine. Any
>>    >>>>>>>>> thoughts? I could push this to a special tree if anyone
>>    wants to look
>>    >>>>>>>>> at it.
>>    >>>>>>>>>
>>    >>>>>>>>> --Patrick
>>    >>>>>>>>>
>>    >>>>>>>>>
>>    >>>>>>> Monty,
>>    >>>>>>>
>>    >>>>>>> Could you please re-commit/push  ? ;)
>>    >>>>>>>
>>    >>>>>> Yes! Committing-pushing right now!
>>    >>>>>>
>>    >>>>>> Monty
>>    >>>>>>
>>    >
>>
>>
>>    _______________________________________________
>>    Mailing list: 
>> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
>>    <https://launchpad.net/%7Edrizzle-discuss>
>>    Post to     : [email protected]
>>    <mailto:[email protected]>
>>    Unsubscribe : 
>> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
>>    <https://launchpad.net/%7Edrizzle-discuss>
>>    More help   : https://help.launchpad.net/ListHelp
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Mailing list: 
>> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
>> Post to     : [email protected]
>> Unsubscribe : 
>> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
>
> Satyam Eva Jayate - Truth Alone Triumphs
> Mundaka Upanishad
>
>
>
>
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to