Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: Problem with the basic example
From: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>
To: <tech-talk@aps.anl.gov>
Date: Tue, 31 Jul 2012 23:15:29 +0200
Am Dienstag, 31. Juli 2012, 18:52:54 schrieb Andrew Johnson:
> On 2012-07-31 Ralph Lange wrote:
> > Shouldn't the db parser complain about this?
>
> It should print a warning, but we haven't been very strict about the set of
> allowed characters in the past so I don't think 3.14.x can reject all of
> the characters that fall outside the set that is documented as legal.
> I'll add code to warn about space, both quotes, dot and dollar — any
> others that I should add to that (fairly arbitrary) list?

Hi Andrew

the Developer's Guide is fairly precise about it (3.14.12, page 107):

"""
record name

The record name.

This must be composed of the following characters:

a-z A-Z 0-9 _ -- + : [ ] < > ;

NOTE: If macro substitutions are used the name must be quoted.
If duplicate definitions are given for the same record, then the last value
given for each field is the value assigned
to the field.
"""

I have always understood this to be the specification, and dbLoadRecords and
its cousins simply have to implement it properly.

> The real bug here though is that makeBaseApp.pl should have removed the dot
> and any other illegal characters from the user-name when it instantiated
> the example template in the first place.  Bruno's generated example should
> never have tried to create record names with dots in them at all.

I am not so sure about this. I think this places too much burden on something
as simple as makeBaseApp.pl that just replaces some strings in a (template)
directory of files while copting them somewhere else. Ultimately, it is the
function that /loads/ a db file that has the responsibility to make the
definitive check (after doing a last round of macro substitutions).

For 3.15, I think dbst (or some replacement with similar functionality) should
be re-bundled with base and should be used by default (DB_OPT=YES), e.g. in
the Makefiles of the makeBaseApp example. This would also have cought the error
early.

Cheers
Ben

________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

http://www.helmholtz-berlin.de


Replies:
Re: Problem with the basic example Andrew Johnson
References:
Re: Problem with the basic example Ned Arnold
Re: Problem with the basic example Ralph Lange
Re: Problem with the basic example Andrew Johnson

Navigate by Date:
Prev: Re: Problem with the basic example Andrew Johnson
Next: CSS BOY Dynamic Strip Charts with Macros Alex Dunn
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: Re: Problem with the basic example Andrew Johnson
Next: Re: Problem with the basic example Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·