Mega Search
23.2 Million


Sign Up

Make a donation  
Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general

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

Vote for best question.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 2:24 PM EST
From: Joe Sansalone
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
> {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 
Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 10-Dec-2014, at 7:57 AM EST
From: Joe Sansalone
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
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 
Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 6:47 PM EST
From: Jeff Overcash (TeamB)
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
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
> >

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 4:57 PM EST
From: Joe Sansalone
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
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
>

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 3:47 PM EST
From: Sriram Balasubramanian
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
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

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 3:07 PM EST
From: Joe Sansalone
 
Re: Change Views - unable to see a delta  
News Group: embarcadero.public.interbase.general
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

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 2:42 PM EST
From: Sriram Balasubramanian