pbxt-discuss team mailing list archive
-
pbxt-discuss team
-
Mailing list archive
-
Message #00023
Re: goal 0 of embedde pbxt reached ||
Hello Paul,
Paul McCullagh wrote:
> Hi Martin,
>
> (If possible it would be great if you could switch to text e-mails. I
> find quoting is strange and fonts are small in HTML e-mails.)
Wasn't aware of my google apps account sending html emails. Sorry for
that! Should be fixed now.
>
> No, PBXT can do everything:
>
> XTDDTable *xt_ri_create_table(XTThreadPtr self, bool convert,
> XTPathStrPtr tab_path, char *sql, XTDDTable *my_tab, struct XTDictionary
> *source_dic);
Right. Thank you once more, Paul!
[snip]
>
>>
>> It is also pretty much the division of work between MySQL code and
>> PBXT today. However, the division is not so clear in the code.
>>
>>
>> - else, should table serialization / deserialization be pluggable or
>> even be purely programmatic? I am fine with this, too, as it is an
>> _embedded_ library and I'd guess most people will control pbx
>> programmatically anyways
>>
>> Although I spoke mainly about the textual interface above, I am really
>> flexible on this. I think both solutions have there advantages.
>>
>> Use whichever is best and easiest for you at the moment, which may be
>> simply writing your own stuff! :)
>> I guess hardcoding table definitions will be the most easy way for now.
>
> OK, so the wrapper class would just know the format of the tables?
I'd guess so. I am just reading the code related to ha_pbxt::open to
understand how tables are actually opened.
My thinking is this: hook into the .frm-loading code the strategy design
pattern. By this different concrete table metadata de-/serializations
are possible, with the hard-coded flavour being the first. Makes sense?
Or even stick to drizzle's table.proto completely and leaving everything
elese out. The de-/serialization part is then just trivial. We could
even store the protobuf definitions in a special system row file... :-)
There really is not much code involved doing this, except the
automake/autoconf-part which I don't know much about.
What do you think should be done?
Martin
Follow ups
References