Hi,
I have IB XE7 running in Trial (windows 7).
I created a simple table Test, filled it with 3 records, then created a Subscription on this table (update, delete, insert)
Granted SYSDBA the subscription.
SET Subscription sub1 Active
Select * from Test
SET Subscription sub1 Inactive
Commit
Repeated the above 4 statements and I got the same 3 records.
Where is the delta?
Using IBConsole with SNAPSHOT transaction.
Viewed the system tables: Subscription created with 2 records in system table, Subscriber SYSDBA had a record with a Check out ID but no Check in ID.
Am I doing something wrong?
Joe
> {quote:title=Jeff Overcash (TeamB) wrote:}{quote}
> Joe Sansalone wrote:
> > Sriram,
> >
> > I believe that IBX surfaces the SQLVAR structure.
> >
> > Maybe some (bit) filtering will be done to indicate update, insert or delete more directly.
> >
> > Great feature … looking forward to using it.
> >
> > Joe
> >
> >
>
> I am still working through how IBX is going to surface it. To start with
> IBSQLVar will have a property ChangeStatus added to it. That will be an enum
> for same, unknown, insert, update and delete. This means with IBSQL all the
> FieldByName's which return IBSQLVar's, you will be able to see the change
> status. This work is done actually.
>
> IBDataset has a property called Current, this lets you get at the IBSQLVar
> directly so you can also see it in IBDataset. I am considering allowing
> creating pseudo columns for each real column (iow at the TField level) to have
> their change status as a readoonly string field. That is still something I have
> not fleshed out how or if I am goign that far.
>
> Where the SET CHANGES is going I have not yet found where it feels right, at the
> TIBDataset/IBSQL level or the IBTransaction level or both.
>
> IBExtract will be extended to do subscriptions.
>
> IBScript will also be extended for subscription stuff. I am considering adding
> a Show
Joe Sansalone wrote:
> Sriram,
>
> I believe that IBX surfaces the SQLVAR structure.
>
> Maybe some (bit) filtering will be done to indicate update, insert or delete more directly.
>
> Great feature … looking forward to using it.
>
> Joe
>
>
I am still working through how IBX is going to surface it. To start with
IBSQLVar will have a property ChangeStatus added to it. That will be an enum
for same, unknown, insert, update and delete. This means with IBSQL all the
FieldByName's which return IBSQLVar's, you will be able to see the change
status. This work is done actually.
IBDataset has a property called Current, this lets you get at the IBSQLVar
directly so you can also see it in IBDataset. I am considering allowing
creating pseudo columns for each real column (iow at the TField level) to have
their change status as a readoonly string field. That is still something I have
not fleshed out how or if I am goign that far.
Where the SET CHANGES is going I have not yet found where it feels right, at the
TIBDataset/IBSQL level or the IBTransaction level or both.
IBExtract will be extended to do subscriptions.
IBScript will also be extended for subscription stuff. I am considering adding
a Show
Sriram,
I believe that IBX surfaces the SQLVAR structure.
Maybe some (bit) filtering will be done to indicate update, insert or delete more directly.
Great feature … looking forward to using it.
Joe
> {quote:title=Sriram Balasubramanian wrote:}{quote}
> Joe,
>
> I am fairly confident that higher level connectivity components like IBX, FireDAC etc. will be updated in the future to surface ChangeViews/Subscriptions from InterBase XE7 and leverage the feature to be showcased as components/properties/services. We will have to wait and watch how these will turn out as features for application developers.
>
> SET CHANGES is a ISQL command-line tool specific display setting; ISQL introspects the SQLVAR structure for each column to display the type, if applicable. I don't know if an exact match of this feature would benefit IBX or FireDAC; but, the property might come out differently in those solutions.
>
> Best wishes,
> Sriram
>
> > {quote:title=Joe Sansalone wrote:}{quote}
> > Sriram,
> >
> > Ok, I understand.
> >
> > I suspect that IBX will also be updated to include an extra column when SET CHANGES are requested?
> > Thanks for the update.
> >
> > Joe
> >
Joe,
I am fairly confident that higher level connectivity components like IBX, FireDAC etc. will be updated in the future to surface ChangeViews/Subscriptions from InterBase XE7 and leverage the feature to be showcased as components/properties/services. We will have to wait and watch how these will turn out as features for application developers.
SET CHANGES is a ISQL command-line tool specific display setting; ISQL introspects the SQLVAR structure for each column to display the type, if applicable. I don't know if an exact match of this feature would benefit IBX or FireDAC; but, the property might come out differently in those solutions.
Best wishes,
Sriram
> {quote:title=Joe Sansalone wrote:}{quote}
> Sriram,
>
> Ok, I understand.
>
> I suspect that IBX will also be updated to include an extra column when SET CHANGES are requested?
> Thanks for the update.
>
> Joe
>
Sriram,
Ok, I understand.
I suspect that IBX will also be updated to include an extra column when SET CHANGES are requested?
Thanks for the update.
Joe
> {quote:title=Sriram Balasubramanian wrote:}{quote}
> Joe,
>
> We have discovered some issues with IBConsole SQL Window transactions and Change View subscriptions as well.
>
> For testing your queries, use ISQL commandline for now. Your SQL commands are good and should work in ISQL.
>
> IBConsole will be fixed eventually in an update.
>
> Best wishes,
> Sriram
>
> > {quote:title=Joe Sansalone wrote:}{quote}
> > Hi,
> >
> > I have IB XE7 running in Trial (windows 7).
> > I created a simple table Test, filled it with 3 records, then created a Subscription on this table (update, delete, insert)
> > Granted SYSDBA the subscription.
> >
> > SET Subscription sub1 Active
> > Select * from Test
> > SET Subscription sub1 Inactive
> > Commit
> >
> > Repeated the above 4 statements and I got the same 3 records.
> > Where is the delta?
> >
> > Using IBConsole with SNAPSHOT transaction.
> >
> > Viewed the system tables: Subscription created with 2 records in system table, Subscriber SYSDBA had a record with a Check out ID but no Check in ID.
> >
> > Am I doing something wrong?
> >
> > Joe
Joe,
We have discovered some issues with IBConsole SQL Window transactions and Change View subscriptions as well.
For testing your queries, use ISQL commandline for now. Your SQL commands are good and should work in ISQL.
IBConsole will be fixed eventually in an update.
Best wishes,
Sriram
> {quote:title=Joe Sansalone wrote:}{quote}
> Hi,
>
> I have IB XE7 running in Trial (windows 7).
> I created a simple table Test, filled it with 3 records, then created a Subscription on this table (update, delete, insert)
> Granted SYSDBA the subscription.
>
> SET Subscription sub1 Active
> Select * from Test
> SET Subscription sub1 Inactive
> Commit
>
> Repeated the above 4 statements and I got the same 3 records.
> Where is the delta?
>
> Using IBConsole with SNAPSHOT transaction.
>
> Viewed the system tables: Subscription created with 2 records in system table, Subscriber SYSDBA had a record with a Check out ID but no Check in ID.
>
> Am I doing something wrong?
>
> Joe