ErlyDB without ErlyWeb problem with reversed params

10 views
Skip to first unread message

Jake Morrison

unread,
Jan 9, 2008, 7:47:15 AM1/9/08
to erl...@googlegroups.com
Hi,

I am trying to get erlydb running outside of erlyweb. So I tried to run the
test/erlydb/erlydb_test.erl program. It's not working, though. I had to
swap around the parameters on the code_gen call. So it obviously hasn't
been run since things changed in 0.7.

After that change, it runs for a while, but fails later on. Something is
going wrong with the code gen, I guess, as the order of the parameters
is not matching up in the generated SQL.

  before save: {developer,true,undefined,<<"Joe Armstrong">>,<<"Sweden">>}
  mysql_conn:426: fetch <<"BEGIN">> (id <0.41.0>)
  mysql_conn:426: fetch <<"INSERT INTO person(type,name,country) VALUES
    ('developer','Sweden','Joe Armstrong')">> (id <0.41.0>)
  mysql_conn:426: fetch <<"SELECT last_insert_id()">> (id <0.41.0>)
  mysql_conn:426: fetch <<"COMMIT">> (id < 0.41.0>)

So a 'developer' is getting created like
developer:new(<<"Joe Armstrong">>, <<"Sweden">>)
But when it is inserted into the table, the name and country are reversed.

The fields() are defined in developer.erl as [name, country].

Any ideas what's going wrong?

Thanks,
Jake (Reach on freenode)  

Yariv Sadan

unread,
Jan 10, 2008, 3:19:36 AM1/10/08
to erl...@googlegroups.com
I haven't actually ran this test code in a while so it could be
broken. What DBMS are you using?

Btw, it should be quite easy to use ErlyDB without ErlyWeb. Just call
erlydb:start() followed by erlydb:code_gen().

Yariv

jake.m...@gmail.com

unread,
Jan 10, 2008, 4:55:12 AM1/10/08
to erlyweb
Hi Yariv,

On Jan 10, 4:19 pm, "Yariv Sadan" <yarivsa...@gmail.com> wrote:
> I haven't actually ran this test code in a while so it could be
> broken. What DBMS are you using?

The same error occurs with both MySQL and PostgreSQL. The error
message that I posted came from MySQL. I plan
to use it with PostgreSQL, though.

> Btw, it should be quite easy to use ErlyDB without ErlyWeb. Just call
> erlydb:start() followed by erlydb:code_gen().

I am just getting started, so I figured I would start by running the
tests.

Is there a complete example somewhere that I could start with
instead?

> Yariv

Thanks,
Jake

ngocdaothanh

unread,
Apr 26, 2009, 6:34:15 AM4/26/09
to jake.m...@gmail.com, erl...@googlegroups.com
The line:
lists:usort(DefinedFields)
in erlydb.erl, function get_db_fields breaks the order of return value
from fields().

Afer removing usort, all tests pass. I have only tested with Postgres.

Ngoc.


On Jan 10 2008, 6:55 pm, "jake.morri...@gmail.com"


<jake.morri...@gmail.com> wrote:
> Hi Yariv,
>
> On Jan 10, 4:19 pm, "Yariv Sadan" <yarivsa...@gmail.com> wrote:
>
> > I haven't actually ran this test code in a while so it could be
> > broken. What DBMS are you using?
>

> The same error occurs with bothMySQLandPostgreSQL. The error
> message that I posted came fromMySQL. I plan
> to use it withPostgreSQL, though.

Reply all
Reply to author
Forward
0 new messages