[asterisk-dev] Asterisk 1.6 Realtime Database must use ', ' not '|' in appdata field?

Tilghman Lesher tilghman at mail.jeffandtilghman.com
Thu May 22 16:52:02 CDT 2008


On Thursday 22 May 2008 15:30:57 JR Richardson wrote:
> > > So I'm guessing pipe processing has been deprecated or possibly this is
> > > a bug?
> >
> > Removed.  Comma is what most people are used to using in extensions.conf,
> > and has thus been made the authoritative delimiter.
> >
> > > The problem is that 1.2 (which i still use in production) behavior
> > > requires a | for the separator in the appdata fields for ARA database
> > > operation due to ',' being a end of field indication for the database
> >
> > I don't understand this.  Character type fields are all enclosed in
> > quotes, and commas are fine embedded in fields.
>
> Curious, when was '|' removed? 1.4 or 1.6?

1.6.  It has been the non-preferred way of doing configurations since long
before even 1.0.  Unfortunately, since realtime extensions is fairly
barebones, it has to use exactly the same delimiter as the internals, so there
wasn't a good way to make the transition.

> The ',' used inside of a database field is not a real problem for the
> database once it's there, the issue arises during import/export
> operations to and from the database.  This has a great potential to
> screw up the database, one bad csv import and all hell breaks loose.

Yes, well, that hasn't changed.  You could screw up the import before, and
you can still screw it up.  This is one of the reasons why many people use
tab for a database import delimiter.  It's also easier to read the import
file, and almost nobody uses tabs in data (especially not in Asterisk config
files), which makes it an ideal delimiter.

> I'm sure this is why 1.2 ARA used pipes.  To have to change all
> provisioning, documentation, methods for importing, just to upgrade
> from 1.2 to 1.6 will be a considerable effort, plus it will have to be
> a hot-cut for my database, almost not worth doing.

Might I suggest that you prepare an alternate table for realtime extensions,
with the translations, and just change the table in extconfig.conf?  That
might make the transition a little easier.

> I'm not opposed to commas at all, but if it were at lease backwards
> compatible, I could gradually remove the pipes from my database over
> time.  I have allot of database and allot of pipes in that database.

I've just added a config file of pbx_realtime.conf, which allows the setting
of an option to use the 1.4 syntax and translating it on the fly to the 1.6
syntax.  You'll be able to see this in the current 1.6.0 SVN tree or in the
next beta or release candidate of 1.6.0.

-- 
Tilghman



More information about the asterisk-dev mailing list