Toru Maesaka wrote:
> 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.

It's ready to be merged now...

> 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]
> <mailto:[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]>
>         <mailto:[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>
>         <http://libdrizzle.la>
>            >>>>>>>>> (cd .libs && rm -f libdrizzle.la
>         <http://libdrizzle.la> <http://libdrizzle.la>
>            && ln -s ../libdrizzle.la <http://libdrizzle.la>
>         <http://libdrizzle.la>
>            >>>>>>>>> libdrizzle.la <http://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]>
>            <mailto:[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]
>         <mailto:[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