Index:=20test/erlydb/erlydb_test.erl=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A---=20=
test/erlydb/erlydb_test.erl=09(revision=20245)=0A+++=20=
test/erlydb/erlydb_test.erl=09(working=20copy)=0A@@=20-31,8=20+31,9=20@@=0A=
=20=0D=0A=20=0D=0A=20code_gen(Database)=20->=0D=0A-=20=20=20=20=
erlydb:code_gen(Database,=20[language,=20project,=20developer,=20=
musician,=20employee,=20=0D=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20person,=20customer,=20=
store,=20item],=20[]).=0D=0A+=20=20=20=20Modules=20=3D=20[language,=20=
project,=20developer,=20musician,=20employee,=20=0D=0A+=09=20=20=20=20=20=
=20=20person,=20customer,=20store,=20item],=0D=0A+=20=20=20=20=
erlydb:code_gen(Modules,=20Database,=20[]).=0D=0A=20=0D=0A=20test()=20->=0D=
=0A=20=20=20=20=20test(mysql).=0D=0A@@=20-199,9=20+200,9=20@@=0A=20=09=20=
=20fun(Developer)=20->=0D=0A=20=09=09=20=20developer:save(Developer)=0D=0A=
=20=09=20=20end,=0D=0A-=09=20=20[developer:new(<<"Joe=20Armstrong">>,=20=
<<"Sweden">>),=0D=0A-=09=20=20=20developer:new(<<"Ulf=20Wiger">>,=20=
<<"Sweden">>),=0D=0A-=09=20=20=20developer:new(<<"Claes=20(Klacke)=20=
Wikstrom">>,=20<<"Sweden">>)]),=0D=0A+=09=20=20=
[developer:new_with([{name,<<"Joe=20Armstrong">>},=20=
{country,<<"Sweden">>}]),=0D=0A+=09=20=20=20=
developer:new_with([{name,<<"Ulf=20Wiger">>},=20=
{country,<<"Sweden">>}]),=0D=0A+=09=20=20=20=
developer:new_with([{name,<<"Claes=20(Klacke)=20Wikstrom">>},=20=
{country,<<"Sweden">>}])]),=0D=0A=20=0D=0A=20=20=20=20=20%%=20Add=20some=20=
developers=20to=20our=20projects=0D=0A=20=20=20=20=20ok=20=3D=20=
project:add_developer(OTP,=20Joe),=0D=0A@@=20-258,10=20+259,10=20@@=0A=20=
=0D=0A=20=20=20=20=20Musicians=20=3D=0D=0A=20=09[=0D=0A-=09=20=
musician:new(<<"Jimmy">>,=2026,=20<<"USA">>,=20<<"Rock">>,=20=
<<"Guitar">>),=0D=0A-=09=20musician:new(<<"Janis">>,=2027,=20<<"USA">>,=20=
<<"Blues">>,=20<<"Vocals">>),=0D=0A-=09=20musician:new(<<"Jim">>,=2028,=20=
<<"Australia">>,=20<<"Rock">>,=0D=0A-=09=09=20=20=20=20=20=20=
<<"Vocals">>)],=0D=0A+=09=20musician:new(26,=20<<"USA">>,=20<<"Rock">>,=20=
<<"Guitar">>,<<"Jimmy">>),=0D=0A+=09=20musician:new(27,=20<<"USA">>,=20=
<<"Blues">>,=20<<"Vocals">>,<<"Janis">>),=0D=0A+=09=20musician:new(28,=20=
<<"Australia">>,=20<<"Rock">>,=0D=0A+=09=09=20=20=20=20=20=20=
<<"Vocals">>,=20<<"Jim">>)],=0D=0A=20=20=20=20=20=0D=0A=20=20=20=20=20=
lists:map(fun(M)=20->=0D=0A=20=09=09=20=20=20=20=20=20musician:save(M)=0D=
=0AIndex:=20test/test.bat=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A---=20=
test/test.bat=09(revision=20245)=0A+++=20test/test.bat=09(working=20=
copy)=0A@@=20-1,4=20+1,4=20@@=0A-erlc=20make_test.erl=0D=0A-mkdir=20=
mnesia=0D=0A-erl=20-run=20make_test=20-pa=20../ebin=20-mnesia=20dir=20=
'"./mnesia"'=0D=0A-=0D=0A+erlc=20make_test.erl=0A+mkdir=20mnesia=0A+erl=20=
-run=20make_test=20-pa=20../ebin=20-mnesia=20dir=20'"./mnesia"'=0A+=0A=
Index:=20Emakefile=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A---=20Emakefile=09=
(revision=20245)=0A+++=20Emakefile=09(working=20copy)=0A@@=20-1,5=20+1,5=20=
@@=0A-{"src/erlyweb/*",=20[debug_info,=20{outdir,=20"ebin"},=20=
{i,"/opt/local/lib/yaws/include"}]}.=0A-%{"src/erlyweb/*",=20=
[debug_info,=20{outdir,=20"ebin"},=20{i,"/Users/yariv/yaws/include"}]}.=0A=
+%{"src/erlyweb/*",=20[debug_info,=20{outdir,=20"ebin"},=20=
{i,"/opt/local/lib/yaws/include"}]}.=0A+{"src/erlyweb/*",=20[debug_info,=20=
{outdir,=20"ebin"},=20{i,"../yaws/include"}]}.=0A=20{"src/erlydb/*",=20=
[debug_info,=20{outdir,=20"ebin"}]}.=0A=20{"src/erlsql/*",=20=
[debug_info,=20{outdir,=20"ebin"}]}.=0A=20{"src/erltl/*",=20[debug_info,=20=
{outdir,=20"ebin"}]}.=0AIndex:=20src/erlydb/erlydb_mnesia.erl=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A---=20=
src/erlydb/erlydb_mnesia.erl=09(revision=20245)=0A+++=20=
src/erlydb/erlydb_mnesia.erl=09(working=20copy)=0A@@=20-5,7=20+5,7=20@@=0A=
=20%%=20This=20is=20an=20internal=20ErlyDB=20module=20that=20you=20=
normally=20shouldn't=20have=20to=0A=20%%=20use=20directly.=20For=20most=20=
situations,=20all=20you=20have=20to=20know=0A=20%%=20about=20this=20=
module=20is=20the=20options=20you=20can=20pass=20to=20{@link=20start/1},=20=
which=0A-%%=20is=20called=20by=20{@link=20erlydb:start/2}.=20=20=
Currently=20(Erlyweb=200.6),=20no=20options=20are=20=0A+%%=20is=20called=20=
by=20{@link=20erlydb:start/2}.=20=20Currently=20(Erlyweb=200.7),=20no=20=
options=20are=20=0A=20%%=20recognized/used.=0A=20%%=0A=20%%=0A@@=20=
-182,13=20+182,12=20@@=0A=20%%=0A=20%%=20@spec=20=
get_metadata(Options::proplist())=20->=20gb_trees()=0A=20=
get_metadata(_Options)=20->=0A-=09%=20NOTE=20Integration=20with=20=
mnesia_rdbms=20would=20be=20interesting...=0A+=20=20=20=20%%=20NOTE=20=
Integration=20with=20mnesia_rdbms=20would=20be=20interesting...=0A=20=20=20=
=20=20Tables=20=3D=20mnesia:system_info(tables)=20--=20[schema],=0A-=20=20=
=20=20Tree=20=3D=20lists:foldl(=0A-=09=09=09fun(Table,=20TablesTree)=20=
->=0A-=20=20=20=20=20=20=20=20=20=20=20=20=09gb_trees:enter(Table,=20=
get_metadata(Table,=20table_fields(Table)),=20TablesTree)=0A-=20=20=20=20=
=20=20=20=20=09end,=20gb_trees:empty(),=20Tables),=0A-=09{ok,=20Tree}.=0A=
+=20=20=20=20lists:foldl(=0A+=20=20=20=20=20=20fun(Table,=20TablesTree)=20=
->=0A+=09=20=20=20=20=20=20gb_trees:enter(Table,=20get_metadata(Table,=20=
table_fields(Table)),=20TablesTree)=0A+=20=20=20=20=20=20end,=20=
gb_trees:empty(),=20Tables).=0A=20=0A=20get_metadata(Table,=20Fields)=20=
when=20is_list(Fields)=20->=0A=20=20=20=20=20[get_metadata(Table,=20=
Field)=20||=20Field=20<-=20Fields];=0A=
