On Wed, 2006-06-21 at 15:08 +0530, Girish Maskeri Rama wrote:
> Layer 3 (Application/top level) : client, libmysql, libmysqld,
> libmysql_r, tests, mysql-test
the real front ends here are only libmysql, libmysql_r and libmysqld
tests, mysql-test and client just use these.
in reality, libmysql(_r) talks a network protocol to the SQL server
(the bottom few layers). but these libs can also use the layer 0 utils.
> Layer 2 (QueryProcessing) : sql
>
> Layer 1 (StorageManagement) : heap, innobase, myisam, ndb, isam,
> bdatabase, myisammrg, merge
>
> Layer 0 (library/utilities) :
> mysys,cmd-line-utils,extra,netware,os2,pstack,regex,zlib,vio,strings,SSL
> ,support-files,tools,include,dbug
>
OS/2 support is gone.
include isn't really a module.
same with tools.
> The rationale for this layering is that the layer above would use the
> services provided by layers below.
okay.
> We have a couple of questions:
>
> 1. There are 3 versions of sql_string.h : client/sql_string.h,
> libmysqld/sql_string.h and sql/sql_string.h. Do we need 3 versions?
likely just symlinks.
> 2. libmysqld has a copy of many files that exist in other
> directories (eg. Sql_cache.cc exists in both libmysqld and sql) So if
> one of the files change would you not have to make changes in both the
> places?
likely just symlinks.
libmysqld is the embedded server - largely the same as the normal server
without a bunch of features and with some extra #defines set to do some
specific things. it runs the mysql "server" inside your application.
> 3. There are function calls from sql (in layer 2) to libmysqld (in
> layer 3) . For example function "query_cache_end_of_result" in file
> sql/sql_cache.cc calls the function "emb_count_querycache_size" in file
> libmysqld/emb_qcache.cc. Is this intended?
probably in #ifdef
--
Stewart Smith, Software Engineer
MySQL AB, www.mysql.com
Office: +14082136540 Ext: 6616
VoIP: 6616@stripped
Mobile: +61 4 3 8844 332
Jumpstart your cluster:
http://www.mysql.com/consulting/packaged/cluster.html
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc