# Upgrade issues Legacy to FSQL

**URL:** <https://forum.inductiveautomation.com/t/upgrade-issues-legacy-to-fsql/1506>\
**Category:** Ignition\
**Created:** [February 7, 2010, 12:36am UTC](https://forum.inductiveautomation.com/t/upgrade-issues-legacy-to-fsql/1506 "2010-02-07T00:36:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![david\_mccutchen](https://avatars.discourse-cdn.com/v4/letter/d/919ad9/32.png) [@david\_mccutchen](https://forum.inductiveautomation.com/u/david_mccutchen)\
**Post date:** [February 7, 2010, 12:36am UTC](https://forum.inductiveautomation.com/t/upgrade-issues-legacy-to-fsql/1506/1 "2010-02-07T00:36:29Z")

</div>

I thought I would start a thread to list some of the differences when upgrading from the legacy product to Ignition. Some of these things are minor, but when mass editing, it becomes a major problem.

Group expressions do not allow the same characters as FSQL.

`com.inductiveautomation.ignition.gateway.web.pages.config.systemconsole.LogViewer$SerializableLoggingEvent$ClonedThrowable: Invalid tag path: '[.]Vac_Reciever_#1_Selected'. Illegal character '#' (Line 1 , Char 17)
`

There is also a difference in the the tag names in the expressions as opposed to FSQL.

[quote]{[.]Vac\_Reciever\_#1\_Selected} as opposed to {Vac\_Reciever\_#1\_Selected}  
[/quote]

Control Logix tag OPCUA addresses are case sensitive. Kepserver did not care. There is also a need for "Global." in the address name which Kep did not require.

> [@](#):
>
> [CBFilling]Global.Bin\_Filling\_Timer\_Activate is not the same as [CBFilling]Global.BIN\_FILLING\_TIMER\_ACTIVATE

---

<div class="post-metadata">

**Author:** ![Colby.Clegg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/colby.clegg/32/3282_2.png) [@Colby.Clegg](https://forum.inductiveautomation.com/u/Colby.Clegg)\
**Post date:** [February 8, 2010, 5:08pm UTC](https://forum.inductiveautomation.com/t/upgrade-issues-legacy-to-fsql/1506/2 "2010-02-08T17:08:07Z")

</div>

The first point is due to small differences between how FSQL parses item paths and Ignition. We can adjust it to accommodate some characters, like “#” in this case. Items names in FactorySQL weren’t really supposed to have too many strange characters, but sometimes they slipped through.

On the second point:  
Both {[.]Vac\_Reciever\_#1\_Selected} and {Vac\_Reciever\_#1\_Selected} are equivalent in the group setting, and refer to an item in the group by that name. With Ignition, there’s a new situation that wasn’t available in FSQL - the ability to reference SQLTags in groups. Also, we had to reconcile the different syntaxes used by FSQL and FPMI to reference items. So, here’s what we have:

[tt]{itemname}[/tt] - Classic FSQL syntax, will refer to an item in the group called “itemname”.  
[tt]{[.]itemname}[/tt] - FPMI syntax for an “absolute” relative tag reference. In a group, the root is the group- so this will ALSO refer to an item called “itemname” in the group.  
[tt]{[]itemname}[/tt] - Fully qualified SQLTag reference, using the default tag provider. In any setting, group or not, this will refer to a SQLTag called “itemname” in the root folder of the default provider.

For the third point, I don’t think item paths should be case sensitive, so we’ll add this as a bug.

Regards,
